Digging into the source, it looks like TryAcquire() simply tries to send a message over the DBus. A little digging led me to /etc/dbus-1/system.d/bluetooth.conf, which contains the following:
<!-- allow users of bluetooth group to communicate -->
<policy group="bluetooth">
<allow send_destination="org.bluez"/>
</policy>
I tried adding myself to the bluetooth group, restarted, and boom! now I have audio.
So it appears something changed between 15.10 and 16.04 w.r.t. the DBus permissions - the behavior of at_console perhaps? The bluez package owns the above config file, so I added it to this bug.
I too encountered this problem: Bluetooth audio stopped working after I upgraded to 16.04.
Running pulseaudio -v, I saw my headphones connect, then the TryAcquire() error message from the subject line of this bug:
I: [pulseaudio] module.c: Loaded "module- bluez5- device" (index: #21; argument: "path=/ org/bluez/ hci0/dev_ 00_18_09_ 24_DD_95" ). card-restore. c: Card bluez_card. 00_18_09_ 24_DD_95 profile a2dp_sink became available, activating. bluez5- device. c: Transport /org/bluez/ hci0/dev_ 00_18_09_ 24_DD_95/ fd3 acquired: fd 30 bluez5- device. c: SBC parameters: allocation=0, subbands=1, blocks=3, bitpool=53 device- restore. c: Restoring volume for sink bluez_sink. 00_18_09_ 24_DD_95: front-left: 54407 / 83%, front-right: 54407 / 83% device- restore. c: Restoring mute state for sink bluez_sink. 00_18_09_ 24_DD_95: unmuted sink.00_ 18_09_24_ DD_95" with sample spec s16le 2ch 44100Hz and channel map front-left, front-right hci0/dev_ 00_18_09_ 24_DD_95" headset- bluetooth" intended_ roles = "phone" sink.00_ 18_09_24_ DD_95.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left, front-right hci0/dev_ 00_18_09_ 24_DD_95" headset- bluetooth" intended_ roles = "phone" bluez5- device. c: Transport /org/bluez/ hci0/dev_ 00_18_09_ 24_DD_95/ fd3 resuming always- sink.c: A new sink has been discovered. Unloading null-sink. card.00_ 18_09_24_ DD_95" to a2dp_sink card-restore. c: Storing card profile for card bluez_card. 00_18_09_ 24_DD_95. hci0/dev_ 00_18_09_ 24_DD_95/ fd3 auto-released by BlueZ or already released card-restore. c: Card bluez_card. 00_18_09_ 24_DD_95 profile a2dp_sink became available, activating. hci0/dev_ 00_18_09_ 24_DD_95/ fd3 (Operation Not Authorized)
I: [pulseaudio] module-
I: [pulseaudio] module-
I: [pulseaudio] module-
I: [pulseaudio] module-
I: [pulseaudio] module-
I: [pulseaudio] sink.c: Created sink 1 "bluez_
I: [pulseaudio] sink.c: bluetooth.protocol = "a2dp_sink"
I: [pulseaudio] sink.c: device.description = "MDR-AS800BT"
I: [pulseaudio] sink.c: device.string = "00:18:09:24:DD:95"
I: [pulseaudio] sink.c: device.api = "bluez"
I: [pulseaudio] sink.c: device.class = "sound"
I: [pulseaudio] sink.c: device.bus = "bluetooth"
I: [pulseaudio] sink.c: device.form_factor = "headset"
I: [pulseaudio] sink.c: bluez.path = "/org/bluez/
I: [pulseaudio] sink.c: bluez.class = "0x240404"
I: [pulseaudio] sink.c: bluez.alias = "MDR-AS800BT"
I: [pulseaudio] sink.c: device.icon_name = "audio-
I: [pulseaudio] sink.c: device.
I: [pulseaudio] source.c: Created source 1 "bluez_
I: [pulseaudio] source.c: device.description = "Monitor of MDR-AS800BT"
I: [pulseaudio] source.c: device.class = "monitor"
I: [pulseaudio] source.c: device.string = "00:18:09:24:DD:95"
I: [pulseaudio] source.c: device.api = "bluez"
I: [pulseaudio] source.c: device.bus = "bluetooth"
I: [pulseaudio] source.c: device.form_factor = "headset"
I: [pulseaudio] source.c: bluez.path = "/org/bluez/
I: [pulseaudio] source.c: bluez.class = "0x240404"
I: [pulseaudio] source.c: bluez.alias = "MDR-AS800BT"
I: [pulseaudio] source.c: device.icon_name = "audio-
I: [pulseaudio] source.c: device.
I: [bluetooth] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 5.
I: [bluetooth] module-
I: [pulseaudio] module-
I: [pulseaudio] card.c: Changed profile of card 1 "bluez_
I: [pulseaudio] module-
I: [bluetooth] bluez5-util.c: Transport /org/bluez/
I: [pulseaudio] module.c: Unloading "module-null-sink" (index: #14).
I: [pulseaudio] sink.c: Freeing sink 0 "auto_null"
I: [pulseaudio] source.c: Freeing source 0 "auto_null.monitor"
I: [pulseaudio] module.c: Unloaded "module-null-sink" (index: #14).
I: [pulseaudio] module-
E: [pulseaudio] bluez5-util.c: Transport TryAcquire() failed for transport /org/bluez/
Digging into the source, it looks like TryAcquire() simply tries to send a message over the DBus. A little digging led me to /etc/dbus- 1/system. d/bluetooth. conf, which contains the following:
<!-- allow users of bluetooth group to communicate --> n="org. bluez"/ >
<policy group="bluetooth">
<allow send_destinatio
</policy>
<policy at_console="true"> n="org. bluez"/ >
<allow send_destinatio
</policy>
I tried adding myself to the bluetooth group, restarted, and boom! now I have audio.
So it appears something changed between 15.10 and 16.04 w.r.t. the DBus permissions - the behavior of at_console perhaps? The bluez package owns the above config file, so I added it to this bug.