Solved Encodeur USB XSOURCE 2 + Moonlight
-
http://www41.zippyshare.com/v/ExPNE0B5/file.html
bonne reception
-
Pour info c'est le même encodeur qui n'est pas détecté correctement sous 4.1 suivant ce sujet :
https://forum.recalbox.com/topic/8038/twin-usb-game-pad-joueur-1-ok-joueur-2-non-détecté/11
Bref une pierre 2 coups pour le debugage
-
@tong-man Ton stick est mappé bizarrement, il y a des l'incohérence entre moonlight et ce qui est configuré dans ES. Supprime les 2 fichiers de mapping de moonlight (mappingP*.conf) et relance moonlight pour voir
-
@Substring merci ca a fonctionné comme sur des roulettes !
Peut être que ca vient du fait que sur cette image de recalbox, j'ai du utilisé des dizaines d'encodeurs USB différents et que moolight n'a pas remapper les touches à chaque changement.
Bonne soirée.
-
@tong-man oui c'est le cas ! Faudrait surtout que je pense à effacer ces fichiers de config avant de les mettre a jour ...
-
Merci @Substring , il ne reste plus qu'à comprendre pourquoi je suis obligé de modifier les quirks sur 4.1 unstable comme sur la 4.0.2 stable, alors que cet encodeur est bien configurer avec la nouvelle méthode nativement.
-
Oui hein @substring pourquoi ça fonctionne pas hein hein hein ?
@tong-man dis moi tu viens d'une version 4.0.2 -> update 4.1 unstable ? ou directement en 4.1 ?
-
@acris bon, je viens de chercher ... et j'ai compris le sushi
Alors il y a 2 sources d'erreurs :
- nous, recalbox, on a mal écrit le fichier de conf
- même si on l'écrivait bien, le kernel limite à 4 quirks
Démonstration :
# cat ./module/usbhid/parameters/quirks 0x2563:0x555:0x040,(null),(null),(null)
Bizarre ... seul le dernier qurik est listé ... Allez on bidouille
/etc/modprobe.d/usbhid.conf
# tail /etc/modprobe.d/usbhid.conf # XCSOURCE 2 Encoder USB - Twin USB Gamepad options usbhid quirks=0x810:0xe001:0x040 # 3H Dual Arcade 2Players options usbhid quirks=0x16c0:0x05e0:0x040 #ShanWan Twin USB Joystick options usbhid quirks=0x2563:0x555:0x040,0x810:0xe001:0x040 # cat /sys/module/usbhid/parameters/quirks 0x2563:0x555:0x040,0x810:0xe001:0x040,(null),(null)
Conclusion :
- la syntaxe, c'est d'ajouter les quirks avec des virgules entre
- on est limité à 4
Solution : patcher le kernel + réécrire le fichier
https://github.com/torvalds/linux/blob/48b6bbef9a1789f0365c1a385879a1fea4460016/drivers/hid/usbhid/hid-quirks.c#L307 -> https://github.com/torvalds/linux/blob/9eb788800510ae1a6bc419636a66071ee4deafd5/include/linux/hid.h#L326 -
@Substring merci d'avoir regardé ce qui explique pourquoi quand @ian57 avait testé les xinmo 18/20 pins ça avait fonctionner sans problème et que quelques mois plus tard avec l'ajout des quircks supplémentaires en dessus, il a dû patché le kernel aussi.
-
@acris salut à tous ! Mon image vient d'une 4.0 beta vers stable 4.0.1, 4.0.2 enfin unstable 4.1.
Sympa si vous avez pu debuger le truc !!!
Encore bravo pour ce projet... j'attends juste avec impatience le petit correctif du pas de son sur le jack au démarrage
-
@tong-man le son c'est corrigé en interne