硬件存在:
$ 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 输出的要点如下:
答案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,蓝牙指示灯就出现了。现在一切都正常了。