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.

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to