bluetooth / hcseriald panics -current.

Maksim Yevmenkin maksim.yevmenkin at savvis.net
Tue Nov 2 15:34:08 PST 2004


Niki,

> i have applied the patch and now the panic is gone, but my console gets 
> filled with stuff like that :
> 
> WARNING: Network stack Giant-free, but ng_h4 requires Giant.
> ng_h4_input: sio4 - line error 0x1000000, c=0xc0
> ng_h4_input: sio4 - line error 0x1000000, c=0x1
> ng_h4_input: sio4 - line error 0x1000000, c=0xa
> ng_h4_input: sio4 - line error 0x1000000, c=0x9
> ng_h4_input: sio4 - ignoring unknown packet type=0x90
> ng_h4_input: sio4 - ignoring unknown packet type=0xa5
> ng_h4_input: sio4 - ignoring unknown packet type=0x8f
> ng_h4_input: sio4 - ignoring unknown packet type=0xaf
> ng_h4_input: sio4 - ignoring unknown packet type=0x57
> ng_h4_input: sio4 - line error 0x1000000, c=0x17
> ng_h4_input: sio4 - ignoring unknown packet type=0xd8
> ng_h4_input: sio4 - line error 0x1000000, c=0xc0
> ng_h4_input: sio4 - line error 0x1000000, c=0x1
> ng_h4_input: sio4 - line error 0x1000000, c=0xa
> ng_h4_input: sio4 - line error 0x1000000, c=0x9
> ng_h4_input: sio4 - ignoring unknown packet type=0x90
> ng_h4_input: sio4 - ignoring unknown packet type=0xa5
> ng_h4_input: sio4 - ignoring unknown packet type=0x8f
> ng_h4_input: sio4 - ignoring unknown packet type=0xaf
> ng_h4_input: sio4 - ignoring unknown packet type=0x57
> ng_h4_input: sio4 - line error 0x1000000, c=0x17
> ng_h4_input: sio4 - ignoring unknown packet type=0xd8
> ng_h4_input: sio4 - line error 0x1000000, c=0xc0

that is what happens when fifo is not drained completely in time :( you 
should also see messages about "silo overflow" as well. as i explained 
before this is an interrupt latency problem. bluetooth links normally 
operate at up to 400 kb/s speed (symmetric asynchronous channel). and 
yet some (most?) manufacturers put 16550 uarts with 16 bytes fifo on 
those cards. to make things worse no flow control is implemented :( h4 
was not designed for links that drop bytes. bluetooth spec requires to 
reset device every time there is a synchronization loss is detected. 
ng_h4(4) does not reset the device (too extreme) instead it just tries 
to re-synchronize.

so the things you can try:

1) get a much faster cpu :)

2) disable WITNESSxxx and INVARIANTSxxx;

3) try to convince your system to allocate separate irq to the bluetooth 
card;

4) try to convince sio(4) driver to activate interrupts in FAST mode.

max


More information about the freebsd-current mailing list