Hi I'm running kernel 2.4.19pre10 on an embedded x86ish (AMD ELAN) board using a CMD USB-673B controller. I am able to connect and transfter data with the modem, but it resets (disconnect/reconnect) the device sporadically (it seems to be related to how heavily I'm thrashing the modem).
In software (or at least in /proc/kmsg) it looks a bit like the modem being pulled out of the usb socket, and then being put back in, but on the wire (according to a cro) it looks a little different. The modem pullout/putin scenario goes through a number of states: busy -> 1ms poll -> nothing -> detect -> 1ms poll (active connection -> device pulled out but still being polled for -> no devices -> modem inserted and found -> modem reenumerated). What I am seeing when the problem occurs is this: busy -> nothing -> detect -> 1ms poll So it seems that the host end stops polling the device. I've attached a snipped kernel log of the problem, and also a kernel log of the usb-ohci being loaded to show the attached devices. Thanks in advance Simon Gittins <<errorshort.txt>> <<ohci.txt>>
<7>usb-ohci.c: USB-error/status: 5 : c7832180 <7>usb-ohci.c: RET URB:[5dd7] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>acm.c: nonzero read bulk status received: -110 <7>usb-ohci.c: SUB URB:[5dd7] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>usb-ohci.c: USB-error/status: 5 : c7832200 <7>usb-ohci.c: RET URB:[5dd8] dev: 5,ep: 1-O,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>acm.c: nonzero write bulk status received: -110 <7>usb-ohci.c: SUB URB:[5dd8] dev: 5,ep: 1-O,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) . . . (more timeouts) . <7>usb-ohci.c: USB-error/status: 5 : c7832080 <7>usb-ohci.c: RET URB:[5ddd] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>acm.c: nonzero read bulk status received: -110 <7>usb-ohci.c: SUB URB:[5ddd] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) n:0/16,stat:-110(ffffff92) <7>acm.c: nonzero read bulk status received: -110 <7>usb-ohci.c: SUB URB:[5df7] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>usb-ohci.c: USB-error/status: 5 : c7832200 <7>usb-ohci.c: RET URB:[5df8] dev: 5,ep: 1-O,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>acm.c: nonzero write bulk status received: -110 <7>usb-ohci.c: SUB URB:[5df8] dev: 5,ep: 1-O,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) . . (more timeouts) . . <7>usb-ohci.c: USB-error/status: 5 : c7832080 <7>usb-ohci.c: RET URB:[5e39] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>acm.c: nonzero read bulk status received: -110 <7>usb-ohci.c: SUB URB:[5e39] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>hub.c: port 1, portstatus 101, change 2, 12 Mb/s <6>usb.c: USB disconnect on device 5 <7>usb-ohci.c: USB-error/status: 5 : c7832180 <7>usb-ohci.c: RET URB:[5e3b] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>acm.c: nonzero read bulk status received: -110 <7>usb-ohci.c: SUB URB:[5e3b] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) . . (more timeouts) . . <7>usb-ohci.c: USB-error/status: 5 : c7832180 <7>usb-ohci.c: RET URB:[5e5f] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>acm.c: nonzero read bulk status received: -110 <7>usb-ohci.c: SUB URB:[5e5f] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-110(ffffff92) <7>usb-ohci.c: UNLINK URB:[5e5f] dev: 5,ep: 2-I,type:INTR,flags: 0,len:0/8,stat:-115(ffffff8d) <7>usb-ohci.c: UNLINK URB:[5e60] dev: 5,ep: 1-I,type:BULK,flags: 20,len:0/16,stat:-115(ffffff8d) <7>usb-ohci.c: USB-error/status: 5 : c7832080 <7>hub.c: port 1, portstatus 101, change 0, 12 Mb/s <7>hub.c: port 1, portstatus 101, change 0, 12 Mb/s <7>usb.c: kmalloc IF c7f7a1e0, numif 2 <7>usb.c: skipping descriptor 0x24 <7>usb.c: skipping descriptor 0x24 <7>usb.c: skipping descriptor 0x24 <7>usb.c: skipping descriptor 0x24 <7>usb.c: skipping descriptor 0x24 <7>usb.c: skipped 5 class/vendor specific endpoint descriptors <7>usb.c: USB device number 6 default language ID 0x409 <6>Product: Roadster II 56 USB
<6>usb.c: new USB bus registered, assigned bus number 1 <7>hub.c: port 1, portstatus 101, change 1, 12 Mb/s <7>hub.c: port 1 connection change <7>hub.c: port 1, portstatus 101, change 1, 12 Mb/s <7>hub.c: port 1, portstatus 101, change 0, 12 Mb/s <7>hub.c: port 1, portstatus 101, change 0, 12 Mb/s <7>usb.c: hub driver claimed interface c7f79300 <7>hub.c: port 1, portstatus 101, change 0, 12 Mb/s <7>hub.c: port 1, portstatus 103, change 10, 12 Mb/s <6>hub.c: USB new device connect on bus1/1, assigned device number 2 <7>usb.c: new device strings: Mfr=1, Product=2, SerialNumber=0 <7>usb.c: USB device number 2 default language ID 0x409 <6>Manufacturer: Sirius Technologies <6>Product: Roadster II 56 USB <7>usb.c: unhandled interfaces on device <4>usb.c: USB device 2 (vend/prod 0x6ea/0x2) is not claimed by any active driver. <4> Length = 18 <4> DescriptorType = 01 <4> USB version = 1.00 <4> Vendor:Product = 06ea:0002 <4> MaxPacketSize0 = 8 <4> NumConfigurations = 1 <4> Device version = 1.00 <4> Device Class:SubClass:Protocol = 02:00:00 <4> Communications class <4>Configuration: <4> bLength = 9 <4> bDescriptorType = 02 <4> wTotalLength = 0049 <4> bNumInterfaces = 02 <4> bConfigurationValue = 01 <4> iConfiguration = 00 <4> bmAttributes = a0 <4> MaxPower = 400mA <4> <4> Interface: 0 <4> Alternate Setting: 0 <4> bLength = 9 <4> bDescriptorType = 04 <4> bInterfaceNumber = 01 <4> bAlternateSetting = 00 <4> bNumEndpoints = 02 <4> bInterface Class:SubClass:Protocol = 0a:00:00 <4> iInterface = 00 <4> Endpoint: <4> bLength = 7 <4> bDescriptorType = 05 <4> bEndpointAddress = 81 (in) <4> bmAttributes = 02 (Bulk) <4> wMaxPacketSize = 0010 <4> bInterval = 00 <4> Endpoint: <4> bLength = 7 <4> bDescriptorType = 05 <4> bEndpointAddress = 01 (out) <4> bmAttributes = 02 (Bulk) <4> wMaxPacketSize = 0010 <4> bInterval = 00 <4> <4> Interface: 1 <4> Alternate Setting: 0 <4> bLength = 9 <4> bDescriptorType = 04 <4> bInterfaceNumber = 00 <4> bAlternateSetting = 00 <4> bNumEndpoints = 01 <4> bInterface Class:SubClass:Protocol = 02:02:01 <4> iInterface = 00 <4> Endpoint: <4> bLength = 7 <4> bDescriptorType = 05 <4> bEndpointAddress = 82 (in) <4> bmAttributes = 03 (Interrupt) <4> wMaxPacketSize = 0008 <4> bInterval = 80 <7>hub.c: port 2, portstatus 300, change 0, 1.5 Mb/s
