This page is about the Linux driver for the USB-connected devices that have the USBAT-02 processor from SCM Microsystems. The processor identifies itself with the numbers 0x04e6 and 0x1010).
SCM provided us some specifications of the device (under non-disclosure). With these specifications, plus an earlier but incomplete driver which was written without the specs, a driver has been completed and is now included in the mainline Linux kernel.
Devices that are reported to work with the USBAT-02 processor are:
In January 2005, patches based off the latest version available on this SourceForge project page were submitted to the Linux USB developers.
The patches were accepted, this driver became available in the official Linux kernel for the first time in Linux 2.6.12. It can be found in the following location:
Device Drivers ---> USB support ---> <*> USB Mass Storage support [*] USBAT/USBAT02-based storage support (EXPERIMENTAL)
As the driver is complete and shipped in the mainline kernel, this project is finished. Future maintenance (if any) will be done directly in the kernel source code repositories.
Even though the original plan was to be also included in the 2.4 kernel, that branch is no longer accepting any new features, so I doubt we have any chance of being included there. I don't have any interest in backporting the latest version to 2.4, but if anybody feels like it, please contact us via the mailing list!
In May 2002, Thomas Kreiling created a driver for Linux 2.4 that supports reading as well as writing to the device. Almost everything seemed to work right, the only thing wrong with this driver is that media should not be changed or removed while the device is connected.
In the beginning of 2003, Dong Lin ported the Linux driver to FreeBSD and did also a lot of cleaning up and made the code more verbose, better understandable. (See the code) (Dong used the specs, Thomas who wrote the first release, did not have the specs).
Daniel Drake (Gentoo developer) took over development in 2004, to make the driver ready for inclusion in the 2.6 kernel. Daniel is used the device specs from SCM.
Daniel rewrote most of the source code of the driver and added much-appreciated new functionality such as the ability to hotswap media. The final code was submitted as an extension to the shuttle_usbat driver, which previously powered only HP CD writers based on the USBAT chip.