Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Nov 2004 15:33:47 -0800
From:      Maksim Yevmenkin <maksim.yevmenkin@savvis.net>
To:        Niki Denev <nike_d@cytexbg.com>
Cc:        current@freebsd.org
Subject:   Re: bluetooth / hcseriald panics -current.
Message-ID:  <4188195B.5060502@savvis.net>
In-Reply-To: <cone.1099438977.206550.865.1001@phobos.totalterror.net>
References:  <cone.1097691798.355655.4951.1001@niked.office.suresupport.com> <cone.1097705266.944205.768.1001@phobos.totalterror.net> <416DB569.4010805@savvis.net> <cone.1097710541.778981.578.1001@phobos.totalterror.net> <416DC1E5.1060904@savvis.net> <cone.1097714033.77176.578.1001@phobos.totalterror.net> <4187E594.5080306@savvis.net> <cone.1099438977.206550.865.1001@phobos.totalterror.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4188195B.5060502>