Cellphone unlocking for dummies

NokiaFree screenshot Say you are going to travel to Europe, but are unwilling to pay the insane roaming fees that some functional monopoly imposes in your country. So you buy an overseas GSM chip and drop it into you phone and it just works, right?
Your carrier is probably unwilling to let you use the phone you’re leasing from them -and even the one you outright bought from them with a nice markup- in some competitor network. Any competitor network. Even if it is half a world away.
Well, there’s help out there, and there is hope:
NokiaFREE calculator will provide unlocking codes for the most popular models from a dozen manufacturers, either online or in a standalone version.
However, if you succumbed to temptation and bought a Treo 600 just five months before the Treo 650 was released in your country, you might have to reflash it under your own risk.
Update 20050910: In an article aptly named 20 Things They Don’t Want You to Know, PC World writes about cellphone unlocking, but fails to even notice NokiaFree.

Palm RAM Backup

As it happens, Magda’s Sony clie has a backup-to-memory-stick feature that is a proven lifesaver. Not to be outdone, I found two open source backup programs that perform that same task in the Treo 600 -or any other PalmOS handheld with a flash memory card, for that matter- Red Feline Backup and VfsBackup will back everything in RAM to a folder in the card, but I like VfsBackup a bit more because it will copy only those files that have been modified since the last backup. I guess now there are no excuses to back up the PDA often.

TrackPoint + XFree86 Synaptics driver

I just installed the xfree86-driver-synaptics package and now touchpad scrolling and many other features work as advertised! In order to enable both trackpoint and touchpad, the following configuration is necessary:

 Section "ServerLayout"
         Identifier     "XFree86 Configured"
         Screen      0  "Screen0" 0 0
+        InputDevice    "Mouse0" "CorePointer"
+        InputDevice    "Mouse1"
         InputDevice    "Keyboard0" "CoreKeyboard"
 Section "InputDevice"
   Driver        "synaptics"
   Identifier    "Mouse0"
   Option        "Device"        "/dev/psaux"
   Option        "Protocol"      "auto-dev"
   Option        "LeftEdge"      "1700"
   Option        "RightEdge"     "5300"
   Option        "TopEdge"       "1700"
   Option        "BottomEdge"    "4200"
   Option        "FingerLow"     "25"
   Option        "FingerHigh"    "30"
   Option        "MaxTapTime"    "180"
   Option        "MaxTapMove"    "220"
   Option        "VertScrollDelta" "100"
   Option        "MinSpeed"      "0.06"
   Option        "MaxSpeed"      "0.12"
   Option        "AccelFactor" "0.0010"
   Option        "SHMConfig"     "on"
 #  Option       "Repeater"      "/dev/ps2mouse"
 Section "InputDevice"
         Identifier  "Mouse1"
         Driver      "mouse"
+        Option      "SendCoreEvents" "true"
         Option      "Protocol" "ThinkingMouse"
         Option      "Device" "/dev/gpmdata"


The MadWiFi drivers I compiled the last week was hanging up Debian with kernel 2.6.7 on “Configuring network interfaces…”. I noticed that Martin List-Petersen just released version 1.3.3 of his MadWiFi package for Debian. Whe I installed it the first time the driver complained with “cipher module unavailable”, so I went back to the package and made a minor modification to install a few extra modules in the .deb file:

--- madwifi-1.3/module/rules.orig       2004-08-07 12:00:53.000000000 -0500
+++ madwifi-1.3/module/rules    2004-08-07 12:02:06.000000000 -0500
@@ -66,6 +66,12 @@
        dh_install ath/ath_pci.ko     lib/modules/$(KVERS)/kernel/drivers/net
        dh_install ath_hal/ath_hal.ko lib/modules/$(KVERS)/kernel/drivers/net
        dh_install net80211/wlan.ko   lib/modules/$(KVERS)/kernel/drivers/net
+       dh_install net80211/wlan_wep.ko    lib/modules/$(KVERS)/kernel/drivers/net
+       dh_install net80211/wlan_tkip.ko   lib/modules/$(KVERS)/kernel/drivers/net
+       dh_install net80211/wlan_ccmp.ko   lib/modules/$(KVERS)/kernel/drivers/net
+       dh_install net80211/wlan_auth.ko   lib/modules/$(KVERS)/kernel/drivers/net
+       dh_install net80211/wlan_radius.ko lib/modules/$(KVERS)/kernel/drivers/net
+       dh_install net80211/wlan_acl.ko    lib/modules/$(KVERS)/kernel/drivers/net

 binary_modules: build install

Once I repackaged, recompiled and reinstalled the resulting .deb, ath0 came up just fine.