在 Fedora 上透過藍牙配對 Bose QC 35

在 Fedora 上透過藍牙配對 Bose QC 35

我正在使用 Gnome Shell 運行 Fedora 24。我嘗試透過藍牙配對我的新 Bose QuietComfort 35。

我開始使用 Gnome 介面。不幸的是,這種聯繫似乎並不成立。它顯示為不斷連接/斷開:

https://youtu.be/eUZ9D9rGUZY

我的下一步是使用命令列執行一些檢查。首先,我檢查藍牙服務是否正在執行:

$ 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 揚聲器配合良好。我懷疑這個問題確實與我嘗試配置的耳機有關。

答案1

我也有這些耳機,還有一台運行 Fedora 24 的便攜式筆記型電腦。以下是我發現的。 (請注意,我對藍牙知之甚少,因此我可能使用了不正確的術語。)

耳機支援(或至少說支援)藍牙 LE,但不支援 LE 配對。 Bluez 尚不支援此功能,除了在設定檔中靜態設定外,無法設定支援的 BT 模式。不過,您可以透過一般藍牙使用耳機。這恰好是 Bluez 4 工作的原因;它並不真正支援LE。

因此,創建/etc/bluetooth/main.conf。 Fedora 24 沒有附帶此文件,因此請從以下位置取得副本上游,找到包含的行

#ControllerMode = dual

並將其更改為:

ControllerMode = bredr

或建立一個僅包含以下內容的新檔案:

[General]
ControllerMode = bredr

然後重新啟動藍牙並配對。 (我透過 bluetoothctl 手動完成此操作,但僅使用藍牙管理器就可以了。)

現在,這對我有用,但如果你不強制pulseaudio使用A2DP-Sink協議,耳機會因為某種原因宣布你有來電。但是,我的滑鼠需要藍牙 LE,因此我移除了 ControllerMode 線。而且......耳機和滑鼠仍然可以使用。我想一旦它們配對,一切就OK了。

答案2

我閱讀了您的特定耳機,它們使用近場通訊 (NFC) 來促進配對,這一點在藍茲5.3,雖然,它提到至少一個博客「新鍵盤內建了 NFC,但是不幸的是 Gnu/Linux 還不能很好地支援 NFC。儘管 Linux 核心內建了 NFC 支持,Gnome 和 KDE 都不是對此沒有任何支持,並且我的 Fedora 20 存儲庫中支援 NFC 的應用程式數量幾乎為零。 NFC 無法幫助我配對設備,因此我們需要以老式方式進行...」那麼,這讓我們回到您的方法。

然而,布魯茲5.3 不支援與使用 PIN 碼進行配對的裝置(例如 Bose 耳機)進行配對。
有一個錯誤報告來自以前的版本,在另一個發行版上。因此,雖然 Fedora 上沒有專門報導這一點,Bluez 官方網站至少從我所看到的來看,沒有具體提及修復。

所以不支援該功能;至少現在這就是答案。

此外,正如您所懷疑的,可能還有其他問題,例如需要特定的專有驅動程序,除非您已經排除了這一點(即透過在 OSX 或 Windows 或它們支援的任何裝置上測試耳機類別相容)。我真的非常懷疑情況確實如此,或者它給了你或其他人一些可以跳板的東西。

答案3

如果這對某人有幫助,在我的 ubuntu 16.04 中實際嘗試上述所有內容後,最後,透過「Bose Connect 應用程式」(在我的情況下為 Android)進行連接非常簡單。我用blueman來做這件事,最後我能夠配對耳機。

就我而言,我有 bluez 5.37v、blueman 2.0.4,最後我不需要對預設的 /etc/bluetooth/main.conf 進行任何更改,預設的「ControllerMode」設定為雙重工作了。

對我有用的步驟是:

1.- 開啟應用程式並選擇連接新裝置或類似裝置的選項。 (我不記得確切的名字了) 2.- 從blueman 搜尋一個新設備。 3.- 找到耳機後,我就可以毫無問題地將它們配對並選擇工作模式。

如果沒有第一步,我就無法將它們配對。

我花了很長時間才找到如何做,但是一旦你知道如何做,做起來就很容易了。

答案4

幾天前我還買了 Bose QC 35。在遇到一些最初的問題後,我設法讓它在 Debian、ALSA 和 bluez 4.x 上運行

apt-get install bluetooth
apt-get install bluez-alsa
apt-get install blueman

安裝這些套件後,仍然無法運作。問題出在 dbus 權限。我透過將我的用戶(uid 1000)新增至藍牙群組來解決這個問題,即:

usermod -a -G bluetooth martin

之後一切正常,耳機每次啟動時都會自動與我的筆記型電腦配對

相關內容