Gamepad Config - Buttons not recognized - Pi Zero
-
Hello there,
I was trying to set up a Retropie system as my vacation project and ran into the following issue.
When I start the system after the installation of retropie it asks me to configure my gamepad.
It detected all gamepads I plugged in.
I can hold down a button to start the configuration process.
But when I try to configure the buttons no button presses are recognized.My system:
Pi Model or other hardware: (B, B+, 2 B, 3, X86 PC etc..)
Raspberry Pi Zero W
Power Supply used: (If using a Pi)
OTB-R07-0525 // 5V / 2.5A
RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest):
4.6
Built From: (Pre made SD Image on RetroPie website, Berryboot, or on top of existing OS etc.. - please provide the filename of any image used)
Retropie-buster-4.6-rpi1_zero
Downloaded from Retropie-Website on 30.07.2020
Used balenaEtcher to write the image on a Sandisk 64GB Micro SD-Card (FAT32)
USB Devices connected:
Amazon Basics USB 2.0 4-Port Ultra Mini Hub via Micro-USB-Adapter
Generic ASUS Keyboard
Controller used:
iNNEXT USB SNES Controller
PS4-Controller via USB-Cable
an old speedlink USB-Controller
Error messages received:
none
Guide used: (Mention if you followed a guide)
https://howchoo.com/g/mti0oge5nzk/pi-cart-a-raspberry-pi-retro-gaming-rig-in-an-nes-cartridge
What I tried already:
- Switched the Power Supply to an Samsung Tablet Power Supply (5V / 2.0A)
--> nothing changed - Switched the SD-Card (first I tried a Sandisk 64GB MicroSD-Card which I formated to FAT32 using Mini Tool Partition Wizard Free; then I tried an older Sandisk 16 GB)
--> nothing changed - Switched the USB-Hub to a TUSITA 3-Port Charging OTG Host Cable Cord Adapter (Modelno. KR-AP-1 )
--> nothing changed - I ran "jstest"
--> the input of all controllers was recognized - I did a new installation using Raspberry Pi Imager
--> nothing changed
I tried everything I could think of.
I really hope someone can help me with my problem.
Thank you in advance!
- Switched the Power Supply to an Samsung Tablet Power Supply (5V / 2.0A)
-
If
jstest
works for a controller, it should be recognized and configured by EmulationStation also.
Exit EmulationStation (F4) and then runemulationstation --debug
from the command line, then try to configure the gamepad. Post the resulting log file (from$HOME/.emulationstation/es_log.txt
) to pastebin.com. -
@mitu
Thank you for your response :-)I tried out what you asked.
- I used the debug-command
emulationstation --debug
Which resulted in a reboot of emulationstation - I pressed F4 to reenter the command line and used
$HOME/.emulationstation/es_log.txt
and I got this response:
-bash: /home/pi/.emulationstation/es_log.txt: Permission denied
Could the missing permission be part of the issue?
- I used the debug-command
-
@christalclear said in Gamepad Config - Buttons not recognized - Pi Zero:
Could the missing permission be part of the issue?
No, it's not a permissions issue - you're trying to execute a text file, which is not executable.
You need to open the file with a text editor to see its contents. The same file is accessible via file shares at
\\retropie\configs\all\emulationstation
. Open it with a text editor and post the contents on pastebin.com, then provide the link you get from the site here. -
I didnt know how to access it via file shares.
Therefore I had to view it via nano and use a picture-to-text-tool to convert it into text form.
I hope it will suffice.
-
Did you try to configure the gamepad in EmulationStation, after starting it with
--debug
? I see the gamepad is detected:Feb 13 16:23:16 lulZ: Added unconfigured joystick USD Gamepad (G111D: 03000000790000001100000010010000, instance ID: O dtuice ihdtx: 0)
-
I dont think that I did
-
I tried again.
This time it even recognized the first button.
But then there was no more response.
I couldnt even enter command line with F4.
-
My guess is that the USB hub disconnects during configuration. If you have Wi-Fi enabled, can you also enable SSH and try connecting to the system before you do the configuration, then run
dmesg -w
and look to see if any error messages appear on the screen during the configuration ? -
So I enabled WIFI and SSH and successfully connected with the Pi using WinSCP.
It needed to reboot three time because my keyboard was not recognized again.
I ran
dmesg -w
but there were no obvious error messages. -
Can you run
dmesg > $HOME/RetroPie/roms/dmesg.txt
after booting and then browse to\\retropie\roms\
and post thedmesg.txt
file's contents on pastebin.com ? -
I did what you asked.
-
Looking at the system log you posted, I don't see any errors. The hub is detected and so is the keyboard and the gamepad. There are no error or disconnects like I imagined.
-
Gotta be honest... I dont know what to do next...
Could it be an issue with the Raspberry Pi Zero itself?
-
I don't think the Pi is faulty.
You could manually create the input configuration - based on the values reported byjstest
- and adding it to\\retropie\configs\all\emulationstation\es_input.cfg
.Can you add the following lines to the file, before the last line with
</inputList>
:<inputConfig type="joystick" deviceName="Sony Interactive Entertainment Wireless Controller" deviceGUID="030000004c050000cc09000011810000" > <input name="rightanalogup" type="axis" id="4" value="-1"/> <input name="rightanalogdown" type="axis" id="4" value="1"/> <input name="rightanalogright" type="axis" id="3" value="1"/> <input name="rightanalogleft" type="axis" id="3" value="-1"/> <input name="pageup" type="button" id="4" value="1"/> <input name="pagedown" type="button" id="5" value="1"/> <input name="up" type="hat" id="0" value="1"/> <input name="left" type="hat" id="0" value="8"/> <input name="down" type="hat" id="0" value="4"/> <input name="right" type="hat" id="0" value="2"/> <input name="select" type="button" id="8" value="1"/> <input name="start" type="button" id="9" value="1"/> <input name="y" type="button" id="3" value="1"/> <input name="x" type="button" id="2" value="1"/> <input name="b" type="button" id="0" value="1"/> <input name="a" type="button" id="1" value="1"/> <input name="leftanalogdown" type="axis" id="1" value="1"/> <input name="leftanalogup" type="axis" id="1" value="-1"/> <input name="leftanalogright" type="axis" id="0" value="1"/> <input name="leftanalogleft" type="axis" id="0" value="-1"/> </inputConfig>
This should configure a PS4 Dualshock controller - see if, after adding these lines and restarting EmulationStation, your PS4 controller is recognized and functioning.
-
I used WinSCP to SSH into the Pi.
I could not find the directory that you suggested.
Did I do something wrong?
-
The
\\retropie\configs\all\emulationstation
path is for using File Shares to access the Pi.
If you're using SSH/SCP, then the same folder can be accessed at$HOME/.emulationstation
or at/opt/retropie/configs/all/emulationstation
. -
I added the lines.
The es_input.cfg file looks now like this.
But the PS4-Controller is still not recognized after rebooting.
-
The file looks right, but I still can't pinpoint why this doesn't work.
Can you run againemulationstation --debug
and then post the log (now with the new configuration file) ? -
Here is the new es_log.txt
After running
emulationstation --debug
I tried to configure the PS4-Controller.It recognized the first button press but after that I got a error message.
I recieved that message a couple of times now.
I already checked the gpu_split which seemed to be ok.
It was set to the same values as in the documentation.gpu_mem_256=128
gpu_mem_512=256
gpu_mem_1024=256
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.