CDC-ACM Input/Output Error (usb_submit_urb(ctrl irq) failed)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear all,

I want to use a modem like CDC-ACM device. Its custom made and is using a Microchip PIC18F2550 micro controller. The device works without any problem under Windows, Mac OS and Ubuntu. However when I try to use it with my Synology DS411slim NAS (uname -a Linux Speicherschwein 2.6.32.12 #1922 Sun Sep 4 02:10:58 CST 2011 armv5tel GNU/Linux) I'm always getting Input/Output Errors when I try to cat the device (/dev/ttyACM0). The NAS has an EHCI USB host controller.

I have recompiled the kernel module with #define Debug and I'm getting the following error message - Please also note the "broken pipe" error of lsusb -v

[80713.600000] usb 1-1.3: new full speed USB device using orion-ehci and address 33
[80713.710000] usb 1-1.3: configuration #1 chosen from 1 choice
[80713.710000] cdc_acm 1-1.3:1.0: This device cannot do calls on its own. It is not a modem.
[80713.720000] cdc_acm 1-1.3:1.0: The data interface has switched endpoints
[80713.720000] drivers/usb/class/cdc-acm.c: interfaces are valid
[80713.720000] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device
[80713.760000] drivers/usb/class/cdc-acm.c: acm_control_msg: rq: 0x22 val: 0x0 len: 0x0 result: 0
[80713.760000] drivers/usb/class/cdc-acm.c: acm_control_msg: rq: 0x20 val: 0x0 len: 0x7 result: 7
[80713.760000] Got empty serial number. Generate serial number from product.
[80749.480000] drivers/usb/class/cdc-acm.c: Entering acm_tty_open.
[80749.480000] drivers/usb/class/cdc-acm.c: usb_submit_urb(ctrl irq) failed
[80749.480000] tty_port_close_start: tty->count = 1 port count = 0.
[80749.500000] drivers/usb/class/cdc-acm.c: acm_control_msg: rq: 0x22 val: 0x0 len: 0x0 result: 0

Does anyone has an idea what this error message (usb_submit_urb(ctrl irq) failed) means and how it can be fixed?

Please find attached the output of lsusb and cat /proc/bus/usb/devices

Thank you very much!

Alex

lsusb -v gives

Bus 001 Device 033: ID 04d8:000a Microchip Technology, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x04d8 Microchip Technology, Inc.
  idProduct          0x000a 
  bcdDevice            0.01
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           67
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              0 
      CDC Header:
        bcdCDC               1.10
      CDC ACM:
        bmCapabilities       0x02
          line coding and serial state
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               2
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
cannot read device status, Broken pipe (32)

cat /proc/bus/usb/devices gives

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  1, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 2.06
S:  Manufacturer=Linux 2.6.32.12 ehci_hcd
S:  Product=Marvell Orion EHCI
S:  SerialNumber=orion-ehci.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=02 Prnt=02 Port=99 Cnt=01 Dev#= 33 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=04d8 ProdID=000a Rev= 0.01
S:  Manufacturer=sprut (www.sprut.de)
S:  Product=ADSB-PIC V.08 (sprut 2011)
S:  SerialNumber=9dac9dad9fbfcbbeccbccfe7c7ffcfe1
C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=2ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
E:  Ad=03(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux