Raspberry Pi3, bluealsa - connected but no sound output on bluetooth speaker?
up vote
0
down vote
favorite
Summary: Everything is connected, and appears to work, but no sound comes out of the speaker - how to diagnose or fix?
I am trying to play sound from my Raspberry Pi 3 to a bluetooth speaker, but it is not working.
The pi connects to the bluetooth speaker (confirmed by automated audio on the speaker when it connects, "raspberrypi connected", and checking echo "info 04:52:C7:5A:3B:A1" | bluetoothctl
on the pi also shows it is connected).
The speaker volume is not muted and other devices can connect to it and play through it. Checking alsamixer
verifies that audio is not muted.
But using aplay to play sound through the bluetooth speaker leads only to a deafening silence. Although it looks like it works:
$ aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
I have looked for log files that might have information in them, but haven't found anything.
bluealsa configuration
I set this up following the instructions here. The details of this set up are:
- Raspbian Stretch, 2018-10-09 image (bluealsa v5.43 installed out of box)
- bluez v5.49 downloaded, built and installed (no errors)
/etc/dbus-1/system.d/bluetooth.conf
edited, following lines added toroot
element:
<allow send_interface="org.bluez.ThermometerWatcher1"/>
<allow send_interface="org.bluez.HeartRateWatcher1"/>
<allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- And following also added to the top level
busconfig
element:
<policy group="bluetooth"><allow send_destination="org.bluez"/></policy>
- pi user added to bluetooth group
I have tried moving the HCI, device and profile details into .asoundrc and /etc/asound.conf files but these produce the same results (console output suggests successful, but no sound comes from the speaker when I use aplay).
Other things (probably not relevant but including for completeness)
- pi access is via SSH (it's headless)
- on booting the pi,
sudo systemctl status blueto*
shows an error message on the bluetooth service:Failed to set privacy: Rejected (0x0b)
, apparently a boot-related issue (link) which is fixed by manually restarting the bluetooth service after boot using systemctl (ugly, but fine as a workaround for now) - no suspicious looking messages in dmesg, user.log or boot.log
- but the following was in daemon.log, it correlates with an execution of the aplay command above (but I have tried that command several times with the same console output, it generates them sometimes only):
.
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CLIP, value:1
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: CMD: command:+CLCC, value:(null)
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CSRSF, value:0,0,0,1,0,0,0
bluetooth raspberry-pi raspberry-pi3 raspbian bluez
add a comment |
up vote
0
down vote
favorite
Summary: Everything is connected, and appears to work, but no sound comes out of the speaker - how to diagnose or fix?
I am trying to play sound from my Raspberry Pi 3 to a bluetooth speaker, but it is not working.
The pi connects to the bluetooth speaker (confirmed by automated audio on the speaker when it connects, "raspberrypi connected", and checking echo "info 04:52:C7:5A:3B:A1" | bluetoothctl
on the pi also shows it is connected).
The speaker volume is not muted and other devices can connect to it and play through it. Checking alsamixer
verifies that audio is not muted.
But using aplay to play sound through the bluetooth speaker leads only to a deafening silence. Although it looks like it works:
$ aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
I have looked for log files that might have information in them, but haven't found anything.
bluealsa configuration
I set this up following the instructions here. The details of this set up are:
- Raspbian Stretch, 2018-10-09 image (bluealsa v5.43 installed out of box)
- bluez v5.49 downloaded, built and installed (no errors)
/etc/dbus-1/system.d/bluetooth.conf
edited, following lines added toroot
element:
<allow send_interface="org.bluez.ThermometerWatcher1"/>
<allow send_interface="org.bluez.HeartRateWatcher1"/>
<allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- And following also added to the top level
busconfig
element:
<policy group="bluetooth"><allow send_destination="org.bluez"/></policy>
- pi user added to bluetooth group
I have tried moving the HCI, device and profile details into .asoundrc and /etc/asound.conf files but these produce the same results (console output suggests successful, but no sound comes from the speaker when I use aplay).
Other things (probably not relevant but including for completeness)
- pi access is via SSH (it's headless)
- on booting the pi,
sudo systemctl status blueto*
shows an error message on the bluetooth service:Failed to set privacy: Rejected (0x0b)
, apparently a boot-related issue (link) which is fixed by manually restarting the bluetooth service after boot using systemctl (ugly, but fine as a workaround for now) - no suspicious looking messages in dmesg, user.log or boot.log
- but the following was in daemon.log, it correlates with an execution of the aplay command above (but I have tried that command several times with the same console output, it generates them sometimes only):
.
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CLIP, value:1
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: CMD: command:+CLCC, value:(null)
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CSRSF, value:0,0,0,1,0,0,0
bluetooth raspberry-pi raspberry-pi3 raspbian bluez
Do you already havedbus-monitor
output?
– Parthiban
Nov 11 at 15:50
@Parthiban thanks for this suggestion - I got impatient and just reinstalled everything and with a couple of tweaks I made it work. So I can't access the dbus-monitor output from the system which wasn't working. There doesn't seem to be anything in the output from the working system that bears on it but I'll include it in my answer below anyway.
– cfogelberg
Nov 11 at 19:29
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
Summary: Everything is connected, and appears to work, but no sound comes out of the speaker - how to diagnose or fix?
I am trying to play sound from my Raspberry Pi 3 to a bluetooth speaker, but it is not working.
The pi connects to the bluetooth speaker (confirmed by automated audio on the speaker when it connects, "raspberrypi connected", and checking echo "info 04:52:C7:5A:3B:A1" | bluetoothctl
on the pi also shows it is connected).
The speaker volume is not muted and other devices can connect to it and play through it. Checking alsamixer
verifies that audio is not muted.
But using aplay to play sound through the bluetooth speaker leads only to a deafening silence. Although it looks like it works:
$ aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
I have looked for log files that might have information in them, but haven't found anything.
bluealsa configuration
I set this up following the instructions here. The details of this set up are:
- Raspbian Stretch, 2018-10-09 image (bluealsa v5.43 installed out of box)
- bluez v5.49 downloaded, built and installed (no errors)
/etc/dbus-1/system.d/bluetooth.conf
edited, following lines added toroot
element:
<allow send_interface="org.bluez.ThermometerWatcher1"/>
<allow send_interface="org.bluez.HeartRateWatcher1"/>
<allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- And following also added to the top level
busconfig
element:
<policy group="bluetooth"><allow send_destination="org.bluez"/></policy>
- pi user added to bluetooth group
I have tried moving the HCI, device and profile details into .asoundrc and /etc/asound.conf files but these produce the same results (console output suggests successful, but no sound comes from the speaker when I use aplay).
Other things (probably not relevant but including for completeness)
- pi access is via SSH (it's headless)
- on booting the pi,
sudo systemctl status blueto*
shows an error message on the bluetooth service:Failed to set privacy: Rejected (0x0b)
, apparently a boot-related issue (link) which is fixed by manually restarting the bluetooth service after boot using systemctl (ugly, but fine as a workaround for now) - no suspicious looking messages in dmesg, user.log or boot.log
- but the following was in daemon.log, it correlates with an execution of the aplay command above (but I have tried that command several times with the same console output, it generates them sometimes only):
.
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CLIP, value:1
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: CMD: command:+CLCC, value:(null)
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CSRSF, value:0,0,0,1,0,0,0
bluetooth raspberry-pi raspberry-pi3 raspbian bluez
Summary: Everything is connected, and appears to work, but no sound comes out of the speaker - how to diagnose or fix?
I am trying to play sound from my Raspberry Pi 3 to a bluetooth speaker, but it is not working.
The pi connects to the bluetooth speaker (confirmed by automated audio on the speaker when it connects, "raspberrypi connected", and checking echo "info 04:52:C7:5A:3B:A1" | bluetoothctl
on the pi also shows it is connected).
The speaker volume is not muted and other devices can connect to it and play through it. Checking alsamixer
verifies that audio is not muted.
But using aplay to play sound through the bluetooth speaker leads only to a deafening silence. Although it looks like it works:
$ aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
I have looked for log files that might have information in them, but haven't found anything.
bluealsa configuration
I set this up following the instructions here. The details of this set up are:
- Raspbian Stretch, 2018-10-09 image (bluealsa v5.43 installed out of box)
- bluez v5.49 downloaded, built and installed (no errors)
/etc/dbus-1/system.d/bluetooth.conf
edited, following lines added toroot
element:
<allow send_interface="org.bluez.ThermometerWatcher1"/>
<allow send_interface="org.bluez.HeartRateWatcher1"/>
<allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- And following also added to the top level
busconfig
element:
<policy group="bluetooth"><allow send_destination="org.bluez"/></policy>
- pi user added to bluetooth group
I have tried moving the HCI, device and profile details into .asoundrc and /etc/asound.conf files but these produce the same results (console output suggests successful, but no sound comes from the speaker when I use aplay).
Other things (probably not relevant but including for completeness)
- pi access is via SSH (it's headless)
- on booting the pi,
sudo systemctl status blueto*
shows an error message on the bluetooth service:Failed to set privacy: Rejected (0x0b)
, apparently a boot-related issue (link) which is fixed by manually restarting the bluetooth service after boot using systemctl (ugly, but fine as a workaround for now) - no suspicious looking messages in dmesg, user.log or boot.log
- but the following was in daemon.log, it correlates with an execution of the aplay command above (but I have tried that command several times with the same console output, it generates them sometimes only):
.
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CLIP, value:1
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: CMD: command:+CLCC, value:(null)
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CSRSF, value:0,0,0,1,0,0,0
bluetooth raspberry-pi raspberry-pi3 raspbian bluez
bluetooth raspberry-pi raspberry-pi3 raspbian bluez
asked Nov 10 at 21:37
cfogelberg
873920
873920
Do you already havedbus-monitor
output?
– Parthiban
Nov 11 at 15:50
@Parthiban thanks for this suggestion - I got impatient and just reinstalled everything and with a couple of tweaks I made it work. So I can't access the dbus-monitor output from the system which wasn't working. There doesn't seem to be anything in the output from the working system that bears on it but I'll include it in my answer below anyway.
– cfogelberg
Nov 11 at 19:29
add a comment |
Do you already havedbus-monitor
output?
– Parthiban
Nov 11 at 15:50
@Parthiban thanks for this suggestion - I got impatient and just reinstalled everything and with a couple of tweaks I made it work. So I can't access the dbus-monitor output from the system which wasn't working. There doesn't seem to be anything in the output from the working system that bears on it but I'll include it in my answer below anyway.
– cfogelberg
Nov 11 at 19:29
Do you already have
dbus-monitor
output?– Parthiban
Nov 11 at 15:50
Do you already have
dbus-monitor
output?– Parthiban
Nov 11 at 15:50
@Parthiban thanks for this suggestion - I got impatient and just reinstalled everything and with a couple of tweaks I made it work. So I can't access the dbus-monitor output from the system which wasn't working. There doesn't seem to be anything in the output from the working system that bears on it but I'll include it in my answer below anyway.
– cfogelberg
Nov 11 at 19:29
@Parthiban thanks for this suggestion - I got impatient and just reinstalled everything and with a couple of tweaks I made it work. So I can't access the dbus-monitor output from the system which wasn't working. There doesn't seem to be anything in the output from the working system that bears on it but I'll include it in my answer below anyway.
– cfogelberg
Nov 11 at 19:29
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Ultimately I was unable to debug this and got impatient, so just wiped the SD and started from scratch. The detailed steps I followed are below, these mean I can now play audio using aplay without having to specify the device, e.g.:
aplay /usr/share/sound/alsa/Front_Center.wav
1) Set up SD card image
- use etcher to burn 2018-10-09-raspbian-stretch.img
- touch /boot/ssh
- add a suitable /boot/wpa_supplicant.conf file
- edit /rootfs/etc/hostname
2) ssh-copy-id from host to pi, for convenient SSH
3) Set up software on the pi:
passwd
sudo apt update; sudo apt dist-upgrade
sudo apt install vim git screen htop rpi-update
sudo apt autoremove
sudo systemctl set-default multi-user.target # don't start X windows on boot
sudo BRANCH=next rpi-update
sudo reboot
4) Update bluez
sudo apt install libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz
tar -xf bluez-5.50.tar.xz`cd bluez-5.50/
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental
make -j4
sudo make install
sudo cp /etc/dbus-1/system.d/bluetooth.conf /etc/dbus-1/system.d/bluetooth.conf.bak
, then edit:
- add to
root
:<allow send_interface="org.bluez.ThermometerWatcher1"/><allow send_interface="org.bluez.HeartRateWatcher1"/><allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- add new child of
busconfig
:<policy group="bluetooth"><allow send_destination="org.bluez"/></policy>
- add to
5) Get bluetooth working
sudo adduser pi bluetooth
sudo reboot
- bluetoothctl:
scan on
- bluetoothctl:
trust 04:52:C7:5A:3B:A1
- bluetoothctl:
connect 04:52:C7:5A:3B:A1
aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav # test it works at all
6) Get bluetooth working without specifying the device by creating the following /etc/asound.conf file:
pcm.bose {
type plug
slave {
pcm {
type bluealsa
interface hci0
device 04:52:C7:5A:3B:A1
profile "a2dp"
}
}
hint {
show on
description "Bose speaker"
}
}
pcm.!default {
type plug
slave.pcm "bose"
}
ctl.!default {
type hw
card 0
}
For reference and credit, this is based on information from the following three sources:
- link
- link
- link
And in reply to @Parthiban's comment above, here is the dbus-monitor output from the now-working system:
signal time=1541964336.104905 sender=org.freedesktop.DBus -> destination=:1.1 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.1"
signal time=1541964336.105032 sender=org.freedesktop.DBus -> destination=:1.1 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.1"
method call time=1541964336.106756 sender=:1.0 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName
string "org.freedesktop.systemd1"
uint32 7
signal time=1541964336.106880 sender=org.freedesktop.DBus -> destination=(null destination) serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.freedesktop.systemd1"
string ""
string ":1.0"
signal time=1541964336.107024 sender=org.freedesktop.DBus -> destination=:1.0 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string "org.freedesktop.systemd1"
method return time=1541964336.107096 sender=org.freedesktop.DBus -> destination=:1.0 serial=5 reply_serial=3
uint32 1
method call time=1541964336.108116 sender=:1.0 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ListNames
method return time=1541964336.108179 sender=org.freedesktop.DBus -> destination=:1.0 serial=6 reply_serial=4
array [
string "org.freedesktop.DBus"
string "org.freedesktop.systemd1"
string ":1.0"
]
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Ultimately I was unable to debug this and got impatient, so just wiped the SD and started from scratch. The detailed steps I followed are below, these mean I can now play audio using aplay without having to specify the device, e.g.:
aplay /usr/share/sound/alsa/Front_Center.wav
1) Set up SD card image
- use etcher to burn 2018-10-09-raspbian-stretch.img
- touch /boot/ssh
- add a suitable /boot/wpa_supplicant.conf file
- edit /rootfs/etc/hostname
2) ssh-copy-id from host to pi, for convenient SSH
3) Set up software on the pi:
passwd
sudo apt update; sudo apt dist-upgrade
sudo apt install vim git screen htop rpi-update
sudo apt autoremove
sudo systemctl set-default multi-user.target # don't start X windows on boot
sudo BRANCH=next rpi-update
sudo reboot
4) Update bluez
sudo apt install libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz
tar -xf bluez-5.50.tar.xz`cd bluez-5.50/
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental
make -j4
sudo make install
sudo cp /etc/dbus-1/system.d/bluetooth.conf /etc/dbus-1/system.d/bluetooth.conf.bak
, then edit:
- add to
root
:<allow send_interface="org.bluez.ThermometerWatcher1"/><allow send_interface="org.bluez.HeartRateWatcher1"/><allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- add new child of
busconfig
:<policy group="bluetooth"><allow send_destination="org.bluez"/></policy>
- add to
5) Get bluetooth working
sudo adduser pi bluetooth
sudo reboot
- bluetoothctl:
scan on
- bluetoothctl:
trust 04:52:C7:5A:3B:A1
- bluetoothctl:
connect 04:52:C7:5A:3B:A1
aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav # test it works at all
6) Get bluetooth working without specifying the device by creating the following /etc/asound.conf file:
pcm.bose {
type plug
slave {
pcm {
type bluealsa
interface hci0
device 04:52:C7:5A:3B:A1
profile "a2dp"
}
}
hint {
show on
description "Bose speaker"
}
}
pcm.!default {
type plug
slave.pcm "bose"
}
ctl.!default {
type hw
card 0
}
For reference and credit, this is based on information from the following three sources:
- link
- link
- link
And in reply to @Parthiban's comment above, here is the dbus-monitor output from the now-working system:
signal time=1541964336.104905 sender=org.freedesktop.DBus -> destination=:1.1 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.1"
signal time=1541964336.105032 sender=org.freedesktop.DBus -> destination=:1.1 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.1"
method call time=1541964336.106756 sender=:1.0 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName
string "org.freedesktop.systemd1"
uint32 7
signal time=1541964336.106880 sender=org.freedesktop.DBus -> destination=(null destination) serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.freedesktop.systemd1"
string ""
string ":1.0"
signal time=1541964336.107024 sender=org.freedesktop.DBus -> destination=:1.0 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string "org.freedesktop.systemd1"
method return time=1541964336.107096 sender=org.freedesktop.DBus -> destination=:1.0 serial=5 reply_serial=3
uint32 1
method call time=1541964336.108116 sender=:1.0 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ListNames
method return time=1541964336.108179 sender=org.freedesktop.DBus -> destination=:1.0 serial=6 reply_serial=4
array [
string "org.freedesktop.DBus"
string "org.freedesktop.systemd1"
string ":1.0"
]
add a comment |
up vote
0
down vote
Ultimately I was unable to debug this and got impatient, so just wiped the SD and started from scratch. The detailed steps I followed are below, these mean I can now play audio using aplay without having to specify the device, e.g.:
aplay /usr/share/sound/alsa/Front_Center.wav
1) Set up SD card image
- use etcher to burn 2018-10-09-raspbian-stretch.img
- touch /boot/ssh
- add a suitable /boot/wpa_supplicant.conf file
- edit /rootfs/etc/hostname
2) ssh-copy-id from host to pi, for convenient SSH
3) Set up software on the pi:
passwd
sudo apt update; sudo apt dist-upgrade
sudo apt install vim git screen htop rpi-update
sudo apt autoremove
sudo systemctl set-default multi-user.target # don't start X windows on boot
sudo BRANCH=next rpi-update
sudo reboot
4) Update bluez
sudo apt install libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz
tar -xf bluez-5.50.tar.xz`cd bluez-5.50/
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental
make -j4
sudo make install
sudo cp /etc/dbus-1/system.d/bluetooth.conf /etc/dbus-1/system.d/bluetooth.conf.bak
, then edit:
- add to
root
:<allow send_interface="org.bluez.ThermometerWatcher1"/><allow send_interface="org.bluez.HeartRateWatcher1"/><allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- add new child of
busconfig
:<policy group="bluetooth"><allow send_destination="org.bluez"/></policy>
- add to
5) Get bluetooth working
sudo adduser pi bluetooth
sudo reboot
- bluetoothctl:
scan on
- bluetoothctl:
trust 04:52:C7:5A:3B:A1
- bluetoothctl:
connect 04:52:C7:5A:3B:A1
aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav # test it works at all
6) Get bluetooth working without specifying the device by creating the following /etc/asound.conf file:
pcm.bose {
type plug
slave {
pcm {
type bluealsa
interface hci0
device 04:52:C7:5A:3B:A1
profile "a2dp"
}
}
hint {
show on
description "Bose speaker"
}
}
pcm.!default {
type plug
slave.pcm "bose"
}
ctl.!default {
type hw
card 0
}
For reference and credit, this is based on information from the following three sources:
- link
- link
- link
And in reply to @Parthiban's comment above, here is the dbus-monitor output from the now-working system:
signal time=1541964336.104905 sender=org.freedesktop.DBus -> destination=:1.1 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.1"
signal time=1541964336.105032 sender=org.freedesktop.DBus -> destination=:1.1 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.1"
method call time=1541964336.106756 sender=:1.0 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName
string "org.freedesktop.systemd1"
uint32 7
signal time=1541964336.106880 sender=org.freedesktop.DBus -> destination=(null destination) serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.freedesktop.systemd1"
string ""
string ":1.0"
signal time=1541964336.107024 sender=org.freedesktop.DBus -> destination=:1.0 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string "org.freedesktop.systemd1"
method return time=1541964336.107096 sender=org.freedesktop.DBus -> destination=:1.0 serial=5 reply_serial=3
uint32 1
method call time=1541964336.108116 sender=:1.0 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ListNames
method return time=1541964336.108179 sender=org.freedesktop.DBus -> destination=:1.0 serial=6 reply_serial=4
array [
string "org.freedesktop.DBus"
string "org.freedesktop.systemd1"
string ":1.0"
]
add a comment |
up vote
0
down vote
up vote
0
down vote
Ultimately I was unable to debug this and got impatient, so just wiped the SD and started from scratch. The detailed steps I followed are below, these mean I can now play audio using aplay without having to specify the device, e.g.:
aplay /usr/share/sound/alsa/Front_Center.wav
1) Set up SD card image
- use etcher to burn 2018-10-09-raspbian-stretch.img
- touch /boot/ssh
- add a suitable /boot/wpa_supplicant.conf file
- edit /rootfs/etc/hostname
2) ssh-copy-id from host to pi, for convenient SSH
3) Set up software on the pi:
passwd
sudo apt update; sudo apt dist-upgrade
sudo apt install vim git screen htop rpi-update
sudo apt autoremove
sudo systemctl set-default multi-user.target # don't start X windows on boot
sudo BRANCH=next rpi-update
sudo reboot
4) Update bluez
sudo apt install libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz
tar -xf bluez-5.50.tar.xz`cd bluez-5.50/
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental
make -j4
sudo make install
sudo cp /etc/dbus-1/system.d/bluetooth.conf /etc/dbus-1/system.d/bluetooth.conf.bak
, then edit:
- add to
root
:<allow send_interface="org.bluez.ThermometerWatcher1"/><allow send_interface="org.bluez.HeartRateWatcher1"/><allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- add new child of
busconfig
:<policy group="bluetooth"><allow send_destination="org.bluez"/></policy>
- add to
5) Get bluetooth working
sudo adduser pi bluetooth
sudo reboot
- bluetoothctl:
scan on
- bluetoothctl:
trust 04:52:C7:5A:3B:A1
- bluetoothctl:
connect 04:52:C7:5A:3B:A1
aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav # test it works at all
6) Get bluetooth working without specifying the device by creating the following /etc/asound.conf file:
pcm.bose {
type plug
slave {
pcm {
type bluealsa
interface hci0
device 04:52:C7:5A:3B:A1
profile "a2dp"
}
}
hint {
show on
description "Bose speaker"
}
}
pcm.!default {
type plug
slave.pcm "bose"
}
ctl.!default {
type hw
card 0
}
For reference and credit, this is based on information from the following three sources:
- link
- link
- link
And in reply to @Parthiban's comment above, here is the dbus-monitor output from the now-working system:
signal time=1541964336.104905 sender=org.freedesktop.DBus -> destination=:1.1 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.1"
signal time=1541964336.105032 sender=org.freedesktop.DBus -> destination=:1.1 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.1"
method call time=1541964336.106756 sender=:1.0 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName
string "org.freedesktop.systemd1"
uint32 7
signal time=1541964336.106880 sender=org.freedesktop.DBus -> destination=(null destination) serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.freedesktop.systemd1"
string ""
string ":1.0"
signal time=1541964336.107024 sender=org.freedesktop.DBus -> destination=:1.0 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string "org.freedesktop.systemd1"
method return time=1541964336.107096 sender=org.freedesktop.DBus -> destination=:1.0 serial=5 reply_serial=3
uint32 1
method call time=1541964336.108116 sender=:1.0 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ListNames
method return time=1541964336.108179 sender=org.freedesktop.DBus -> destination=:1.0 serial=6 reply_serial=4
array [
string "org.freedesktop.DBus"
string "org.freedesktop.systemd1"
string ":1.0"
]
Ultimately I was unable to debug this and got impatient, so just wiped the SD and started from scratch. The detailed steps I followed are below, these mean I can now play audio using aplay without having to specify the device, e.g.:
aplay /usr/share/sound/alsa/Front_Center.wav
1) Set up SD card image
- use etcher to burn 2018-10-09-raspbian-stretch.img
- touch /boot/ssh
- add a suitable /boot/wpa_supplicant.conf file
- edit /rootfs/etc/hostname
2) ssh-copy-id from host to pi, for convenient SSH
3) Set up software on the pi:
passwd
sudo apt update; sudo apt dist-upgrade
sudo apt install vim git screen htop rpi-update
sudo apt autoremove
sudo systemctl set-default multi-user.target # don't start X windows on boot
sudo BRANCH=next rpi-update
sudo reboot
4) Update bluez
sudo apt install libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz
tar -xf bluez-5.50.tar.xz`cd bluez-5.50/
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental
make -j4
sudo make install
sudo cp /etc/dbus-1/system.d/bluetooth.conf /etc/dbus-1/system.d/bluetooth.conf.bak
, then edit:
- add to
root
:<allow send_interface="org.bluez.ThermometerWatcher1"/><allow send_interface="org.bluez.HeartRateWatcher1"/><allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- add new child of
busconfig
:<policy group="bluetooth"><allow send_destination="org.bluez"/></policy>
- add to
5) Get bluetooth working
sudo adduser pi bluetooth
sudo reboot
- bluetoothctl:
scan on
- bluetoothctl:
trust 04:52:C7:5A:3B:A1
- bluetoothctl:
connect 04:52:C7:5A:3B:A1
aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav # test it works at all
6) Get bluetooth working without specifying the device by creating the following /etc/asound.conf file:
pcm.bose {
type plug
slave {
pcm {
type bluealsa
interface hci0
device 04:52:C7:5A:3B:A1
profile "a2dp"
}
}
hint {
show on
description "Bose speaker"
}
}
pcm.!default {
type plug
slave.pcm "bose"
}
ctl.!default {
type hw
card 0
}
For reference and credit, this is based on information from the following three sources:
- link
- link
- link
And in reply to @Parthiban's comment above, here is the dbus-monitor output from the now-working system:
signal time=1541964336.104905 sender=org.freedesktop.DBus -> destination=:1.1 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.1"
signal time=1541964336.105032 sender=org.freedesktop.DBus -> destination=:1.1 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.1"
method call time=1541964336.106756 sender=:1.0 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName
string "org.freedesktop.systemd1"
uint32 7
signal time=1541964336.106880 sender=org.freedesktop.DBus -> destination=(null destination) serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.freedesktop.systemd1"
string ""
string ":1.0"
signal time=1541964336.107024 sender=org.freedesktop.DBus -> destination=:1.0 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string "org.freedesktop.systemd1"
method return time=1541964336.107096 sender=org.freedesktop.DBus -> destination=:1.0 serial=5 reply_serial=3
uint32 1
method call time=1541964336.108116 sender=:1.0 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ListNames
method return time=1541964336.108179 sender=org.freedesktop.DBus -> destination=:1.0 serial=6 reply_serial=4
array [
string "org.freedesktop.DBus"
string "org.freedesktop.systemd1"
string ":1.0"
]
answered Nov 11 at 19:43
cfogelberg
873920
873920
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243651%2fraspberry-pi3-bluealsa-connected-but-no-sound-output-on-bluetooth-speaker%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Do you already have
dbus-monitor
output?– Parthiban
Nov 11 at 15:50
@Parthiban thanks for this suggestion - I got impatient and just reinstalled everything and with a couple of tweaks I made it work. So I can't access the dbus-monitor output from the system which wasn't working. There doesn't seem to be anything in the output from the working system that bears on it but I'll include it in my answer below anyway.
– cfogelberg
Nov 11 at 19:29