Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Nov 2002 22:35:59 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        Maksim.Yevmenkin@cw.com
Cc:        vova@sw.ru, shizukakudo_99@yahoo.com, freebsd-current@FreeBSD.ORG
Subject:   Re: Bluetooth questions
Message-ID:  <20021122.223559.37439667.imp@bsdimp.com>
In-Reply-To: <45258A4365C6B24A9832BFE224837D552B1265@sjdcex01.int.exodus.net>
References:  <45258A4365C6B24A9832BFE224837D552B1265@sjdcex01.int.exodus.net>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <45258A4365C6B24A9832BFE224837D552B1265@sjdcex01.int.exodus.net>
            "Maksim Yevmenkin" <Maksim.Yevmenkin@cw.com> writes:
: 
: > In message: <45258A4365C6B24A9832BFE224837D552B1264@sjdcex01.int.exodus.net>
: >            "Maksim Yevmenkin" <Maksim.Yevmenkin@cw.com> writes:
: > : I see a lot of "silo overflow" errors under moderate load.
: > : As a result bytes get dropped on the floor. The Bluetooth
: > : spec defines extremely simple serial protocol (H4). It simply
: > : cannot tolerate UARTs that drop bytes. If at least one byte
: > : gets dropped the entire HCI frame is lost. If HCI frame gets
: > : dropped then "out of sync" condition exist and all bets are
: > : off. The only way to get back "in sync" is to send Reset to
: > : the device. After Reset device goes into standby state and
: > : all operational state is lost. 
: > 
: > OK.  That makes sense.  Part of the problem even with even fast
: > interrupt handlers is that interrupts are masked for way way too much
: > code in -current, as compared to -stable.  What baud rate are you
: > running at?  I'm running at 56k, which isn't the full datarate for
: > 115200 baud that could be used.  Even with a fast interrupt, you'd get
: > SIO overflows in current, at least according to some reports.
: 
: everything is set to 115200, but i think the hardware does 
: something funny with the divisor and internal rate is much
: higher. with OLDCARD i managed to run Xircom card with fast
: interrupts and acually got about 50 KBytes/sec. USB devices
: give me about 60KBytes/sec.

OLDCARD on -current?

Chances are there's either an 8x the normal or 'custom'.  With the
settings on current,  Let's assume a 8x is 921600 baud.  That means
that each bit is 1us, so each byte is 10us (1 start + 8 bits + 1
stop).  The FIFO is 16 bytes (unless this part is a 16650 or something
like that), which is set to go off at MEDH, which is 8 bytes from
empty.  This puts the upper bound of interrupt latency at 80us or so.

Uggg.  It looks like I gotta find a way to have ISA interrupts work,
even with NEWCARD... :-(

Warner


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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