On Thu, Feb 07, 2008 at 11:52:46AM -0500, Alan Stern wrote:
> On Thu, 7 Feb 2008, Fabio Venturi wrote:
>
> > I don't see any USB quirk in dmesg,
> > the initd file is rebuilt every time I change
> > something in the kernel with mkinitcpio on ArchLinux.
> >
> > The patched quirks.c is:
> ...
> > static const struct usb_device_id usb_quirk_list[] = {
> > /* Action Semiconductors flash disk */
> > {USB_DEVICE(0x10d6, 0x0022), .driver_info =
> > USB_QUIRK_STRING_FETCH_255},
>
> No, no! Please use the patch in the form I sent to you. The
> USB_DEVICE macro should say:
>
> USB_DEVICE(0x10d6, 0x2200)
Right, network byte order
> > but this:
> > dev_dbg(&udev->dev, "USB quirks for this device: %x\n", udev->quirks);
> > never happens
>
> Because you altered the patch. Again.
My bad :(
But for some reason the patch is rejected, so I had to type it down by hand.
Now the device doesn't reboot in a infinite loop, it seems to settle
after initialization.
debugfs is mounted and usbmon is loaded
With the correct VendorID and ProductID something happened
and dmesg now tells:
hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0020
ehci_hcd 0000:00:03.3: GetStatus port 5 status 001803 POWER sig=j CSC
CONNECT
hub 1-0:1.0: port 5, status 0501, change 0001, 480 Mb/s
hub 1-0:1.0: debounce: port 5: total 100ms stable 100ms status 0x501
ehci_hcd 0000:00:03.3: port 5 high speed
ehci_hcd 0000:00:03.3: GetStatus port 5 status 001005 POWER sig=se0 PE
CONNECT
usb 1-5: new high speed USB device using ehci_hcd and address 7
ehci_hcd 0000:00:03.3: port 5 high speed
ehci_hcd 0000:00:03.3: GetStatus port 5 status 001005 POWER sig=se0 PE
CONNECT
usb 1-5: USB quirks for this device: 1
usb 1-5: config 1 interface 0 altsetting 0 endpoint 0x83 has an invalid
bInterval 200, changing to 11
usb 1-5: default language 0x0409
usb 1-5: new device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-5: Product: Actions Mtp Device 000001
usb 1-5: Manufacturer: Actions Semiconductor Co., Ltd.
usb 1-5: SerialNumber: C621C804E79ACB41A8825E5C3BD13556
usb 1-5: uevent
usb 1-5: usb_probe_device
usb 1-5: configuration #1 chosen from 1 choice
usb 1-5: adding 1-5:1.0 (config #1, interface 0)
usb 1-5:1.0: uevent
usb 1-5:1.0: uevent
drivers/usb/core/inode.c: creating file '007'
// --------------- END DMESG ---------------
and usbmon:
dbac60c0 3966616068 C Ii:1:001:1 0:2048 1 = 20
dbac60c0 3966616085 S Ii:1:001:1 -115:2048 4 <
c696fcc0 3966616353 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
c696fcc0 3966616448 C Ci:1:001:0 0 4 = 01050100
c696fcc0 3966616453 S Co:1:001:0 s 23 01 0010 0005 0000 0
c696fcc0 3966616456 C Co:1:001:0 0 0
c696fcc0 3966616535 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
c696fcc0 3966616538 C Ci:1:001:0 0 4 = 01050000
c696fcc0 3966641814 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
c696fcc0 3966641819 C Ci:1:001:0 0 4 = 01050000
c696fcc0 3966667928 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
c696fcc0 3966667933 C Ci:1:001:0 0 4 = 01050000
c696fcc0 3966693816 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
c696fcc0 3966693822 C Ci:1:001:0 0 4 = 01050000
c696fcc0 3966719820 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
c696fcc0 3966719825 C Ci:1:001:0 0 4 = 01050000
c696fcc0 3966720011 S Co:1:001:0 s 23 03 0004 0005 0000 0
c696fcc0 3966720014 C Co:1:001:0 0 0
c696fcc0 3966770898 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
c696fcc0 3966771444 C Ci:1:001:0 0 4 = 03051000
c696fcc0 3966821823 S Co:1:001:0 s 23 01 0014 0005 0000 0
c696fcc0 3966821829 C Co:1:001:0 0 0
c696fcc0 3966822013 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
c696fcc0 3966822618 C Ci:1:000:0 0 18 = 12010002 ff000040 d6100022
00010102 0301
c696fcc0 3966822629 S Co:1:001:0 s 23 03 0004 0005 0000 0
c696fcc0 3966822633 C Co:1:001:0 0 0
c696fcc0 3966872822 S Ci:1:001:0 s a3 00 0000 0005 0004 4 <
c696fcc0 3966873289 C Ci:1:001:0 0 4 = 03051000
c696fcc0 3966923841 S Co:1:001:0 s 23 01 0014 0005 0000 0
c696fcc0 3966923847 C Co:1:001:0 0 0
c696fcc0 3966923851 S Co:1:000:0 s 00 05 0006 0000 0000 0
c696fcc0 3966924083 C Co:1:000:0 0 0
c696fcc0 3966935812 S Ci:1:006:0 s 80 06 0100 0000 0012 18 <
c696fcc0 3966936203 C Ci:1:006:0 0 18 = 12010002 ff000040 d6100022
00010102 0301
c696fcc0 3966936369 S Ci:1:006:0 s 80 06 0200 0000 0009 9 <
c696fcc0 3966936452 C Ci:1:006:0 0 9 = 09022700 0101ee80 96
c696fcc0 3966936461 S Ci:1:006:0 s 80 06 0200 0000 0027 39 <
c696fcc0 3966936576 C Ci:1:006:0 0 39 = 09022700 0101ee80 96090400
00030805 50000705 01020002 00070582 02000200
d10edd40 3966936748 S Ci:1:006:0 s 80 06 0300 0000 0002 2 <
d10edd40 3966936827 C Ci:1:006:0 0 2 = 0403
d10edd40 3966936836 S Ci:1:006:0 s 80 06 0300 0000 0004 4 <
d10edd40 3966936953 C Ci:1:006:0 0 4 = 04030904
d10edd40 3966937041 S Ci:1:006:0 s 80 06 0302 0409 0002 2 <
d10edd40 3966937577 C Ci:1:006:0 0 2 = 3403
d10edd40 3966937587 S Ci:1:006:0 s 80 06 0302 0409 0034 52 <
d10edd40 3966937953 C Ci:1:006:0 0 52 = 34034100 63007400 69006f00
6e007300 20004d00 74007000 20004400 65007600
d10edd40 3966937963 S Ci:1:006:0 s 80 06 0301 0409 0002 2 <
d10edd40 3966938327 C Ci:1:006:0 0 2 = 4003
d10edd40 3966938335 S Ci:1:006:0 s 80 06 0301 0409 0040 64 <
d10edd40 3966938702 C Ci:1:006:0 0 64 = 40034100 63007400 69006f00
6e007300 20005300 65006d00 69006300 6f006e00
d10edd40 3966938711 S Ci:1:006:0 s 80 06 0303 0409 0002 2 <
d10edd40 3966939077 C Ci:1:006:0 0 2 = 4203
d10edd40 3966939086 S Ci:1:006:0 s 80 06 0303 0409 0042 66 <
d10edd40 3966939576 C Ci:1:006:0 0 66 = 42034300 36003200 31004300
38003000 34004500 37003900 41004300 42003400
d10edd40 3966940980 S Co:1:006:0 s 00 09 0001 0000 0000 0
d10edd40 3966941075 C Co:1:006:0 0 0
d10edd40 3966941086 S Ci:1:006:0 s 80 06 03ee 0409 0002 2 <
d10edd40 3966941200 C Ci:1:006:0 0 2 = 1203
d10edd40 3966941206 S Ci:1:006:0 s 80 06 03ee 0409 0012 18 <
d10edd40 3966941324 C Ci:1:006:0 0 18 = 12034d00 53004600 54003100
30003000 fe00
// ------------ END USBMON -----------------
Redirecting stderr and stdout of 'lsusb -v' I get the following details.
Note: the device restart if it get probed with 'lsusb -v'
Bus 001 Device 011: ID 10d6:2200 Actions Semiconductor Co., Ltd
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x10d6 Actions Semiconductor Co., Ltd
idProduct 0x2200
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 238
bmAttributes 0x80
(Bus Powered)
MaxPower 300mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 5 SFF-8070i
bInterfaceProtocol 80
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP can't get device qualifier: No
such device
can't get debug descriptor: No such device
cannot read device status, No such device (19)
3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 200
// ---------- END OF LSUSB -V --------------
I guess something went wrong.
I put a rule in the udev rules directory:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10d6",
ATTRS{idProduct}=="2200", KERNEL=="sd*",
GROUP="disk", MODE="0664", SYMLINK+="mp3_noblex"
the symink point to usbdev1.12_ep83 that is a
character special and can't be mounted
Just for talking, this is the device:
http://www.img.starsellersworld.com/500/G_100310788.jpg
Thank you again for your huge help!
Fabio
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html