February 26th, 2006

encryption in uswsusp now works...

...and this is thanks to Rafael. He implemented symetric encryption; with 4 lines of scripts calling gpg I can set it up in a way that password is only entered during resume (not during suspend).

Unfortunately I'm fighting with gpg a bit. If I try to launch gpg from init=/bin/bash boot, I get error message '/dev/tty can't be opened :-('. I can work it around by launching getty, but that is rather ugly.

cat /tmp/swsusp.Suspendkey | gpg -d -r Suspendkey | ./resume -p /dev/hda1

(Suspend is:)

#!/bin/bash
PASSPHRASE=`cat /dev/urandom | uuenpipe | head -3 | tail -1`
echo $PASSPHRASE | gpg -e -r Suspendkey > /tmp/swsusp.Suspendkey
# gpg-keygen, call the key 'Suspendkey'. Provide passphrase you want to use as resume password.
echo $PASSPHRASE | ./suspend -p /dev/hda1

Ouch and suspend to RAM also got some improvements. Utility in www.sf.net/projects/suspend 's CVS now contains quite a long whitelist (thanks to acpi-support project :-). I'd need some testers, and I guess a someone to maintain web pages :-).

Siemens ME45 hacking

I got old Siemens ME45i cellphone from Johanka (thanks!), unfortunately it has some rather bad problems with its firmware. (No thanks to people at "Mobil Servis", near Narodni trida, who sold us defective phone, then tried about 10 firmware updates. Don't trust their warranty; the phone _still_ does not work, and I spent few upleasant hours there).

It seems its battery temperature meters are not calibrated properly -> will not turn on in cold weather & turns off at end of charging cycle.

Anyway, what surprised me is how many patches are available for ME45 firmware. And even pretty useful patches (like display battery status in percent on main screen) and complex patches (like copy your IMSI/KI into firmware, and call without SIM card). I wonder if there's commented disassembly of ME45's firmware available somewhere, or at least good hardware description etc? [Unfortunately most sites just have loooong lists of binary patches, with no explanations how patch works, and at least its assembly source...]