quarta-feira, 11 de junho de 2008

Driving new life into my Lifedrive

Last night I finally accomplished a project I've been thinking about for a long time: to replace my Lifedrive's microdrive by a Compact Flash card. The microdrive still works perfectly, but why should I keep a part which draws up to 360 mA (too much current for such a so small device, in my opinion) and makes the LD to take up to 2,5 minutes to boot up (after a soft reset) if I can replace it by a card that draws no more than 100 mA and cuts the post-reset boot time down to 30 seconds? And besides, if it is possible and it is a improvement, why not do it?
For a number of years, since the Lifedrive appeared in the market, that operation is known to be theoretically possible (microdrives are, by design, pin- and form-compatible with CF cards). But, some time ago, there were people that would swear that it couldn't be done and would flame you for just suggesting the possibility--I saw this happen once on a Lifedrive discussion list.

There is a very good wiki here that explains in detail how to do the replacement; I won't repeat the process here. However, I will comment on the particulars of my case; this might be helpful to someone.

If you read the wiki, you are aware that not all cards seem to work. I used a Sandisk 4GB Ultra II SDCFH-4096-901 card, which the wiki tells that has worked only with MacOS and a certain card reader. Other users failed using the very same card. I used OpenSuSE 10.2 and a CK0007 "All-in-1" card reader (which I found out is manufactured by Shenzhen Sanxi Technology Co., Ltd., in--surprise!-- China).

I started, of course, by HotSyncing the LD and making (under Windows) an entire backup of the contents of the midrodrive. (Actually, just in case, I did two backups: one using Windows Explorer and other using the Lifedrive Manager.) After some suspense opening and disassembling the LD (Palm offers this detailed tutorial on disassembling the Lifedrive), the first problem was that I couldn't read the microdrive to copy its contents to the CF card ; I tried two different (USB) card readers in three different computers, under Linux (OpenSuSE) and Windows XP, to no avail! Assuming that the problem might be on the higher power consumption of the microdrive, I connected the card reader with one of those cables used for external HD enclosures (which use two USB ports, so increasing the current supply) but this failed as well. After unsuccessfully searching the local computer stores for a IDE-to-CF adapter, I decided for a different approach: to start with a fresh CF card (i. e., a fresh, factory-default, ROM) and, later, if everything goes well, to copy the previously backed up contents of the microdrive back to the card.

To do this, I used this wonderful tutorial, which was the very first document that convinced me that this substitution was possible. After getting all the software needed (unzip, cabextract, unshield, subversion and Python), I tried the tutorial's automatic way; it didn't work, because the site the script uses to download one specific file (www.fahhem.com) was down. However, it was worth the try, because the script downloaded to my computer one important file (table.sct) for the process, thus saving me the trouble to create it manually.
Then, I switched to the tutorial's manual way; it is easier and quicker than it seems on the document. Just download, from PalmOne, the Lifedrive Update 2.0 (if you already don't have it) and follow the instructions on the tutorial to open the package, extract the files, sort them and combine them in a single file ('rom-partition') which will be copied to the CF card and it is the actual ROM of the Lifedrive. In my case, I used the Lifedrive Update in Portuguese (my native language and the default one on my device) and there's no difference with the files or steps cited in the tutorial (which used the English version of the Update). That made me assume that the process is likely to work safely with Lifedrive Updates for most, if not all, languages/countries. Once the ROM is saved on the CF card, plug it to your Lifedrive, connect the battery back and boot it up! (Actually, it will boot automatically as soon as you connect the battery.)

Well, in fact I had to save the ROM on the CF card two times. The first time, the LD booted up but froze in the middle of the boot process. Then I took the card off again but before re-creating the ROM I wiped out all partitions (something I hadn't done the first time) using fdisk. And this time the Lifedrive booted wonderfully--and now in a extremely fast fashion! Then I performed a HotSync and after I restored the previously saved contents of the microdrive to the now improved Lifedrive.

The fact that I couldn't make a physical copy of the microdrive onto the CF card implied that a couple of programs had to be registered or reinstalled again but, so far, I haven't noticed any data loss. On the other hand, my LD is a lot faster and with a noticeable improvement in the battery charge life.

Caveat emptor
: you won't probably burn your house to the ground neither will lose some important part of your body doing this mod. However, this procedure will void your Lifedrive's warranty (are there Lifedrives still under warranty?) and, in the worst scenario, may result in data loss or even turn your handheld into a fancy brick. So, take all the necessary precautions (backup all your files, beware of static electricity discharges, work carefully, slowly and patiently--and sober!) and do it at your own risk!

Update: Five years are past, we're in 2013, the world didn't end in December 2012 and my CF-equipped Lifedrive is still working. The battery is showing signs that it will die anytime soon, but I'm sure that had I not replaced the microdrive with the CF card it would have died years ago.

terça-feira, 10 de junho de 2008

How did you find me?

First (and tentative) post here. Come back again later and you'll probably find something interesting (perhaps even useful).