7in1 USB cardreader with CM120 chip not recognized by usb-storage

7in1 USB cardreader with CM120 chip not recognized by usb-storage

Post by paul » Mon, 18 Apr 2005 21:32:31


I bought a 7in1 USB card reader but I can not get it to work in Linux.
USB flash keys do work, so in principal I can mount usb file systems.

dmesg tells me this:
usb.c: USB device 3 (vend/prod 0xd8c/0x5000) is not claimed by any active driver

0x0d8c/0x5000 is the CM120 chip from C-Media Electronics. Their web site
does not show any linux links/drivers.

Anybody an idea how to get this working? I tried to add it to
unusual_dev.h with different entries but with no success.

How do I get this chip recognized by usb-storage?

Thanks,
Paul

lsusb -v:
Bus 003 Device 003: ID 0d8c:5000 C-Media Electronics, Inc.
cannot get string descriptor 1, error = Broken pipe(32)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0d8c C-Media Electronics, Inc.
idProduct 0x5000
bcdDevice 1.00
iManufacturer 0
iProduct 1
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Language IDs: (length=4)
0409 English(US)
 
 
 

7in1 USB cardreader with CM120 chip not recognized by usb-storage

Post by Dances Wit » Mon, 18 Apr 2005 21:56:43

On Sun, 17 Apr 2005 14:32:31 +0200, paul staggered into the Black Sun
and said:

Yep. Your kernel may be too old. What's the output of "uname -a"? If
you're using anything older than 2.6.10 or 2.4.29 , try upgrading. If
you're already using a recent kernel, you may have to go hacking.


The manufacturer's website is the *last* place you want to go for info
on Linux support.


First thing to do is upgrade the kernel. If that doesn't work, you can
start by using USBSnoopy (or a similar program) on a machine that has
'Doze installed, and recording the protocol stream for the new device.
Then record the protocol stream for a supported device. Look for
differences. Tweak usb-storage.c and unusual_dev.h so that the protocol
differences you found with USBSnoopy are replayed for this device.
Iterate until it works. Push diffs to usb-storage maintainer once it's
all debugged. HTH,

--
Matt G|There is no Darkness in Eternity/But only Light too dim for us to see
Brainbench MVP for Linux Admin / mail: TRAP + SPAN don't belong
http://www.yqcomputer.com/ / Hire me!
-----------------------------/ http://www.yqcomputer.com/ ~mhgraham/resume

 
 
 

7in1 USB cardreader with CM120 chip not recognized by usb-storage

Post by paul » Mon, 18 Apr 2005 22:36:38


It's 2.4.28-gentoo-r8. I'll try to find a more recent 2.4 kernel
I want to stay with 2.4 for an other device (dsp card) that only has 2.4
support :(
web
;-)

good advice, thanks!