在 Fedora 上通過藍牙配對 Bose QC 35
我正在使用 Gnome Shell 執行 Fedora 24。我嘗試通過藍牙配對我的新 Bose QuietComfort 35。
我開始使用 Gnome 界面。不幸的是,這種聯繫似乎不成立。它顯示為不斷連接/斷開:
我的下一步是使用命令行執行一些檢查。首先,我檢查了藍牙服務是否正在執行:
$ sudo systemctl status bluetooth ● bluetooth.service - Bluetooth service Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled) Active: active (running) since dim. 2016-06-26 11:19:24 CEST; 14min ago Docs: man:bluetoothd(8) Main PID: 932 (bluetoothd) Status: "Running" Tasks: 1 (limit: 512) Memory: 2.1M CPU: 222ms CGroup: /system.slice/bluetooth.service └─932 /usr/libexec/bluetooth/bluetoothd juin 26 11:19:24 leonard systemd[1]: Starting Bluetooth service... juin 26 11:19:24 leonard bluetoothd[932]: Bluetooth daemon 5.40 juin 26 11:19:24 leonard bluetoothd[932]: Starting SDP server juin 26 11:19:24 leonard bluetoothd[932]: Bluetooth management interface 1.11 initialized juin 26 11:19:24 leonard bluetoothd[932]: Failed to obtain handles for "Service Changed" characteristic juin 26 11:19:24 leonard systemd[1]: Started Bluetooth service. juin 26 11:19:37 leonard bluetoothd[932]: Endpoint registered: sender=:1.68 path=/MediaEndpoint/A2DPSource juin 26 11:19:37 leonard bluetoothd[932]: Endpoint registered: sender=:1.68 path=/MediaEndpoint/A2DPSink juin 26 11:20:26 leonard bluetoothd[932]: No cache for 08:DF:1F:DB:A7:8A
然後,我嘗試遵循Archlinux wiki的一些解釋,但沒有成功。配對失敗 配對失敗: org.bluez.Error.AuthenticationFailed:
$ sudo bluetoothctl [NEW] Controller 00:1A:7D:DA:71:05 leonard [default] [NEW] Device 08:DF:1F:DB:A7:8A Bose QuietComfort 35 [NEW] Device 40:EF:4C:8A:AF:C6 EDIFIER Luna Eclipse [bluetooth]# agent on Agent registered [bluetooth]# scan on Discovery started [CHG] Controller 00:1A:7D:DA:71:05 Discovering: yes [CHG] Device 08:DF:1F:DB:A7:8A RSSI: -77 [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000febe-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A RSSI: -69 [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000febe-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000110d-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000110b-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000110f-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 00001130-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000112e-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 0000111e-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 00001108-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 00001131-0000-1000-8000-00805f9b34fb [CHG] Device 08:DF:1F:DB:A7:8A UUIDs: 00000000-deca-fade-deca-deafdecacaff [bluetooth]# devices Device 08:DF:1F:DB:A7:8A Bose QuietComfort 35 Device 40:EF:4C:8A:AF:C6 EDIFIER Luna Eclipse [CHG] Device 08:DF:1F:DB:A7:8A RSSI: -82 [CHG] Device 08:DF:1F:DB:A7:8A RSSI: -68 [CHG] Device 08:DF:1F:DB:A7:8A RSSI: -79 [bluetooth]# trust 08:DF:1F:DB:A7:8A Changing 08:DF:1F:DB:A7:8A trust succeeded [bluetooth]# pair 08:DF:1F:DB:A7:8A Attempting to pair with 08:DF:1F:DB:A7:8A [CHG] Device 08:DF:1F:DB:A7:8A Connected: yes Failed to pair: org.bluez.Error.AuthenticationFailed [CHG] Device 08:DF:1F:DB:A7:8A Connected: no
我試圖禁用 SSPMode 但它似乎沒有效果:
$ sudo hciconfig hci0 sspmode 0
當我使用 bluetoothctl 時,journalctl 會記錄以下內容:
juin 26 11:37:21 leonard sudo[4348]: lpellegr : TTY=pts/2 ; PWD=/home/lpellegr ; USER=root ; COMMAND=/bin/bluetoothctl juin 26 11:37:21 leonard audit[4348]: USER_CMD pid=4348 uid=1000 auid=4294967295 ses=4294967295 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd="/home/lpellegr" cmd="bluetoothctl" terminal=pt juin 26 11:37:21 leonard audit[4348]: CRED_REFR pid=4348 uid=0 auid=4294967295 ses=4294967295 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct="roo juin 26 11:37:21 leonard sudo[4348]: pam_systemd(sudo:session): Cannot create session: Already occupied by a session juin 26 11:37:21 leonard audit[4348]: USER_START pid=4348 uid=0 auid=4294967295 ses=4294967295 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits, juin 26 11:37:21 leonard sudo[4348]: pam_unix(sudo:session): session opened for user root by (uid=0) juin 26 11:38:06 leonard bluetoothd[932]: No cache for 08:DF:1F:DB:A7:8A
不幸的是,我不明白輸出。歡迎任何想法或幫助。我很迷茫。
我使用的藍牙接收器是 CSL-Computer 的 USB 加密狗。Bluetoothctl 版本是 5.40。我正在執行核心 4.5.7-300.fc24.x86_64。
以下是我的藍牙適配器支持的功能:
hciconfig -a hci0 features hci0: Type: BR/EDR Bus: USB BD Address: 00:1A:7D:DA:71:05 ACL MTU: 310:10 SCO MTU: 64:8 Features page 0: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87 <3-slot packets> <5-slot packets> <encryption> <slot offset> <timing accuracy> <role switch> <hold mode> <sniff mode> <park state> <RSSI> <channel quality> <SCO link> <HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme> <power control> <transparent SCO> <broadcast encrypt> <EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan> <interlaced iscan> <interlaced pscan> <inquiry with RSSI> <extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave> <AFH class. slave> <LE support> <3-slot EDR ACL> <5-slot EDR ACL> <sniff subrating> <pause encryption> <AFH cap. master> <AFH class. master> <EDR eSCO 2 Mbps> <EDR eSCO 3 Mbps> <3-slot EDR eSCO> <extended inquiry> <LE and BR/EDR> <simple pairing> <encapsulated PDU> <non-flush flag> <LSTO> <inquiry TX power> <EPC> <extended features> Features page 1: 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00
該配對與 EDIFIER Luna Eclipse 揚聲器配合良好。我懷疑這個問題確實與我嘗試配置的耳機有關。
我也有這些耳機,還有一台執行 Fedora 24 的攜帶式筆記型電腦。在與 IRC 上的一位 Bluez 開發人員聊天后,我的工作正常了。下面是我找到的。(請注意,我對藍牙知之甚少,因此我可能使用了不正確的術語。)
耳機支持(或至少說他們支持)藍牙 LE,但不支持 LE 進行配對。Bluez 尚不支持此功能,除了在配置文件中靜態設置外,無法設置支持的 BT 模式。不過,您可以通過普通藍牙使用耳機。這恰好是 Bluez 4 工作的原因。它並不真正支持 LE。
因此,創建 /etc/bluetooth/main.conf。Fedora 24 沒有這個文件,所以要麼從Upstream獲取一個副本,找到包含的行
#ControllerMode = dual
並將其更改為:
ControllerMode = bredr
或創建一個僅包含以下內容的新文件:
[General] ControllerMode = bredr
然後重新啟動藍牙並配對。(我是通過 bluetoothctl 手動完成的,但只使用藍牙管理器就可以了。)
現在,這對我有用,但如果你不強制 pulseaudio 使用 A2DP-Sink 協議,耳機會因為某種原因宣布你有來電。但是,我的滑鼠需要藍牙 LE,所以我進去並刪除了 ControllerMode 線。而且……耳機仍然可以工作,滑鼠也一樣。我想一旦他們配對,一切都會好起來的。