Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: lubuntu не реагирует на геймпад  (Прочитано 8918 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн d.evgenich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
lubuntu не реагирует на геймпад
« : 03 Октября 2018, 00:11:34 »
Всем доброго времени суток,
столкнулся со следующей проблемой:
есть ноутбук Dell Inspiron-5565, на нём установлена lubuntu 16.04.5 LTS, хотел поиграть в игры через эмулятор, подключил джойстик Defender Archer, система его распознала, он определяется как Microsoft XBOX 360 pad (точно так же он определяется в Windows если что), но на нажатия кнопок нет совершенно никакой реакции ни в эмуляторе, ни в steam, ни в утилите jstest-gtk.
Установил утилиту joystick в ней геймпад тоже распознаётся, но так же нет никакой реакции.


sudo evtest
[sudo] пароль для evgenich:
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Sleep Button
/dev/input/event2: Lid Switch
/dev/input/event3: Power Button
/dev/input/event4: AT Translated Set 2 keyboard
/dev/input/event5: Video Bus
/dev/input/event6: DELL Wireless hotkeys
/dev/input/event7: Dell WMI hotkeys
/dev/input/event8: DELL076B:00 06CB:7E92 Touchpad
/dev/input/event9: HDA ATI HDMI HDMI/DP,pcm=3
/dev/input/event10: Integrated Webcam: Integrated W
/dev/input/event11: HD-Audio Generic Headphone Mic
/dev/input/event12: Bluetooth Mouse
/dev/input/event13: Microsoft X-Box 360 pad
ls -l /dev/input/
итого 0
drwxr-xr-x  2 root root     100 окт  3 00:02 by-id
drwxr-xr-x  2 root root     180 окт  3 00:02 by-path
crw-rw----  1 root input 13, 64 окт  2 23:42 event0
crw-rw----  1 root input 13, 65 окт  2 23:42 event1
crw-rw----  1 root input 13, 74 окт  2 23:42 event10
crw-rw----  1 root input 13, 75 окт  2 23:42 event11
crw-rw----  1 root input 13, 76 окт  2 23:42 event12
crw-rw----+ 1 root input 13, 77 окт  3 00:02 event13
crw-rw----  1 root input 13, 66 окт  2 23:42 event2
crw-rw----  1 root input 13, 67 окт  2 23:42 event3
crw-rw----  1 root input 13, 68 окт  2 23:42 event4
crw-rw----  1 root input 13, 69 окт  2 23:42 event5
crw-rw----  1 root input 13, 70 окт  2 23:42 event6
crw-rw----  1 root input 13, 71 окт  2 23:42 event7
crw-rw----  1 root input 13, 72 окт  2 23:42 event8
crw-rw----  1 root input 13, 73 окт  2 23:42 event9
crw-rw-r--+ 1 root input 13,  0 окт  3 00:02 js0
crw-rw----  1 root input 13, 63 окт  2 23:42 mice
crw-rw----  1 root input 13, 32 окт  2 23:42 mouse0
crw-rw----  1 root input 13, 33 окт  2 23:42 mouse1

Я уже давно знаю, что lxde оболочка специфичная, некоторые вещи, которые автоматически настроены в той же unity в lxde иногда приходится допиливать вручную, однако в debian с той же lxde (на стационарном ПК) джойстик заработал без дополнительных действий сразу после подключения.
« Последнее редактирование: 03 Октября 2018, 00:21:15 от d.evgenich »

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #1 : 03 Октября 2018, 00:40:39 »
d.evgenich, может firmware нужен какой особый? Может, джойстик адекватно работает только в одном из режимов (там как правило предусмотрены "аналоговый контроллер" и еще какая-то муть - джойстика под руками нет). Имеет смысл под debian посмотреть какой драйвер соответствует данному usb-устройству, сравнить с тем, что видите в lubuntu. Если отличается - переподвязать (если устройство не использует драйвера, то просто подгрузить нужный модуль через modprobe, позвав его по имени; если использует некий иной модуль, - то действовать по аналогии с описанным хотя бы здесь, сперва отвязав от неправильного драйвера, а после - подгрузив правильный и подвязав к нему).
Про драйвер: при подключенном джойстике в debian, а затем и в lubuntu выполните usb-devicesВ ответе будет цепочка примерно таких сообщений:
Цитировать
T:  Bus=01 Lev=01 Prnt=01 Port=10 Cnt=02 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=04f2 ProdID=b5a7 Rev=36.01
S:  Manufacturer=SunplusIT Inc
S:  Product=Chicony USB 2.0 Camera
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I:  If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
На что обращать внимание: выделенное жирным - применяемый драйвер; выделенное подчеркнутым отмечены VID и PID. Если Вы свой джойстик найдете в выхлопе lsusb, то там эти два значения будут фигурировать. В рассматриваемом примере для моей веб-камеры:lsusb
Bus 001 Device 004: ID [b]04f2:b5a7[/b] Chicony Electronics Co., Ltd
Эти VID и PID позволят Вам однозначно идентифицировать устройство. Обязательно проверьте что в debian и  в lubuntu эти данные (как VID так и PID) выдаются одни и те же (иногда устройства USB бывают составными, и при определенных обстоятельствах PID может меняться, - надо убедиться что такого в данном случае не происходит). Словом, определите указанное в обеих системах - ситуация может стать значительно более понятной.
« Последнее редактирование: 03 Октября 2018, 00:44:09 от zg_nico »
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн d.evgenich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #2 : 06 Октября 2018, 13:37:15 »
Спасибо за подробную информацию, действительно увидел разницу в выводах usb-devices на lubuntu и debian.
Вот вывод из lubuntu
T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  6 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=045e ProdID=028e Rev=01.10
S:  Manufacturer=SHANWAN
S:  Product=Controller
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=xpad

В Debian же Vendor=20bc ProdID=5500, Driver=usbhid

Опираясь на Ваши тексты я проделал следующие манипуляции:
1. Удалил модуль xpad
sudo rmmod xpad2. Модуль usbhid уже был у меня подключен и я так понял что мне осталось только "передать" ему Vendor и ProdID
sudo su
cd  /sys/bus/usb/drivers/usbhid/
echo 045e 028e > new_id
exit

И это не сработало, т.е. я убедился, что в файле new_id появилась строчка, но по выводу usb-devices я теперь получаю
T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  6 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=045e ProdID=028e Rev=01.10
S:  Manufacturer=SHANWAN
S:  Product=Controller
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=(none)

Не понимаю, что я упустил.

Стоит также сказать, что я наверное сделал нехорошую вещь: через modinfo usbhid выяснил, что у модуля есть опция quirks, как она работает до конца не разобрался и перед тем как писать данные Vendor и ProdID в new_id попробовал вбить их через этот самый quirks, а теперь меня терзают сомнения.

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #3 : 06 Октября 2018, 13:51:37 »
Вот вывод из lubuntu
еще бы вывод из debian поглядеть...
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн d.evgenich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #4 : 06 Октября 2018, 14:07:51 »
чуть попозже смогу предоставить, по существу я уже сказал, что используется драйвер usbhid а не xpad и само устройство в debian определяется как "Android gamepad"

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #5 : 06 Октября 2018, 14:55:53 »
Удалил модуль xpad
Ну и здесь. Я не предлагал удалять модуль - я лишь предложил выполнить отвязку от него устройства. Выполняем ls /sys/module/xpad/drivers/usb\:xpadВ выводе видим символьную ссылку - наш геймпад (привожу пример вывода, символьная ссылка выделена жирным):
Цитировать
1-2:1.0  bind  module  new_id  remove_id  uevent  unbind
Чтобы выполнить отвязку устройства 1-2:1.0 от модуля xpad следует выполнить:sudo su
cd /sys/module/xpad/drivers/usb\:xpad
echo 1-2:1.0 > unbind
exit
Где 1-2:1.0 - выявленная ранее по тексту символьная ссылка (в Вашем случае будет своя; их может быть больше одной - надо в этом случае смотреть что за устройство за ссылкой скрывается). После этого в выводе ls /sys/module/xpad/drivers/usb\:xpadсимвольной ссылки, которая ведет к нашему геймпаду не будет, а в выводе usb-devices будем видеть заветное Driver=(none). По поводу выяснения что за устройство скрывается за ссылкой... Ранее мы с Вами определяли VID и PID геймпада. Допустим, имеем символьную ссылку 1-2:1.0. Проверяем вывод команды:cat /sys/module/xpad/drivers/usb\:xpad/1-2\:1.0/modaliasВ выхлопе видим длинную строку, в которой, если приглядеться, есть вхождения вида pXXXXvYYYY, так вот вместо XXXX в Вашем случае будет написано 045e, а вместо YYYY будет написано 028e (что-то типа "usb:v045ep028e...")
а теперь меня терзают сомнения
Вне зависимости от Ваших действий в данный момент времени - перезагрузка вернет все на свои места. Как только перезагрузитесь - применятся те модули ядра, которые система применяет автоматически, и будто ничего не делали. Так что экспериментировать можно смело.
по существу я уже сказал, что используется драйвер usbhid
Это-то понятно. Я лишь хотел убедиться, что все прочие фрагменты вывода usb-devices в обоих случаях идентичны, тем более что Vendor=20bc ProdID=5500 под debian (то есть устройство определилось иначе). Если это не так - могут быть подводные камни.
В любом случае, начал бы я с такого набора действий (>>> означает ввод команды, прочее - фрагменты ответов терминала):
#загрузились в lubuntu, вставили геймпад в порт usb
#Проверяем используемый модуль ядра:
>>> usb-devices
...
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=xpad
#Выполняем отвязку используемого модуля ядра:
>>> cd /sys/module/xpad/drivers/usb\:xpad
>>> ls
1-2:1.0 1-2:1.1 bind  module  new_id  remove_id  uevent  unbind
>>> sudo su
>>> echo 1-2:1.0 > unbind    #команда отвязки оборудования от модуля ядра xpad
>>> exit
>>> ls
bind  module  new_id  remove_id  uevent  unbind
>>> sudo modprobe usbhid  #если уже был подгружен - ничего не произойдет, если не подгружался - подгрузится
>>> cd  /sys/bus/usb/drivers/usbhid/
>>> ls
bind  module  new_id  remove_id  uevent  unbind
>>> sudo su
#С этого места, исходя из разных устройств, которые в разных системах, навскидку вырисовывается два варианта
#вариант 1:
>>> echo 045e 028e > new_id
>>> exit
>>> ls
1-2:1.0 1-2:1.1 bind  module  new_id  remove_id  uevent  unbind
>>> usb-devices
...
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=usbhid
#вариант 2:
>>> echo 20bc 5500 > new_id
>>> exit
>>> ls
1-2:1.0 1-2:1.1 bind  module  new_id  remove_id  uevent  unbind
>>> usb-devices
...
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=usbhid
Теоретически допускаю как работоспособность обоих вариантов, так и неработоспособность обоих вариантов; чтобы попробовать оба варианта следует после выявления неработоспособности первого выполнить перезагрузку, и далее, выполняя все команды по цепочке с самого начала, минуя "вариант 1" перейти к "вариант 2". Для понимания полноты картины вообще хочется видеть в lubuntu:
1. без вставленного геймпада lsusb
2. со вставленным геймпадом lsusb
3. после вставки геймпада dmesg | tail -n 20
4. после выполнения команды отвязки оборудования от модуля ядра xpad lsusb, dmesg | tail -n 20
5. после выполнения команды привязки оборудования (с обеими употребленными VID и PID): соответствующий сегмент usb-devices, ls /sys/bus/usb/drivers/usbhid/
Еще вариант: попробовать засунуть в blacklist драйвер xpad, перезагрузиться, подключить геймпад и посмотреть что происходит (определяется ли, как себя ведет, что написано в dmesg и в usb-devices).
еще вариант: создать правило для udev, которое вынудило бы ядро жестко и однозначно привязывать устройство с vid и pid к модулю ядра usbhid, после чего перезагрузиться и проверить реакцию на подключение геймпада.
Последние два варианта не исправляются перезагрузкой - поэтому про них пока пишу только вскользь.

Пользователь добавил сообщение 06 Октября 2018, 15:16:53:
Еще один момент: какая версия ядра в обеих рассматриваемых системах, и что происходит в debian после вставки геймпада:
1. в debianuname -rвставить геймпад и выполнить: dmesg | tail -n 202. в lubuntuuname -rВыводы прошу показать.
« Последнее редактирование: 06 Октября 2018, 15:16:53 от zg_nico »
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн d.evgenich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #6 : 07 Октября 2018, 22:12:16 »
Итак:
Вывод usb-devices на lubuntu (повтор для удобства)
T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  6 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=045e ProdID=028e Rev=01.10
S:  Manufacturer=SHANWAN
S:  Product=Controller
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=xpad

Вывод в debian
T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=20bc ProdID=5500 Rev=02.00
S:  Manufacturer=SHANWAN
S:  Product=Android Gamepad
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

Цитировать
Для понимания полноты картины вообще хочется видеть в lubuntu:
1. без вставленного геймпада lsusb

Bus 001 Device 004: ID 1bcf:2c01 Sunplus Innovation Technology Inc.
Bus 001 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 002: ID 0438:7900 Advanced Micro Devices, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 0cf3:e005 Atheros Communications, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Цитировать
2. со вставленным геймпадом lsusb

Bus 001 Device 004: ID 1bcf:2c01 Sunplus Innovation Technology Inc.
Bus 001 Device 008: ID 045e:028e Microsoft Corp. Xbox360 Controller
Bus 001 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 002: ID 0438:7900 Advanced Micro Devices, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 0cf3:e005 Atheros Communications, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Цитировать
3. после вставки геймпада dmesg | tail -n 20

[ 1766.556007] usbhid: probe of 1-1.3:1.0 failed with error -22
[ 1841.844943] input: Microsoft X-Box 360 pad as /devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input21
[ 2385.916298] usb 1-1.3: USB disconnect, device number 6
[ 2385.916414] xpad 1-1.3:1.0: xpad_try_sending_next_out_packet - usb_submit_urb failed with result -19
[ 2457.735232] usb 1-1.3: new full-speed USB device number 7 using ehci-pci
[ 2457.845649] usb 1-1.3: New USB device found, idVendor=2563, idProduct=0575
[ 2457.845655] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2457.845658] usb 1-1.3: Product: PS3/PC Gamepad
[ 2457.845660] usb 1-1.3: Manufacturer: SHANWAN
[ 2457.849970] input: SHANWAN PS3/PC Gamepad as /devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:2563:0575.0003/input/input22
[ 2457.850236] hid-generic 0003:2563:0575.0003: input,hidraw1: USB HID v1.10 Gamepad [SHANWAN PS3/PC Gamepad] on usb-0000:00:12.0-1.3/input0
[ 2458.025628] usb 1-1.3: USB disconnect, device number 7
[ 2458.567165] usb 1-1.3: new full-speed USB device number 8 using ehci-pci
[ 2458.678648] usb 1-1.3: New USB device found, idVendor=045e, idProduct=028e
[ 2458.678654] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2458.678657] usb 1-1.3: Product: Controller
[ 2458.678660] usb 1-1.3: Manufacturer: SHANWAN
[ 2458.679113] usbhid 1-1.3:1.0: can't add hid device: -22
[ 2458.679134] usbhid: probe of 1-1.3:1.0 failed with error -22
[ 2458.679309] input: Microsoft X-Box 360 pad as /devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input23

Цитировать
4. после выполнения команды отвязки оборудования от модуля ядра xpad lsusb, dmesg | tail -n 20

lsusb
Bus 001 Device 004: ID 1bcf:2c01 Sunplus Innovation Technology Inc.
Bus 001 Device 008: ID 045e:028e Microsoft Corp. Xbox360 Controller
Bus 001 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 002: ID 0438:7900 Advanced Micro Devices, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 0cf3:e005 Atheros Communications, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
dmesg | tail -n20
[ 1841.844943] input: Microsoft X-Box 360 pad as /devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input21
[ 2385.916298] usb 1-1.3: USB disconnect, device number 6
[ 2385.916414] xpad 1-1.3:1.0: xpad_try_sending_next_out_packet - usb_submit_urb failed with result -19
[ 2457.735232] usb 1-1.3: new full-speed USB device number 7 using ehci-pci
[ 2457.845649] usb 1-1.3: New USB device found, idVendor=2563, idProduct=0575
[ 2457.845655] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2457.845658] usb 1-1.3: Product: PS3/PC Gamepad
[ 2457.845660] usb 1-1.3: Manufacturer: SHANWAN
[ 2457.849970] input: SHANWAN PS3/PC Gamepad as /devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:2563:0575.0003/input/input22
[ 2457.850236] hid-generic 0003:2563:0575.0003: input,hidraw1: USB HID v1.10 Gamepad [SHANWAN PS3/PC Gamepad] on usb-0000:00:12.0-1.3/input0
[ 2458.025628] usb 1-1.3: USB disconnect, device number 7
[ 2458.567165] usb 1-1.3: new full-speed USB device number 8 using ehci-pci
[ 2458.678648] usb 1-1.3: New USB device found, idVendor=045e, idProduct=028e
[ 2458.678654] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2458.678657] usb 1-1.3: Product: Controller
[ 2458.678660] usb 1-1.3: Manufacturer: SHANWAN
[ 2458.679113] usbhid 1-1.3:1.0: can't add hid device: -22
[ 2458.679134] usbhid: probe of 1-1.3:1.0 failed with error -22
[ 2458.679309] input: Microsoft X-Box 360 pad as /devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input23
[ 2680.234380] xpad 1-1.3:1.0: xpad_try_sending_next_out_packet - usb_submit_urb failed with result -2

Цитировать
5. после выполнения команды привязки оборудования (с обеими употребленными VID и PID): соответствующий сегмент usb-devices, ls /sys/bus/usb/drivers/usbhid/

root@Inspiron-5565:/sys/bus/usb/drivers/usbhid# echo 045e 028e > new_idT:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  8 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=045e ProdID=028e Rev=01.10
S:  Manufacturer=SHANWAN
S:  Product=Controller
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=(none)
bind  module  new_id  remove_id  uevent  unbind
root@Inspiron-5565:/sys/bus/usb/drivers/usbhid# echo 20bc 5500 > new_idT:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=045e ProdID=028e Rev=01.10
S:  Manufacturer=SHANWAN
S:  Product=Controller
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=(none)
bind  module  new_id  remove_id  uevent  unbind

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #7 : 08 Октября 2018, 11:52:30 »
d.evgenich, не вяжется, стало быть, устройство. Не вяжется от слова "совсем". Всё-таки, прошу проверить версии ядра:

 Возможно в lubuntu будет достаточно установить ukuu и поставить соответствующее ядро (в котором в debian работает геймпад), и не придется мучаться более ни с чем. В пользу этого способа говорит еще и то, что в случае неудачи достаточно будет загрузиться с текущим имеющимся ядром, после чего удалить и само ukuu и ядро "непошедшее", - и система вернется в исходное состояние (ничего не поломаем).
Еще один момент: какая версия ядра в обеих рассматриваемых системах, и что происходит в debian после вставки геймпада:
1. в debianuname -rвставить геймпад и выполнить:dmesg | tail -n 202. в lubuntuuname -rВыводы прошу показать.
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн d.evgenich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #8 : 08 Октября 2018, 22:44:05 »
evgenich@JohnNotYellow:~$ uname -r
3.16.0-4-amd64
evgenich@JohnNotYellow:~$ dmesg | tail -n 20
[171564.153785] hid-generic 0003:20BC:5500.000A: input,hidraw5: USB HID v1.11 Device [SHANWAN Android Gamepad] on usb-0000:00:1a.0-1.4/input1
[257717.790672] usb 1-1.4: USB disconnect, device number 6
[257748.611509] usb 1-1.4: new full-speed USB device number 7 using ehci-pci
[257748.705588] usb 1-1.4: New USB device found, idVendor=2563, idProduct=0575
[257748.705592] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[257748.705594] usb 1-1.4: Product: PS3/PC Gamepad
[257748.705596] usb 1-1.4: Manufacturer: SHANWAN
[257748.708134] input: SHANWAN PS3/PC Gamepad as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:2563:0575.000B/input/input25
[257748.708453] hid-generic 0003:2563:0575.000B: input,hidraw4: USB HID v1.10 Gamepad [SHANWAN PS3/PC Gamepad] on usb-0000:00:1a.0-1.4/input0
[257748.896565] usb 1-1.4: USB disconnect, device number 7
[257749.355071] usb 1-1.4: new full-speed USB device number 8 using ehci-pci
[257749.449345] usb 1-1.4: New USB device found, idVendor=20bc, idProduct=5500
[257749.449349] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[257749.449351] usb 1-1.4: Product: Android Gamepad
[257749.449353] usb 1-1.4: Manufacturer: SHANWAN
[257749.451818] input: SHANWAN Android Gamepad as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:20BC:5500.000C/input/input26
[257749.452017] hid-generic 0003:20BC:5500.000C: input,hidraw4: USB HID v1.11 Gamepad [SHANWAN Android Gamepad] on usb-0000:00:1a.0-1.4/input0
[257759.445508] hid-generic 0003:20BC:5500.000D: timeout initializing reports
[257759.445637] input: SHANWAN Android Gamepad as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.1/0003:20BC:5500.000D/input/input27
[257759.445829] hid-generic 0003:20BC:5500.000D: input,hidraw5: USB HID v1.11 Device [SHANWAN Android Gamepad] on usb-0000:00:1a.0-1.4/input1

evgenich@Inspiron-5565:~$ uname -r
4.15.0-36-generic

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #9 : 08 Октября 2018, 23:24:04 »
d.evgenich, похоже, что к ядру 4.15 поддержку Вашего геймпада действительно поломали. Думается мне, ситуация патовая: ядро 3.хх на lubuntu 16.04 может и не существовать. Но за спрос, как говорится, денег не берут: попробуйте установить ukuu: sudo apt install ukuuНайдите установленное приложение ubuntu kernel update utility в меню приложений (можно попробовать alt+f2 и начать вводить название). В графическом интерфейсе выберите ядро 3.16.0-4, если таковое доступно, установите. Затем загрузите lubuntu с этим ядром (в меню grub2 дополнительные параметры для [u/l]buntu), и проверьте работу геймпада.
« Последнее редактирование: 08 Октября 2018, 23:25:36 от zg_nico »
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн d.evgenich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #10 : 15 Октября 2018, 10:18:03 »
Поигрался с ukuu, версий ядра 3.хх в перечне доступных не оказалось, как Вы и сказали. Попробовал две рандомных версии и ... понял, что работать невозможно вообще, система загружается, логин происходит, а дальше всё с переменным успехом, особо не вдаваясь в подробности, скажу, что отваливаются разные жизненно важные компоненты (как то: lxpanel, либо вход происходит под временным профилем). Разбираться с потоком лишних проблем было неохота, поэтому я пока отставил игры с ядрами на задний план и думаю, а что если я разыщу диск с дровами, что шёл в комплекте с геймпадом, мб это как-то поможет?

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #11 : 15 Октября 2018, 10:57:08 »
мб это как-то поможет?
попробовать стОит в любом случае, однако нет гарантии, что удастся собрать драйвер под текущую версию ядра. Надо будет внимательно изучить readme и, возможно, править что-либо в штатной поставке. Когда разыщете диск, если появятся проблемы при сборке, - выложите куда-нибудь на файлообменник архив с содержимым папки Linux с него, и дайте ссылку. Попробую у себя его пособирать.
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн 0xAD

  • Любитель
  • *
  • Сообщений: 62
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #12 : 26 Ноября 2018, 20:32:05 »
sudo rmmod xpad && sudo rmmod usbhid && sudo modprobe usbhid

Оффлайн ermito

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #13 : 20 Апреля 2019, 00:06:12 »
Здравствуйте.
У меня схожие проблемы на opensuse 15.0 с ядром 4.12
при подключении джойстика в логе ядра следующее:
[  113.556055] usb 1-1: new full-speed USB device number 2 using uhci_hcd
[  113.738942] usb 1-1: New USB device found, idVendor=2563, idProduct=0575
[  113.738950] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  113.738955] usb 1-1: Product: PS3/PC Gamepad
[  113.738960] usb 1-1: Manufacturer: SHANWAN
[  114.292996] usbcore: registered new interface driver usbhid
[  114.292997] usbhid: USB HID core driver
[  114.298361] input: SHANWAN PS3/PC Gamepad as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0/0003:2563:0575.0001/input/input17
[  114.298793] hid-generic 0003:2563:0575.0001: input,hidraw0: USB HID v1.10 Gamepad [SHANWAN PS3/PC Gamepad] on usb-0000:00:1a.0-1/input0
[  114.484140] usb 1-1: USB disconnect, device number 2
[  115.096050] usb 1-1: new full-speed USB device number 3 using uhci_hcd
[  115.286937] usb 1-1: New USB device found, idVendor=045e, idProduct=028e
[  115.286946] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  115.286951] usb 1-1: Product: Controller
[  115.286955] usb 1-1: Manufacturer: SHANWAN

То есть сначала подключатся как idVendor=2563, idProduct=0575 и распознается как Product: PS3/PC Gamepad, а потом сразу же переподключается как idVendor=045e, idProduct=028e и драйвером не подхватывается.

если после этого принудительно перезапустить xpad
sudo modprobe -r xpad
sudo modprobe xpad
То устройство появляется
[  163.983359] input: Microsoft X-Box 360 pad as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0/input/input18
[  163.983633] usbcore: registered new interface driver xpad
но на нажатия кнопок не реагирует. Похоже в свежих драйверах поддержка этого джойстика в xpad сломана.

Однако в интернете удалось выяснить следующее:
Цитировать
Геймпад самый дешёвый Defender Zoom. Имеет 2 режима, в которых распознаётся как Xbox360 (ID 045e:028e) и PS3 (ID 2563:0575). Переключение режимов длительным нажатием "Mode" .

Зажал секунд на 7 "Mode", и вуаля, джойстик переключился обратно в 2563:0575, подхватился драйвером usbhid и прекрасно работает в режиме PS3/PC Gamepad.
Для эмуляторов этого хватит. А если какая-то игра требует именно Xbox360, то можно его заэмулировать с помощью xboxdrv

Оффлайн d.evgenich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: lubuntu не реагирует на геймпад
« Ответ #14 : 04 Июня 2019, 01:53:34 »
Опыт ermito оказался чрезвычайно полезным, капец, столько времени прошло, так долго я (и наверное куча других людей) морочил себе мозг, а ларчик открывался до безобразия просто, вот только нигде об этом не было информации. В общем способ с кнопочкой mode сработал и для меня. Тему помечаю решённой.

 

Страница сгенерирована за 0.049 секунд. Запросов: 25.