Вопрос Невозможно заставить USB-геймпад работать в Ubuntu 12.04


Я пытаюсь получить дешевый геймпад для работы в Ubuntu 12.04, работающий на моем хромонике (используя chroot). После подключения геймпада dmesg показывает:

[ 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

Выход lsusb:

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

У меня нет /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

Есть идеи?

Изменить: В случае, если это помогает, вот что я вижу в 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: Здесь вывод lsusb -v (раздел для геймпада)

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


происхождения




ответы:


Драйверы DragonRise используют модуль hid_dr, который можно загрузить с помощью modprobe hid_dr, Если модуль недоступен, его необходимо скомпилировать, включив HID_DRAGONRISE (в menuconfig вы можете найти его у Device Drivers -> Поддержка HID -> Поддержка шины HID -> Специальные HID-драйверы -> Игровой контроллер DragonRise Inc.).

При загрузке модуля устройство будет правильно распознано и / dev / input / js0 будет создано.

[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





Другие, кроме js0 выглядит хорошо. Пытаться modprobe joydev и посмотрите, дает ли это вам /dev/input/js0, Если это не удается установить evtest а затем выполните:

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

пока вы не найдете свой геймпад. Опубликовать информацию, которая evtest печатает при запуске, так как когда что-то не удается обнаружить в качестве джойстика, возможно, что-то не так с именами кнопок.


1
2018-06-01 17:15



Спасибо за предложение grumbel, но я до сих пор не могу заставить его работать :( У меня возникла проблема с запуском modprobe joydev, но, похоже, он работает сейчас, когда я набираю команду, в которой он не дает ошибок или чего-то еще, поэтому я предполагаю, что он работает. После запуска этой команды я все еще не вижу js0 под / dev / input, поэтому я сделал некоторое чтение, и было предложено запустить MAKEDEV js, и это создало кучу js, но все равно не работает Любые другие предложения? TIA! - user163542
BTW Я запускал evtest / dev / input / event0-5, и каждый из них пытался нажимать кнопки на геймпаде и все равно ничего. - user163542
См. Раздел «Редактирование 2» выше для подробного вывода из lsusb -v - user163542
Проверьте выход dmesg после того, как вы включили геймпад, он должен дать вам некоторое представление о том, что делает ядро ​​с ним. Что касается evtest, проверьте имя устройства, которое напечатано в верхней части evtest вывода, который должен сказать вам, что является вашим геймпадом, показать, что evtest печать. Или, если это не работает, отключите геймпад и подключите его обратно, в зависимости от того, что /dev/input/eventX файл исчезает и снова появляется ваш геймпад. - Grumbel
dmesg просто регистрирует USB-устройство, которое подключено и удалено, а не слишком подробно. / dev / input / eventX файлы не меняются при подключении / удалении - всегда одно и то же событиеX там. Я отказался и купил другой геймпад USB (этот amazon.com/gp/aw/d/B0034ZOAO0), и этот работает ОТЛИЧНО :) Как только я подключаю его в js0, появляется под / dev / input, и тонны полезной информации появляются в dmesg, и геймпад распознается через os и во всех моих играх. просто дайте другому геймпаду моему брату, он все равно стоил мне 5 баксов :) - user163542