Anno domini 2024 Mon, 20 May 02:33:31 -0500
J Leslie Turriff via tde-devels scripsit:
I'm setting up a laptop machine for my brother.
When I tried to use tdebluez
to enable a bluetooth headset I got this response:
| 00:49:18 root@toreador
| wd=~
| ● tdebluez&
| [1] 14185
| rc=0
| @00:49:56 root@toreador
| wd=~
| ● [tdebuildsycoca] tdebuildsycoca running...
| [2024/05/20 00:49:56.685] Interface not implemented:
org.bluez.AdminPolicySet1
| [2024/05/20 00:49:56.685] Interface not implemented:
org.bluez.AdminPolicyStatus1
| [2024/05/20 00:49:56.685] Interface not implemented:
org.bluez.LEAdvertisingManager1
| [2024/05/20 00:49:56.685] Interface not implemented:
org.bluez.AdminPolicyStatus1
| [2024/05/20 00:49:56.685] obexd executable was not found
| Set path in configuration file "tdebluezrc"
| Variable: obexSrvExe=<path to obexd>
| [1]+ Done tdebluez
So I searched for the missing component:
| zypper se obexd
| Loading repository data...
| Reading installed packages...
|
| S | Name | Summary |
Type
| --+------------------------+----------------------------------------------+--------
| | bluez-obexd | Object Exchange daemon for sharing binary -> |
package
| | bluez-obexd-debuginfo | Debug information for package bluez-obexd |
package
| | obexd | D-Bus service for Obex Client access |
package
| | obexd-client | D-Bus service for Obex Server access |
package
| | obexd-client-debuginfo | Debug information for package obexd-client |
package
| | obexd-debuginfo | Debug information for package obexd |
package
| | obexd-debugsource | Debug sources for package obexd |
package
| | obexd-server | D-Bus service for Obex Server service |
package
| | obexd-server-debuginfo | Debug information for package obexd-server |
package
| rc=0
Which of these packages do I need to install to make tdebluez work?
Shouldn't tdebluez have triggered this as a dependency?
I got it working with bluez-alsa-utils + pulseaudio-utils + blueman-applet as everything
should work from userspace.
If you use tdebluez you need to start bluealsa from your /etc/rc.local:
( bluealsa --profile=hsp-ag --profile=a2dp-source --profile=a2dp-sink --syslog) &
... or with sysv use this startscript:
#! /bin/sh /lib/init/init-d-script
### BEGIN INIT INFO
# Provides: bluealsa
# Required-Start: $local_fs $syslog $remote_fs dbus
# Required-Stop: $local_fs $syslog $remote_fs
# X-Start-Before: bluetooth
# X-Stop-After: bluetooth
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start bluealsa daemons
### END INIT INFO
DAEMON=/usr/bin/bluealsa
DAEMON_ARGS="--profile=hsp-ag --profile=a2dp-source --profile=a2dp-sink
--syslog"
PIDFILE=/run/bluealsa.pid
START_ARGS="--background --make-pidfile"
... otherwise the headphone will connect and then disconnect again.
And you need to run a "supervisor" like that to automaically reconnect BT audio
devices:
#!/bin/bash
echo "bt autoconnection audio devices ..."
CON=$(mktemp)
PAI=$(mktemp)
while sleep 3; do
bluetoothctl devices Connected | sort | cut -d ' ' -f 2 > $CON
bluetoothctl devices Paired |sort | cut -d ' ' -f 2 > $PAI
NC=$(comm -3 $PAI $CON 2>/dev/null)
if [ ! -z "$NC" ]; then
for i in $NC; do
if [ $(bluetoothctl info $i | grep -i audio | wc -l) -gt 0 ];
then
bluetoothctl connect $i
fi
done
fi
done
Well, there might be easier ways :)
Nik
Leslie
--
Please do not email me anything that you are not comfortable also sharing with the NSA,
CIA ...