Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RPI usb can get stuck



Using an USB-Serial adapter I experience ucb lockups in 7.99.9.

Device (from dmesg):
uslsa0 at uhub1 port 3 configuration 1 interface 0
uslsa0: Silicon Labs ELV USB-WDE1 WetterdatenempfM-CM-$nger, rev 1.10/1.00, addr 4
ucom0 at uslsa0: Silicon Labs CP210x

Symptoms:
rpi$ cu -l /dev/ttyU0 -s 9600
Connected

ELV USB-WDE1 v1.3
Baud:9600bit/s
Mode:LogView
$1;1;;;;;;;;;;;;;;;;;;15,7;41;0,2;1567;0;0
$1;1;;;;;;;;;;;;;;;;;;16,0;41;0,0;1567;0;0
$1;1;;;;;;;;;;;;;;;;;;16,0;41;0,0;1567;0;0
$1;1;;;;;;;;;;;;;;;;;;16,2;41;0,2;1567;0;0
$1;1;;;;;;;;;;;;;;;;;;16,4;40;0,5;1567;0;0
~
[EOT]
rpiahz$ cu -l /dev/ttyU0 -s 9600
Connected
[no respone to status query '?' here]
~
[EOT]
rpiahz$ cu -l /dev/ttyU0 -s 9600
[no respone to status query '?' here]
Connected
~
[EOT]
~~.
~.
[stuck here]

Process status:
1000  6706  3117     0   0  0     0     0 -       DE+  pts/0  0:00.00 (cu)
1000  9564  6706     0   0  0     0     0 -       Z+   pts/0  0:00.00 (cu)

stacktrace for 6706:
trace: pid 6706 lid 1 at 0x99373c0c
0x99373c0c: mi_switch+0xc
0x99373c3c: sleepq_block+0xa0
0x99373c7c: cv_timedwait_sig+0x118
0x99373cac: ttysleep+0x80
0x99373ccc: ttywait+0x38
0x99373ce4: ttywflush+0x14
0x99373cfc: ttylclose+0x1c
0x99373d1c: ucomclose+0x74
0x99373d44: cdev_close+0x7c
0x99373d84: spec_close+0x108
0x99373d9c: ufsspec_close+0x60
0x99373dbc: VOP_CLOSE+0x60
0x99373de4: vn_close+0x40
0x99373e24: closef+0x6c
0x99373e6c: fd_free+0x170
0x99373ee4: exit1+0x100
0x99373f04: sys_exit+0x3c
0x99373f7c: syscall+0x88
0x99373fac: swi_handler+0xa0

related dmesg output:
ucomreadcb: wonky status=INVAL

Other observations:
interrupt rate climbs from 8k to 10k while the device is open (much better than the 40k it reached before last batch of fixes).

In general You get one good run, on the second run you can still exit and on the third cu interaction you get stuck in exit(2).

Any clues?

Frank


Home | Main Index | Thread Index | Old Index