(20.04.3 LTS) lsusb 和 jstest 可以检测到 USB 控制器,但 jstest-gtk 或其他程序无法检测到

(20.04.3 LTS) lsusb 和 jstest 可以检测到 USB 控制器,但 jstest-gtk 或其他程序无法检测到

lsusb输出:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 04f2:b5a9 Chicony Electronics Co., Ltd PDP Wired Controller for Xbox One - Raven Black
Bus 001 Device 004: ID 8087:0a2a Intel Corp. 
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 04f3:0755 Elan Microelectronics Corp. 
Bus 001 Device 007: ID 0e6f:02a7 Logic3 PDP Wired Controller for Xbox One - Raven Black
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ls -l /dev/input/输出:

total 0
drwxr-xr-x 2 root    root       160 févr.  4 13:24 by-id
drwxr-xr-x 2 root    root       340 févr.  4 13:24 by-path
crw-rw---- 1 root    input   13, 64 févr.  4 13:12 event0
crw-rw---- 1 root    input   13, 65 févr.  4 13:12 event1
crw-rw---- 1 root    input   13, 74 févr.  4 13:12 event10
crw-rw---- 1 root    input   13, 75 févr.  4 13:12 event11
crw-rw---- 1 root    input   13, 76 févr.  4 13:12 event12
crw-rw---- 1 root    input   13, 77 févr.  4 13:12 event13
crw-rw---- 1 root    input   13, 78 févr.  4 13:12 event14
crw-rw---- 1 root    input   13, 79 févr.  4 13:12 event15
crw-rw---- 1 root    input   13, 80 févr.  4 13:12 event16
crw-rw---- 1 root    input   13, 81 févr.  4 13:12 event17
crw-rw---- 1 root    input   13, 82 févr.  4 13:12 event18
crw-rw---- 1 root    input   13, 83 févr.  4 13:12 event19
crw-rw---- 1 root    input   13, 66 févr.  4 13:12 event2
crw------- 1 gamepad gamepad 13, 84 févr.  4 13:24 event20
crw-rw---- 1 root    input   13, 67 févr.  4 13:12 event3
crw-rw---- 1 root    input   13, 68 févr.  4 13:12 event4
crw-rw---- 1 root    input   13, 69 févr.  4 13:12 event5
crw-rw---- 1 root    input   13, 70 févr.  4 13:12 event6
crw-rw---- 1 root    input   13, 71 févr.  4 13:12 event7
crw-rw---- 1 root    input   13, 72 févr.  4 13:12 event8
crw-rw---- 1 root    input   13, 73 févr.  4 13:12 event9
crw------- 1 gamepad gamepad 13,  0 févr.  4 13:24 js0
crw-rw---- 1 root    input   13, 63 févr.  4 13:12 mice
crw-rw---- 1 root    input   13, 32 févr.  4 13:12 mouse0
crw-rw---- 1 root    input   13, 33 févr.  4 13:12 mouse1
crw-rw---- 1 root    input   13, 34 févr.  4 13:12 mouse2
crw-rw---- 1 root    input   13, 35 févr.  4 13:12 mouse3

编辑: udevadm info /dev/input/js0输出:

P: /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/input/input29/js0
N: input/js0
L: 0
S: input/by-path/pci-0000:00:14.0-usb-0:2:1.0-joystick
S: input/by-id/usb-Performance_Designed_Products_PDP_Wired_Controller_for_Xbox_One_-_Raven_Black_0000A7133672DBD1-joystick
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/input/input29/js0
E: DEVNAME=/dev/input/js0
E: MAJOR=13
E: MINOR=0
E: SUBSYSTEM=input
E: USEC_INITIALIZED=757739042
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_VENDOR=Performance_Designed_Products
E: ID_VENDOR_ENC=Performance\x20Designed\x20Products
E: ID_VENDOR_ID=0e6f
E: ID_MODEL=PDP_Wired_Controller_for_Xbox_One_-_Raven_Black
E: ID_MODEL_ENC=PDP\x20Wired\x20Controller\x20for\x20Xbox\x20One\x20-\x20Raven\x20Black
E: ID_MODEL_ID=02a7
E: ID_REVISION=010f
E: ID_SERIAL=Performance_Designed_Products_PDP_Wired_Controller_for_Xbox_One_-_Raven_Black_0000A7133672DBD1
E: ID_SERIAL_SHORT=0000A7133672DBD1
E: ID_TYPE=generic
E: ID_BUS=usb
E: ID_USB_INTERFACES=:ff47d0:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=xpad
E: ID_PATH=pci-0000:00:14.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_0
E: ID_FOR_SEAT=input-pci-0000_00_14_0-usb-0_2_1_0
E: DEVLINKS=/dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.0-joystick /dev/input/by-id/usb-Performance_Designed_Products_PDP_Wired_Controller_for_Xbox_One_-_Raven_Black_0000A7133672DBD1-joystick
E: TAGS=:snap_retroarch_retroarch:

在运行 64 位 20.04.3 LTS 的 HP x2 Detachable 上,可以jstest检测并响应输入而没有任何问题。

按照指南,我尝试通过 dkms-hid-nintendo 和 joycond 获得 Joy-Con 支持。为了让 Joy-Cons 正常工作,我花了太多精力来修改 udev 规则和 moltengamepad(我没有删除任何不存在的东西)。但失败了,所以我删除了 joycond 和模块。后来我通过 apt 升级了我的系统。

我应该补充一点,我在尝试让 Joy-Cons 工作的过程中也安装了 Steam(因为 Steam 显然为 Joy-Con 功能实现了 udev 规则),并且几个小时后我的脚不小心撞到了电脑。

从那时起,似乎除了 lsusb 和 jstest 之外,没有任何东西可以检测到我的 USB 控制器,即使在删除 Steam 之后也是如此。USB 鼠标确实可以正常工作。

另外,可能与此有关,尽管声音设置中的仪表显示正在输出声音,但我似乎也无法再从内置扬声器中发出任何声音。蓝牙和 HDMI 音频输出也可以工作。

我有理由相信该问题可能与 udev 有关。

在此先感谢您的时间。

编辑:我使用之前的内核启动,内置扬声器可以正常工作,但游戏手柄问题仍然存在。我猜想声音问题与新内核有关。

  • 更新:实时 USB 上不存在这两个问题。请参阅评论。
  • 更新:重新安装内核并重新启动都无法解决任何问题,udev 也是如此。我将重新安装我的系统,但保留这个问题,以防万一答案可能对遇到此问题的人有用。
  • 更新:重新安装并不能解决任何问题。Retroarch 现在只能检测启动后插入的输入设备,Retroarch 内核也是如此。内置扬声器可与旧内核配合使用。/home/ 保持不变。

答案1

已彻底擦除并重新安装 20.04.3。

jstest-gtk 可检测控制器。我拥有的另一个 20.04.3 系统也出现了 Retroarch 问题,因此这似乎是 Retroarch 当前版本本身(或至少是 snap 版本)的一个错误。新内核上仍然存在声音问题,但我始终可以使用旧内核。

总而言之,这可能是两个不相关的错误的组合,与我的乱搞无关。

相关内容