This patch actually contains two drivers that enable Lexar "Jumpshot" CompactFlash readers and a number of readers based on Datafab chipsets to be used with Linux. These devices implement variations of the ATA command set. We, in fact, treat them as SCSI devices so there is some degree of IDE-SCSI translation occuring within the driver. This means that you'll need to build SCSI disk support into your kernel or as a module. Currently, only a single LUN is supported so if your build your SCSI layer to probe all SCSI LUNs, you might see timeouts/delays when you load the usb-storage module due to probing non-existant LUNs.
Before I go further, I want to empasize that these drivers are EXPERIMENTAL. While they appear to work fine in my tests for the two readers that I own, bugs may crop up. When creating these drivers, I was quite unable to get any sort of information from their respective companies so they were 'reverse engineered' by observing USB traffic on a Windows machine. If you use these drivers for mission-critical file storage, you do so at your own peril. Also, be aware that error-checking is still sparse. This means that if something fails, you'll get a generic error that's probably less than useful.
Datafab is an interesting story. Not only do they manufacture readers but they're apparently an OEM provider of USB-ATA chipsets (though recently it was pointed out to me that these chips might actually be rebranded OnSpec or Shuttle chips). The driver was originally created for my reader (a Datafab MDCFE-B 0x07c4/0xa000). I've since received a mixed bag of reports of other brands of readers working (or not working) with this driver. Enough that it makes sense to maintain a list of hardware on this page based on user feedback.
A number of Datafab-based readers are so-called "combination" readers that are capable of handling CompactFlash and SmartMedia. In most cases, SmartMedia will not be functional with this driver. There are some exceptions noted below. Please be aware that I personally do not have any SmartMedia hardware so I have to rely on user feedback.
Also be aware that product name itself isn't a guarantee that the reader will be supported. Though the marketed name might be the same, it's quite possible that the underlying hardware is different. (witness the PNY Flashback readers). Unfortunately manufacturers tend not to print the device IDs on the packaging so you can't be sure what you bought until you plug it into your computer.
|Datafab||MDCFE-B||07c4:a000||Yes||This is the device the driver was originally created for|
|Integral||Integral CompactFlash USB||07c4:a000||Yes||(1)|
|Datafab||MDCFSM-B||07c4:a001||Yes||Reportedly device is sometimes unmountable (1)|
|PNY||Unknown CF+SM combo reader||07c4:a005||No||Last I heard, this device still was not working|
|Datafab||CF+SM combo reader||07c4:a005||Yes for CF; no for SM||Reportedly works with CF but not SM (1)|
|PNY||Unknown||07c4:a006||Yes||Reportedly works with SmartMedia (1)|
|Jenoptik||Unkown SmartMedia reader||07c4:a006||Yes||Reportedly works with SmartMedia (1)|
|Simple Technologies||CF Type I/II reader||(unknown)||Yes||Reported to work with IBM microdrive as well (1)|
|Apacer||AP-CSCRU10 CF+SM||07c4:a109||No||Last I heard, this device was not working (1)|
|Greenhouse||GH-CRSC CF+SM USB reader||07c4:a109||Yes||Only tested with CompactFlash (1)|
|Datafab||DSCFSM-USB||07c4:a109||Yes||Not tested with SmartMedia. Reportedly works for CompactFlash (1)|
|Datafab||USB to CF + SM Combo (LC1)||07c4:a109||Yes||Not tested with SmartMedia. Reportedly works with IBM microdrive. This might be the same as the DSCFSM-USB reader. (1)|
|PNY||Flashback||07c4:b000||No||There are apparently different versions of the Flashback. This one (b000) does not work (1)|
The Jumpshot is essentially a USB cable with one end modified to accept a "USB-enabled" CF card. All the actual USB circuits are supposedly onboard the CF card itself. This means that you cannot use a vanilla CompactFlash card with this reader. Still, it's a pretty neat design. So far as I can tell there is only one hardware revision so things are alot simpler than with the Datafab-based stuff.
Testing. I currently have 3 CF cards at my disposal: 8mb, 48mb and 64mb. I've verified that the Datafab reader works correctly with all three. I can only test the Lexar reader with the 48mb card since it's the only one that's compatible. I've tested both reading and writing and for grins, even created an EXT2 filesystem on one card with no noted problems.
Installation: 3 steps.
Contact: In addition to the email address at the bottom of this page, you can find me on IRC (server: haybaler.sackheads.org:6667 channel #usb).
Note: I've received some reports from users who say that their reader is being detected multiple times. Unfortunately I don't see this behavior with my readers. I haven't heard any reports of this being dangerous but if it annoys you greatly, you might be able to avoid it by adding US_FL_SINGLE_LUN to the flags section of your device entry in unusual_devs.h.
Grab the patch for 2.4.0 here.
Grab the patch for 2.4.1 here.
Grab the patch for 2.4.5 here.
Questions or comments? Drop me a line.