Bluetooth audio (once again)
Maksim Yevmenkin
maksim.yevmenkin at gmail.com
Fri Oct 3 16:45:07 UTC 2008
> > isoc transfer support was added to ng_ubt(4). there are some known
> > problems, at least in some cases system crashes when usb dongle is
> > simply disconnected (without shutting down the stack first). the stack
> > trace ends up deep in the usb guts and i had no time to look at it.
>
> Have you point me on something like test application to try/reproduce
> issue ?
sure. first, you need to run -current. ng_ubt(4) isoc support has not
been mfc'ed yet. then you might want to connect sco hook to the
sockets layer, i.e. apply something like
beetle% diff -u /usr/src/etc/rc.d/bluetooth bluetooth
--- /usr/src/etc/rc.d/bluetooth 2008-07-23 10:50:01.000000000 -0700
+++ bluetooth 2008-07-28 11:13:28.000000000 -0700
@@ -126,6 +126,8 @@
ngctl connect ${dev}l2cap: btsock_l2c: l2c ${dev}l2c \
> /dev/null 2>&1 || return 1
+ngctl connect ${dev}hci: btsock_sco: sco ${dev}sco > /dev/null 2>&1
+
# Initilalize HCI node
${hccontrol} -n ${dev}hci reset \
> /dev/null 2>&1 || return 1
to your /etc/rc.d/bluetooth script.
now you can connect your bluetooth device. kick tires and make sure
you can do inquiry etc. then simply pull the device out _without_
stopping the stack first. at least on my system it often leads to
panic after a few seconds.
> > sco sockets support was also added, however 1) sco sockets hook is
> > *not* connected by default and 2) there are some known problems with
> > the code. more specifically problems are related to "broken" bluetooth
> > devices and the way they report sco buffer size/packet count. i happen
> > to have few of those devices. we need to have a way to handle those
> > kind of devices nicely.
>
> I have Platronics P590 headset with advanced audio and Nokia headset. I
> may to check them against our bluetooth stack.
ok.be warned, you will need to write some code for that. its
relatively simple. basically open an rfcomm socket and then open a sco
socket. i can provide examples if you want me to.
also, receive path (i.e. from headset to pc) kinda works. send path
(from pc to headset) needs more work.
> > before doing anything else, we need to fix existing code.
>
> Let's move forward
sure :) lets.
thanks,
max
More information about the freebsd-bluetooth
mailing list