Wednesday, August 20, 2003

Updating My Mini-PC... I Mean Cell Phone

I've had a Motorola i90c cell phone for a year and a half now. I've known all along that the i90c is for all intents a general purpose computer, with memory, CPU, and I/O. I've used my Nextel Online service to download Java applications, but no one has yet hacked me via a malicious Java application. It will happen though. This CNN story says "Victor Brilon, Java applications manager at Nokia, and Charles Chopp, Nokia's media relations manager, laughed when I asked questions about writing Java programs that make full use of a cell phone's computing and communications power. As on PCs, Java apps on cell phones run in a "sandbox" that prevents them from doing damage to their surroundings." Sure. Check out the presentation (.pdf) by FX of Phenoelit.de on hacking the Siemens S55. Back to updating the phone...

All this time I've had the cable needed to connect the phone to my laptop, but never used it. Well, after perusing the Howard Forums Motorola section I decided to see what I could do with my i90c.


I started by visiting the iDenUpdate site, the portal for software for Motorola cell phones. I visited the i90c software update page and saw "R76.02.04" was available, with the description "This iDEN Update Service Pack includes the most recent updates and enhancements to your Nextel phone software. Current Service Pack releases contain all previous Service Pack fixes and any new fixes created after the previous Service Pack Release." Sounds like Windows! If this doesn't remind you that your cell phone is a full-fledged computer, what will?


At this point I realized I needed an application on my laptop to talk to the i90c, called iDenUpdate. Although the link to the software was broken on the page, I found the page source pointed here (.exe). I downloaded, installed, and ran the app, and eventually found myself downloading a 4 MB file from Motorola. While my i90c was being updated, it showed the following on its display. At right is a screen shot of my phone and laptop during the update process:


FLASHStrap
FS76v00.10
i28F320W18-ROM4

Code OK
Ready to Program
Soon the process ended and I was asked if I wanted to install any other applications. I picked a few that I use regularly, but when the update process was done only one was installed. (I had enough memory for all three.) Although I had done the update through the PC and serial cable, I installed the additional Java apps through the native cellular features of the i90c.


If you'd like to update your Motorola cell phone, you need to know what version you're running. You can access this information by hitting the following keys in rapid succession, then browse to "Software Version" and other information:

# * Menu RIGHTARROW


This helpful animated .gif shows how to do the steps. If you're a developer/hacker, visit the iDen developer page. It offers tools like the Motorola iDEN SDK 3.0.0 for J2ME Technology. Once you register you'll be able to download emulators, documentation on the iDen network, and other goodies. One thing I doubt I'll find is a description of the "updates and enhancements" I downloaded to my i90c. I believe they were transferred over an SSL link from shop.motorola.com. I could have used some sort of SSL proxy to obtain a clear text version of the package as it streamed by. I could probably have analyzed the package, and if it were actually a binary, disassembled it. I wonder if anyone is doing that? :)