Table of Contents
http://main.linuxfocus.org/~guido/usb/
The USB support in Linux is very good. As opposed to other common operating systems you often do not need a special driver. However some devices require special settings or are not covered from an application protocol point of view by the USB specifications or other publicly available specification. It's always a good idea to first search for supported devices in the Linux USB database at www.qbik.ch/usb/devices. I would do that even if you do not need the device to work under Linux. It gives you more flexibility and freedom.
This device is a usb mass storage device and according to the description from the chip manufacture (http://www.neodio.com.tw/nd-5010.htm) it should be fully standard compliant but it is not. It requires therefore an entry in drivers/usb/storage/unusual_devs.h and re-compilation of the Kernel. I have tested it with Kernel 2.4.17. Later Kernels might already have the required entry as I submitted it to the maintainer of unusual_devs.h.
Compactflash Reader/Writer is a small half round device. There is no information about the manufacturer printed anywhere (It's a real no name device ;-). It has no cables. You plug it to the computer either directly or via expansion cable.
The device appears from Linux point of view like a SCSI disk. The listing in /proc/bus/usb/devices for this device is:
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=16 #Cfgs= 1 P: Vendor=0aec ProdID=5010 Rev= 1.00 S: Manufacturer=Card Reader/Writer S: Product=Card Reader/Writer S: SerialNumber=0AEC301000001A00 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
To unusual_devs.h you need to add the following lines:
UNUSUAL_DEV( 0x0aec, 0x5010, 0x0100, 0x0100, "Card Reader/Writer", "neodio card reader/writer", US_SC_SCSI, US_PR_BULK, NULL, US_FL_FIX_INQUIRY),
This device behaves very much like the Dimage 5 Camera listed below (it's a pseudo SCSI disk).
Please note that it is very important for Linux to have a correct filesystem on the card. Some cameras write some nonsence that Windoes ignores but Linux produces errors. If you format the card with my Dimage 5 then only the first 16Mb can be read. If you format the card with Windows and use it in the camera or this card reader then there is no such problem.
Keith Hudson wrote me that he bought a 64MB USB Pen Drive. It does not mention any manufacturer but contains also a Neodio 5010 chip. It works with the same settings as the Reader/Writer. A picture of the pen drive is shown below.
This is a "portable flashdrive" and it is one of the few implementations which follow the USB standard. That means you do not need a modified Kernel or a special driver for any operating system.
The pendrive (from http://www.pendrive.com) identifies itself as follows:
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0d7d ProdID=0120 Rev= 1.00 S: Manufacturer= S: Product=USB Disk Pro S: SerialNumber=072A101001A2 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=255ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=255ms E: Ad=83(I) Atr=03(Int.) MxPS= 2 Ivl= 1ms
You plug it in, you mount /dev/sda1 and you have access to your files on any Linux system (or other OS).