通过蓝牙使用 DualShock 4 和 DualSense 控制器

通过蓝牙使用 DualShock 4 和 DualSense 控制器

由于我还没有成功unix stackexchange,我在这里试试。也许我很不耐烦,也许这不是寻求帮助的好方法,请随时告诉我!

一段时间以来,我一直使用 Playstation DualShock 4 控制器通过蓝牙在我的 Linux Box 上玩游戏。有关该盒子的详细信息:

  • 硬件:Asrock Beebox N3150
  • 操作系统:Ubuntu Server 20.04.3
  • 软件:Kodi + Retroarch

现在我得到了一个 DualSense 控制器。我可以通过蓝牙将其配对,以便以与 DS4 相同的方式使用它。如果我先断开 DualSense 控制器,我仍然可以使用 DS4。但我无法让 2 个控制器同时工作。

我尝试过的:

  • 在另一台计算机上测试同样的事情(也是基于 Ubuntu 20.04)=> 它有效,我可以在 Retroarch 上玩多人游戏
  • 测试在机器上安装较新的内核,即 5.13 内核(通过 HWE 进行安装,如上所述)这里)以获得索尼支持的官方 hid_playstation 驱动程序 => 它没有帮助,尽管我确保我使用的是 DualSense 的正确驱动程序
  • 首先使用 USB 连接进行测试以授权设备,然后通过蓝牙连接 => 没有改善
  • 使用一个控制器通过蓝牙进行测试,另一个通过 USB 进行测试 => 可以正常工作

我的怀疑(假设 - 我可能错了):

  • 问题可能与蓝牙连接无关。我曾经bluetoothctl配对过我的设备,配对过程中没有遇到任何问题。blueoothctl告诉我设备已配对,设备上的 LED 从闪烁变为固定颜色
  • 问题可能与驱动程序有关,或者与与设备通信相关的任何其他问题有关:当第二个控制器(DualSense 或 DS4)连接时,它会保持固定颜色(DS4 为灰色,DualSense 为蓝色)一段时间(通常少于 1 分钟),然后关闭。所以我猜这意味着它是蓝牙连接的,但过了一段时间后它没有得到它想要的答案。

有人能帮我解决这个问题吗?我可以提供所需的任何日志,并在 5.4 和 5.13 内核之间来回切换(但我不确定是否有必要,因为在 5.4 上每次只能运行一个控制器)。

更新:为了确保问题与硬件无关,我购买了一个外部蓝牙 USB 适配器:TP-link UB500。我很惊讶地发现它开箱即用:我必须安装一个非常新的内核(>= 5.15.4),如上所述这里所以我选择了本教程并安装了 5.15.13。下载所需的固件文件后,我可以在新内核上启动,然后……回到了同一点:我可以将我的 DS4 和 DualSense 与我的新蓝牙适配器配对,但只有第一个连接的会产生一些日志/var/log/kern.log并被识别为输入设备(尽管第二个是蓝牙连接的)。我还尝试禁用和列入黑名单的新 hid_playstation 驱动程序,但没有任何区别。所以我仍然被这个问题困扰:

  • 根据 bluetoothctl 连接第二个设备
  • 内核、Xorg 或最终用户应用程序都看不到第二个设备
  • /sys/bus/hid/devices未在或中创建第二台设备的配置/sys/devices/virtual/misc/uhid

相关内容