doc:appunti:software:usb_wireless_gamepad
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:software:usb_wireless_gamepad [2021/02/12 08:54] – [Problema sull'asse X] niccolo | doc:appunti:software:usb_wireless_gamepad [2021/02/13 08:33] (current) – [Kernel funzionanti e kernel non funzionanti] niccolo | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Kodi con Gamepad Wireless USB ====== | ====== Kodi con Gamepad Wireless USB ====== | ||
- | Vogliamo utilizzare | + | Vogliamo utilizzare |
- | Abbiamo acquistato un controller **SNES wireless a 2.4 GHz** con micro ricevitore | + | {{.: |
+ | |||
+ | Viene riconosciuto dal comando | ||
< | < | ||
Line 39: | Line 41: | ||
Il gamepad va in modalità **stand-by** dopo poco tempo di non utilizzo, per risvegliarlo è necessario premere il pulsante **start**. Il LED rosso si accende e i tasti funzionano nuovamente. | Il gamepad va in modalità **stand-by** dopo poco tempo di non utilizzo, per risvegliarlo è necessario premere il pulsante **start**. Il LED rosso si accende e i tasti funzionano nuovamente. | ||
- | ===== Freccia | + | ===== Problema freccia |
- | Tutto ha funzionato | + | Tutto funziona |
Ci sono dei problemi invece con un sistema **Raspberry Pi 4**, RaspiOS basato su **Debian 10.8** e **Kodi 18.7**: i tasti freccia **Left** e **Right** non funzionano. | Ci sono dei problemi invece con un sistema **Raspberry Pi 4**, RaspiOS basato su **Debian 10.8** e **Kodi 18.7**: i tasti freccia **Left** e **Right** non funzionano. | ||
+ | |||
+ | C'è chi ha riscontrato lo stesso problema utilizzando Retropie: **[[https:// | ||
+ | |||
+ | ==== Debug con input-events ed evtest ==== | ||
Eseguendo il comando **lsinput** si vede che il gamepad è stato associato al device **event5**: | Eseguendo il comando **lsinput** si vede che il gamepad è stato associato al device **event5**: | ||
Line 122: | Line 128: | ||
Si vede che nella **posizione a riposo** dell' | Si vede che nella **posizione a riposo** dell' | ||
- | Il problema non è circoscritto al Raspberry Pi, lo **stesso malfunzionamento** si riscontra anche su un **PC amd64** con sistema **Debian 10.8** e kernel **4.19.160**. Il problema esiste già con il kernel **4.19.98**, invece il gamepad **funziona correttamente** con il vecchio kernel **4.9.189**. | + | Il problema non è circoscritto al Raspberry Pi, lo **stesso malfunzionamento** si riscontra anche su un **PC amd64** con sistema **Debian 10.8** e kernel **4.19.160**. Il problema esiste già con il kernel **4.19.98**. Il gamepad |
I moduli kernel interessati dovrebbero essere: **hid_dr**, **ff_memless** e **hid**. | I moduli kernel interessati dovrebbero essere: **hid_dr**, **ff_memless** e **hid**. | ||
- | Questo il dmesg per il **kernel 4.9.189**: | + | Questo il dmesg per il **kernel 4.9.189** |
< | < | ||
Line 140: | Line 146: | ||
</ | </ | ||
- | Questo invece il dmesg per il **kernel 4.19.98**: | + | Questo invece il dmesg per il **kernel 4.19.98** |
< | < | ||
Line 154: | Line 160: | ||
</ | </ | ||
- | C'è chi ha riscontrato lo stesso problema | + | ==== Debug con usbmon ==== |
+ | |||
+ | In teoria dovrebbe essere possibile **ispezionare il traffico** direttamente sul bus USB utilizzando la funzione **usbmon** del kernel Linux. Seguendo le istruzioni **[[https:// | ||
+ | |||
+ | < | ||
+ | # Mount debugs, if not already mounted: | ||
+ | mount -t debugfs none_debugs / | ||
+ | modprobe usbmon | ||
+ | </ | ||
+ | |||
+ | quindi si chiede l'elenco di tutte le periferiche USB: | ||
+ | |||
+ | < | ||
+ | cat / | ||
+ | ... | ||
+ | T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 6 Spd=1.5 | ||
+ | D: Ver= 1.10 Cls=00(> | ||
+ | P: Vendor=0079 ProdID=0011 Rev= 3.11 | ||
+ | S: Manufacturer=YSTEK | ||
+ | S: Product=MICREAL USB Gamepad | ||
+ | C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA | ||
+ | I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID | ||
+ | E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | È possibile ispezionare il traffico di **tutti i bus** (utilizzando | ||
+ | |||
+ | < | ||
+ | cat / | ||
+ | </ | ||
+ | |||
+ | Nel caso del nostro gamepad **non si ottiene alcun tracciato**, | ||
+ | |||
+ | ==== Kernel funzionanti e kernel non funzionanti ==== | ||
+ | |||
+ | ^ System | ||
+ | | Raspberry Pi 3 | 4.19.66-v7+ | ||
+ | | Raspberry Pi 4 | 5.10.11-v7l+ | ||
+ | | PC amd64 Debian 10.8 | 4.9.189-3+deb9u2 | ||
+ | | PC amd64 Debian 10.8 | 4.19.67-2+deb10u2 | ||
+ | | PC amd64 Debian 10.8 | 4.19.98-1+deb10u1 | ||
+ | | PC amd64 Debian 10.8 | 4.19.160-2 | ||
+ | |||
+ | ===== Web References ===== | ||
+ | |||
+ | * **[[https:// | ||
+ | * **[[https:// |
doc/appunti/software/usb_wireless_gamepad.1613116456.txt.gz · Last modified: 2021/02/12 08:54 by niccolo