我正在尝试将SRS-XB40便携式扬声器与我的 Debian Stretch 桌面配对。
扬声器在使用设置 GUI 的 Mint 笔记本电脑上运行良好。
我安装了蓝人。由于它不起作用,我还将firmware-linux 升级到了backport 版本(20170823)。
硬件
该机器是戴尔 XPS 630i。
hciconfig -a
hci0: Type: Primary Bus: USB
BD Address: 00:1C:26:DD:18:A9 ACL MTU: 1017:7 SCO MTU: 64:1
UP RUNNING PSCAN
RX bytes:2607 acl:0 sco:0 events:153 errors:0
TX bytes:1739 acl:0 sco:0 commands:125 errors:0
Features: 0xff 0xfe 0x8d 0xfe 0x9b 0xf9 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF
Link mode: SLAVE ACCEPT
Name: 'ChromeLinux_6529'
Class: 0x1c0104
Service Classes: Rendering, Capturing, Object Transfer
Device Class: Computer, Desktop workstation
HCI Version: 2.0 (0x3) Revision: 0x214c
LMP Version: 2.0 (0x3) Subversion: 0x41f4
Manufacturer: Broadcom Corporation (15)
软件
Linux 4.15.0-0.bpo.2-amd64 #1 SMP Debian 4.15.11-1~bpo9+1 (2018-04-07) x86_64 GNU/Linux
firmware-amd-graphics 20170823-1~bpo9+1
firmware-linux 20170823-1~bpo9+1
firmware-linux-nonfree 20170823-1~bpo9+1
firmware-misc-nonfree 20170823-1~bpo9+1
bluez 5.43-2+deb9u1
bluez-obexd 5.43-2+deb9u1
blueman 2.0.4-1
蓝牙服务启动
蓝牙服务正常启动。
# systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-05-07 13:47:15 CEST; 33min ago
Docs: man:bluetoothd(8)
Main PID: 679 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4915)
CGroup: /system.slice/bluetooth.service
└─679 /usr/lib/bluetooth/bluetoothd --noplugin=sap
mai 07 13:47:15 bouzin bluetoothd[679]: Excluding (cli) sap
mai 07 13:47:15 bouzin systemd[1]: Started Bluetooth service.
mai 07 13:47:15 bouzin bluetoothd[679]: Bluetooth management interface 1.14 initialized
mai 07 13:47:15 bouzin bluetoothd[679]: Failed to obtain handles for "Service Changed" characteristic
mai 07 13:50:14 bouzin bluetoothd[679]: Endpoint registered: sender=:1.41 path=/MediaEndpoint/A2DPSource
mai 07 13:50:14 bouzin bluetoothd[679]: Endpoint registered: sender=:1.41 path=/MediaEndpoint/A2DPSink
从我收集到的,
Failed to obtain handles for "Service Changed" characteristic
警告应该是无害的。
设备设置
我可以在 blueman applet 中“设置”扬声器,但无法与之配对。
要配对,我按下扬声器上的“配对”按钮使其进入配对模式,然后让小程序配对。我得到一个错误。
使用 bluetoothctl,它说:
Failed to pair: org.bluez.Error.AuthenticationFailed
老蓝人虫
我在日志中得到了这些错误:
mai 07 14:23:30 bouzin bluetoothd[679]: vendor 0x0 product: 0x0
mai 07 14:23:30 bouzin bluetoothd[679]: Agent /org/blueman/agent/global replied with an error: org.freedesktop.DBus.Python.KeyError, Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/service.py", line 707, in _message_cb
retval = candidate_method(self, *args, **keywords)
File "/usr/lib/python3/dist-packages/blueman/main/applet/BluezAgent.py", line 167, in RequestPinCode
self.ask_passkey(device, dialog_msg, notify_msg, False, self.notifications, ok, err)
File "/usr/lib/python3/dist-packages/blueman/main/applet/BluezAgent.py", line 122, in ask_passkey
alias = self.get_device_alias(device_path)
File "/usr/lib/python3/dist-packages/blueman/main/applet/BluezAgent.py", line 95, in get_device_alias
name = props["Name"]
KeyError: 'Name'
这是 blueman 中的一个错误,已在此提交中修复。我无法升级到测试/不稳定版本,因为它依赖于 Python 3.6,所以我将修复应用到/usr/lib/python3/dist-packages/blueman/main/applet/BluezAgent.py
.
没有可用的代理
现在,我得到:
mai 07 14:30:30 bouzin bluetoothd[4042]: vendor 0x0 product: 0x0
mai 07 14:30:30 bouzin bluetoothd[4042]: No agent available for request type 0
mai 07 14:30:30 bouzin bluetoothd[4042]: device_request_pin: Operation not permitted
从这个答案,我尝试启动
bluetoothctl -a
PIN码
这让我更进一步。
pair B8:D5:0B:05:A1:62
Attempting to pair with B8:D5:0B:05:A1:62
Request PIN code
[agent] Enter PIN code: 1324
Failed to pair: org.bluez.Error.AuthenticationFailed
我被要求输入 PIN 码。
从这个答案和评论中,我必须输入 0000。
我得到一个成功的配对。
在 GUI 中,我在设备上设置了“信任”,现在它显然会在扬声器打开时自动配对。
音频接收器
从 blueman,我单击“音频接收器”,我可以听到扬声器发出的检查声音。blueman 显示有关连接质量的统计数据,非常好。
几十秒后,“音频配置文件”菜单没有变灰。我单击“高保真播放(A2DP 接收器)”。
我收到一条错误消息
Failed to change profile to a2dp_sink
我看到了这个 Debian 错误,但我认为这不是同一个问题。我使用的不是 gdm 而是 lightdm,所有的 pulseaudio 进程都属于我的用户。
当然,我没有在音频输出设备列表中看到扬声器。
我不知道从这里去哪里。
我知道上面的大多数段落与最后一个问题无关,但我想把它们留在这里,希望它们为有同样问题的人提供有用的信息。
好吧,这似乎是它,毕竟。我从这个答案中应用了解决方法,我终于让扬声器工作了:
我想我必须在升级这些文件后重复这个过程。
登录后,我以root身份运行此脚本“服务蓝牙重启”
“pavucontrol”。然后我重新启动蓝牙设备。我在pavucontrol中选择蓝牙设备并调整声音。之后,我的设备连接并播放音频。