tl;dr:为什么 Linux 无法检测到我的蓝牙 X-Box 控制器?
我的系统:
全新 X-Box 型号 1914 控制器,配有原始固件和新电池。
带有 vanilla 内核的最新 Arch Linux:
$ uname --kernel-name --kernel-release --kernel-version --machine --operating-system Linux 5.10.9-arch1-1 #1 SMP PREEMPT Tue, 19 Jan 2021 22:06:06 +0000 x86_64 GNU/Linux
Targus 品牌的 Broadcom USB 蓝牙适配器:
$ lsusb | grep -i bluetooth Bus 001 Device 004: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0 Bus 001 Device 005: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
我做了什么:
截至 2021 年 1 月 24 日安装了最新的 xpadneo 驱动程序:
$ pacman --query xpadneo-dkms-git xpadneo-dkms-git 0.9.r16.g2850d4d-1
已安装蓝牙适配器的最新固件:
$ pacman --query broadcom-bt-firmware-git broadcom-bt-firmware-git 12.0.1.1105_p3.r0.g68a7a8a-1
禁用增强重传模式:
$ cat /sys/module/bluetooth/parameters/disable_ertm Y
重启后
dmesg
显示固件已更新:$ sudo dmesg --notime | grep BCM20702A Bluetooth: hci0: BCM20702A1 (001.002.014) build 1764 Bluetooth: hci0: BCM20702A1 'brcm/BCM20702A1-0a5c-21e8.hcd' Patch Bluetooth: hci0: BCM20702A1 (001.002.014) build 1764
手动加载xpadneo内核驱动:
$ sudo modprobe xpad $ lsmod |grep xpad xpad 40960 0 ff_memless 20480 1 xpad
打开 X-Box 控制器电源并启用蓝牙发现模式(控制器上的“X”图标比开机时闪烁得更快)。
进行了蓝牙扫描并列出了
bluetoothctl
.
我期望发生的情况:扫描一段时间后,控制器应该显示在设备列表中。
实际发生的情况:尽管出现了其他三个设备,但控制器没有出现。
GNOME 蓝牙设置对话框也是如此:显示其他设备,但不显示 X-Box 控制器。
还尝试过:
已验证SDL 2.0.14 已安装:
$ pacman --query sdl2 sdl2 2.0.14-1
环境
Privacy = device
在 /etc/bluetooth/main.conf 中并重新启动蓝牙服务。手动加载hid-xpadneo内核模块:
$ sudo modprobe hid-xpadneo $ lsmod |grep xpad xpad 40960 0 hid_xpadneo 24576 0 ff_memless 20480 2 xpad,hid_xpadneo
答案1
罪魁祸首ControllerMode = bredr
在 /etc/bluetooth/main.conf 中,我有放到解决不相关的蓝牙问题。