Alauda driver is complete

The driver

I completed development of the Alauda driver in September and submitted the driver for inclusion to the Linux kernel.

The driver duplicates some code (checksum, media ID table) which is also present in other drivers, and it looks like we want to figure out a good way to share this code before including my work, which is a fair point – we don’t want to duplicate this yet again.

For now I’m publishing my driver as a standalone patch which people can use until we figure out the real integration details. These devices seem to be more common than I originally thought. Patch available here (against Linux 2.6.14).

Juice Box

In true open-source style, a group of hackers have taken my work and used it for something I didn’t design for: hacking the Juice Box – a portable media player based on ucLinux.

From what I gather, these devices boot from a small amount of NAND flash. To customise the device to a decent level, you need to replace this flash with your own.

Fortunately, xD media is basically NAND flash with a slightly different pin configuration, so they have done crazy things such as solder a pre-programmed XD card to the PCB:

However, you can’t just pre-program these XD cards on any old reader/writer. You need to use a device which gives you access to the physical block layout of the media, so that you can write to block 0 (amongst other things). Almost all XD reader/writer devices on the market handle physical block translation in hardware, and only provide a logical block interface to the host operating system, which does not satisfy the needs of these hackers.

The Alauda is probably the most common device that provides physical access, making writing a driver considerably harder, but allowing you to hack the media in ways such as this. I may even donate my spare Alauda device to their project.

2 Responses to “Alauda driver is complete”

  1. Alan Barrow Says:

    Hello, I’m one of the Juicebox guys. I’ve got two MAUSB-10′s in my hands from closeout, and would like to do direct writes.

    Some questions:

    Any reason I could not have both online, and use dd to/from the device files to image one XD to another?

    If it won’t support two MAUSB’s, then I guess I could dd from the reader to a file, then back to the reader as a 2nd step. And reason raw device access would not work?

    Thanks for working this driver out, I look forward to playing with it.

    Alan

  2. dsd Says:

    That won’t work, it’s not raw media access, even with dd you are still only addressing it logically. The current Linux driver provides no physical access.

Leave a Reply

You must be logged in to post a comment.