Hello there, am new to the whole mailing list concept, so I hope I am doing this right.
First of all.. a little background: Back when I installed 2.6.2, I managed to get my cable modem working just by using the usbnet driver, and all was fine and dandy until one day in which I unplugged accidentally the cable-modem. Ever since that dreadful day, my cable-modem NEVER AGAIN gets recognized when I plug it in. I bought a new usb-cable, I plugged the modem in all the other usb-ports, so am pretty convinced the problem does not lies in the cable or usbports. I doubt the problem should really be blamed on the modem because it works alright using the CDCEther driver from the 2.4 series. Ok so what's the problem? DMesg says (after plugging in the modem and autoloading the usbnet driver): usb 2-2: new full speed USB device using address 3 usb 2-2: new device strings: Mfr=1, Product=2, SerialNumber=3 ohci_hcd 0000:00:02.0: urb df530240 path 2 ep0in 82d60000 cc 8 --> status -75 drivers/usb/core/message.c: error getting string descriptor 0 (error=-75) drivers/usb/core/message.c: USB device number 3 default language ID 0x409 ohci_hcd 0000:00:02.0: urb df530240 path 2 ep0in 82d60000 cc 8 --> status -75 drivers/usb/core/usb.c: usb_hotplug usb 2-2: registering 2-2:1.0 (config #1, interface 0) drivers/usb/core/usb.c: usb_hotplug usb 2-2: registering 2-2:1.1 (config #1, interface 1) drivers/usb/core/usb.c: usb_hotplug usbnet 2-2:1.0: usb_probe_interface usbnet 2-2:1.0: usb_probe_interface - got id ohci_hcd 0000:00:02.0: urb df530240 path 2 ep0in 82d60000 cc 8 --> status -75 usbnet: probe of 2-2:1.0 failed with error -75 drivers/usb/core/usb.c: registered new driver usbnet ohci_hcd 0000:00:02.0: urb df5a2c40 path 2 ep0in 82d60000 cc 8 --> status -75 ohci_hcd 0000:00:02.0: urb df5a2c40 path 2 ep0in 82d60000 cc 8 --> status -75 ohci_hcd 0000:00:02.0: urb df5a2c40 path 2 ep0in 82d60000 cc 8 --> status -75 ohci_hcd 0000:00:02.0: urb df5a2c40 path 2 ep0in 82d60000 cc 8 --> status -75 ohci_hcd 0000:00:02.0: urb df5a2c40 path 2 ep0in 82d60000 cc 8 --> status -75 ohci_hcd 0000:00:02.0: urb df5a2c40 path 2 ep0in 82d60000 cc 8 --> status -75 Ok... no good. No matter how many times I unload/reload the usbnet driver it always yields the same result (which is very odd considering it was working with the very same kernel without modifying anything in it). If I make the "mistake" of unplugging the modem and reconnecting it while the usbnet driver is still loaded, I make it oops: usbnet 2-2:1.0: usb_probe_interface usbnet 2-2:1.0: usb_probe_interface - got id usbnet: probe of 2-2:1.0 failed with error -22 drivers/usb/core/usb.c: registered new driver usbnet bnet 1-2:1.0: usb_probe_interface usbnet 1-2:1.0: usb_probe_interface - got id ohci_hcd 0000:00:02.0: urb df530540 path 2 ep0in 82d60000 cc 8 --> status -75 Unable to handle kernel NULL pointer dereference at virtual address 000000c8 printing eip: e0a1c25b *pde = 00000000 Oops: 0000 [#1] PREEMPT CPU: 0 EIP: 0060:[<e0a1c25b>] Not tainted EFLAGS: 00010292 EIP is at usb_ifnum_to_if+0xb/0x40 [usbcore] eax: ffffff34 ebx: de5e0380 ecx: df89c000 edx: 00000001 esi: 00000000 edi: 00000001 ebp: 00000000 esp: df89dd48 ds: 007b es: 007b ss: 0068 Process khubd (pid: 2649, threadinfo=df89c000 task=df89f780) Stack: de5e0380 00000000 00000001 e0a22f71 ffffff34 00000001 00000286 00000409 df52dcc0 ffffffb5 df52dcc0 0000000d e0a23556 df52dcc0 de5e0380 e5bb7029 df5cb806 df5cb800 e0a1c3d5 ffffff34 00000001 00000000 ffffffb5 e5bb552e Call Trace: [<e0a22f71>] usb_set_interface+0x21/0x190 [usbcore] [<e0a23556>] usb_string+0xd6/0x1ea [usbcore] [<e0a1c3d5>] usb_driver_release_interface+0x65/0x80 [usbcore] [<e5bb552e>] cdc_bind+0x8e/0xe0 [usbnet] [<e5bb6ced>] usbnet_probe+0x3cd/0x420 [usbnet] [<e0a1c0d6>] usb_probe_interface+0xb6/0xd0 [usbcore] [<c021d80f>] bus_match+0x3f/0x70 [<c021d881>] device_attach+0x41/0xa0 [<c021da6b>] bus_add_device+0x5b/0xa0 [<c021c911>] device_add+0xa1/0x130 [<e0a233ec>] usb_set_configuration+0x21c/0x2b0 [usbcore] [<e0a1d250>] usb_new_device+0x2d0/0x5a0 [usbcore] [<e0a1f24a>] hub_port_connect_change+0x1da/0x2e0 [usbcore] [<e0a1f6ed>] hub_events+0x39d/0x460 [usbcore] [<e0a1f7dd>] hub_thread+0x2d/0x100 [usbcore] [<c0108e1e>] ret_from_fork+0x6/0x14 [<c0116f10>] default_wake_function+0x0/0x20 [<e0a1f7b0>] hub_thread+0x0/0x100 [usbcore] [<c0106e49>] kernel_thread_helper+0x5/0xc Code: 8b 98 94 01 00 00 31 c0 85 db 74 21 0f b6 43 04 31 c9 39 c1 I'd had this problems since weeks ago.. but I was waiting for a newer kernel version to see if the problem would just be "magically fixed" by then, I tried 2.6.5 yesterday, still the same problems. Something suspicious is going on, because altough it fails all the time under 2.6, in 2.4 CDCEther never fails to detect my modem, EXCEPT after rebooting from 2.6. After usbnet fails to identify the modem and I reboot my machine, CDCEther ALSO fails to detect: hub.c: new USB device 00:02.0-2, assigned address 3 CDCEther.c: Ethernet information found at device configuration. Trying to use it anyway. CDCEther.c: Found Header descriptor, CDC version 110. CDCEther.c: Imperfect filtering support - need sw hashing CDCEther.c: Can't use SetEthernetMulticastFilters request CDCEther.c: detected BULK OUT packets of size 64 CDCEther.c: interrupt address: 5 CDCEther.c: interrupt interval: 64 usb.c: string descriptor 0 too short CDCEther.c: Attempting to get MAC address failed: 22 CDCEther.c: eth1: ? Broadcom Corporation USB Cable Modem CDCEther.c: eth1: 00:00:00:00:00:00 usb.c: registered new driver acm acm.c: v0.21:USB Abstract Control Model driver for USB modems and ISDN adapters Some other times it will fail with the error code 75 rather than 22: hub.c: new USB device 00:02.0-2, assigned address 3 CDCEther.c: Ethernet information found at device configuration. Trying to use it anyway. CDCEther.c: Found Header descriptor, CDC version 110. CDCEther.c: Imperfect filtering support - need sw hashing CDCEther.c: Can't use SetEthernetMulticastFilters request CDCEther.c: detected BULK OUT packets of size 64 CDCEther.c: interrupt address: 5 CDCEther.c: interrupt interval: 64 usb.c: error getting string descriptor 0 (error=-75) CDCEther.c: Attempting to get MAC address failed: 75 CDCEther.c: eth1: ? Broadcom Corporation USB Cable Modem?000CE53D2E1B CDCEther.c: eth1: 00:00:00:00:00:00 usb.c: registered new driver acm acm.c: v0.21:USB Abstract Control Model driver for USB modems and ISDN adapters And after unloading and loading once more CDCEther it just works. It's almost as if usbnet were messing up with some property of the cable modem when trying to load it, but what do I know, am just a noob. On the very least I kinda know what the problem is... usbnet fails to get my cable-modem's hardware address. I recently read the usbnet page and read about the new gadget section, and after reading of g_ether I had hopes that would solve my problem.. but lo and behold, after compiling the modules, usbnet still has problems detecting the device, and g_ether won't even load! (modprobe g_ether gives the error message "no such device!", which likely means no cable-modem was detected anyway). I've been stumped at this for weeks now... I have tried all I can.. and it does not works! What can I do? I am willing to help in any possible way (I have some programming background, but I don't feel knowledgable enough to just go blindfolded to mess with the driver's code, if someone would give me hints of where exactly to go look for answers, I would likely dare do so, though). It's sad to think this is the only thing that drives me back from using the 2.6 series kernel..... Skot. PD: I don't know what other info you could require. It's a vanilla kernel, with drivers for 'everything' I need. I have ehci, ohci and uhci as modules, usbnet and g_ether. The motherboard is a XFX Mach4 NF2S-ALH. Oh and I can confirm that USB works right under 2.6, because I have a graphire3 and a USB scanner both working fine under usb.
pgp00000.pgp
Description: PGP signature