Câu hỏi Không thể nhận được gamepad USB để làm việc trong Ubuntu 12.04


Tôi đang cố gắng để có được một gamepad usb giá rẻ để làm việc theo Ubuntu 12.04 chạy trên chromebook cánh tay của tôi (sử dụng chroot). Sau khi cắm vào gamepad, dmesg hiển thị:

[ 5879.411510] usb 2-1: new low-speed USB device number 8 using exynos-ohci
[ 5879.610530] usb 2-1: New USB device found, idVendor=0079, idProduct=0011
[ 5879.610560] usb 2-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 5879.610584] usb 2-1: Product: USB Gamepad

Đầu ra của lsusb là:

Bus 001 Device 003: ID 0424:3503 Standard Microsystems Corp.
Bus 002 Device 008: ID 0079:0011 DragonRise Inc. Gamepad
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 2232:1037

Tôi không có /dev/input/ls0 ls -l /dev/input:

drwxr-xr-x 2 root root    120 May 31 17:24 by-path
crw-rw---- 1 root  222 13, 64 May 31 17:24 event0
crw-rw---- 1 root  222 13, 65 May 31 17:24 event1
crw-rw---- 1 root  222 13, 66 May 31 17:24 event2
crw-rw---- 1 root  222 13, 67 May 31 17:24 event3
crw-rw---- 1 root  222 13, 68 May 31 17:24 event4
crw-rw---- 1 root  222 13, 69 May 31 17:24 event5

Bất kỳ ý tưởng?

Chỉnh sửa: Trong trường hợp nó giúp đây là những gì tôi thấy trong các thiết bị usb:

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0079 ProdID=0011 Rev=01.06
S:  Product=USB Gamepad 
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

Edit2: Đây là đầu ra của lsusb -v (phần dành cho gamepad)

Bus 002 Device 002: ID 0079:0011 DragonRise Inc. Gamepad
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0079 DragonRise Inc.
  idProduct          0x0011 Gamepad
  bcdDevice            1.06
  iManufacturer           0 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode           33 US
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     101
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10

4
2018-06-01 06:40


gốc




Các câu trả lời:


DragonRise gamepad sử dụng mô-đun hid_dr, có thể được tải bằng modprobe hid_dr. Nếu mô-đun không có sẵn, bạn phải biên dịch nó bằng cách bật HID_DRAGONRISE tùy chọn hạt nhân (trong menuconfig, bạn có thể tìm thấy nó tại Device Drivers -> HID hỗ trợ -> HID bus hỗ trợ -> HID trình điều khiển đặc biệt -> DragonRise Inc. game controller).

Với mô-đun được nạp, thiết bị sẽ được nhận dạng đúng và / dev / input / js0 sẽ được tạo.

[19229.563797] usb 3-3: new low-speed USB device number 11 using xhci_hcd
[19229.706682] usb 3-3: New USB device found, idVendor=0079, idProduct=0011
[19229.706688] usb 3-3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[19229.706692] usb 3-3: Product: USB Gamepad 
[19229.706915] usb 3-3: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[19229.710302] input: USB Gamepad  as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/0003:0079:0011.000C/input/input13
[19229.710638] dragonrise 0003:0079:0011.000C: input,hidraw0: USB HID v1.10 Joystick [USB Gamepad ] on usb-0000:00:14.0-3/input0

3
2017-09-08 22:38





Khác thì thiếu js0 nó có vẻ tốt. Thử modprobe joydev và xem liệu điều đó mang đến cho bạn một /dev/input/js0. Nếu không cài đặt được evtest và sau đó thực hiện:

evtest /dev/input/event1
evtest /dev/input/event2
evtest /dev/input/event3
...

cho đến khi bạn đã tìm thấy gamepad của bạn. Đăng thông tin evtest in khi khởi động, như khi một cái gì đó không thành công với phát hiện nó như phím điều khiển, có lẽ có điều gì đó sai trái với các tên nút.


1
2018-06-01 17:15



Cảm ơn cho đề nghị grumbel nhưng tôi vẫn không thể làm cho nó hoạt động: (Tôi đã gặp rắc rối khi chạy modprobe joydev nhưng nó có vẻ đang hoạt động, khi tôi gõ lệnh nó không đưa ra lỗi hoặc bất cứ điều gì tôi chỉ được trả lại Sau khi chạy lệnh đó tôi vẫn không thấy js0 dưới / dev / input vì vậy tôi đã đọc một số và nó đã được đề xuất để chạy MAKEDEV js và điều này đã tạo ra một loạt các js nhưng vẫn không hoạt động Bất kỳ đề xuất nào khác? TIA! - user163542
BTW Tôi chạy evtest / dev / input / event0-5 và mỗi lần thử nhấn các nút trên gamepad và vẫn không có gì. - user163542
Xem Chỉnh sửa 2 ở trên để biết kết quả chi tiết từ lsusb -v - user163542
Kiểm tra đầu ra của dmesg sau khi bạn cắm vào gamepad, nó sẽ cho bạn một số gợi ý về hạt nhân đang làm gì với nó. Như cho evtest, kiểm tra tên thiết bị được in ở đầu evtest đầu ra, điều đó sẽ cho bạn biết đó là gamepad của bạn, hiển thị những gì evtest bản in. Hoặc nếu cách đó không hiệu quả, hãy rút phích cắm của gamepad và cắm lại vào /dev/input/eventX tập tin biến mất và xuất hiện lại là gamepad của bạn. - Grumbel
dmesg chỉ ghi nhật ký thiết bị USB đang được cắm vào và tháo ra, không quá chi tiết. Các tệp / dev / input / eventX không thay đổi khi nó được kết nối / xóa - luôn luôn cùng eventX đó. Tôi đã từ bỏ và mua một gamepad usb khác (cái này amazon.com/gp/aw/d/B0034ZOAO0) và cái này hoạt động hoàn hảo :) Ngay sau khi tôi cắm nó vào js0 hiển thị dưới / dev / input và tấn thông tin hữu ích xuất hiện trong dmesg và gamepad được nhận diện trên toàn bộ hệ điều hành và trong tất cả các trò chơi của tôi. chỉ cần cung cấp cho các gamepad khác để anh trai của tôi, nó chỉ chi phí cho tôi 5 Bucks anyway :) - user163542