How to make your cyanogen-modded G1 work real fast


Remember that post I made on modding your G1 and how I mentioned that I just recently modded mine. Well after flashing cyanogenmod 6.0.0-DS on my G1 and was stunned by the exquisite (Windows 7 – like) graphics, I was greatly disappointed to find my G1 so slow that navigating to the homescreen became a touch and travel activity. The camera app was greatly frustrating, after taking seconds to open it is only good for snapping still scenes because the pictures are taken seconds after the shutter button has been pressed. Not forgetting the gallery, that one became so useless I started searching the android market for any alternative app. When I try to view the pictures I took with the phone's camera, it takes forever to scroll to the next picture. The phone app wasn't left out, typing phone number has never been this hard, and after all the frustration and the tendency of you forgetting why you wanted to make the call, it takes about 5 seconds for the call to be terminated after you end it.

Though I must confess that I still preferred my modded G1 state to the unmodded (running android 1.6) state because I now run the latest android version, I can install apps on SD, I can install root (requiring) apps, and I can install apps meant for android 2.1 and above. So I convinced myself that all I have been reading about cyanogenmod, that it is way faster than the stock OS, is true and I am going to make that true fact a reality on my G1. Armed with google, I searched the internet using various words combination to locate any article that might address a similar issue. But I was disappointed to discover that as far as the internet is concerned I am the only one with such issue. After giving up on finding any online assistance, I decided to fiddle with the settings on my modded G1 and one day I struck luck, after changing a couple of things mostly disabling a lot of cpu sucking tweaks, and now my modded G1 is working really fast. So in the following paragraphs I am going to share with you the changes I made on my G1 that made it work real fast.

From the homescreen, press the menu button, tap on Settings, tap on CyanogenMod settings and tap on Performance settings. You will receive a “WARNING: Dragons Ahead!” prompt, don't worry (you won't do anything that will change the performance of your system, potentially for the worse), tap on OK. Now make sure Use Compcache is enabled, Use JIT is enabled and Surface Dithering is disabled. You can also change the VM heap size to 24m.

Now go back to Settings, tap on ADWLauncher, tap on Drawer Settings, disable Animated Drawer and disable Fade app labels. Go back to ADWLauncher settings, tap on Preview settings, disable Sense previews and Clean Screen Mode. Go back to ADWLauncher, tap on System Preferences, set Scrolling cache to Low quality.

With these settings on your G1 it should work really fast.

How to share internet access on your android phone with other phones and computers via wireless connection (wifi)


I have been hearing about a “Wireless Tether” app for months now and even tried installing it, but to my disappointment it requires me to have rooted my phone so I couldn't use it. Then last week I finally rooted my phone and was amazed by the quality of connectivity I got between my phone and my laptop. And another amazing thing about this wireless tethering than makes it far desirable than the USB tethering (that comes along with the android OS 2.2) is that it allows multiple computers to connect and even phones that have wifi. And you can also create an access list to allow internet access for only selected devices (computers, phones and maybe, printers).

So in this post, I am going to explain extensively to you how to use the wireless tether app to share internet access on your android phone with other phones and computers.

PREREQUISITE: A rooted android phone (if you are not sure yours is, then it most probably isn't, but for more info search google)

The first thing you'll do is to install the Wireless Tether app, go to the android market and search for “Wireless Tether” it has this unique logo of a green wifi signal. Download and install it.

Open the Wireless Tether app, tap the screen close to the middle (where there is the prompt – Press to start tethering) to start the wireless tethering. 

It will ask for Superuser permissions which you will need to grant and if you prefer, tick the remember this selection. Now don't bother if you do not notice your wifi turning on, as long as the wireless tether notification is showing on your notification bar, you are good to go.

On your computer (or phone) turn on the wireless adapter and search for wireless networks and you will notice an open network named AndroidTether. Connect to it, you should see “Acquiring network address” and then “Connected”.

 Now check the notification bar of your phone, and you should see a notice about a device trying to access your internet. But if this notification doesn't popup on yours, do not worry just follow on. On the the wireless tether app screen, press the menu button to reveal hidden options, tap on Setup, under Security make sure the Enable Access-Control is ticked. Now go back to the app's homescreen and press the menu button again, then tap on Access Control and Tick only the devices you want to grant access.

Go to your internet browser and start surfing the internet, it's as easy as that!

If you are unable to access the internet on your computer but can on your phone, it's most probably because your wireless adapter has been manually configured. Make sure the wireless adapter IPv4 address is set to automatic and not manual, you can check my former post on doing this. If you are still experiencing this problem, them go to the internet/netweork settings of your internet browser and make sure you are not connecting via any proxy.
If you need any further help or clarification, feel free to ask via comment.

How I flashed my HTC Dream (T-mobile G1) with CyanogenMod 6.0.0-DS


Remember that post I made on changing the google account of HTC Dream? Then you will remember me saying “I bought a fairly new G1...”

Well, there was this day I posted a tweet on twitter saying I had issues with data usage of my G1, and a friend (@kenniy) responded and told me to mod my G1 for optimum performance and recommended Cyanogen Mod. Since that day (which should be 6 months ago), after reading about the benefits, I decided in my mind that I was definitely gonna mod my G1. Then after reading about doing it on several websites and discovered that most of them had very different ways of doing it with a common recurrent warning that my phone might get bricked, I finally gave it a trial 5 months ago. I choose a website that explained very well with detailed snapshots of the process, then I discovered that I couldn't go past the first stage because my G1 has android 1.6 (donut) and the steps will only work for 1.5 (cupcake). I searched for ways of modding my G1 running donut, and the only site I found that seems to explain it well didn't have a single snapshot and had too much warnings. So I suspended my desire to mod the G1 till when I have used the phone for a considerable time, when I won't be too bothered if the phone bricks.

Well that time came yesterday, I just couldn't put up any longer with the restrictions of the small internal memory and the fact that some applications are now being built for OS 2.1 (eclair) and above. So I braced up and faced my fear, and believe me I'm glad I did. I now have the latest android OS (froyo) running on my G1,can now send files via bluetooth and even operate a swap partition on my phone.

So in case someone might need a more recent post by a more current user, I decided to share my experience, step by step and with snapshots. So let's go!

NOTE: I'll assume you are also using the android 1.6 on a G1.
First you will need to boot into the bootloader of the G1 to record the radio type and ROM type of your G1. 
There are two ROM types,
PVT, and
There are two radio types also,
To boot into this mode you will need to switch off the phone first. Then press the camera button and almost immediately, without leaving the camera button, press the power button. Below is a snapshot of how I did it with my phone. Now note the multicolor screen that comes up and record the ROM type and the radio type of your phone (it will show at the upper part of the phone screen).

Now you are going to download all the necessary files you will need for the whole modding process.
First, you will download the DREAMING.nbh RC29(US) or DREAIMG.nbh RC7(Europe) file that will downgrade the android 1.6 to 1.0 which is necessary for the whole modding process (actually you won't be able to root the phone without this downgrade, that is why it is necessary).
Secondly, you will download Amon_Ra's Recovery which is the actual rooting image file. 
Thirdly, you will download the appropriate radio for your G1, or
Fourthly, you will download the appropriate SPL file, depending on the ROM type of your G1. If your ROM is PVT, Haytou's SPL is recommended. But if your ROM is DVT, you have to make do with HardSPL to avoid bricking your G1.
Finally, you will now download the Cyanogen Mod 6.0.0-DS and the tiny gapps files (you need this google apps zip file to pre-install the market app during the installation the Cyanogen Mod, this will be very useful)

Get a MicroSD card (the small external memory card the phone uses), format it with FAT32. Copy only the DREAMING.nbh file into it.
Power off the G1 and like you did earlier on in step 1, boot into the bootloader. Follow the instructions to apply the DREAMING.ngh which will downgrade the phone to android 1.0. Now press MENU, HOME and POWER buttons all at once to power off.

Put a SIM that has active data plan or GPRS/EDGE/3G enabled (with enough money in it to access the internet). Power on the G1, it will show you a screen with the Emergency call dial button. Press the MENU button to reveal APNs, touchclick it and create a new APN entering the correct APN setting for your SIM Network provider. If your Provider is already listed in the APN list, do not bother creating a new APN. Now return back to the initial screen, touch the middle of the screen and configure your google account to gain access to other functionalities.
Press the home button and slide the phone to reveal the keyboard. Press ENTER twice, type telnetd and press ENTER (do not bother about the contact screen that comes up and the apparent nothing that happens after pressing ENTER). Go to the market app and install telnet by clockworld, launch the telnet app you just installed and make sure localhost is in the first textbox and 23 in the small textbox to the right. Press ENTER.

Remember the Amon_Ra's Recovery file you downloaded? Rename it to recovery.img and copy it to the MicroSD card and disconnect the phone from the computer. Now open the telnet application you installed earlier on and type the following  flash_image recovery /sdcard/recovery.img  and once this is successful you will notice # # on the screen showing below the command you typed. If you got a "permission denied" prompt, type su flash_image recovery /sdcard/recovery.img 

Power off the phone and remove the MicroSD card, copy the radio file you downloaded ( or, the SPL file (a .zip file), the Cyanogen Mod 6.0.0-DS (mostly likely named as the gapps file into the card. Replace the memory card.


You will now boot into the recovery mode by pressing the home and power buttons at the same time.

Once the phone has boot into the recovery mode, scroll to "apply zip from sdcard" and select the radio file, press the home button to confirm. The phone will reboot during the installation, once the installation is complete select the reboot option (first on the list).
Now boot into the recovery mode again by pressing the home and power buttons at the same time, scroll to "apply zip from sdcard" and select the SPL zip file, press the home button to confirm. Again you will be requested to reboot, select the reboot option to complete the installation. 
Again boot the phone into the recovery mode, select the "apply zip from sdcard" and select the Cyanogen Mod 6.0.0-DS zip file, press the home button to confirm and the phone will say update successful. Now scroll again to the "apply zip from sdcard" and select the gapps zip file, press the home button to confirm. Then reboot the phone and power off, if it boots back to the recovery mode (power off is the last option on the recovery mode list).
Now you are through installing the Cyanogen Mod 6.0.0-DS which is built on the android 2.2 (code named froyo). Just power on your phone and it will now boot into the new OS that makes your phone operate like a linux computer with the much needed root permission (or superuser capability).

Just like it happened to me, if you notice that the phone after booting to the new OS only shows the lock screen and a black screen with notification bar, and does not detect network or show home screen. Just reboot into the recovery mode and select wipe, apply all the wipe options (wipe data/factory rest, wipe cache and wipe Dalvik-cache) and reboot. That should solve the problem, I don't know why it happened to me but I suspect it's that my cache is full and the /system is also full. But whatever the reason is, wiping did resolve it.
If you need any further clarification or help, feel free to use the comment. I will try to monitor this post's comment as often as possible.

How to change the gmail account on HTC android phone


I recently bought a fairly new HTC G1 after a long tiring search for android phones at Computer village, Ikeja (Lagos, Nigeria). Most of the phone dealers have only windows mobile phones, iPhone and Blackberry, but no android phone. Just when I was about giving up, I came across a dealer that had a fairly new HTC G1 (he called it London-used but it's obviously from USA). Anyway, I bought the phone and believe me if not for the Motorola charger that came with it I would have easily believed it's new.
Since the phone isn't new and the former owner did not do a factory reset and had the phone registered with his gmail account. I had to change the gmail account to mine to be able to access the android market (the phone requires me to enter his account password to access the market). I didn't want to do a factory reset so as not lose any application installed by the former owner. Actually, I have an aversion for factory resets because of the painful data loss they often cause.
After searching the internet for another way of changing the gmail account that will not involve any multiple system settings change. I came across a method that worked fine and is porobably the only alternative method.
So outlined in a detailed manner below is this method of changing the gmail account --
Goto Settings, Applications, Manage applications, and browse to Gmail storage, select Clear Data. Also goto Gmail and select Clear Data. Finally goto Google Apps and select Clear Data.
Now go back to Settings, and select Data Synchronization. You will be prompted to setup a new account. Enter your gmail account and password. So now, you will be able to synch your gmail on your phone and also access the android market. You will also receive a mail from the android team welcoming you.

How to automatically change to directories with very long full path using easy to remember aliases


My laptop's 160GB hard disk is partitioned into more than six logical partitions and I multi-boot Windows 7, Windows XP, Kubuntu, Mandriva and Fedora. So you can imagine how I must have butchered the 160GB. I have managed to logically organize my files on the system, I put my iso image files in Kubuntu and Mandriva, my documents are in Windows XP and Windows 7. This makes it inevitable for me to frequently access documents on the Windows partitions and also copy documents to them while working in Linux. Occasionally, while working in commandline I need to mount images on the Kubuntu partition or read a file I saved in the Windows partition. Unfortunately, Fedora has a terrible way of naming my partitions that are not part of its filesystem, for example the full path to my Windows XP partition is /media/8E9C64209C640555 and the one for my Windows 7 partition is /media/925C181C5C17F9A5. After getting sick of having to copy and paste the path, I decided to do something permanent that will help me get round the problem.
Well what I eventually did was to add a four aliases to automatically change to any partition without bothering about its full path. All I did was to edit the /home/freeman/.bashrc file, I appended the following --
# User specific aliases and functions
alias kubuntu='cd /media/0f83fb7e-7810-489d-ad1d-1cfeb50e1ff2'
alias mandriva='cd /media/d06a0246-9501-4e55-8162-146e500cd2a0'
alias windowsxp='cd /media/8E9C64209C640555'
alias windows7='cd /media/925C181C5C17F9A5'

Voila! Now everytime I enter windowsxp on my command prompt, I am automatically switched to the Windows XP partition.

Interactive script to mount iso images


My laptop's DVD drive is bad, so I prefer copying images of CD/DVDs through a friends computer DVD drive and pasting it in my cd_image folder (a special folder I created for just iso images).
The command I use for copying CD/DVD images is
dd if=/dev/sr0 of=/home/freeman/cd_image/cdname.iso
This command is pretty straight forward,  the dd stands for disk dump, if stands for input file and of stands for output file. I do not have problem with remembering the command. But I often have problem remembering the exact mount options for iso file (which is the cd image file).
So I decided to write a shell script for interactively mounting any iso image in any mount point point (which is often an empty folder).
The following is a step-wise description of the shell creation

I created a special folder in my home folder and named it shell, using the following command
[freeman@freeman ~]$ mkdir shell
I changed directory to the shell subdirectory I just created
[freeman@freeman ~]$ cd shell

I created a new file (named it mountiso) and entered the script in in using vi editor
[freeman@freeman shell]$ vi mountiso
#This shell is for mounting cd images from anywhere to any empty folder
echo -n "Enter the full path of the iso image: "
read image
echo -n "Enter the full path of the mount point, an empty folder: "
read folder
mount -t iso9660 -o loop $image $folder
exit 0

I made the mountiso file executable by changing it's file permissions
[freeman@freeman shell]$ chmod a+x mountiso
I also included the /home/freeman/shell path in the PATH environment variable
[freeman@freeman shell]$ PATH=$PATH:/home/freeman/shell
To make is global, I exported the new PATH
[freeman@freeman shell]$ export PATH

So that was all, to run the new script I just enter mountiso (regardless of my current working directory) and enter both the image location and mount point without bothering about the mount options.

Follow me on Twitter | About me | Terms of Service | Privacy Policy