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
