Skip to contentSkip to conversation

Hotplug usb-storage device

DISCUSSION Kjell Claesson 2 participants 3 messages Mar 4, 2001 – Mar 5, 2001

lore
Share & tools
lore
#0 lore raw

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 0x00
0x00 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

#1 lore raw
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_mod by 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 0x000f 0x07c4 0xa006 0x0000 0xffff 0x00
0x00 0x00 0x00 0x00 0x00
0x00000000

Quoted 6 lines

/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

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

#2 lore raw
In reply to Kjell Claesson
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 0x00
0x00 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