Home‎ > ‎Tom's Ideas And Notes‎ > ‎

USRobotics USB Modem Kernel Oops With New Kernel (2.6.29)

posted Apr 14, 2009, 8:31 PM by Tom Gutwin   [ updated Apr 14, 2009, 10:38 PM ]
I just purchased a "real" usb modem... that is one with a controller. Not a Win/dumb modem.  It is the USRobotics USR5637.

It works on our macBook osX as well as my EeePC 1000 running Fedora 10 with my custom kernel.

It got recognized by my EeePC right off, however, when I went to dial out with Gnome-ppp/wvdial the kernel threw an error!.
Not too good,
I tried it on the 2.6.29 rc8 as well as the versions. Both No Go.

I googled for the error:
    sleeping function called from invalid context at kernel/mutex.c:88

and found the answer right off on the kernel mailing list
http://www.spinics.net/lists/linux-usb/msg16541.html and its followups.

All I had to do was comment out
line 551 - tty->low_latency = 1;
in the driver file for the modem
file drivers/usb/class/cdc-acm.c

and rebuild my kernel.

Ba-Bing Modem works!

Thanks to the Opensource kernel and Google for finding this so fast for me!