个人工具

UbuntuHelp:BluetoothPulseaudioTroubleshooting

来自Ubuntu中文

Wikibot讨论 | 贡献2010年5月19日 (三) 21:45的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索

<<Include(Tag/ContentCleanup)>> <<Include(Tag/StyleCleanup)>> When it comes to trouble shooting this step there seems to be no help. Please provide any help you can. The information provided here is to assist in creating a useful document at https://help.ubuntu.com/community/BluetoothHeadset This is not a forum. Don't delete what you don't like... explain why it should be removed instead.

verifing you have pulseaudio

For "using bluetooth on pulseaudio" instruction there needs to be instructions on how to test pulseaudio. System/Preferences/sound launches a "sound preferences" app.<
> This app by default shows show devices sound events as autodetect.<
> Change autodetect to pulse audio and press test.<
> I get;

audiotestsrc wave=sine freq=512 ! audioconvert ! audioresample ! gconfaudiosink: Failed to connect: Connection refused

What should be done? By test all the options, my system is using alsa. Should there be a BluetoothAlsa instruction?

bluetooth-alsa

Bluetooth-alsa is available via synaptic/apt-get, should it be installed if alsa is the default sound driver?

obex errors

 "obex://[xx:xx:xx:xx:xx:xx]" is not a valid location. 
 "obex://[xx:xx:xx:xx:xx:xx]" check if the service is available.
 Couldn't display "obex://[00:0D:3C:6B:75:3C]/". Error: Host down
Please select another viewer and try again.

Are these all because of the pulseaudio error above or are there separate solutions?

usb adapters

Confirm your adapter is visible to the system;

:~$ sudo cat /proc/asound/cardssudo: unable to resolve host beryllium
 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xdc440000 irq 21
 1 [Headset        ]: Bluetooth SCO - BT Headset
                      BT Headset 1

Use hciconfig to see the state of your adapter. This one is down;

~$ hciconfig 
hci0:	Type: USB
	BD Address: 00:02:72:19:60:0E ACL MTU: 1017:8 SCO MTU: 64:8
	DOWN 
	RX bytes:2465 acl:0 sco:0 events:92 errors:0
	TX bytes:882 acl:0 sco:0 commands:92 errors:0

To get it up this command;

 sudo hciconfig hci0 up

as can be seen, gets it running; (((

~$ hciconfig

hci0: Type: USB BD Address: 00:02:72:19:60:0E ACL MTU: 1017:8 SCO MTU: 64:8 UP RUNNING RX bytes:3090 acl:0 sco:0 events:106 errors:0 TX bytes:929 acl:0 sco:0 commands:106 errors:0 }}}

      • but the bluetooth applet, when set to show on adapter present, still does not show.
:~$ hciconfig hci0 reset

results in;

:~$ hciconfig 
hci0:	Type: USB
	BD Address: 00:02:72:19:60:0E ACL MTU: 1017:8 SCO MTU: 64:8
	UP RUNNING PSCAN 
	RX bytes:5081 acl:0 sco:0 events:170 errors:0
	TX bytes:1699 acl:0 sco:0 commands:170 errors:0

NOTE: the PSAN now! But what does it mean? The applet is still not showing.

pairing

The instructions should test for pairing before proceeding to instructions that require a paired device. Instructions appear mixed. That is there appears to be many different ways to get paired but I can't pair yet. I fear too many half solutions. The instructions say to put the code 0000 into ~/.asoundrc It appears to me that a user would not be on this page unless they where having problems. Therefore I like the instructions in http://yuzhou.wordpress.com/2006/12/28/howto-bluetooth-and-skype-on-ubuntu/ because he says to force the passkey popup by using "user" instead of "auto" in the asoundrc file. It makes sense to verify your passkey before hard coding it. I also note that http://wiki.bluez.org/wiki/HOWTO/AudioDevices does not mention either auto or user. I have not been able to see the popup yet.

pairing solution

I used this command to force pairing;

gconftool -t string -s /system/gstreamer/0.10/default/musicaudiosink "alsasink device=bluetooth" 

You will need to enter the code (0000) twice. Check for bonded devices in the bluetooth applet preferences. Use this to repair your audio;

gconftool -t string -s /system/gstreamer/0.10/default/musicaudiosink "autoaudiosink"

The gconftool forced the pairing popup. Wow only 12 hours of work!!!! Note that I used only type & device in the .asoundrc file. Thanks to http://ubuntuforums.org/showthread.php?t=1125183&highlight=bluetooth+pairing

      • but only the one time. Now nothing.
gconftool -g /system/gstreamer/0.10/default/musicaudiosink 

returns

"autoaudiosink"

Looks like gconftool is a sort of registry editor. Prob saved... I'll check on next boot.

passkey

Where is passkey? I can't find it. The web messages indicate it has been missing since 2006. Thus it seems that it is not available as a standalone but it is not popping up. What should be done?

Bonded Devices

Right click the bluetooth icon on the device bar, select preferences and the first page has a Bonded Devices box. If the device has paired, it should show up here.

Browse Devices

If the device shows here, can I force pairing somehow?

aplay

Both these commands are given as onetime tests for the device before configuring your players in your system;

aplay -B 1000000 -D plughw:Headset /usr/share/sounds/login.wav 
aplay -D bluetooth -f s16_le /usr/share/sounds/login.wav

Note that they use different devices. Which is correct and where does the name come from? ie. Headset vs bluetooth This is the new error message;

~$ aplay -D bluetooth -f s16_le /usr/share/sounds/login.wav
Playing WAVE '/usr/share/sounds/login.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
aplay: set_params:906: Channels count non available

This is my .asoundrc;

~$ cat .asoundrc 
pcm.bluetooth {
   type bluetooth
   device 00:00:00:00:00:00
}

How does this command work;

aplay -D hw:0,0 "/media/sda1/Program Files/Messenger/online.wav"

That is how does 0,0 relate to cat /proc/... and channel 1 for the headset.

audio services

see http://wiki.bluez.org/wiki/HOWTO/AudioDevices for how to configure audio players.

dmesg

what should I be seeing in dmesg? Here is what I get;

~$ dmesg | grep Bluetooth
[   35.794169] Bluetooth: Core ver 2.11
[   35.829186] Bluetooth: HCI device and connection manager initialized
[   35.829191] Bluetooth: HCI socket layer initialized
[   35.897775] Bluetooth: HCI USB driver ver 2.9
[   62.313014] Bluetooth: L2CAP ver 2.9
[   62.313024] Bluetooth: L2CAP socket layer initialized
[   62.394401] Bluetooth: RFCOMM socket layer initialized
[   62.394423] Bluetooth: RFCOMM TTY layer initialized
[   62.394427] Bluetooth: RFCOMM ver 1.8
[ 3303.627917] Bluetooth: SCO (Voice Link) ver 0.6
[ 3303.627923] Bluetooth: SCO socket layer initialized
[35550.874042] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

I notice this is different from http://ubuntuforums.org/showthread.php?t=580347

$ dmesg | grep Bluetooth
[ 51.404000] Bluetooth: Core ver 2.11
[ 51.404000] Bluetooth: HCI device and connection manager initialized
[ 51.404000] Bluetooth: HCI socket layer initialized
[ 51.572000] Bluetooth: L2CAP ver 2.8
[ 51.572000] Bluetooth: L2CAP socket layer initialized
[ 51.728000] Bluetooth: RFCOMM socket layer initialized
[ 51.728000] Bluetooth: RFCOMM TTY layer initialized
[ 51.728000] Bluetooth: RFCOMM ver 1.8
[ 356.992000] Bluetooth: BNEP (Ethernet Emulation) ver 1.2
[ 356.992000] Bluetooth: BNEP filters: protocol multicast
[ 615.812000] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

configuration files

The configurations files should be mentioned with settings to verify.

~./asoundrc

This file is used by Alsa. According to the Alsa website; http://alsa.opensrc.org/.asoundrc you need to restart Alsa everytime you modify the file.

sudo /etc/init.d/alsa-utils restart

/etc/default/bluetooth

/etc/bluetooth/hcif.conf

/var/lib/bluetooth/00:00:00:00:00:00

The 00:00... is your ADAPTER mac address. if you cat the audio file you will confirm the HEADSET mac address.

apt-get

I use 8.04 and I question using apt-get instructions vs synaptic. Users new to ubuntu in the last two years will probably be used synaptic from the system/administration menu. They will be confused by apt-get whereas console users will have no trouble dropping down to apt-get given the synaptic commands. In other words, I have migrated about a dozen people to ubuntu and none of them would be able to use apt-get. All my literate friends would be able to translate from synaptic to apt-get.

VLC

1) i first tried to change it in Preferences, but no good. 2) then i edited ~/.asoundrc, but no good. 3) finally, i edited ~/.vlc/vlcrc and change the last line to: alsadev=bluetooth http://it.toolbox.com/blogs/teach-it/bluetooth-audio-finally-working-in-ubuntu-hh-24028

profiles

http://en.wikipedia.org/wiki/Bluetooth_profile

tools

proc

~$ cat /proc/asound/modules 
 0 snd_hda_intel
 1 snd_bt_sco

You may need the channel number for some commands.

restarting bluetooth

It is at least comforting to hear a beep in the headset;

 sudo /etc/init.d/bluetooth restart

blueman

a bluetooth tool but currently not up to date. here is the repository:<
> deb http://ppa.launchpad.net/blueman/ubuntu intrepid main Please note the last two posts on this thread BEFORE installing:<
> https://bugs.launchpad.net/blueman/+bug/283141

power saving

One of the suggestions powertop (a tool that helps to save battery power) told me is to turn off my notebook's bluetooth when it is not being used. Disable the unused bluetooth interface with the following command: hciconfig hci0 down; rmmod hci_usb

hidd

More information needed on whether to use hidd why and why does it appear not to work. Simply put; If you are trying to install a headset do not use hidd, it is for keyboards and mice. Hidd = human interface device daemon https://help.ubuntu.com/community/BluetoothSetup#%22obex://[xx:xx:xx:xx:xx:xx]%22%20is%20not%20a%20valid%20location. provides instructions to use hidd... this function does not appear to work; device has turned off;

  ~$ sudo hidd --search
  Searching ...
	No devices in range or visible

device in pairing mode

  ~$ sudo hidd --search
  Searching ...

Note the lack of message now??? So does that mean hidd sees something but doesn't handle it? Trying hcitool appears to work; ~$ hcitool scan Scanning ... 00:18:96:08:90:3E OT-020C but hidd still does not; ~$ sudo hidd --search Searching ... ~$

input services

This link discusses input services. What is this & is it relevant to headsets? http://ubuntuforums.org/showthread.php?t=580347&page=4 Thanks astx813 but this is not the problem. relavant My Treo 650 is already paired with my computer but I cannot browse it. Every time I try I get; Couldn't display "obex://[00:07:e0:06:91:38]". Check if the service is available. I read that I need to add the Treo to my "Input Services" list in preferences but every time I try to do so the preference window closes (crashes?) and the Treo is not added. I still cannot browse my Treo. I am still looking for a soluiton. Is this a Palm treo 650 issue rather than a bluetooth one? I can connect and browse my Nokia E61. Geoff

auto switch to headset

interesting quote; Under 7.10 by using this .asoundrc:

pcm.!default {
type bluetooth
}

my system would autodetect whether or not my headphones were connected and choose between the speakers and headphones accordingly. Now I have to explicitly execute the desired script before cranking up Rhythmbox. I'm now using this .asoundrc:

pcm.bluetooth {
type bluetooth
device XX:XX:XX:XX:XX:XX
}

links used

https://help.ubuntu.com/community/BluetoothHeadset <
> https://help.ubuntu.com/community/BluetoothAudio <
> http://wiki.bluez.org/wiki/HOWTO/AudioDevices <
> https://help.ubuntu.com/community/BluetoothSetup <
> http://wiki.bluez.org/wiki/HOWTO/AudioDevices <
> http://fosswire.com/post/2008/10/better-bluetooth-audio <
> http://wiki.bluez.org/wiki/HOWTO/AudioDevices <
> http://ubuntuforums.org/showthread.php?t=1125183&highlight=bluetooth+pairing <
> http://wiki.eeeuser.com/howto:xandros_a2dp<
>