On Thursday 29 April 2004 00:41, Edouard Gomez wrote: > Tested with the brand new 2.6.6-rc3 kernel > > $ tail -n 50 /varlog/everything.current | grep modem_run > Apr 29 00:10:39 [modem_run] modem_run version 1.2 started by edy uid 0 > Apr 29 00:11:22 [modem_run] ADSL synchronization has been obtained > Apr 29 00:11:22 [modem_run] ADSL line is up (5632 kbit/s down | 384 kbit/s > up) Apr 29 00:11:22 [modem_run] Error reading interrupts > Apr 29 00:11:22 [modem_run] [monitoring report] ADSL link stays stable > (down) Apr 29 00:11:23 [modem_run] Device disconnected, shutting down
I don't see this any more with the latest USB patches (Greg KH's bitkeeper tree). > This was the log with a speedtouch 330 rev 4, a speedtouch rev 0 > sees the link going down (modem_run doesn't pretend seeing it being > stable down when it was obviously up 1s before) > > $ cat /proc/net/atm/speedtch\:0 > Speed Touch 330 (usb-0000:00:10.0-1) > MAC: 00:90:d0:b7:96:44 > AAL5: tx 4 ( 0 err ), rx 4 ( 0 err, 0 drop ) > Line up, firmware loaded > > With a speedtouch 330, everything stops there, not a single byte > goes through the interface. But with a a Speed Touch USB rev0 modem (the > ray thingy), i can rx/tx bytes. But this time, i cannot unload > uhci-hcd w/o a kernel oops. The kernel is tainted, but i'm sure it > has nothing to do. Btw i'm not sure the rev0 behaves that way all > the time I tried with a ray and had no problems. I will try with a 330 rev 4. > Apr 29 00:24:45 [kernel] Unable to handle kernel NULL pointer dereference > at virtual address 00000004 Apr 29 00:24:45 [kernel] printing eip: > Apr 29 00:24:45 [kernel] e0e20e5f > Apr 29 00:24:45 [kernel] *pde = 00000000 > Apr 29 00:24:45 [kernel] Oops: 0000 [#1] > Apr 29 00:24:45 [kernel] CPU: 0 > Apr 29 00:24:45 [kernel] EIP: 0060:[pg0+548765279/1070813184] > Tainted: P Apr 29 00:24:45 [kernel] EFLAGS: 00010013 (2.6.6) > Apr 29 00:24:45 [kernel] EIP is at destroy_async+0x14/0x6c [usbcore] Try the patch at the end of this email. > Hope that means something to you duncan, because i'm still the same > kernel noobish i was three years ago. :) > PS: i can't test pppd+pppoa or pppd+speedtch because i'm now in a > "degroupe free.fr" zone so i'm using ip o atm directly. Me too. Duncan. --- gregkh-2.6/drivers/usb/core/devio.c.orig 2004-04-17 20:12:11.000000000 +0200 +++ gregkh-2.6/drivers/usb/core/devio.c 2004-04-17 20:31:48.000000000 +0200 @@ -335,6 +335,7 @@ static void driver_disconnect(struct usb_interface *intf) { struct dev_state *ps = usb_get_intfdata (intf); + unsigned int ifnum = intf->altsetting->desc.bInterfaceNumber; if (!ps) return; @@ -343,13 +344,12 @@ * all pending I/O requests; 2.6 does that. */ - /* prevent new I/O requests */ - ps->dev = 0; - clear_bit(intf->cur_altsetting->desc.bInterfaceNumber, &ps->ifclaimed); + BUG_ON(ifnum >= 8*sizeof(ps->ifclaimed)); + clear_bit(ifnum, &ps->ifclaimed); usb_set_intfdata (intf, NULL); /* force async requests to complete */ - destroy_all_async (ps); + destroy_async_on_interface(ps, ifnum); } struct usb_driver usbdevfs_driver = { Liste de diffusion modem ALCATEL SpeedTouch USB Pour se désinscrire : mailto:[EMAIL PROTECTED]