Bluetooth audio for Linux
| Future work
| Download & build
| Contact us
Please join us on the bluez-devel mailing list to work on this project
or provide feedback.
Sourceforge also provides forums and a place to submit patches, but
most of the BlueZ developers don't frequent the forums, so the mailing
list is the best place to reach us.
If things aren't working as you expect, some of the things that can
help us track it down are:
- Try things using "plugz" instead of btsco. btsco is only seeing minor maintenance.
- Try sco with the kernel patch from plugz/patches/
- Check to see you have installed bluez-passkey-gnome (debian, ubuntu)
- If you still can't connect and you're using an old bluez version, change the pin helper. eg: pin_helper /usr/bin/bluez-pin;
- If you still can't connect with the headset, did you pair it with another device? Did it help to reset the pairing by removing /etc/bluetooth/link_key or /var/lib/bluetooth/[dongleaddr]/linkkeys or by putting the headset in pair mode? You may have to redo this often if you try to dual-boot windows or if you use the same dongle on another computer. Be sure to set "auth disable" and "encrypt disable" in /etc/bluetooth/hcid.conf.
- Eliminate a hub between your computer and bluetooth adapter (you should avoid this especially if it's a usb 2.0 hub)
- Identify the manufacturer and model of headset and bluetooth adapter
- Get the output from hciconfig -a
- For using SCO, get the output from hciconfig hci0 revision is helpful (Run hciconfig as root)
- If it prints "SCO mapping: HCI" then your adapter should work.
- If it prints "SCO mapping: PCM" then you might permanently change the setting using a command like "pskey mapsco 0" or "bccmd psset -s default 0x1ab 0" using bluez-utils-cvs but this is at your own risk.
- If it doesn't print either of those, you probably need a different bluetooth adapter (preferably "CSR" based). You might be able to get a broadcom adapter to work but it may require that you boot with a kernel argument (the force_scofix
parameter of the hci_usb driver?) to force sco mtu values
- If the adapter is made by Silicon Wave, it will not work. No one has gotten these things to do audio in linux.
- Get the output from hcitool info bdaddr where bdaddr is the headset's address
- Get the output from hcidump -X -V while running btsco or a2play if appropriate
- Identify your kernel version and bluez userland versions or distro
- Try with a recent kernel if possible
- If you have a headset that can do a2dp, try both SCO and A2DP
- If you can try another bluetooth adapter or headset, let us know if that helps (the adapters are cheap now, eh? :)
- Think about scatternets--if you have "master" in hcid.conf's lm
setting and you take "rswitch" and "sniff" out of the lp setting, you are making
the pc prefer to be master and to hopefully behave better. This can eliminate choppiness.
- the `SDP_NON_BLOCKING' undeclared error during build means you need newer bluez libraries