Difference between revisions of "Category:How to - bluetooth"

From Gumstix User Wiki
Jump to: navigation, search
m (High-fidelity audio)
m (High-fidelity audio)
Line 43: Line 43:
 
  Description=Bluetooth Audio service
 
  Description=Bluetooth Audio service
 
  Autostart=true
 
  Autostart=true
 +
 +
Reboot now if you had to change this.
  
 
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need "8888" but most need "0000" for the pin:
 
You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need "8888" but most need "0000" for the pin:

Revision as of 20:29, 20 March 2008

Essentials

First off, I had to move the "sleep 1" from after "sdptool add ..." to before the sdptool command. The startup script seemed to be failing to run to completion before I did that.

Install the basic bluetooth stuff with

ipkg install bluez-utils

Networking

Dialup networking

GPS repeater

Keyboard

Put your keyboard in pairing mode and run:

hidd --search

The keyboard should connect and on subsequent runs it will reconnect automatically if you boot up with this in /etc/default/bluetooth

HIDD_ENABLE=true
HIDD_OPTIONS="--master --server"

Voice audio

Currently the way to use voice over bluetooth requires a vx board and a USB bluetooth adapter with a CSR chip in it.

High-fidelity audio

You can use A2DP with either the internal bluetooth adapter (model 08 or newer) or any brand of USB adapter if you have a vx board.

Install the packages you'll need:

ipkg install bluez-utils bluez-utils-alsa alsa-utils-aplay alsa-utils-arecord madplay

Edit /etc/bluetooth/audio.service to enable autostart:

[Bluetooth Service]
Identifier=audio
Name=Audio service
Description=Bluetooth Audio service
Autostart=true

Reboot now if you had to change this.

You'll likely need the passkey agent running, at least the first time you connect. A few itech headsets need "8888" but most need "0000" for the pin:

passkey-agent --default 0000 &

put your headset in pairing mode. Usually this means starting from off and holding the power button down until it flashes. Then find the headset's address:

hcitool scan

edit your /etc/asound.conf with an adapter for bluetooth with the address you just found. My headset is made by itech, so I name the adapter after it:

pcm.itech {
 type bluetooth
 device "00:0D:3C:8A:13:06"
}

now try playing something to it:

madplay song.mp3 -r 44100 --output=wave:- | aplay -D itech

you can also live-encode the line in source to a2dp:

arecord -c 2 -f s16 -r 44100 | aplay -D itech

unfortunately for live encoding, the delay is pretty bad and for some reason I can never get stereo audio from the line-in source.

Debugging connection problems

The best way to figure out what is happening is to use hcidump.

ipkg install bluez-hcidump

In a separate window, or in the background, start the dump:

hcidump -XV

And then in another window, try out your bluetooth command that isn't working. hcidump output is very verbose, but you'll probably be able to zero in on the issue by studying it a little.

This category currently contains no pages or media.