[Support requis]manettes neo geo x please
-
Ok, avec la modif que je t'avais demandé tu aurais du avoir "crw-rw-rw-" en face de js0, donc ma règle udev n'est pas bonne. Envoie moi le retour de la commande suivante (toujours avec ton stick branché) pour que je corrige celle-ci :
udevadm info -a -p $(udevadm info -q path -n /dev/input/js0)
-
Sinon petit test à la con pour voir si je ne fais pas fausse route, lance la commande
chmod 0666 /dev/input/js0 && emulationstation
directement sur le raspberry et dis-moi si emulationstation réagit à ta manette. -
Voici le retour que tu demandais pour : udevadm info -a -p $(udevadm info -q path -n /dev/input/js0) Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:1292:4E47.0001/input/input0/js0': KERNEL=="js0" SUBSYSTEM=="input" DRIVER=="" looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:1292:4E47.0001/input/input0': KERNELS=="input0" SUBSYSTEMS=="input" DRIVERS=="" ATTRS{name}=="TOMMO NEOGEOX Arcade Stick" ATTRS{phys}=="usb-bcm2708_usb-1.3/input0" ATTRS{uniq}=="" ATTRS{properties}=="0" looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:1292:4E47.0001': KERNELS=="0003:1292:4E47.0001" SUBSYSTEMS=="hid" DRIVERS=="hid-generic" looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0': KERNELS=="1-1.3:1.0" SUBSYSTEMS=="usb" DRIVERS=="usbhid" ATTRS{bInterfaceClass}=="03" ATTRS{bInterfaceSubClass}=="00" ATTRS{bInterfaceProtocol}=="00" ATTRS{bNumEndpoints}=="01" ATTRS{supports_autosuspend}=="1" ATTRS{bAlternateSetting}==" 0" ATTRS{bInterfaceNumber}=="00" looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3': KERNELS=="1-1.3" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{devpath}=="1.3" ATTRS{idVendor}=="1292" ATTRS{speed}=="1.5" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bMaxPacketSize0}=="8" ATTRS{busnum}=="1" ATTRS{devnum}=="4" ATTRS{bMaxPower}=="100mA" ATTRS{authorized}=="1" ATTRS{bmAttributes}=="80" ATTRS{bNumConfigurations}=="1" ATTRS{maxchild}=="0" ATTRS{bcdDevice}=="0100" ATTRS{avoid_reset_quirk}=="0" ATTRS{quirks}=="0x0" ATTRS{version}==" 2.00" ATTRS{urbnum}=="13" ATTRS{ltm_capable}=="no" ATTRS{manufacturer}=="TOMMO" ATTRS{removable}=="removable" ATTRS{idProduct}=="4e47" ATTRS{bDeviceClass}=="00" ATTRS{product}=="NEOGEOX Arcade Stick" looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1': KERNELS=="1-1" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="02" ATTRS{devpath}=="1" ATTRS{idVendor}=="0424" ATTRS{speed}=="480" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{busnum}=="1" ATTRS{devnum}=="2" ATTRS{configuration}=="" ATTRS{bMaxPower}=="2mA" ATTRS{authorized}=="1" ATTRS{bmAttributes}=="e0" ATTRS{bNumConfigurations}=="1" ATTRS{maxchild}=="5" ATTRS{bcdDevice}=="0200" ATTRS{avoid_reset_quirk}=="0" ATTRS{quirks}=="0x0" ATTRS{version}==" 2.00" ATTRS{urbnum}=="70" ATTRS{ltm_capable}=="no" ATTRS{removable}=="unknown" ATTRS{idProduct}=="9514" ATTRS{bDeviceClass}=="09" looking at parent device '/devices/platform/bcm2708_usb/usb1': KERNELS=="usb1" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="01" ATTRS{devpath}=="0" ATTRS{idVendor}=="1d6b" ATTRS{speed}=="480" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{authorized_default}=="1" ATTRS{busnum}=="1" ATTRS{devnum}=="1" ATTRS{configuration}=="" ATTRS{bMaxPower}=="0mA" ATTRS{authorized}=="1" ATTRS{bmAttributes}=="e0" ATTRS{bNumConfigurations}=="1" ATTRS{maxchild}=="1" ATTRS{bcdDevice}=="0319" ATTRS{avoid_reset_quirk}=="0" ATTRS{quirks}=="0x0" ATTRS{serial}=="bcm2708_usb" ATTRS{version}==" 2.00" ATTRS{urbnum}=="25" ATTRS{ltm_capable}=="no" ATTRS{manufacturer}=="Linux 3.19.2-v7 dwc_otg_hcd" ATTRS{removable}=="unknown" ATTRS{idProduct}=="0002" ATTRS{bDeviceClass}=="09" ATTRS{product}=="DWC OTG Controller" looking at parent device '/devices/platform/bcm2708_usb': KERNELS=="bcm2708_usb" SUBSYSTEMS=="platform" DRIVERS=="dwc_otg" ATTRS{hnp}=="HstNegScs = 0x0" ATTRS{srp}=="SesReqScs = 0x1" ATTRS{regvalue}=="invalid offset" ATTRS{hsic_connect}=="HSIC Connect = 0x1" ATTRS{guid}=="GUID = 0x2708a000" ATTRS{mode}=="Mode = 0x1" ATTRS{srpcapable}=="SRPCapable = 0x1" ATTRS{regdump}=="Register Dump" ATTRS{gpvndctl}=="GPVNDCTL = 0x00000000" ATTRS{ggpio}=="GGPIO = 0x00000000" ATTRS{hprt0}=="HPRT0 = 0x00001005" ATTRS{wr_reg_test}=="Time to write GNPTXFSIZ reg 10000000 times: 540 msecs (54 jiffies)" ATTRS{driver_override}=="(null)" ATTRS{hcd_frrem}=="HCD Dump Frame Remaining" ATTRS{mode_ch_tim_en}=="Mode Change Ready Timer Enable = 0x0" ATTRS{gnptxfsiz}=="GNPTXFSIZ = 0x01000306" ATTRS{remote_wakeup}=="Remote Wakeup Sig = 0 Enabled = 0 LPM Remote Wakeup = 0" ATTRS{busconnected}=="Bus Connected = 0x1" ATTRS{hcddump}=="HCD Dump" ATTRS{gotgctl}=="GOTGCTL = 0x001c0001" ATTRS{spramdump}=="SPRAM Dump" ATTRS{grxfsiz}=="GRXFSIZ = 0x00000306" ATTRS{gsnpsid}=="GSNPSID = 0x4f54280a" ATTRS{gusbcfg}=="GUSBCFG = 0x00001700" ATTRS{hptxfsiz}=="HPTXFSIZ = 0x02000406" ATTRS{devspeed}=="Device Speed = 0x0" ATTRS{fr_interval}=="Frame Interval = 0x1d4c" ATTRS{rem_wakeup_pwrdn}=="" ATTRS{bussuspend}=="Bus Suspend = 0x0" ATTRS{buspower}=="Bus Power = 0x1" ATTRS{hnpcapable}=="HNPCapable = 0x1" ATTRS{rd_reg_test}=="Time to read GNPTXFSIZ reg 10000000 times: 1490 msecs (149 jiffies)" ATTRS{enumspeed}=="Device Enumeration Speed = 0x1" ATTRS{inv_sel_hsic}=="Invert Select HSIC = 0x0" ATTRS{regoffset}=="0xffffffff" looking at parent device '/devices/platform': KERNELS=="platform" SUBSYSTEMS=="" DRIVERS==""
-
La commande "chmod 0666 /dev/input/js0 && emulationstation" m'a renvoyé plusieurs messages d'erreur et le Rpi a planté. Après redémarrage, le stick n'était toujours pas reconnu.</span>
-
Bonjour @manulegil as tu testé la nouvelle version 3.3.0 avec ton stick arcade ? A tester @manulegil EDITER /boot/cmdline.txt et ajouter cette ligne en fin de ligne du fichier en ajoutant un espace avec les mots précédents sauvegarder et rebooter
usbhid.quirks=0x1292:0x4e47:0x040
-
Non pas encore. Je testerai avec mon Rpi1 car mon Rpi2 fonctionne très bien avec la version courante, j'attendais la MàJ officiel avant de basculer. Je reviens vers vous ensuite.
-
Ok.J'attends le retour de ta modification.
-
J'ai testé sur mon Rpi1 avec et sans la modification que tu proposes Acris. Le stick n'est pas reconnu par l'interface et il est toujours impossible de le configurer. A l'occasion, je croiserai BarbuDreadMon qui a proposé son aide sur ce forum et je lui prêterai le matos, ce sera sans doute plus simple avec le stick dans les pattes
-
tu utilises bien une autre manette pour déclancher la configuration dans le menu de ES ou un clavier usb ?
-
J'ai essayé avec les deux.
-
J'ai plus d idée ormis transformer ton port usb 2.0 en usb 1.1 truc de ouf... Lire http://blog.recalbox.com/forums/topic/retrode/page/10/#post-12901 si on oublie emulationstation est ce que tu arrives à configurer ton stick directement dans retroarch ?
-
Comme manu l'a dit, j'essaierai de lui régler le problème quand on se verra. En tout cas c'est très bizarre que la règle udev ne fasse rien (après je ne connais pas bien la distribution recalbox, je suis fan de gentoo depuis presque 15 ans donc je l'ai claqué aussi sur le rpi2)
-
Bonjour @BarbuDreadMon il se pourrait que ce soit un problème de pilote. Par défaut il me semble que c'est soit sdl2 ou udev utilisé du moins dans retroarch udev est utilisé. Faudrait juste vérifier si dans retroarch en modifier le pilote udev par linuxraw ça passe.
-
Jstest reconnait la manette, et il n'est même pas allé jusqu'à retroarch je crois, donc problème spécifique à emulationstation/sdl2, déjà rencontré sur mes 8bitdo il me semble (problème de droits corrigé via udev).
-
et si on mettait ta régle avec idventor idproduct à la place du nom de la manette ?
-
J'ai le stick sous les mains (j'ai croisé manulegil hier soir), je confirme que sur mon système, une règle udev à résolu le problème :
SUBSYSTEM=="input", ATTRS{name}=="TOMMO NEOGEOX Arcade Stick", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"
Je crois que la règle chez manu a bien été prise en compte (j'ai pas réfléchi mais c'est eventX qui est censé être impacté et non jsX, et il y a bien crw-rw-rw en face de event0 sur le ls -l de manu), par contre c'est la propriété ID_INPUT_JOYSTICK qui indique à sdl2 de détecter le périphérique en tant que joystick (il y a une manip similaire à faire sur différentes manettes, dont les 8bitdo). Avec cette règle, emulationstation me détecte bien le stick pour que je le configure quand je vais dans configure input. Pas relevé de soucis particulier avec la config retroarch, hormis le fait qu'une manette 6 boutons + stick çà limite le nombre de jeux jouables :P. -
@BarbuDreadMon merci pour ton retour sous quelle version de recalbox es tu ?
-
Comme expliqué plus haut, je ne suis pas sous recalbox ;). Etant particulièrement à l'aise sous Gentoo, je préfère tourner sous celle-ci sur mon rpi. La règle udev devrait néanmoins fonctionner quel que soit le système. J'en profite pour vous donner les règles udev similaires pour les manettes 8bitdo, au cas où celles-ci ne seraient pas déjà inclu dans recalbox :
# Add the ID_INPUT_JOYSTICK attribute to the device so SDL picks up on it # 8Bitdo FC30 1P GamePad BlueTooth mode(START) mode(START+R) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo FC30 GamePad", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo FC30 2P GamePad BlueTooth mode(START) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo FC30 II", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo FC30 2P GamePad BlueTooth mode(START+R) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo FC30 II Joystick", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo SFC30 GamePad BlueTooth mode(START) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo SFC30 GamePad", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo SFC30 GamePad BlueTooth mode(START+R) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo SFC30 GamePad Joystick", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo NES30 GamePad BlueTooth mode(START) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo NES30 GamePad", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo NES30 GamePad BlueTooth mode(START+R) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo NES30 GamePad Joystick", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo SNES30 GamePad BlueTooth mode(START) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo SNES30 GamePad", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo SNES30 GamePad BlueTooth mode(START+R) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo SNES30 GamePad Joystick", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo FC30 Pro GamePad BlueTooth mode(POWER) mode(POWER+R1) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo FC30 Pro", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo NES30 Pro GamePad BlueTooth mode(POWER) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo NES30 Pro", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo NES30 Pro GamePad BlueTooth mode(POWER+R1) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo NES30 Pro Joystick", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" # 8Bitdo FC30 Arcade Joystick BlueTooth mode(HOME) SUBSYSTEM=="input", ATTRS{name}=="8Bitdo Joy", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"
Quoi qu'il en soit, j'aime bien votre projet, je l'ai d'ailleurs conseillé à quelques reprises quand des utilisateurs de retropie venaient se plaindre de bugs sur le nouveau core libretro-fba (dont je suis le principal maintainer).
-
Ok je vois donc sous recalbox ça fonctionne pas puisque le propriétaire du stick n'a pas réussi. ça aurait été mieux de faire un test sur recalbox 3.3.0 directement et voir si effectivement il fonctionne en ajoutant correctement la régle ou si il y a une configuration particulière lui soumettre dans le recalbox.conf il y a 3 possibilités pour l utilisation de l input : auto, udev, sdl2
## Set retroarch input driver (auto, udev, sdl2) ## If you don't have issues with your controllers, let auto global.inputdriver=auto
-
Encore une fois son problème est lié à emulationstation et non à retroarch, les règles udev que j'ai cité vont réparer la détection des manettes concernées par sdl2, donc par emulationstation. Le propriétaire du stick n'a pas encore essayé la nouvelle règle, n'étant pas chez lui.