I recently acquired a Qtek 9090 - this device is a so called Pocket PC Phone Edition and it’s pretty darn sweet. Apart from the usual stuff like WiFi, Bluetooth and an up to date OS, you also get GPRS connectivity, intelligent connection switching and a thumbkeyboard. All in all - a great package and certainly worth the money.
But there’s more to it… Since the Qtek 9090 is really just a rebranded HTC Blue Angel (just like iMate PDA2k, Orange M200, O2 XDA III, T-Mobile MDA III), you can flash the device to your liking…
Basically, what HTC does is create 3 different “setups”. Those “setups” make the device what it is, including brand-customization (T-Mobile, O2, Orange, VodaFone etc.) and custom tools.
Part 1 is the operating system. HTC is using state of the art Windows Mobile 2003 Second Edition.
Part 2 is the radio stack - this is what actually makes a device a phone edition. Without this, it’s just a normal Pocket PC. This stack gets updated more or less frequently by your manufacturer and is best left alone unless you really know what you are doing.
Part 3 is the extended ROM. This let’s the manufacturer / OEM customize the device to their liking (not yours). These applications will be installed after each hard-reset. Most of the software included makes sense for someone, but most doesn’t make sense to me…
Since Qtek doesn’t really know about my specific needs, they include such great tools as a PPT Viewer, a PDF Viewer, FAXing utility, a Gallery application, a MIDlet utiliy and a Backup Utility. What I’d really need though is SPB Pocket Plus, a GPS application, a real backup utility and a few other applications. After deciding that it was more fun to have a customized device, rather than seeing all those unneeded applications, I set out to create a custom “extended ROM”.
Prior to starting, I did a good deal of reading in order to understand the whole concept of the phone, the website xda-developers.com does a great job in explaining what actually is possible and how it has to be done. Creating your own “extended ROM” is easy, that is, if you know how. Here’s a listing that includes all the steps I did in order to get my own ROM:
- Preparation: Backups
Since I already trashed my old iPAQ H3660 back in the day, I knew I had to create a few backups at first. PDAmobiz has a good tutorial on how to create a backup of just about everything for your device. They walk you through the whole process and explain how you can retrieve the files. Since I wasn’t able to retrieve them, I’ve got a 256mb SD Card sitting around, waiting for the moment I pop it into the Qtek to reflash the extended ROM. Hopefully it will never get to that and I’ll only have to use my other SD Card, I’m using to create my custom extended ROM.
- Preparation: getting to know the subject
Once again, xda-developers.com has a good deal of information in their Wiki. Those pages outline what you need to know. Most questions will either be answered in the Wiki or you’ll find answers in the very active forums.
- Preparation: Finding, testing the tools you need
Prior to putting something into the “extended ROM”, it’s necessary to test the install routine on the device and see what kind of routine it is.
Testing is done by locating the .cab File in your ActiveSync Folder and copying it onto the device, rather than using ActiveSync’s installation utility. It’s important to note here if an application needs user interaction (entering a key, accepting an EULA etc.) or not. This will influence how “config.txt” will be created later on.
My list of applications consists of the following right now:
SPB Pocket Plus by SPB Software House - application requires user interaction (question about ZIP support)
eWallet, by Iliumsoft - application requires user interaction (accepting EULA).
Microsoft Reader by Microsoft - application requires user interaction (notice about new fonts)
Route 66 and SP2 by Route 66 GIS b.v. - application requires user interaction (warning about functionality)
Apart from installing those applications, I also want my “extended ROM” to include my registration for Microsoft Reader, since I already know which files are important. In later steps it may be interesting to edit the dump of an registry file so that after installing all the software, the dump would import my registration keys and save me the hassle of entering them myself.
- Preparation: extracting the original ROM
Before you can actually extract the original ROM, you will have to unlock and unhide it. This is done by using the XDA Unlock Tool, however this version will only work on devices with an English interface. Since my device is based on the German version, I had to copy a few files to different places, but all in all it’s easy to start. After executing the application, you will have to do a soft-reset (the small hole, left bottom corner) and a directory called “Extended_ROM” will appear at the root level when you open Explorer on your device. In this folder you will find all the applications that are installed to customize your device.
- Preparation: creating a custom config.txt
The most important files in the “Extended_ROM” directory are “config.txt” and “AutoRun.exe”. The latter takes the text file as a guideline on what to do. The format of the text file is rather simple:
“EXEC:\Extended_ROM\application.exe” - executes a file. Most notably is that “TPDisable.exe” is executed at the beginning. This keeps the user from doing anything with the touch screen. “TPEnable.exe” will restore touch screen functionality after the customization.
“CAB:\Extended_ROM\application.cab” - executes a CAB installer. It’s probably logical, but I should still mention that the CAB file has to be written for your device (e.g.: StrongARM) or else the customization will most probably fail.
There’s also a built-in facility to copy files from the “extended ROM” to anywhere I please. This will later be discussed regarding the activation of MS Reader.
Since all my applications require some kind of interaction, I don’t really need to disable the touch screen, therefor I start out by editing the factory version of the config.txt to not execute “TPDisable.exe” anymore, naturally “TPEnable.exe” will then not be needed either.
Thanks to this thread on xda-developers.com, I know which files I can safely remove and which should better remain in the “extended ROM”. Like I noted earlier, I don’t see any reason why I should install a PPT or PDF viewer, since I never read such files anyways, so all I have to do is remove “ClearVue2.4.381_GER_withoutBP_OzUp.sa.CAB” from the “config.txt” and the application wont be installed next time I do a hard-reset. To save space (since the “extended ROM” is limited to 16mb), I also removed the file itself. It should be noted that the “GER” is the language code and could also be “ENG” or “ITA” or anything else.
I also have little need for the following applications:
“BA_Album_GER.CAB” (the Gallery application),
“Java_v10.1.2.49_DE_0901_unremovable.CAB” (the MIDlet manager) and
“Fax_v2.09_BA_GER_0720_unremovable.CAB” (the FAX application), so I also removed those.
- Testing: Will my config.txt work?
All I have to do now is upload my “config.txt” to the “Extended_ROM” folder and do a hard-reset. After a hard-reset, I should have a device with less useless tools installed, and while it actually appears that I’m writing this after doing the customization, it is in fact being written as I try out the different steps.
I just did a hard-reset (with some hesitation) and it worked. So far so good.
Experimenting: stripping more unneeded tools
Since I don’t really use MIDI ringtones, I also decided to remove the MIDI Tools “MIDI561.CAB” and the registration file for it, called “MIDI_GER_reg.CAB”. The updated config.txt goes into the “extended ROM” folder once again and another hard-reset shows the results. To conclude this part, I also ended up removing “MMS_v126.96.36.199_BA_DE_20041115.CAB” - the MMS Client, since I never send MMS and “Qtek_Button9_GER.sa.CAB” - an utility that maps a button to the Sprint PCS website. This saved me another 2.25mb.
Experimenting: adding much needed tools
Since the “extended ROM” is limited to 16mb, I had to find a solution for making some room. The factory default takes up 14mb, but I removed 7.71mb and thus have 9.71mb free. This might be a problem for others, since they might want to install more applications. In that case, I suggest storing the CAB files in “\Storage” since those 43mb located to this non-volatile storage might otherwise go unused.
When adding applications, it might be smart to create folders like I did, one called “ms_reader_activation” where all the files reside that make up the activation and another folder called “custom_apps” that holds the CAB files for the installer.
To copy the MS Reader files automatically, you’ll have to use the “CPY1″ and “CPY2″ commands as outlined above.
I also edited some of the CAB files to make them even smaller: I removed the GuideBook.lit from the MS Reader Setup and I deleted the standard images / icons / sounds that come with eWallet. I also edited the eWallet CAB in a way that it automatically registers itself with my credentials. Apart from that, I changed the location where eWallet looks for images to a folder in “\Storage”.
After the customization, the device will soft-reset itself and everything will be installed, copied and set up.
Conclusion: creating your own “customization tool” is really not that difficult, as long as you read about it first and follow all steps as outlined. For me, I ‘ve got my very own and higly customized Qtek 9090 now.