藍牙無法運作 (Atheros AR5BBU22)

藍牙無法運作 (Atheros AR5BBU22)

我的筆記型電腦無法透過 Ubuntu 找到藍牙裝置。在 Windows 7 中它可以正常工作。我使用的是 Ubuntu 12.04 和 11.10

lsusb 的輸出:

匯流排 001 裝置 001:ID 1d6b:0002 Linux Foundation 2.0 根集線器
匯流排 002 裝置 001:ID 1d6b:0002 Linux Foundation 2.0 根集線器
匯流排 003 裝置 001:ID 1d6b:0002 Linux Foundation 2.0 根集線器
匯流排 004 裝置 001:ID 1d6b:0003 Linux Foundation 3.0 根集線器
總線 001 設備 002:ID 8087:0024 英特爾公司整合速率匹配集線器
總線 002 設備 002:ID 8087:0024 英特爾公司整合速率匹配集線器
總線001設備003:ID 1bcf:288a凌陽創新科技股份有限公司
總線 001 設備 004:ID 0489:e03c 富士康/鴻海
匯流排 002 設備 003:ID 046d:c52b Logitech, Inc. 統一接收器

hciconfig 的輸出:

hci0:類型:BR/EDR 總線:USB
   BD 位址:94:39:E5:4E:FA:3A ACL MTU:1022:8 SCO MTU:183:5
   運行 PSCAN ISCAN
   RX 位元組:1559 acl:0 sco:0 事件:104 錯誤:0
   TX 位元組:926 acl:0 sco:0 指令:81 錯誤:0

lsmod 的輸出:

模組大小 使用者
bbswitch 13355 0
射頻通訊 47604 12
法國國家石油公司 18281 2
parport_pc 32866 0
ppdev 17113 0
binfmt_misc 17540 1
snd_hda_codec_hdmi 32474 1
snd_hda_codec_conexant 62128 1
snd_hda_英特爾 33773 3
snd_hda_codec 127706 3 snd_hda_codec_hdmi、snd_hda_codec_conexant、snd_hda_intel
喬德夫 17693 0
snd_hwdep 13668 1 snd_hda_編解碼器
snd_pcm 97188 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq_midi 13324 0
uvc視頻 72627 0
videodev 98259 1 uvcvideo
hid_logitech_dj 18593 0
snd_rawmidi 30748 1 snd_seq_midi
usbhid 47199 1 hid_logitech_dj
隱藏 99559 2 hid_logitech_dj,usbhid
弧4 12529 2
v4l2_compat_ioctl32 17128 1 影片開發
snd_seq_midi_event 14899 1 snd_seq_midi
ath9k 132390 0
mac80211 506816 1 ath9k
ath9k_common 14053 1 ath9k
snd_seq 61896 2 snd_seq_midi,snd_seq_midi_event
ath9k_hw 411112 2 ath9k,ath9k_common
snd_timer 29990 2 snd_pcm,snd_seq
snd_seq_device 14540 3 snd_seq_midi,snd_rawmidi,snd_seq
i915 468651 3
滑鼠 87603 0
snd 78855 16 snd_hda_codec_hdmi、snd_hda_codec_conexant、snd_hda_intel、snd_hda_codec、snd_hwdep、snd_pcm、snd_rawmidi、snd_codeseq、snd_hwdep、snd_pcm、snd_rawmidi、snd_seq、snd_hwdep、snd_pcm、snd_rawmidi、snd_seqseqseq.
24067 3 ath9k,ath9k_common,ath9k_hw
cfg80211 205544 3 ath9k,mac80211,ath
drm_kms_helper 46978 1 i915
drm 242038 4 i915,drm_kms_helper
BTSB 18288 2
mac_hid 13253 0
藍牙 180104 23 rfcomm,bnep,btusb
音核 15091 1 snd
宏碁_wmi 28418 0
MXM_WMI 12979 0
snd_page_alloc 18529 2 snd_hda_intel,snd_pcm
i2c_algo_bit 13423 1 i915
稀疏鍵映射 13890 1 acer_wmi
serio_raw 13211 0
rts_pstor 445196 0
梅 41616 0
wmi 19256 2 acer_wmi,mxm_wmi
影片 19596 1 i915
LP 17799 0
parport 46562 3 parport_pc,ppdev,lp
atl1c 41717 0

uname -a 的輸出:

Linux 筆記型電腦 3.2.0-23-generic #36-Ubuntu SMP 四月 10 日星期二 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

dmesg 的輸出 | grep 藍牙:

[7.642818]藍牙:核心版本2.16
[7.642839]藍牙:HCI裝置和連線管理器已初始化
[7.642841]藍牙:HCI套接字層初始化
[7.642842]藍牙:L2CAP套接字層初始化
[7.642847]藍牙:SCO套接字層初始化
[7.700557]藍牙:通用藍牙USB驅動程式版本0.6
[15.498797]藍牙:BNEP(乙太網路模擬)版本1.3
[15.498800]藍牙:BNEP過濾器:協定多播
[15.524883]藍牙:RFCOMM TTY層初始化
[15.524888]藍牙:RFCOMM套接字層初始化
[15.524890]藍牙:RFCOMM版本1.11

答案1

支援OK繃 AR5BBU22位於核心中,因為3.6.15但此外,還必須在系統上安裝專有韌體才能使藍牙正常運作。它在軟體包中提供linux-firmware(在 ubuntu 上;firmware-atheros在 debian 上,非免費)。

答案2

這個需要一個補丁才能正確載入韌體:

--- a/drivers/bluetooth/ath3k.c 2012-04-27 19:17:35.000000000 +0200  
+++ b/drivers/bluetooth/ath3k.c 2012-04-30 01:29:47.081838667 +0200  
@@ -79,6 +79,9 @@ static struct usb_device_id ath3k_table[  
    /* Atheros AR5BBU12 with sflash firmware */  
    { USB_DEVICE(0x0489, 0xE02C) },  

+   /* Atheros AR5BBU22 with sflash firmware */  
+   { USB_DEVICE(0x0489, 0xE03C) },  
+
    { } /* Terminating entry */  
 };  

@@ -95,6 +98,9 @@ static struct usb_device_id ath3k_blist_  
    { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },  
    { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },  

+   /* Atheros AR5BBU22 with sflash firmware */  
+   { USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 },  
+
    { } /* Terminating entry */  
 };

--- a/drivers/bluetooth/btusb.c 2012-04-27 19:17:35.000000000 +0200  
+++ b/drivers/bluetooth/btusb.c 2012-04-30 01:31:49.302182281 +0200  
@@ -135,6 +135,9 @@ static struct usb_device_id blacklist_ta  
    /* Atheros AR5BBU12 with sflash firmware */  
    { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },  

+   /* Atheros AR5BBU22 with sflash firmware */  
+   { USB_DEVICE(0x0489, 0xe03c), .driver_info = BTUSB_ATH3012 },  
+
    /* Broadcom BCM2035 */  
    { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU },  
    { USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU },  

相關內容