Linux 下的蓝牙都不能连接多个设备吗?

248 天前
 jwczjzl

RT

  1. 这个问题首次是在 LegionGo 的 Bazzite 上发现的, 当我连接两个 Pro Controller 时, 其中一个手柄会离线,连接的手柄状态灯乱闪, 离线的手柄不能重联(除非重启蓝牙服务).

  2. 而后我又在安装了 Pop!_OS 的联想 R9000P 2021 款机器上测试, 这次状态灯不闪了,但是断连情况还是存在, 只要我连接手柄,蓝牙鼠标也会断开(不重启蓝牙服务,所有断连的设备都不能重新连).

  3. 再后 LegionGo 上安装了 ChimeraOS 测试,结果和第二个测试一样.

附上断连后的部分蓝牙日志

Jan 07 20:55:46 marco systemd[1]: Started Bluetooth service.
Jan 07 20:55:46 marco bluetoothd[388]: Starting SDP server
Jan 07 20:55:46 marco bluetoothd[388]: Bluetooth management interface 1.14 initialized
Jan 07 20:58:35 marco bluetoothd[388]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
Jan 07 20:58:40 marco bluetoothd[388]: profiles/input/device.c:control_connect_cb() connect to DC:2C:26:F3:6D:65: Host is down (112)

  1. LegionGo 重装系统到 Windows11 后上述蓝牙问题都解决了.多设备愉快玩耍.

所以 :

  > 测试结果是  Arch Linux (ChimeraOS) , Ubuntu Linux (Pop!_OS) , Fedora Linux (Bazzite) 
  > 都对蓝牙多设备支持不好

只有 :

  > Windows 对蓝牙多设备完美支持 (Linux 游戏主机, Linux 专用设备除外)

请问各位大神有没有类似经历,可以给出解决办法...

附上硬件参数

LegionGo :

System:
  Host: legionjaygo Kernel: 6.7.9-204.fsync.fc39.x86_64 arch: x86_64 bits: 64
  Desktop: GNOME v: 45.4 Distro: Fedora Linux 39.20240319.0 (Silverblue)
Machine:
  Type: Tablet System: LENOVO product: 83E1 v: Legion Go 8APU1
Battery:
  ID-1: BATT charge: 43.5 Wh (84.6%) condition: 51.4/49.2 Wh (104.5%)
CPU:
  Info: 8-core model: AMD Ryzen Z1 Extreme bits: 64 type: MT MCP cache:L2 : 8 MiB
Graphics:
  Device-1: AMD Phoenix1 driver: amdgpu v: kernel
  Display: wayland server: X.Org v: 23.2.2 with: Xwayland v: 23.2.2
    compositor: gnome-shell driver: dri: radeonsi gpu: amdgpu
    resolution: 2560x1600~144Hz
  API: OpenGL v: 4.6 vendor: amd mesa v: 23.3.6 renderer: AMD Radeon
    Graphics (radeonsi gfx1103_r1 LLVM 17.0.6 DRM 3.57
    6.7.9-204.fsync.fc39.x86_64)
  API: Vulkan v: 1.3.275 drivers: N/A surfaces: xcb,xlib,wayland
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: AMD Rembrandt Radeon High Definition Audio driver: snd_hda_intel
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor driver: snd_pci_ps
  Device-3: AMD Family 17h/19h HD Audio driver: snd_hda_intel
  API: ALSA v: k6.7.9-204.fsync.fc39.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.0.4 status: active
Network:
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    driver: mt7921e
  IF: wlp1s0 state: up mac: a8:3b:76:0e:0c:f5
  IF-ID-1: tailscale0 state: unknown speed: -1 duplex: full mac: N/A
Bluetooth:
  Device-1: Foxconn / Hon Hai Wireless_Device driver: btusb type: USB
  Report: btmgmt ID: hci0 state: up address: A8:3B:76:0E:0C:F6 bt-v: 5.2

R9000P :

System:
  Host: jaypopos Kernel: 6.6.10-76060610-generic x86_64 bits: 64
    Desktop: GNOME 42.5 Distro: Pop!_OS 22.04 LTS
Machine:
  Type: Laptop System: LENOVO product: 82JQ v: Lenovo Legion R9000P2021H
Battery:
  ID-1: BAT0 charge: 75.5 Wh (98.1%) condition: 77.0/80.0 Wh (96.2%)
CPU:
  Info: 8-core model: AMD Ryzen 7 5800H with Radeon Graphics bits: 64
    type: MT MCP cache: L2: 4 MiB
Graphics:
  Device-1: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] driver: nvidia
    v: 550.54.14
  Device-2: AMD Cezanne driver: amdgpu v: kernel
Audio:
  Device-1: NVIDIA driver: snd_hda_intel
  Device-2: AMD Raven/Raven2/FireFlight/Renoir Audio Processor driver: N/A
  Device-3: AMD Family 17h HD Audio driver: snd_hda_intel
  Sound Server-1: ALSA v: k6.6.10-76060610-generic running: yes
  Sound Server-2: PipeWire v: 1.0.3 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet : r8169
  Device-2: Intel Wi-Fi 6 AX200 : iwlwifi
Bluetooth:
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb
  Report: hciconfig ID: hci0 state: up address: 38:FC:98:67:9B:BF bt-v: 3.0
1868 次点击
所在节点    Linux
12 条回复
liaojl
248 天前
以前在 fedora, ubuntu, popos 都能正常同时连蓝牙鼠标和键盘,和 window 下没什么区别。
wuruxu
248 天前
现在我的 debian testing 是可以同时连接蓝牙鼠标和蓝牙耳机的,并且正常使用
jwczjzl
248 天前
@liaojl @wuruxu 键盘和鼠标一起连接没问题,我连接了两个 switch pro controller 后其中一个 手柄就掉线了
严重的时候还会导致键盘或者鼠标掉线
wuruxu
248 天前
@jwczjzl 我看 ‘Host is down (112)', 应该是 bluetoothd 这个进程都 crash 了吧?
jwczjzl
248 天前
@wuruxu 指的是 pro controller 这个设备 (host) down 了
jwczjzl
248 天前
@jwczjzl 当然我这蓝牙的报错日志是临时在网上找的 我的设备现在没在身边
lusi1990
248 天前
没遇到过两个手柄的情况,回家试试
jwczjzl
248 天前
@lusi1990 我也是才发现的,不知道和蓝牙驱动是不是有关系
txwdcom
248 天前
或许试试 deepin 有奇效?
ChaosAttractor
247 天前
linux 内核的 xpad 驱动不支持蓝牙连接手柄的。。
你用的哪个蓝牙手柄驱动,一般用 xpadneo 会比较多,然后 xbox 的 2.4g 接收器一般会用内核态的 xone
任天堂的手柄的话,还没有普及内核态驱动,你看看你用的哪个
jwczjzl
240 天前
@ChaosAttractor 用的是 switch 的 pro
jwczjzl
240 天前
@txwdcom deepin 界面很垃圾

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1026028

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX