我无法获取bluetoothctl
或hciconfig
显示有关我的蓝牙控制器的任何信息,也无法让我的计算机识别附近的蓝牙设备。当我输入时power on
,bluetoothctl
它显示
No default controller available.
这些命令hcitool scan
同样hciconfig hci0 up
找不到任何东西。
以下是有关我的系统的一些信息:
- 核心
uname -a Linux localhost 4.0.1-1-ARCH #1 SMP PREEMPT Wed Apr 29 12:00:26 CEST 2015 x86_64 GNU/Linux
PCI设备
lspci -k 02:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe DeviceName: Roma Ralink RT3290LE 802.11bgn 1x1 Wi-Fi Adapter Subsystem: Hewlett-Packard Company Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter Kernel driver in use: rt2860 Kernel modules: rt2800pci, rt3290sta 02:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth Subsystem: Hewlett-Packard Company Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter
内核模块
lsmod | grep -i bluetooth bluetooth 438272 6 bnep,btusb rfkill 24576 6 cfg80211,hp_wmi,bluetooth crc16 16384 2 ext4,bluetooth
蓝牙相关的日志消息
dmesg | grep -i bluetooth [ 89.576936] Bluetooth: Core ver 2.20 [ 89.576970] Bluetooth: HCI device and connection manager initialized [ 89.576977] Bluetooth: HCI socket layer initialized [ 89.576982] Bluetooth: L2CAP socket layer initialized [ 89.576991] Bluetooth: SCO socket layer initialized [ 89.587071] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 89.587082] Bluetooth: BNEP filters: protocol multicast [ 89.587094] Bluetooth: BNEP socket layer initialized
设备FS:
ls /dev | grep hci vhci
请注意,系统日志中多次提及 WiFi/蓝牙控制器:
搜索 RT3290 会出现重复的错误消息,例如
dmesg | grep rt3290 RT3290_AsicTxAlcGetAutoAgcOffset: Incorrect desired TSSI or current TSSI
搜索“RT28xx”给出
dmesg | grep rt28 gives: [ 9.810624] register rt2860 [ 16.610829] <==== rt28xx_init, Status=0
答案1
检查您的卡是否被硬或软阻止(与 linux 无关):
- 检查您是否在 BIOS 中打开了蓝牙
- 检查您是否有用于关闭蓝牙的硬件密钥(有时称为“飞行模式”或“离线模式”)
检查您是否安装了 rt3290 驱动程序。目前它不在内核模块中(如果没有改变)
find /lib/modules/$(uname -r) -name "ralink*" | less
你可以用或 用 来搜索它modinfo rt3290
- 如果你有
modinfo: ERROR: Module rt3290 not found.
你应该安装它 - ubuntu 的示例安装指南:https://askubuntu.com/questions/924632/rt3290-wifi-not-listing-connections-in-ubuntu-gnome-16-04
答案2
根据这个问题在 AskUbuntu.SE 上,这张卡似乎需要rtbth
司机用于蓝牙支持。
您的蓝牙适配器出现在列表中这一事实lspci
表明它是基于 PCI(e) 的适配器,而不是基于 USB 的适配器。由于lspci -k
无法识别适配器蓝牙功能所使用的驱动程序,因此强烈建议当前未加载正确的蓝牙硬件驱动程序。
我可以在您的中识别的唯一蓝牙硬件驱动程序lsmod | grep -i bluetooth
是btusb
,它仅涵盖基于 USB 的蓝牙适配器。模块bnep
等bluetooth
是通用蓝牙协议驱动程序,但您还需要适用于蓝牙适配器的正确硬件驱动程序。