* Is my hotplug configuration not OK for CDCEther when connecting my Ethernet device over USB ?
@ 2003-07-24 18:55 Philippe Bertin
0 siblings, 0 replies; only message in thread
From: Philippe Bertin @ 2003-07-24 18:55 UTC (permalink / raw)
To: linux-hotplug
[-- Attachment #1: Type: text/plain, Size: 2453 bytes --]
'Llo All,
I have been using CDCEther recently, a device driver that is to be
driving CDC- devices (over USB, that is). It should be working (as a
design goal) with a standard Linux host. However, up to now I only get
it working in around 5 percent of the cases. At first, I thought that it
was due to the CDCEther- module that my device didn't get started. But
in the running of my tests, I've started suspecting my hotplug
configuration. When it works OK (like I said, in around 5 percent of the
cases), I get a log like in attachment 1 (log_OK). When it does not
work, I get a log like in attachment 2 (log_NOT_OK).
What is happening, is that my Linux CDC host driver (i.e. CDCEther) does
(most of the times) not come to the point of sending the USB- command
'Set Interface 1, Alternate 1'. This is needed before my CDC- device can
start sending/receiving Ethernet frames. I see that CDCEther correctly
claims the USB- device (see the logs), but that's all. Because all
descriptors are fetched by the host (I believe that's done by the USB-
generic part of the kernel, not so ?), and they are correctly answered
by my device. But at the point where the host should send 'Set Intf 1
Alt 0' which should after some time be succeeded by 'Set Intf 1 Alt 1',
nothing happens. I have started thinking that the host only does this
once he has been able to create an eth1- device (see the logs).
IF the system comes to the point of finding the needed hotplug
information (i.e., if there is not that bunch of hotplug- errors in the
log), it looks like there is a valid eth1 created. But in the other
case, I get a whole lot of errors in the log, and there is NO eth1-
device created. In the good case, the CDCEther- driver selects Intf 1
Alt 1, and thus there can be network traffic (which I am still to debug,
but then I'd at least have a working test configuration...) What is
bothering me, is that it SOMETIMES works. Are there reasons to believe
there are some timing issues involved here ?
I am using SuSE linux 8.2, so kernel 2.4.20. I already tried the same
with the new 2.6 standard kernel (using usbnet, the replacing module for
the 2.4- kernel CDCEther module). But apart from having less debug
information, the phenomenon remains the same.
Thanks for any helpful answer,
Kind regards,
Philippe Bertin.
P.S. I think that this newsgroup is the most feasable for my problem,
unless ... linux-usb-devel or -users ?
[-- Attachment #2: log_OK --]
[-- Type: text/plain, Size: 5992 bytes --]
Jul 24 10:32:38 bvwcltbp kernel: hub.c: new USB device 00:1f.2-2, assigned address 17
Jul 24 10:32:38 bvwcltbp kernel: usb.c: kmalloc IF c2cb73a0, numif 2
Jul 24 10:32:38 bvwcltbp kernel: usb.c: skipping descriptor 0x24
Jul 24 10:32:38 bvwcltbp last message repeated 2 times
Jul 24 10:32:38 bvwcltbp kernel: usb.c: skipped 3 class/vendor specific endpoint descriptors
Jul 24 10:32:38 bvwcltbp kernel: usb.c: new device strings: Mfr=1, Product=2, SerialNumber=3
Jul 24 10:32:38 bvwcltbp kernel: usb.c: USB device number 17 default language ID 0x409
Jul 24 10:32:38 bvwcltbp kernel: Manufacturer: [correctly shown]
Jul 24 10:32:38 bvwcltbp kernel: Product: [correctly shown]
Jul 24 10:32:38 bvwcltbp kernel: SerialNumber: [correctly shown]
Jul 24 10:32:38 bvwcltbp kernel: CDCEther.c: Ethernet information found at device configuration. Trying to use it anyway.
Jul 24 10:32:38 bvwcltbp kernel: CDCEther.c: Found Header descriptor, CDC version 110.
Jul 24 10:32:38 bvwcltbp kernel: CDCEther.c: Imperfect filtering support - need sw hashing
Jul 24 10:32:38 bvwcltbp kernel: CDCEther.c: Can't use SetEthernetMulticastFilters request
Jul 24 10:32:38 bvwcltbp kernel: CDCEther.c: detected BULK OUT packets of size 64
Jul 24 10:32:38 bvwcltbp kernel: CDCEther.c: interrupt address: 1
Jul 24 10:32:38 bvwcltbp kernel: CDCEther.c: interrupt interval: 10
Jul 24 10:32:38 bvwcltbp kernel: usb.c: ignoring set_interface for dev 17, iface 0, alt 0
Jul 24 10:32:38 bvwcltbp kernel: CDCEther.c: eth1: [Manufacturer, Product ID and Ser Nr correctly shown]
Jul 24 10:32:38 bvwcltbp kernel: CDCEther.c: eth1: [Eth MAC address correctly shown]
Jul 24 10:32:38 bvwcltbp kernel: usb.c: CDCEther driver claimed interface c2cb73b8
Jul 24 10:32:38 bvwcltbp kernel: usb.c: CDCEther driver claimed interface c2cb73a0
Jul 24 10:32:38 bvwcltbp kernel: usb.c: kusbd: /sbin/hotplug add 17
Jul 24 10:32:38 bvwcltbp kernel: usb.c: kusbd: /sbin/hotplug add 17
Jul 24 10:32:38 bvwcltbp kernel: hub.c: port 1, portstatus 303, change 0, 1.5 Mb/s
Jul 24 10:32:38 bvwcltbp kernel: hub.c: port 2, portstatus 103, change 0, 12 Mb/s
Jul 24 10:32:42 bvwcltbp /etc/hotplug/usb.agent[7613]: writing usb-1-17 to /var/run/hotplug/net
Jul 24 10:32:42 bvwcltbp /etc/hotplug/net.agent[7571]: Using HW description eth-usb-1-17
Jul 24 10:32:42 bvwcltbp kernel: CDCEther.c: eth1: set multicast filters
Jul 24 10:32:42 bvwcltbp kernel: CDCEther.c: eth1: too many MC filters for hardware, using allmulti
Jul 24 10:32:42 bvwcltbp last message repeated 4 times
Jul 24 10:32:43 bvwcltbp /etc/hotplug/net.agent[7505]: No HW description found ... exiting
Jul 24 10:32:45 bvwcltbp /etc/hotplug/usb.agent[7706]: writing usb-1-17 to /var/run/hotplug/net
Jul 24 10:32:53 bvwcltbp kernel: eth1: no IPv6 routers present
Jul 24 10:33:02 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:33:02 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:33:02 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:33:22 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:33:22 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:33:22 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:33:42 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:33:42 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:33:42 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:34:02 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:34:02 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:34:02 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:34:22 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:34:22 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:34:22 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:34:42 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:34:42 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:34:42 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:35:02 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:35:02 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:35:02 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:35:22 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:35:22 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:35:22 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:35:42 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:35:42 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:35:42 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:36:02 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:36:02 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:36:02 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:36:22 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:36:22 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:36:22 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:36:42 bvwcltbp kernel: NETDEV WATCHDOG: eth1: transmit timed out
Jul 24 10:36:42 bvwcltbp kernel: CDCEther.c: eth1: Tx timed out.
Jul 24 10:36:42 bvwcltbp kernel: CDCEther.c: eth1: TX status -104
Jul 24 10:37:00 bvwcltbp kernel: usb-uhci.c: interrupt, status 2, frame# 915
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: rx status -84
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: eth1: RX status -84
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: eth1: TX status -110
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: rx status -84
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: eth1: RX status -84
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: rx status -84
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: eth1: RX status -84
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: rx status -84
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: eth1: RX status -84
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: rx status -84
Jul 24 10:37:00 bvwcltbp kernel: CDCEther.c: eth1: RX status -84
[-- Attachment #3: log_NOT_OK --]
[-- Type: text/plain, Size: 8358 bytes --]
Jul 24 10:37:28 bvwcltbp kernel: hub.c: new USB device 00:1f.2-2, assigned address 18
Jul 24 10:37:28 bvwcltbp kernel: usb.c: kmalloc IF c2cb73a0, numif 2
Jul 24 10:37:28 bvwcltbp kernel: usb.c: skipping descriptor 0x24
Jul 24 10:37:28 bvwcltbp last message repeated 2 times
Jul 24 10:37:28 bvwcltbp kernel: usb.c: skipped 3 class/vendor specific endpoint descriptors
Jul 24 10:37:28 bvwcltbp kernel: usb.c: new device strings: Mfr=1, Product=2, SerialNumber=3
Jul 24 10:37:28 bvwcltbp kernel: usb.c: USB device number 18 default language ID 0x409
Jul 24 10:37:28 bvwcltbp kernel: Manufacturer: ALCATEL
Jul 24 10:37:28 bvwcltbp kernel: Product: SpeedTouch 500 Series
Jul 24 10:37:28 bvwcltbp kernel: SerialNumber: 0090D05A60FF
Jul 24 10:37:28 bvwcltbp kernel: usb.c: unhandled interfaces on device
Jul 24 10:37:28 bvwcltbp kernel: usb.c: USB device 18 (vend/prod 0x6b9/0x4062) is not claimed by any active driver.
Jul 24 10:37:28 bvwcltbp kernel: Length = 18
Jul 24 10:37:28 bvwcltbp kernel: DescriptorType = 01
Jul 24 10:37:28 bvwcltbp kernel: USB version = 1.10
Jul 24 10:37:28 bvwcltbp kernel: Vendor:Product = xxxx:yyyy
Jul 24 10:37:28 bvwcltbp kernel: MaxPacketSize0 = 64
Jul 24 10:37:28 bvwcltbp kernel: NumConfigurations = 1
Jul 24 10:37:28 bvwcltbp kernel: Device version = 3.00
Jul 24 10:37:28 bvwcltbp kernel: Device Class:SubClass:Protocol = 02:00:00
Jul 24 10:37:28 bvwcltbp kernel: Communications class
Jul 24 10:37:28 bvwcltbp kernel: Configuration:
Jul 24 10:37:28 bvwcltbp kernel: bLength = 9
Jul 24 10:37:28 bvwcltbp kernel: bDescriptorType = 02
Jul 24 10:37:28 bvwcltbp kernel: wTotalLength = 0050
Jul 24 10:37:28 bvwcltbp kernel: bNumInterfaces = 02
Jul 24 10:37:28 bvwcltbp kernel: bConfigurationValue = 01
Jul 24 10:37:28 bvwcltbp kernel: iConfiguration = 00
Jul 24 10:37:28 bvwcltbp kernel: bmAttributes = c0
Jul 24 10:37:28 bvwcltbp kernel: MaxPower = 0mA
Jul 24 10:37:28 bvwcltbp kernel:
Jul 24 10:37:28 bvwcltbp kernel: Interface: 0
Jul 24 10:37:28 bvwcltbp kernel: Alternate Setting: 0
Jul 24 10:37:28 bvwcltbp kernel: bLength = 9
Jul 24 10:37:28 bvwcltbp kernel: bDescriptorType = 04
Jul 24 10:37:28 bvwcltbp kernel: bInterfaceNumber = 00
Jul 24 10:37:28 bvwcltbp kernel: bAlternateSetting = 00
Jul 24 10:37:28 bvwcltbp kernel: bNumEndpoints = 01
Jul 24 10:37:28 bvwcltbp kernel: bInterface Class:SubClass:Protocol = 02:06:00
Jul 24 10:37:28 bvwcltbp kernel: iInterface = 00
Jul 24 10:37:28 bvwcltbp kernel: Endpoint:
Jul 24 10:37:28 bvwcltbp kernel: bLength = 7
Jul 24 10:37:28 bvwcltbp kernel: bDescriptorType = 05
Jul 24 10:37:28 bvwcltbp kernel: bEndpointAddress = 81 (in)
Jul 24 10:37:28 bvwcltbp kernel: bmAttributes = 03 (Interrupt)
Jul 24 10:37:28 bvwcltbp kernel: wMaxPacketSize = 0008
Jul 24 10:37:28 bvwcltbp kernel: bInterval = 0a
Jul 24 10:37:28 bvwcltbp kernel:
Jul 24 10:37:28 bvwcltbp kernel: Interface: 1
Jul 24 10:37:28 bvwcltbp kernel: Alternate Setting: 0
Jul 24 10:37:28 bvwcltbp kernel: bLength = 9
Jul 24 10:37:28 bvwcltbp kernel: bDescriptorType = 04
Jul 24 10:37:28 bvwcltbp kernel: bInterfaceNumber = 01
Jul 24 10:37:28 bvwcltbp kernel: bAlternateSetting = 00
Jul 24 10:37:28 bvwcltbp kernel: bNumEndpoints = 00
Jul 24 10:37:28 bvwcltbp kernel: bInterface Class:SubClass:Protocol = 0a:00:00
Jul 24 10:37:28 bvwcltbp kernel: iInterface = 00
Jul 24 10:37:28 bvwcltbp kernel: Alternate Setting: 1
Jul 24 10:37:28 bvwcltbp kernel: bLength = 9
Jul 24 10:37:28 bvwcltbp kernel: bDescriptorType = 04
Jul 24 10:37:28 bvwcltbp kernel: bInterfaceNumber = 01
Jul 24 10:37:28 bvwcltbp kernel: bAlternateSetting = 01
Jul 24 10:37:28 bvwcltbp kernel: bNumEndpoints = 02
Jul 24 10:37:28 bvwcltbp kernel: bInterface Class:SubClass:Protocol = 0a:00:00
Jul 24 10:37:28 bvwcltbp kernel: iInterface = 00
Jul 24 10:37:28 bvwcltbp kernel: Endpoint:
Jul 24 10:37:28 bvwcltbp kernel: bLength = 7
Jul 24 10:37:28 bvwcltbp kernel: bDescriptorType = 05
Jul 24 10:37:28 bvwcltbp kernel: bEndpointAddress = 04 (out)
Jul 24 10:37:28 bvwcltbp kernel: bmAttributes = 02 (Bulk)
Jul 24 10:37:28 bvwcltbp kernel: wMaxPacketSize = 0040
Jul 24 10:37:28 bvwcltbp kernel: bInterval = 00
Jul 24 10:37:28 bvwcltbp kernel: Endpoint:
Jul 24 10:37:28 bvwcltbp kernel: bLength = 7
Jul 24 10:37:28 bvwcltbp kernel: bDescriptorType = 05
Jul 24 10:37:28 bvwcltbp kernel: bEndpointAddress = 85 (in)
Jul 24 10:37:28 bvwcltbp kernel: bmAttributes = 02 (Bulk)
Jul 24 10:37:28 bvwcltbp kernel: wMaxPacketSize = 0040
Jul 24 10:37:28 bvwcltbp kernel: bInterval = 00
Jul 24 10:37:28 bvwcltbp kernel: usb.c: kusbd: /sbin/hotplug add 18
Jul 24 10:37:28 bvwcltbp kernel: usb.c: kusbd: /sbin/hotplug add 18
Jul 24 10:37:28 bvwcltbp kernel: hub.c: port 1, portstatus 303, change 0, 1.5 Mb/s
Jul 24 10:37:28 bvwcltbp kernel: hub.c: port 2, portstatus 103, change 0, 12 Mb/s
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2ea06c0, burb c2aeb8e0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 80 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2aeb8e0, burb c2ea06c0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2ea06c0, burb c2aeb8e0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2aeb8e0, burb c2ea06c0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2ea06c0, burb c2aeb8e0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2aeb8e0, burb c2ea06c0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2ea06c0, burb c2aeb8e0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2aeb8e0, burb c2ea06c0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2ea06c0, burb c2aeb8e0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2aeb8e0, burb c2ea06c0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2ea06c0, burb c2aeb8e0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2aeb8e0, burb c2ea06c0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp kernel: usb-uhci.c: ENXIO 80001280, flags 0, urb c2ea06c0, burb c2aeb8e0
Jul 24 10:37:31 bvwcltbp kernel: usbdevfs: USBDEVFS_CONTROL failed dev 18 rqt 128 rq 6 len 9 ret -6
Jul 24 10:37:31 bvwcltbp /etc/hotplug/usb.agent[7919]: cannot get config descriptor 0, No such device or address (6)
Jul 24 10:37:31 bvwcltbp last message repeated 6 times
Jul 24 10:37:31 bvwcltbp /etc/hotplug/usb.agent[7918]: cannot get config descriptor 0, No such device or address (6)
Jul 24 10:37:31 bvwcltbp last message repeated 5 times
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-07-24 18:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-07-24 18:55 Is my hotplug configuration not OK for CDCEther when connecting my Ethernet device over USB ? Philippe Bertin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).