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

Reply via email to