Recently in Amstrad E3 Category

Tony tagged 2.6.18-omap1 yesterday. This has nearly got to the point where all the "easy" devices on the E3 are supported out of the box. I need to clean up the modem bits for inclusion - currently it's done with early_serial_setup which I'm sure is wrong but my attempts to do it with a platform_device haven't met with much success. I'm sure half an hour with a hammer will do the trick.

That basically leaves the more intrusive or non fully functional drivers; Matt Callow's mailboard and camera work and Mark Underwood's sound driver (unfortunately still not complete :( ). All of these are currently against 2.6.16. I tried to get the sound working under 2.6.17 but didn't get anywhere with it. If I can manage to find some time I'll try again with 2.6.18.

Not that I have a lot of time at present it seems. Spent last week in Northern Ireland, Cambridge, London and Reading and this week I've got LinuxWorld (I'll be on the Debian stand, of course). I've had a bunch of things to try in terms of getting SA1110 UDC working for the Balloon which should probably take priority over the E3 sound. Meh. Can I have more hours in the day? Or a teleport would probably be better.

My E3 is currently sitting running KPhone/Pi under OPIE. Annoyingly I currently have to have a USB mouse attached due to lack of a suitable pointing device on the E3, but I'm sure that's solvable in time.

More disappointing is the fact that it doesn't really work. :( I can successfully SIP register with my local Asterisk instance, and dial voicemail successfully. I only hear a fragment of the "Chameleon mail" prompt and attempting to send DTMF to choose a mailbox doesn't work either - I don't know if this is because I leave it too late or if they don't get sent at all.

OpenEmbedded doesn't have any other OPIE based SIP or IAX clients, nor anything text mode that I can see. I found ZiaxPhone but it seems to be closed source so I can't rebuild it. Guess I'll have to find a text mode client and try to work out if it's KPhone, the audio driver or the E3 not being fast enough that's the problem.

I've been quiet for a couple of weeks now; I went home to my parents for just over a week at the start of May (more on that later), then last week was spent catching up with various bits after being away, and then the past few days I've had a cold (just in time for the weekend, yay!). Meh.

Anyway, as such I haven't been fiddling a lot with the E3; still stuck at the point where I could get it to load my second stage loader from NAND, which would then load u-boot, which would then load the kernel, but not getting anything from the kernel after decompression. Whereas if I loaded the second stage loader over the serial port it all worked fine.

Figuring that Amstrad's PBL must be doing something different depending on which method you use (NAND/serial) I had a look at the config registers to see if anything was different. Nothing obvious. I enable the low level kernel debug output and find it is booting ok, but that it freezes as soon as it tries mutex_lock in clk_register. Odd. So I disable CONFIG_DEBUG_MUTEXES and all of a sudden it works. My E3 boots into Linux unattended. Woooo. I think.

Rock. I've now got the LCD on my E3 working; blurry picture at http://www.earth.li/~noodles/images/e3-lcd.jpg (I couldn't convince the camera to both focus well and shoot the flash in a way that made the text visible). I've updated my Amstrad E3 page with a few of the recent 2.6 developments as well. I'm quite chuffed with myself; while Mark did the original work of getting it booting with serial and USB I've managed to write the NAND driver, the LCD driver and sort out the keypad keymap.

There's still quite a lot left though:

  • Get u-boot onto the actual device rather than having to load it over the serial port on each reboot.
  • Add NAND support to u-boot.
  • Get the modem setup.
  • Sound
  • Handset - both mic/speaker and off-hook detection.
  • Mailboard (the pull out keyboard)
  • Camera

And then I can worry about the application layer. :)