在 Ubuntu 14.04 上使用 Centrino Advanced-N 6235 蓝牙

在 Ubuntu 14.04 上使用 Centrino Advanced-N 6235 蓝牙

硬件存在:

$ lspci | grep Centrino
04:00.0 Network controller: Intel Corporation Centrino Advanced-N 6235 (rev 24)

并且蓝牙、iwlwifi 和 iwldvm 模块已加载:

$ lsmod | egrep 'iwl|blue'
iwldvm                232285  0
mac80211              626557  1 iwldvm
iwlwifi               169932  1 iwldvm
bluetooth             395423  10 bnep,rfcomm
cfg80211              484040  3 iwlwifi,mac80211,iwldvm

确实,我的启动日志中有蓝牙输出:

$ dmesg | egrep -i 'iwl|blue'
[    2.598945] Bluetooth: Core ver 2.17
[    2.598994] Bluetooth: HCI device and connection manager initialized
[    2.599006] Bluetooth: HCI socket layer initialized
[    2.599010] Bluetooth: L2CAP socket layer initialized
[    2.599016] Bluetooth: SCO socket layer initialized
[    2.637552] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.637557] Bluetooth: BNEP filters: protocol multicast
[    2.637570] Bluetooth: BNEP socket layer initialized
[    2.683477] Bluetooth: RFCOMM TTY layer initialized
[    2.683493] Bluetooth: RFCOMM socket layer initialized
[    2.683501] Bluetooth: RFCOMM ver 1.11
[    2.802024] iwlwifi 0000:04:00.0: enabling device (0000 -> 0002)
[    2.802106] iwlwifi 0000:04:00.0: can't disable ASPM; OS doesn't have ASPM control
[    2.802169] iwlwifi 0000:04:00.0: irq 106 for MSI/MSI-X
[    2.829897] iwlwifi 0000:04:00.0: loaded firmware version 18.168.6.1 op_mode iwldvm
[    2.981631] iwlwifi 0000:04:00.0: CONFIG_IWLWIFI_DEBUG disabled
[    2.981638] iwlwifi 0000:04:00.0: CONFIG_IWLWIFI_DEBUGFS enabled
[    2.981640] iwlwifi 0000:04:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
[    2.981644] iwlwifi 0000:04:00.0: Detected Intel(R) Centrino(R) Advanced-N 6235 AGN, REV=0xB0
[    2.981921] iwlwifi 0000:04:00.0: L1 Disabled; Enabling L0S
[    3.054692] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'

并且卡的 wifi 部分工作正常!但是,蓝牙设备根本没有启动 — hcitool、hciconfig 或 rfkill 均未显示,例如:

$ hcitool dev
Devices:
$ sudo rfkill list all
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

我在一台 64 位机器上,运行无头最小 Ubuntu 14.04:

$ lsb_release -r
Release:    14.04
$ uname -a
Linux test 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

我简单尝试了 3.14 内核,似乎没什么不同。我还尝试移除并重新插入 iwlwifi 和蓝牙模块。我还确认了 14.04 实时桌面中存在与上述相同的行为。

希望得到更多的想法或指点,谢谢。


另外一条数据是与 bluetoothd 相关的 syslog 输出:

$ sudo cat /var/log/syslog | grep -i bluetoothd
Jun 26 15:09:54 jackal2 bluetoothd[476]: DIS cannot start: GATT is disabled
Jun 26 15:09:54 jackal2 bluetoothd[476]: Failed to init deviceinfo plugin
Jun 26 15:09:54 jackal2 bluetoothd[476]: Failed to init proximity plugin
Jun 26 15:09:54 jackal2 bluetoothd[476]: Failed to init time plugin
Jun 26 15:09:54 jackal2 bluetoothd[476]: Failed to init alert plugin
Jun 26 15:09:54 jackal2 bluetoothd[476]: Failed to init thermometer plugin
Jun 26 15:09:54 jackal2 bluetoothd[476]: Failed to init gatt_example plugin
Jun 26 15:09:54 jackal2 bluetoothd[476]: Bluetooth Management interface initialized

这些插件故障需要调查吗?GATT 是什么?


我现在已经确定,这个无线电和驱动程序可以很好地与不同主板上的 wifi 和蓝牙配合使用,所以我假设它与特定主板上的某些东西发生了硬件冲突(技嘉J1800N-D2H)。


奇怪的是,另一块 J1900 主板上也存在同样的问题,这让人怀疑这是芯片组冲突。这次 dmesg 日志显示启动时固件崩溃,我不记得以前见过这种情况。日志和 lshw 输出的要点如下:

https://gist.github.com/mikepurvis/ee7bc8fb85ff7ae64a9d

答案1

这个问题终于解决了。问题是 6235 的蓝牙功能由单独的接口提供,通过 MiniPCIe 端口中的 USB 连接。我使用的 J1800 或 J1900 主板都没有连接 MiniPCIe 端口的 USB 部分。

答案2

Centrino Advanced-N 6235 在我的 HP DV6-7010US(Ubuntu 14.04)上运行良好。蓝牙最初无法工作,在论坛中找不到任何解决方案。我在亚马逊上看到一篇评论,他们说在 Acer 上需要按 FN + F3 来选择 Wifi、Wifi+蓝牙或两者都不是。在我的 HP 上,该组合不起作用,所以我按了几次 F12,蓝牙指示灯就出现了。现在一切都正常了。

相关内容