Rescuing Data From a Nokia 7230

Recently I was passed a Nokia 7230, which committed suicide by taking a nosedive into the toilet bowl. I was asked to extract the phonebook data from it.

The convenient thing about (some) Nokia phones is that they provide haptic feedback when it powers up, so I know it turned on, but the display was blank. The keypad LED also lit up, but I had no visual indication of what was going on. My first thought was to extract the data using something like PC Suite, but I really didn’t want to install it because you had to install the Nokia drivers and stuff.

Upon connecting the phone via USB, it will prompt you to select a mode you would like to use, among which are “PC Suite” and “Mass Storage”. The mode we are interested in would be “PC Suite”. However, since the screen was not working, I had to manually guess what the options are, and which is selected by default. You can tell from the  type of USB interfaces that are exposed to the PC.

After pressing the buttons for a while, I had no luck getting it to switch away from Mass Storage mode.

I suddenly had this thought – what if there was actually an image being displayed, but the backlight was not working? I took an LED torch and shone it on the LCD and presto, I could see the display. Here’s what it looks like:

After being able to see the display, I realized the phone automatically locked the keypad, which was why my keypresses were not getting through.

gnokii

gnokii is a CLI-based tool that enables you to communicate with your Nokia phone over a couple of protocols, one of which is USB. I had Fedora Core 14 installed in VirtualBox and managed to easily bridge the USB into the VM. Upon connecting the phone, the kernel module cdc_phonet will claim the USB device. You will need to unload the kernel module in order to allow gnokii to communicate with the phone.

The important settings are below:

model = series40
port = 1
connection = dku2libusb

However, it hanged upon trying to get the phone model. Since FC14 only had the version 0.6.28 RPM, I tried to download the latest version (0.6.30 at the time of writing) and compiled it myself. That didn’t work either.

Although I did have some experience in the FBUS protocol, I decided I was not going to get my hands dirty. Moving on.

Apple iSync

This is why I love using Apple products. With the OS, it bundles this very handy utility which doesn’t have a Windows equivalent. iSync talks the SyncML protocol to most Bluetooth-enabled phones to perform synchronization of your phone contacts and calendar data.

Since I can see the screen, I enabled Bluetooth and paired it with my Mac. However, iSync does not support this device. A little bit of Googling brought me to a SourceForge project called iSync-nokia-723. Simply download the ZIP file (again, I didn’t want to use the installer) and unzip the phoneplugin bundle into ~/Library/PhonePlugins.

Restart iSync and you’re in business.

Remember to create a new user account as you won’t want iSync adding the phone’s contacts to your own Address Book.

iPhone 3GS Baseband Issues

How can you tell when your iPhone baseband dies?

Take a look at the top-left corner where the network status is displayed. The SIM card was inserted, the SIM PIN was entered, but it remains unconnected to the network.

As you can see from the iTunes icon, this is a newer version of iOS (4.2.1). The older version sported a different iTunes icon and when you clicked the circled i, the IMEI is unknown. At least they “fixed” handling of baseband errors in the newer iOS version.

Trying to restore version 3.1.3 of the firmware will cause iTunes to abort with an error after the iPhone has rebooted. On the version 4 iOS, this does not happen.

Still, in this state, it is impossible to activate the phone, which means it can’t be used without the network. I have tried jailbreaking the phone but it results in an endless reboot loop. My next hope would be to try some carrier unlock software of some kind.

Update 10-Jun-2011: I’ve used PwnageTool to jailbreak my phone for the first time. PwnageTool will take the ipsw, make changes and ask you to put your phone into DFU mode. It will then upload the exploit, allowing you to use iTunes to upload the modified ipsw. Since iTunes is doing the uploading, it will verify the SHSH for that firmware version.

Remember to also check the “Activate baseband” option in PwnageTool. Since the baseband has died and is unable to connect to the network, the phone cannot be activate normally.

At this point,  my iPhone 3GS behaves like an expensive iPod Touch with a better camera, and I can connect using WiFi to use my apps, but the battery drain is quite bad.