Hotplug usb-storage device
Hi,
Is it possible get hotpluging to work on a datafab smartmedia reader.
Ther is no problem to load the usb-storage and the sd_mod by hand and use it.
Some info on system.
Amd K6/2 550
Chipset Via MVP3
Dist: RH7.0 (comented out the orginal usb init in
rc.sysinit)
kernel 2.4.2 (patched with datafab patch. and the
devicefs patch)
modutils: 2.4.3-1 (rpm)
usbutils 0.7 (pathed to 0.7-hotplug)
hotplug 2001_02_28-1 (noarch.rpm)
My webcam and printer (Creative webcam3 and HP970Cxi) hotplugs ok.
Checked that the script use modules.usbmap in $KERNEL and it has the line for the reader.
usb-storage 0x000f 0x07c4 0xa006 0x0000 0xffff 0x000x00 0x00 0x00 0x00 0x00
0x00000000
/var/log/messages (when plugged)
hub.c: USB new device connected on bus1/1, assigned device number 3 usb.c: Usb device 3 (vend/prod 0x7c4/0xa006) is not clamed by any active driver./etc/hotplug/usb.agent: ... no driver for USB product 7c4/a006/15
Have also som strange results using lsusb (behaves best on usb-uhci. More errors using uhci)
string descriptor 1 invalid (07 f6)
cannot get stringdescriptor 2, Invalid or incomplete multibyte or wide character (84)
cannot get stringdescriptor 3, Invalid or incomplete multibyte or wide character (84)
cannot get stringdescriptor 0, Invalid or incomplete multibyte or wide character (84)
Attach lsusb dump.
Best regards
Ken
Bus 001 Device 001: ID 0000:0000 Virtual Hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 9 Hub bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0000 Virtual idProduct 0x0000 Hub bcdDevice 0.00 iManufacturer 0 iProduct 2 iSerial 1 bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x40
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type none
wMaxPacketSize 8
bInterval 255
Language IDs: 0000
Bus 001 Device 003: ID 07c4:a006 Datafab Systems Inc. Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x07c4 Datafab Systems Inc. idProduct 0xa006 bcdDevice 0.15 iManufacturer 1 iProduct 2 iSerial 3 bNumConfigurations 1
Language IDs: none (cannot get string descriptor)
Bus 001 Device 002: ID 03f0:1004 Hewlett-Packard DeskJet 970Cse Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 0 Interface bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x03f0 Hewlett-Packard idProduct 0x1004 DeskJet 970Cse bcdDevice 1.00 iManufacturer 1 Hewlett-Packard iProduct 2 DeskJet 970C iSerial 3 ES9A6110HDJQ bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 55
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x40
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 7 Printer
bInterfaceSubClass 1 Printer
bInterfaceProtocol 1 Unidirectional
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
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 7 Printer
bInterfaceSubClass 1 Printer
bInterfaceProtocol 2 Bidirectional
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Language IDs: 0409
Quoted 3 lines
Is it possible get hotpluging to work on a datafab smartmedia reader. Ther is no problem to load the usb-storage and the
sd_modby hand and use it.
So the problem is only to find out why the usb.agent script doesn't handle it. I have my guess below ... but you can debug such things yourself pretty easily.
You can snapshot the environment variables given to the hotplug script, or an agent, by adding a line line "env > /tmp/variables" to the script. Then turn those into a script that just assigns and exports (!) the variables listed up at the front ... use it to call "sh -x usb.agent" (or "pci.agent" or whatever) to see exactly what it's doing. With that kind of debug output, it's easy to find and fix problems.
Quoted 7 lines
Checked that the script use modules.usbmap in $KERNEL and it has the line for the reader.
usb-storage
0x000f0x07c40xa0060x00000xffff0x000x000x000x000x000x00
0x00000000
Quoted 6 lines
/var/log/messages(when plugged)
hub.c: USB new device connected on bus1/1, assigned device number 3usb.c: Usb device 3 (vend/prod 0x7c4/0xa006) is not clamed by any active driver./etc/hotplug/usb.agent: ... no driver for USB product 7c4/a006/15
Likely you're hitting a problem in the range handling. Why don't you just add an entry for product 07c4/a006 to /etc/hotplug/usb.handmap that only lists product and version? (And if the current version of the script, in CVS, needs a patch ... please submit it!)
- Dave
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 4 lines · David Brownell
So the problem is only to find out why the usb.agent script doesn't handle it. I have my guess below ... but you can debug such things yourself pretty easily.
Yes your right, it's seems to be the version code that mess things up. version range from 0009 to 0015 on this type of devices.
And as it states in the script usb-storage would not hotplug ( Have to read more careful next
time).
entered following in the handmap
smdev 0x000f 0x07c4 0xa006 0x0000 0x0000 0x00 0x000x00 0x00 0x00 0x00 0x00000000
then in modules.conf
probeall smdev usb-storage sd_mod
And now it hotplugs. Have a entry in the fstab for it so user can mount on /mnt/sm
Matbe it's not the right way to do things but it works. Next is to have it hotunplug :)
Best regards
Ken
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel