Hardware resurrection of the N770

Over the last couple of weeks, I’ve been resurrecting the linux support for the nokia 770 internet tablet. I want to use it with my python PTP camera  software as a highly portable control system for timelapse, automated IR etc. However, as it doesn’t seem to have had a maintainer for a while, the code has suffered quite badly from bitrot. So far I have got the LCD working again, fixed a really horrible bug resulting from a mismatch between driver/device registration APIs (this took ages to track down!), as well as various other things. The LCD fix should be going into the mainline kernel in the next major release.

Today I got the bluetooth device working again. Next up: sound.

The final two steps in this pass will be a python rewrite of the binary blobs I reverse engineered, and finally to backport the stlc45xx wifi driver to it. The only binary blob remaining will be the Li-ion battery charging code. Much as I would like to reverse this as well, implementing something where the error state is quite likely to be the battery bursting into flames does not sound like that much fun.  Still, I’m tempted to learn about the Li-ion charging cycle just for the hell of it, simply because it is quite esoteric 🙂

Once that lot is done, pass two will be to refactor the code to use modern kernel APIs; there’s quite a lot of stuff that can be improved.

Reading wise, I’m reading Liz Williams’ Winterstrike right now. I’m enjoying it a lot; I really like her style of writing. If you’re interested in a far future SF matriarchy on a terraformed mars where men have been eliminated through genetic engineering (although man-remnants remain in the wilds) and technology is driven by soul engrams and ghosts, check it out!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: