Okay, here¹s a follow-up. Still no joy. I managed to get PulseAudio to run logged in as a regular user. I had to get bluetoothd running on root first by running bluetoothctl. Then I quit out of it. Over on the regular user shell, I executed pulseaudio --start -D. At that point, I was able to run bluetoothctl as the regular user and get it to respond. I was able to connect to the speaker and the play button on the speaker lit up and there was a little chirp from the speaker. Running pacmd list-sinks showed the speaker as a sink. Sounds great, right? Wrong. Shortly after, the play button light went out with three beeps from the speaker and more troubling, PulseAudio shut down. The output from systemctl -l status bluetooth is as follows: May 30 10:43:51 ts-imx6-s bluetoothd[363]: Endpoint registered: sender=:1.20 path=/MediaEndpoint/A2DPSink May 30 10:43:51 ts-imx6-s bluetoothd[363]: bluetoothd[363]: Endpoint registered: sender=:1.20 path=/MediaEndpoint/A2DPSink May 30 10:44:10 ts-imx6-s bluetoothd[363]: bluetoothd[363]: Can't open input device: No such file or directory (2) May 30 10:44:10 ts-imx6-s bluetoothd[363]: Can't open input device: No such file or directory (2) May 30 10:44:10 ts-imx6-s bluetoothd[363]: AVRCP: failed to init uinput for A0:B4:A5:1E:9D:E6 May 30 10:44:10 ts-imx6-s bluetoothd[363]: bluetoothd[363]: AVRCP: failed to init uinput for A0:B4:A5:1E:9D:E6 May 30 10:44:55 ts-imx6-s bluetoothd[363]: bluetoothd[363]: Endpoint unregistered: sender=:1.20 path=/MediaEndpoint/A2DPSource May 30 10:44:55 ts-imx6-s bluetoothd[363]: Endpoint unregistered: sender=:1.20 path=/MediaEndpoint/A2DPSource May 30 10:44:55 ts-imx6-s bluetoothd[363]: Endpoint unregistered: sender=:1.20 path=/MediaEndpoint/A2DPSink May 30 10:44:55 ts-imx6-s bluetoothd[363]: bluetoothd[363]: Endpoint unregistered: sender=:1.20 path=/MediaEndpoint/A2DPSink I¹m not sure if this is where the problem is or if there¹s something in the pulseaudio log. Here¹s what this output looks like after the daemon starts: I: [pulseaudio] main.c: Daemon startup successful. I: [pulseaudio] main.c: Daemon startup complete. D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Introspectable found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.AgentManager1 found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.ProfileManager1 found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Introspectable found, skipping D: [pulseaudio] bluez5-util.c: Adapter /org/bluez/hci0 found D: [pulseaudio] bluez5-util.c: Registering /MediaEndpoint/A2DPSource on adapter /org/bluez/hci0 D: [pulseaudio] bluez5-util.c: Registering /MediaEndpoint/A2DPSink on adapter /org/bluez/hci0 D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Properties found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.Media1 found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.NetworkServer1 found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Introspectable found, skipping D: [pulseaudio] bluez5-util.c: Device /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6 found D: [pulseaudio] bluez5-util.c: Address: A0:B4:A5:1E:9D:E6 D: [pulseaudio] bluez5-util.c: Alias: Samsung Level Box mini D: [pulseaudio] bluez5-util.c: Class: 2360324 D: [pulseaudio] bluez5-util.c: UUIDs: 00001101-0000-1000-8000-00805f9b34fb D: [pulseaudio] bluez5-util.c: UUIDs: 00001108-0000-1000-8000-00805f9b34fb D: [pulseaudio] bluez5-util.c: UUIDs: 0000110b-0000-1000-8000-00805f9b34fb D: [pulseaudio] bluez5-util.c: UUIDs: 0000110e-0000-1000-8000-00805f9b34fb D: [pulseaudio] bluez5-util.c: UUIDs: 0000111e-0000-1000-8000-00805f9b34fb D: [pulseaudio] bluez5-util.c: Adapter: /org/bluez/hci0 D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Properties found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.MediaControl1 found, skipping D: [pulseaudio] backend-native.c: Bluetooth Headset Backend API support using the native backend D: [pulseaudio] backend-native.c: Registering Profile /Profile/HSPAGProfile D: [pulseaudio] bluez5-util.c: Properties changed in adapter /org/bluez/hci0 D: [pulseaudio] bluez5-util.c: Properties changed in adapter /org/bluez/hci0 D: [pulseaudio] bluez5-util.c: Properties changed in adapter /org/bluez/hci0 D: [pulseaudio] bluez5-util.c: Properties changed in adapter /org/bluez/hci0 D: [pulseaudio] bluez5-util.c: Properties changed in adapter /org/bluez/hci0 I: [pulseaudio] module-suspend-on-idle.c: Sink auto_null idle for too long, suspending ... D: [pulseaudio] sink.c: Suspend cause of sink auto_null is 0x0004, suspending D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum. D: [pulseaudio] bluez5-util.c: Properties changed in device /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6 D: [pulseaudio] backend-native.c: dbus: path=/Profile/HSPAGProfile, interface=org.bluez.Profile1, member=NewConnection D: [pulseaudio] backend-native.c: dbus: NewConnection path=/org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6, fd=10 D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd10 state changed from disconnected to idle D: [pulseaudio] module-bluez5-discover.c: Loading module-bluez5-device path=/org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6 I: [pulseaudio] module-card-restore.c: Restoring port latency offsets for card bluez_card.A0_B4_A5_1E_9D_E6. I: [pulseaudio] card.c: Created 0 "bluez_card.A0_B4_A5_1E_9D_E6" D: [pulseaudio] module-bluez5-device.c: Acquiring transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd10 I: [pulseaudio] backend-native.c: doing connect I: [pulseaudio] module-bluez5-device.c: Transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd10 acquired: fd 25 I: [pulseaudio] sink.c: Created sink 1 "bluez_sink.A0_B4_A5_1E_9D_E6" with sample spec s16le 1ch 8000Hz and channel map mono I: [pulseaudio] sink.c: bluetooth.protocol = "headset_head_unit" I: [pulseaudio] sink.c: device.intended_roles = "phone" I: [pulseaudio] sink.c: device.description = "Samsung Level Box mini" I: [pulseaudio] sink.c: device.string = "A0:B4:A5:1E:9D:E6" 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/hci0/dev_A0_B4_A5_1E_9D_E6" I: [pulseaudio] sink.c: bluez.class = "0x240404" I: [pulseaudio] sink.c: bluez.alias = "Samsung Level Box mini" I: [pulseaudio] sink.c: device.icon_name = "audio-headset-bluetooth" D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event. I: [pulseaudio] source.c: Created source 1 "bluez_sink.A0_B4_A5_1E_9D_E6.monitor" with sample spec s16le 1ch 8000Hz and channel map mono I: [pulseaudio] source.c: device.description = "Monitor of Samsung Level Box mini" I: [pulseaudio] source.c: device.class = "monitor" I: [pulseaudio] source.c: device.string = "A0:B4:A5:1E:9D:E6" 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/hci0/dev_A0_B4_A5_1E_9D_E6" I: [pulseaudio] source.c: bluez.class = "0x240404" I: [pulseaudio] source.c: bluez.alias = "Samsung Level Box mini" I: [pulseaudio] source.c: device.icon_name = "audio-headset-bluetooth" I: [pulseaudio] source.c: device.intended_roles = "phone" D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event. I: [pulseaudio] source.c: Created source 2 "bluez_source.A0_B4_A5_1E_9D_E6" with sample spec s16le 1ch 8000Hz and channel map mono I: [pulseaudio] source.c: bluetooth.protocol = "headset_head_unit" I: [pulseaudio] source.c: device.intended_roles = "phone" I: [pulseaudio] source.c: device.description = "Samsung Level Box mini" I: [pulseaudio] source.c: device.string = "A0:B4:A5:1E:9D:E6" I: [pulseaudio] source.c: device.api = "bluez" I: [pulseaudio] source.c: device.class = "sound" I: [pulseaudio] source.c: device.bus = "bluetooth" I: [pulseaudio] source.c: device.form_factor = "headset" I: [pulseaudio] source.c: bluez.path = "/org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6" I: [pulseaudio] source.c: bluez.class = "0x240404" I: [pulseaudio] source.c: bluez.alias = "Samsung Level Box mini" I: [pulseaudio] source.c: device.icon_name = "audio-headset-bluetooth" D: [bluetooth] module-bluez5-device.c: IO Thread starting up I: [bluetooth] core-util.c: Failed to acquire real-time scheduling: No such file or directory I: [bluetooth] module-bluez5-device.c: Transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd10 resuming D: [bluetooth] module-bluez5-device.c: Stream properly set up, we're ready to roll! D: [pulseaudio] module-device-restore.c: Could not set format on sink bluez_sink.A0_B4_A5_1E_9D_E6 D: [pulseaudio] module-bluetooth-policy.c: Profile headset_head_unit cannot be selected for loopback D: [pulseaudio] module-suspend-on-idle.c: Sink bluez_sink.A0_B4_A5_1E_9D_E6 becomes idle, timeout in 5 seconds. I: [pulseaudio] module-always-sink.c: A new sink has been discovered. Unloading null-sink. D: [pulseaudio] backend-native.c: RFCOMM >> +VGS=15 D: [pulseaudio] module-bluetooth-policy.c: Profile headset_head_unit cannot be selected for loopback D: [pulseaudio] module-suspend-on-idle.c: Source bluez_source.A0_B4_A5_1E_9D_E6 becomes idle, timeout in 5 seconds. D: [pulseaudio] backend-native.c: RFCOMM >> +VGM=15 I: [pulseaudio] module.c: Loaded "module-bluez5-device" (index: #24; argument: "path=/org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6"). D: [pulseaudio] backend-native.c: Transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd10 available for profile headset_head_unit I: [pulseaudio] module.c: Unloading "module-null-sink" (index: #15). D: [pulseaudio] module-rescue-streams.c: No sink inputs to move away. D: [pulseaudio] module-rescue-streams.c: No source outputs to move away. D: [null-sink] module-null-sink.c: Thread shutting down 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: #15). D: [pulseaudio] backend-native.c: RFCOMM << AT+VGS=15 D: [pulseaudio] backend-native.c: RFCOMM >> OK D: [pulseaudio] bluez5-util.c: dbus: path=/MediaEndpoint/A2DPSource, interface=org.bluez.MediaEndpoint1, member=SelectConfiguration D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Introspectable found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.MediaTransport1 found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Properties found, skipping D: [pulseaudio] bluez5-util.c: dbus: path=/MediaEndpoint/A2DPSource, interface=org.bluez.MediaEndpoint1, member=SetConfiguration D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd1 state changed from disconnected to idle D: [pulseaudio] card.c: Setting card bluez_card.A0_B4_A5_1E_9D_E6 profile a2dp_sink to availability status unknown D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd1 available for profile a2dp_sink I: [pulseaudio] module-suspend-on-idle.c: Source bluez_source.A0_B4_A5_1E_9D_E6 idle for too long, suspending ... D: [pulseaudio] source.c: Suspend cause of source bluez_source.A0_B4_A5_1E_9D_E6 is 0x0004, suspending D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum. I: [pulseaudio] module-suspend-on-idle.c: Sink bluez_sink.A0_B4_A5_1E_9D_E6 idle for too long, suspending ... D: [pulseaudio] sink.c: Suspend cause of sink bluez_sink.A0_B4_A5_1E_9D_E6 is 0x0004, suspending D: [bluetooth] module-bluez5-device.c: Releasing transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd10 I: [bluetooth] backend-native.c: Transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd10 released D: [bluetooth] module-bluez5-device.c: Audio stream torn down D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum. I: [pulseaudio] main.c: Got signal SIGUSR2. I: [pulseaudio] module.c: Loaded "module-cli-protocol-unix" (index: #25; argument: ""). I: [pulseaudio] client.c: Created 0 "UNIX socket client" D: [pulseaudio] cli.c: CLI got EOF from user. I: [pulseaudio] client.c: Freed 0 "UNIX socket client" I: [pulseaudio] core.c: We are idle, quitting... I: [pulseaudio] main.c: Daemon shutdown initiated. I: [pulseaudio] module.c: Unloading "module-cli-protocol-unix" (index: #25). I: [pulseaudio] module.c: Unloaded "module-cli-protocol-unix" (index: #25). I: [pulseaudio] module.c: Unloading "module-bluez5-device" (index: #24). D: [pulseaudio] module-always-sink.c: Autoloading null-sink as no other sinks detected. I: [pulseaudio] sink.c: Created sink 2 "auto_null" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right I: [pulseaudio] sink.c: device.description = "Dummy Output" I: [pulseaudio] sink.c: device.class = "abstract" I: [pulseaudio] sink.c: device.icon_name = "audio-card" D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event. I: [pulseaudio] source.c: Created source 3 "auto_null.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right I: [pulseaudio] source.c: device.description = "Monitor of Dummy Output" I: [pulseaudio] source.c: device.class = "monitor" I: [pulseaudio] source.c: device.icon_name = "audio-input-microphone" D: [null-sink] module-null-sink.c: Thread starting up D: [pulseaudio] module-device-restore.c: Could not set format on sink auto_null D: [pulseaudio] module-suspend-on-idle.c: Sink auto_null becomes idle, timeout in 5 seconds. I: [pulseaudio] module.c: Loaded "module-null-sink" (index: #26; argument: "sink_name=auto_null sink_properties='device.description="Dummy Output"'"). D: [pulseaudio] module-rescue-streams.c: No sink inputs to move away. D: [pulseaudio] module-rescue-streams.c: No source outputs to move away. D: [pulseaudio] module-rescue-streams.c: No source outputs to move away. D: [bluetooth] module-bluez5-device.c: IO thread shutdown requested, stopping cleanly D: [bluetooth] module-bluez5-device.c: IO thread shutting down I: [pulseaudio] sink.c: Freeing sink 1 "bluez_sink.A0_B4_A5_1E_9D_E6" I: [pulseaudio] source.c: Freeing source 1 "bluez_sink.A0_B4_A5_1E_9D_E6.monitor" I: [pulseaudio] source.c: Freeing source 2 "bluez_source.A0_B4_A5_1E_9D_E6" I: [pulseaudio] card.c: Freed 0 "bluez_card.A0_B4_A5_1E_9D_E6" I: [pulseaudio] module.c: Unloaded "module-bluez5-device" (index: #24). I: [pulseaudio] module.c: Unloading "module-filter-apply" (index: #23). I: [pulseaudio] module.c: Unloaded "module-filter-apply" (index: #23). I: [pulseaudio] module.c: Unloading "module-filter-heuristics" (index: #22). I: [pulseaudio] module.c: Unloaded "module-filter-heuristics" (index: #22). I: [pulseaudio] module.c: Unloading "module-role-cork" (index: #21). I: [pulseaudio] module.c: Unloaded "module-role-cork" (index: #21). I: [pulseaudio] module.c: Unloading "module-position-event-sounds" (index: #20). I: [pulseaudio] module.c: Unloaded "module-position-event-sounds" (index: #20). I: [pulseaudio] module.c: Unloading "module-systemd-login" (index: #19). I: [pulseaudio] module.c: Unloaded "module-systemd-login" (index: #19). I: [pulseaudio] module.c: Unloading "module-console-kit" (index: #18). I: [pulseaudio] module.c: Unloaded "module-console-kit" (index: #18). I: [pulseaudio] module.c: Unloading "module-suspend-on-idle" (index: #17). I: [pulseaudio] module.c: Unloaded "module-suspend-on-idle" (index: #17). I: [pulseaudio] module.c: Unloading "module-intended-roles" (index: #16). I: [pulseaudio] module.c: Unloaded "module-intended-roles" (index: #16). I: [pulseaudio] module.c: Unloading "module-always-sink" (index: #14). I: [pulseaudio] module.c: Unloaded "module-always-sink" (index: #14). I: [pulseaudio] module.c: Unloading "module-rescue-streams" (index: #13). I: [pulseaudio] module.c: Unloaded "module-rescue-streams" (index: #13). I: [pulseaudio] module.c: Unloading "module-default-device-restore" (index: #12). I: [pulseaudio] module.c: Unloaded "module-default-device-restore" (index: #12). I: [pulseaudio] module.c: Unloading "module-gconf" (index: #11). I: [pulseaudio] module.c: Unloaded "module-gconf" (index: #11). I: [pulseaudio] module.c: Unloading "module-native-protocol-unix" (index: #10). I: [pulseaudio] module.c: Unloaded "module-native-protocol-unix" (index: #10). I: [pulseaudio] module.c: Unloading "module-esound-protocol-unix" (index: #9). I: [pulseaudio] module.c: Unloaded "module-esound-protocol-unix" (index: #9). I: [pulseaudio] module.c: Unloading "module-bluez5-discover" (index: #8). D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd1 state changed from idle to disconnected D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_A0_B4_A5_1E_9D_E6/fd10 state changed from idle to disconnected I: [pulseaudio] module.c: Unloaded "module-bluez5-discover" (index: #8). I: [pulseaudio] module.c: Unloading "module-bluetooth-discover" (index: #7). I: [pulseaudio] module.c: Unloaded "module-bluetooth-discover" (index: #7). I: [pulseaudio] module.c: Unloading "module-bluetooth-policy" (index: #6). I: [pulseaudio] module.c: Unloaded "module-bluetooth-policy" (index: #6). I: [pulseaudio] module.c: Unloading "module-udev-detect" (index: #5). I: [pulseaudio] module.c: Unloaded "module-udev-detect" (index: #5). I: [pulseaudio] module.c: Unloading "module-switch-on-port-available" (index: #4). I: [pulseaudio] module.c: Unloaded "module-switch-on-port-available" (index: #4). I: [pulseaudio] module.c: Unloading "module-augment-properties" (index: #3). I: [pulseaudio] module.c: Unloaded "module-augment-properties" (index: #3). I: [pulseaudio] module.c: Unloading "module-card-restore" (index: #2). I: [pulseaudio] module.c: Unloaded "module-card-restore" (index: #2). I: [pulseaudio] module.c: Unloading "module-stream-restore" (index: #1). D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1 removed from object /org/pulseaudio/stream_restore1 I: [pulseaudio] module.c: Unloaded "module-stream-restore" (index: #1). I: [pulseaudio] module.c: Unloading "module-device-restore" (index: #0). I: [pulseaudio] module.c: Unloaded "module-device-restore" (index: #0). I: [pulseaudio] module.c: Unloading "module-null-sink" (index: #26). D: [pulseaudio] core-subscribe.c: Dropped redundant event due to remove event. D: [pulseaudio] core-subscribe.c: Dropped redundant event due to remove event. D: [pulseaudio] core-subscribe.c: Dropped redundant event due to remove event. D: [pulseaudio] core-subscribe.c: Dropped redundant event due to remove event. D: [null-sink] module-null-sink.c: Thread shutting down I: [pulseaudio] sink.c: Freeing sink 2 "auto_null" I: [pulseaudio] source.c: Freeing source 3 "auto_null.monitor" I: [pulseaudio] module.c: Unloaded "module-null-sink" (index: #26). D: [pulseaudio] core-subscribe.c: Dropped redundant event due to remove event. E: [pulseaudio] core.c: Assertion 'pa_hashmap_isempty(c->modules_pending_unload)' failed at pulsecore/core.c:206, function core_free(). Aborting. So, the $64,000 question is�WTF?