Bluetooth headset
From Openmoko
(Difference between revisions)
(Created (this does not work yet)) |
|||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | == Edit /etc/bluetooth/audio.conf === | + | This is mostly based on [[Neo 1973 audio subsystem]] and [http://lists.openmoko.org/pipermail/openmoko-kernel/2009-February/009019.html this thread on the kernel mailing list]. |
+ | |||
+ | == Known to work headsets == | ||
+ | Please see [http://wiki.openmoko.org/wiki/A2DP#6._Devices_that_work A2DP#Devices_that_work] for complete list | ||
+ | and comparison table. | ||
+ | |||
+ | == Preparing == | ||
+ | |||
+ | === Get the bluetooth alsa state and DAC setup script === | ||
+ | Download [http://www.robsims.com/GSMBLUETOOTH.txt GSMBLUETOOTH.txt] and [http://handheldshell.com/bluetooth_pcm bluetooth_pcm] | ||
+ | |||
+ | === Edit /etc/bluetooth/audio.conf === | ||
# Configuration file for the audio service | # Configuration file for the audio service | ||
Line 26: | Line 37: | ||
#[A2DP] | #[A2DP] | ||
#SourceCount=2 | #SourceCount=2 | ||
+ | |||
+ | The important part is the SCORouting. | ||
== Connect and setup the headset == | == Connect and setup the headset == | ||
Line 47: | Line 60: | ||
dbus-send --system --type=method_call --print-reply --dest=org.bluez \ | dbus-send --system --type=method_call --print-reply --dest=org.bluez \ | ||
"/org/bluez/audio/device0" org.bluez.audio.Headset.Play | "/org/bluez/audio/device0" org.bluez.audio.Headset.Play | ||
+ | |||
+ | == During the call == | ||
+ | After having answered / placed the call, switch the audio to the bluetooth headset. You need a small workaround to get audio in, which is included below. | ||
+ | |||
+ | alsactl -f GSMBLUETOOTH.txt restore | ||
+ | ./bluetooth_pcm & | ||
+ | |||
+ | the workaround is to switch '''Capture Left Mixer''' first to '''Analogue Mix Right''' and then back to '''Analogue Mix Right'''. This can be done with alsamixer: | ||
+ | |||
+ | alsamixer | ||
+ | |||
+ | (lookup '''Capture Left Mixer''' in the "gui" and toggle the value). | ||
+ | |||
+ | [[Category:Bluetooth]] | ||
+ | [[Category:Headsets]] |
Latest revision as of 19:23, 22 July 2009
This is mostly based on Neo 1973 audio subsystem and this thread on the kernel mailing list.
Contents |
[edit] Known to work headsets
Please see A2DP#Devices_that_work for complete list and comparison table.
[edit] Preparing
[edit] Get the bluetooth alsa state and DAC setup script
Download GSMBLUETOOTH.txt and bluetooth_pcm
[edit] Edit /etc/bluetooth/audio.conf
# Configuration file for the audio service # This section contains options which are not specific to any # particular interface [General] # If we want to disable support for specific services # Defaults to supporting all implemented services #Disable=Control,Source # SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA) # Defaults to HCI SCORouting=PCM # Headset interface specific options (i.e. options which affect how the audio # service interacts with remote headset devices) [Headset] # Set to true to only support HSP # Defaults to false DisableHFP=false # Just an example of potential config options for the other interfaces #[A2DP] #SourceCount=2
The important part is the SCORouting.
[edit] Connect and setup the headset
export DEVICE=xx:xx:xx:xx:xx
/etc/init.d/bluetooth stop /etc/init.d/bluetooth start passkey-agent --default 0000 & dbus-send --system --type=method_call --print-reply --dest=org.bluez \ /org/bluez/hci0 org.bluez.Adapter.CreateBonding string:$DEVICE dbus-send --system --type=method_call --print-reply --dest=org.bluez \ /org/bluez/audio org.bluez.audio.Manager.CreateHeadset string:$DEVICE dbus-send --system --type=method_call --print-reply --dest=org.bluez \ "/org/bluez/audio/device0" org.bluez.audio.Headset.Connect dbus-send --system --type=method_call --print-reply --dest=org.bluez \ "/org/bluez/audio/device0" org.bluez.audio.Headset.Play
[edit] During the call
After having answered / placed the call, switch the audio to the bluetooth headset. You need a small workaround to get audio in, which is included below.
alsactl -f GSMBLUETOOTH.txt restore ./bluetooth_pcm &
the workaround is to switch Capture Left Mixer first to Analogue Mix Right and then back to Analogue Mix Right. This can be done with alsamixer:
alsamixer
(lookup Capture Left Mixer in the "gui" and toggle the value).