蓝牙:找不到默认控制器

蓝牙:找不到默认控制器

我无法获取bluetoothctlhciconfig显示有关我的蓝牙控制器的任何信息,也无法让我的计算机识别附近的蓝牙设备。当我输入时power onbluetoothctl它显示

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

  1. 检查您的卡是否被硬或软阻止(与 linux 无关):

    • 检查您是否在 BIOS 中打开了蓝牙
    • 检查您是否有用于关闭蓝牙的硬件密钥(有时称为“飞行模式”或“离线模式”)
  2. 检查您是否安装了 rt3290 驱动程序。目前它不在内核模块中(如果没有改变)

答案2

根据这个问题在 AskUbuntu.SE 上,这张卡似乎需要rtbth司机用于蓝牙支持。

您的蓝牙适配器出现在列表中这一事实lspci表明它是基于 PCI(e) 的适配器,而不是基于 USB 的适配器。由于lspci -k无法识别适配器蓝牙功能所使用的驱动程序,因此强烈建议当前未加载正确的蓝牙硬件驱动程序。

我可以在您的中识别的唯一蓝牙硬件驱动程序lsmod | grep -i bluetoothbtusb,它仅涵盖基于 USB 的蓝牙适配器。模块bnepbluetooth是通用蓝牙协议驱动程序,但您还需要适用于蓝牙适配器的正确硬件驱动程序。

相关内容