Reflashing A Dead N900
In my last Weekly Rewind I alluded to a dramatic episode I suffered with the Nokia N900 at the weekend. I wanted to tell that story in full and I figured it deserved it’s own post. I’ll also try to offer a little advice about flashing Maemo devices from a Linux desktop, based on my relatively limited but successful experience. There are already very good guides for this around though, so I don’t want to just duplicate them.
I was lucky enough to be sent an N900 for testing and review purposes by Nokia before Christmas, a lot of you reading this will know that already. Lately some software updates to Maemo 5 (the N900 operating system) have been rolled out, and of course I wanted the latest greatest versions. I received one update about a week ago over the air, which means there was no need to do anything more complex than press “yes” on the phone and let it do it’s thing. It all worked beautifully and I was very impressed. However, when I was prompted about another available update later in the week the process was anything but smooth. Little did I know it but my problems were just beginning. I tried to apply the second update on the phone in the same way but was told I needed to connect the “Nokia Software Updater” tool via a PC. It seems this happens if you have certain testing repositories enabled on your Maemo device like I did, it can cause package conflicts. I’m not averse to using the official software to perform an update if needed, but what I am averse to is the fact that this software is only available for Windows. I’m a full time Linux user as most of you will know and considering the the N900 is a Linux device you’d think they’d have a Linux updater too.
Nevertheless I managed to procure a machine running Windows XP and install the update software. I connected the phone and ran the process as instructed. At first all seemed well, it downloaded the new firmware image and rebooted the phone into what I believe is known as R&D mode. After a while though I noticed the progress bar had stopped moving and I became worried. I left it for over an hour and still no movement. Obviously I wasn’t about to pull the plug out and permanently kill the phone, not without a gun to me head anyway. I waited and waited, then I waited some more. It must have been 2 hours in the end but finally a message came up on the PC screen telling me the update had failed. I closed the program down and looked at the phone, it still seemed to be locked in R&D mode. An attempt to reboot it manually did nothing and I was starting to believe I’d royally screwed the thing for good. I removed and replaced the battery to see if this would reset the device. It didn’t, by this time I was pulling out the little hair I have left.
It seemed as though the Nokia update software had wiped the phone and then promptly crashed before copying over the new firmware. I was wondering how I could explain all this to the company when when sending the device back when I hopped on Identi.ca to talk to people about it. The wise and good friends I have there seemed to know a lot more about this and suggested I try to reflash the device and perhaps revive it. There’s a Linux tool for that I was relieved to discover. I was keen to try it ASAP but the Maemo dev website was actually down for server migration over the whole weekend. This was Saturday night and I was facing a long Sunday without knowing if I still had a phone or not, good timing on my part. I transferred the SIM to my old handset so I could still make calls and twiddled my thumbs. Actually I did do something useful as I read on this guide how to set the phone into R&D mode ready for flashing. It involves some pressing of keys and secret hand shakes which I’ll describe in more detail in a second. With this done I was able to see the device on my laptop by running an “lsusb” command in a terminal. To my huge relief it identified itself as “Nokia e61 (Firmware Update Mode)” and I was starting to believe I could pull this one out of the fire. Hopefully it would be receptive to reflashing.
The following day my good friend Andy (@oscillik) from LivLUG kindly offered to upload the latest N900 image and Flasher 3.5 tool (yes it’s really called Flasher, I had a giggle as well). Here’s the process I went through to flash the device.
- Firstly I installed the Flasher-3.5.deb file Andy sent me on my Linux Mint desktop. You can download it here, now the server is running again.
- Next I opened a bash terminal and tried running a “Flasher-3.5” command to see if it had worked. I also checked in the Synaptic Package Manager (see figure 1)
- In the terminal I ran “sudo flasher-3.5 -F imagefile.bin -f -R”. You need to replace imagefile.bin with the proper location and name of your image file obviously.
- The terminal prints out “Suitable USB device not found, waiting”.
- Next you need to unplug your phone from the computer if it’s connected and open up the internal keyboard. Hold down the U key on there while reconnecting the USB cable to the device. The phone should now enter R&D mode and the computer will see it.
- The Flasher will now start doing it’s thing and copying the firmware to the N900. (see figure 2)
- Wait a few minutes and the phone will eventually reboot into the newly installed firmware.
It’s not that hard to do but it does involve a few steps. To my huge, HUGE relief this actually worked and my dead N900 came back to life. Like a phoenix from the flames. I’ve never been so happy to hear that annoying Nokia tune in my life. My phone desktop came up pretty much as it had before but with some app icons missing and sporting the original blue N900 theme. I’d made some backups of the data on the phone and also used the internal backup application to store contacts, settings and other things. I restored the backup and it rebooted the phone once again. All of my music, videos and other data were still intact on the device. That was about 12gb of data that I didn’t really want to have to transfer over again. It seems the N900 has some fairly sensible partitioning going on internally. When you wipe the device firmware it only clears the OS partition and leaves the rest alone. That’s very cool. I still couldn’t restore all my applications from the backup though because the repository server was down, the same server it seems. The backup just stores the names of your installed packages and reinstalls them from the repos, like any good Debian system should I suppose.
As of today the repository server is back up and I restored all my applications in one go. The phone is exactly as it was before I broke it and I now have the latest firmware too. It was an emotional journey but I made it in the end. Thanks to the help of friends online, for which I thank them. I’m not sure what happened with the Nokia Software Updater (NSU) and I’m told this is not uncommon for NSU to break by people who’ve used Nokia devices a lot more. If that’s true then Nokia really need to sort this software out, I was convinced I’d bricked my phone and any novice user would be totally lost. I’m hoping the updates will be “over the air” in future, with a solid wifi connection there’s no reason for them not to be. I suppose it shows us one thing, that the N900 while being a lovely device still has some way to go on the software front. If it’s going to be used by Joe Bloggs in the street then the updating processed needs to be… well… updated. Excuse the awful pun.
I hope perhaps this information is useful to others who’ve suffered failed updates and broken phones too. I’ll be steering well clear of the NSU in future and as a bonus it means I don’t need to deal with Windows either. Result!