Kernel Bug Tracker – Bug 7858
cat to Novatel XU870 (HSDPA) card at /dev/ttyUSB* causes panic
Last modified: 2007-09-05 06:35:27 UTC
Most recent kernel where this bug did *NOT* occur: Confirmed in 2.6.18->2.6.20
Distribution: Gentoo, but with vanilla kernel
Hardware Environment: Dell 9400 Laptop, Novatel Merlin XU870 HSDPA/3G
Software Environment: Bare build with 2.6.20 kernel.
System hangs when writing to USB serial port mapped to the XU870.
There appear to be six serial ports mapped to this device.
crw-rw---- 1 root tty 188, 0 Jan 21 14:54 /dev/ttyUSB0
crw-rw---- 1 root tty 188, 0 Jan 21 14:54 /dev/ttyUSB1
crw-rw---- 1 root tty 188, 0 Jan 21 14:54 /dev/ttyUSB2
crw-rw---- 1 root tty 188, 0 Jan 21 14:54 /dev/ttyUSB3
crw-rw---- 1 root tty 188, 0 Jan 21 14:54 /dev/ttyUSB4
crw-rw---- 1 root tty 188, 0 Jan 21 14:54 /dev/ttyUSB5
Bus 001 Device 003: ID 1410:1430
(NB: No device description is output in lsusb for this device)
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for airprime
airprime 1-1.3:1.0: airprime converter detected
usb 1-1.3: airprime converter now attached to ttyUSB0
usb 1-1.3: airprime converter now attached to ttyUSB1
usb 1-1.3: airprime converter now attached to ttyUSB2
airprime 1-1.3:1.1: airprime converter detected
usb 1-1.3: airprime converter now attached to ttyUSB3
usb 1-1.3: airprime converter now attached to ttyUSB4
usb 1-1.3: airprime converter now attached to ttyUSB5
usbcore: registered new interface driver airprime
Steps to reproduce:
cat "at+cgdcont=1,\"IP\",\"internet\",\"\",0,0" > /dev/ttyUSB[0..5]
"System hang", by the way, means the system completely locks up, and the caps
and num-lock lights start flashing.
Created attachment 10142 [details]
9400 Kernel config
If I do this:
... then in another term do this:
cat "at....." /dev/ttyUSB0 (as before)
Then it does not crash: I get "OK" as expected.
If I omit reading the USB tty, ie I do not do a cat /dev/ttyUSB0 before the
write, then I get a kernel panic.
Unfortunately I do not have a serial device to capture the panic, however, this
is the part that I can see:
I have just noticed another (perhaps related?) problem with this device.
If I do this:
...as before (to avoid the kernel panic), then:
`cat "at+cgdcont=1,\"IP\",\"internet\",\"\",0,0" > /dev/ttyUSB0`
...then sometimes I get this sort of thing on the echo:
(ie repeated patterns).
I'm not convinced this would be a timing issue as the characters echoed back
are the actual correct characters, save for being repeated incorrectly. If it
were timing, I'd be expecting some weird characters coming back, but I see
only sensible characters repeatedly.
Now if I repeat the above line a few times, sometimes I get a perfect echo,
followed by an "OK" response from the modem, other times I get the above
repetition followed by an "ERROR" from the modem.
Can you please try 2.6.22-rc4? - there were multiple fixes in USB/HCD area that went into it.
Elliot - ping..
Also, can you please clarify if the device used to work in 2.6.18?
Oops, sorry, this one slipped through my mailbox. I have been testing for two weeks against 2.6.20-16 (ubuntu build, not vanilla), and the device stable and fully functional.
I will try against vanilla 2.6.22+ (gentoo most likely) as soon as I have a minute free (probably later this week as I am current tied to a severity 1 fault and am out of the country for a couple of days). Hope that's OK.
As for 2.6.18, I don't think so. From memory I think I had to manually hack the XU870 into the airprime.c to be supported. The module loaded, but I don't recall having much luck with it even then.
Ok, I'm marking this as fixed.