Help/tutorials configuring wireless controllers? (+ disabled Reset function)
-
Hello all, my apologies if I'm asking questions that may have been covered here already, but I just purchased some wireless controllers (link below; think iPremium's the brand & they're not the BEST ones, but Amazon said they're designed to work w/ Raspberry Pi, so they're def. going back if not), and despite the "instructions" on the back of the controllers, I haven't had any luck getting my system to recognize them.
https://www.amazon.com/gp/product/B07FCXL2VV/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1My previous controllers were 2 wired USB Logitech F310s, which for the most part have worked great. However I since really only need the full functionality of those to play 2-player, dual-joystick arcade games (i.e., Smash TV & Robotron), I really don't need 4 of them, especially when it'd be nice to have some wireless or bluetooth ones to cut down on cord spaghetti.
Granted, it's been a few months since I first connected & configured those, but when I did, I recall Retropie recognizing them right away. These controllers however have both USB dongles and charging cords, the "instructions" on the back of the controllers just give vague, "Hold these buttons down till this light flashes this color into order to get into pairing mode" instructions that don't really seem to work (w/ no instructions on how one would need to charge a Wifi controller before it works properly).
I'd imagine that there's driver software I need to download, but I couldn't really seem to find it.
Worse-- and I don't know if this is related to trying to connect these new controllers/their dongles and USB cords, now, when I try the typical "reset" function to quit out of a game (typically Hotkey + Y or Hotkey + Start), it WASN'T working... took awhile messing around, but it seemed to have been remapped to like the Back + Right Trigger buttons.
When I try starting a 4-player game with EVERYTHING plugged in (or at least, both wired Logitechs and the wireless Dongles), the Logitechs are recognized but I get 2 notices that "Sony Interactive Entertainment Controller (1356/3290) not configured."
And when I went to Configure Input, the system even recognized that there are indeed "2 Gamepads Detected" (if I have both one of my USB Logitechs and the USB dongle for these wireless controllers plugged in), however no amount of button-pressing causes the system to recognize the wireless one, and after remapping the Logitech to the usual buttons, the "Exit game" function doesn't work at ALL.
So, any advice on how to long to charge, how to configure these controllers?? (if from your knowledge/experience they just suck, that I should return them while my Return Option's still open for some other SNES-equivalent wireless or bluetooth controllers you can recommend, I'm all ears). Any tips to successfully reconfigure my old controllers so that the "exit game" shortcut is working??
Sorry for the long post, just had been hoping to show off the Pi/enjoy some multiplayer TMNT, Simpsons etc action with my nephews this Sunday (give 'em a break from the ol' Minecraft), and now it doesn't look like that's gonna happen.... :/
-
So let's try to save your Sunday. 😉 Some ideas to narrow down the problem:
- Please provide all information that's asked for in https://retropie.org.uk/forum/topic/3/read-this-first
- Connect a keyboard to your Pi and disconnect any controllers.
- Got to RetroPie's command shell by pressing
F4
in Emulation station. - Type in this command:
tail -f /var/log/syslog
and keep it running. - Plug in one wireless dongle and pair it with the controller. Look for any messages coming up that seem to deal with the controller. See if any device name like
/dev/input/js*
appears (e.g./dev/input/js0
,/dev/input/js1
). - Stop the
tail
command by pressingCtrl+c
. - Try the
jstest
command on the js*-device name you hopefully saw earlier like it's described in the Docs to see if the controller is recognized by the system and working. - If it's not working, stop there and show us the output of the
tail
command. - If it is working, exit the console by entering
exit
and try to configure the controller in Emulation Station. - If that works, run a game with verbose logging and show us the output.
- Report any errors and problems here that you encounter in the above steps.
I'll try to answer any future posts from you, but I'm only online occationally today, and not anymore at all in approx. four hours. But maybe someone else can work with the data you provide then.
edit: Add link about verbose logging.
-
@clyde Really, really appreciate the reply, bud. Even without listing all my specs-- which for the most part I will below, if it matters (though I'm actually not 100% sure EXACTLY what the hardware setup on my Pi actually is-- or if there are any tests one can run in RetroPie/RaspController to tell??-- it was a Pi4 purchased from the official Pi site on Dec. 2020 by my better half, I believe the 8GB RAM version).
• RetroPie Version Used:
Version 4.7.3 - Last Commit 5 months Ago (3f5b62ad)
System: rpi4 (armv71) - running on Raspian GNU/Linux 10 (buster)
• Using EmulationStation V2.9.6RP
• Power Supply used:
LABISTS Raspberry Pi 4 Power Supply USB-C Charger Adapter with On/Off Switch 5.1V 3A UL (switched out theControllers are 2 Logitech F310s, and according to the packaging/Configure Input, these wireless ones are 2 iPremium "Sony Interactive Entertainment Controller"s (the packaging says "For NES/SNES Classic Mini and USB Game Console").
So even assuming any of that matters, I was actually able to run the "tail" command in Terminal and found both of those controllers.
I DID initially get a " mtp-probe: bus: 1, device: 8 was not an MTP device " notice (I actually received this notice twice), and got 2 notices that " /dev/input/js0’ failed with exit code 1" & "/dev/input/js1’ failed with exit code 1".
I was notified that the "Driver version is 2.1.0
Joystick (Sony Interactive Entertainment Controller) has 2 axes (X, Y)
And 10 buttons (BtnA, BtnB, BtnC, BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTLZ, BtnTRZ) "So in spite of those "js0 & js1 failed" notices, after charging them overnight (I think that might've partially been the issue), I was able to find and configure both of these controllers in Configure Input.
UNFORTUNATELY while configuring both, I got the notice that I hadn't enabled a Hotkey, and that Select would be my default... and yet whenever I started the games, even after pressing Select, I couldn't quit out of them/reset (for arcade games, pressing Select added credits, but pressing it with Start or any other buttons didn't let me reset).
So although these do seem to work for multiplayer games-- and sure, these could tide me over for Sunday-- ultimately I fear that I may have to return them, simply because not having a Hotkey/not being able to quit out of games is really inconvenient (because unless there are any other fixes that I'm not aware of, I basically have to either use RaspController to Reboot, or flip the switch on the power cord EVERY time I want to exit a game...).
So for that matter, if anyone has ANY recommendations for good controllers, preferably wireless and possibly similar to the SNES ones (just with more buttons), that would great.
-
it’s a configuration issue, not a hardware issue. note only player 1 can use hotkey combos, so if you have several controllers connected, try start + select on all.
we also still need that verbose log.
-
@dankcushions appreciate you chiming in, I'll look into that as soon as I get the Pi set up again (currently unplugged and packed up to take to the kiddos tomorrow...).
Admittedly I haven't really utilized runcommand much less verbose logging yet; just to clarify-- since when playing different games/consoles I don't necessarily think in terms of what is or isn't a Libretro core-- do I need to try to generate a log for EVERY console I have set up on Retropie? (i.e. NES, Master System, Genesis, SNES, GameBoy reg/Color/Advance, MAME etc)?
I'll try again w/ those controllers as soon as I have everything plugged in, but I do recall trying to use them just on simple 2-player console games like the NES (where you wouldn't need to add "credits" like the arcade ones), and once I'd started the game, the control pads just seemed to stop working... pressing Select, Select + Start, up/down, any button for that matter didn't seem to have an effect on the game (although I was for example able to start, add credits for, and player a 4-player arcade game like TMNT, just couldn't exit out of it).
So if you recommend that I start by looking for a verbose log on say NES games, I suppose that might be a good place to start.
Obviously if one has 4 controllers plugged in at once, ideally the first player would be the one using say the wired Logitechs with the extra buttons , but I know it's inevitable that some point, Player One may want to use a wireless controller, and that's when I kinda wonder if it could be a hardware issue/if basic console controllers with less than 3 central buttons could be problematic with setting up the Hotkey (and in turn, command to quit out of the game...).
-
@mortalwombat We seem to be living in very different time zones. It's Sunday, 18 o'clock (6 pm) at my place now. 🙂
The MTP message doesn't matter, it just says that your controllers aren't a portable media players. 😉 See https://en.wikipedia.org/wiki/Media_Transfer_Protocol.
I think one or two verbose log should suffice for a start, preferably from cores that have problems with the wireless controllers.
So, you can configure them in Emulation Station, and assign on of their buttons as Hotkey, but ES still says that you haven't configured a Hotkey? That would be strange, indeed. Also that they stop working in the middle of a running game, if I understand you correctly.
Regarding the assignment of controllers to specific players, you can try meleu's Joystick-Selection script to do that.
-
just to clarify-- since when playing different games/consoles I don't necessarily think in terms of what is or isn't a Libretro core-- do I need to try to generate a log for EVERY console I have set up on Retropie? (i.e. NES, Master System, Genesis, SNES, GameBoy reg/Color/Advance, MAME etc)?
the majority of systems supported by retropie default to libretro emulators - certainly those systems you’ve mentioned. of course you can see whether something is libretro or not by observing the runcommand launch splash - if it is **lr-**emulator-name, then it’s libretro.
that said, even non-libretro emulators should output useful things in the same log location. this is all explained in the docs linked in read-this-first: https://retropie.org.uk/docs/Runcommand/#launch-with-verbose-logging
verbose logs are essentially mandatory to quickly diagnose most issues with mandatory- hence we ask for them :)
-
gentlemen, sincerest thanks for your replies before, and apologies about the delay in being able to finally sit back down, plug this baby in, and do some troubleshooting:
one thing at a time, @Clyde , yes, I'm on PST-- so it's actually currently 1:30am-ish, the point at which I suppose most sane people (or at least those not on a swing shift who are looking to decompress w/ the Pi and a glass of vino after that)-- would typically have retired for the night... and yet, here I am.
Anyway, Sunday gaming did not go down, but I did actually get to test these controllers a bit further, and whatever issues that I seemed to be having with them before, I seem to have resolved; I can still play Arcade games, and can now start a NES game without the controller becoming dysfunctional. More importantly, I can quit out of these games by pressing BOTH Select and Start at the same time (and if I recall, I had to use a similar combo when I was trying to quit games on my Logitech).
So while that is a huge improvement, I don't wanna assume the problem is solved, since I still can't actually seem to pull up the Hotkey function. Granted, so far, I've really only USED that function to try to pause games, and while most console games-- like the NES-- have a built-in pause function by just pressing Start, I've noticed that for Arcade games, hitting Select adds credits... which again, is the button that was said to be the default for the Hotkey.
So although I guess you could expect less functionality with these SNES-type controllers (simply because they have less buttons than the Playstation-like Logitech), I could see how the lack of a pause option for arcade games could be an issue.
More importantly, while one of the 2 controllers connected right away, it took a LOT of time and testing to get the other to connect... during which time, I could see it cycling frantically between every console/system I have on Retropie... so if nothing else, that makes me wonder if its directional pad could be compromised.
But that aside, @dankcushions , try as I did, unless I'm missing something in the https://retropie.org.uk/docs/Runcommand/#launch-with-verbose-logging
& https://retropie.org.uk/docs/Transferring-Roms/#sftp
links, I couldn't seem to find the actual verbose logs, even after selecting Launch With Verbose Logging while starting the game(??).I did try accessing my Pi on the desktop level (for better or for worse, I'm on Mac), and couldn't find a /dev/shm/runcommand.log file/folder; following the " RETROPIE/configs/all " path showed runcommand.cfg 's but didn't show anything that looked like a verbose log (and unless I missed something, running the same /dev/shm/runcommand.log command in Terminal via F4 gave me a ' -bash: /dev/... " " log: Permission denied ' response. :/
I do however see .cfg and .cfg.bak files, generated for today, for this (/these) "Sony Interactive Entertainment Controller" in both the ' retroarch-joypads ' and ' retroarch/configs/ ' folders. So, I can try to upload those for now if we think that might be helpful??
(granted, when I clicked on the far-right "picture"-type icon-- assuming that I was doing that correctly-- I got a warning that "You do not have enough privileges for this option").
However I don't know if those would diagnose the previous connectivity problems that I had with these controllers, why one was having a difficult time linking to the wireless/seemed to have a stuck directional pad, etc... any insight/advice welcome.
In the meantime, hope you fellas are having a good week! :)
-
@mortalwombat said in Help/tutorials configuring wireless controllers? (+ disabled Reset function):
But that aside, @dankcushions , try as I did, unless I'm missing something in the https://retropie.org.uk/docs/Runcommand/#launch-with-verbose-logging
& https://retropie.org.uk/docs/Transferring-Roms/#sftp
links, I couldn't seem to find the actual verbose logs, even after selecting Launch With Verbose Logging while starting the game(??).
I did try accessing my Pi on the desktop level (for better or for worse, I'm on Mac), and couldn't find a /dev/shm/runcommand.log file/folder; following the " RETROPIE/configs/all " path showed runcommand.cfg 's but didn't show anything that looked like a verbose logare you looking in the OSX finder? that's not using SFTP (as instructed), but Samba - did you use Cyberduck as suggested for mac on the linked SSH page? that's what I use:
(and unless I missed something, running the same /dev/shm/runcommand.log command in Terminal via F4 gave me a ' -bash: /dev/... " " log: Permission denied ' response. :/
if you want to view files in linux you need to load them up into an editor or a viewer. eg
cat /dev/shm/runcommand.log
you could copy + paste from the terminal to a forum post/pastebin, i suppose.
I do however see .cfg and .cfg.bak files, generated for today, for this (/these) "Sony Interactive Entertainment Controller" in both the ' retroarch-joypads ' and ' retroarch/configs/ ' folders. So, I can try to upload those for now if we think that might be helpful??
(granted, when I clicked on the far-right "picture"-type icon-- assuming that I was doing that correctly-- I got a warning that "You do not have enough privileges for this option").works for me... if it doesn't, you can upload files to pastebin.com as per https://retropie.org.uk/forum/topic/3/read-this-first
-
@mortalwombat said in Help/tutorials configuring wireless controllers? (+ disabled Reset function):
gentlemen, sincerest thanks for your replies before, and apologies about the delay in being able to finally sit back down, plug this baby in, and do some troubleshooting:
Hear, hear!
one thing at a time, @Clyde , yes, I'm on PST-- so it's actually currently 1:30am-ish
I'm on MESZ or UTC+2, so we're 9 hours apart. 🙃
I can quit out of these games by pressing BOTH Select and Start at the same time
That is the default for at least all RetroArch emulators in RetroPie.
while most console games-- like the NES-- have a built-in pause function by just pressing Start, I've noticed that for Arcade games, hitting Select adds credits... which again, is the button that was said to be the default for the Hotkey.
That's also normal. The Hotkey just adds emulator functions for a key or button to those inside the emulated systems (e.g. the coin detector in case of arcade games). That means for example that invoking the RetroArch menu with Hotkey+X in the default button configuration will also trigger "Select/Coin" in the emulated system. If you don't like that, you can easily change the Hotkey via the global controller configuration in Emulation Station.
So although I guess you could expect less functionality with these SNES-type controllers (simply because they have less buttons than the Playstation-like Logitech), I could see how the lack of a pause option for arcade games could be an issue.
That's a problem that I also face with my DIY upright cabinet which only has 6+2 buttons per player – six for games like Street Fighter and two for Select/Coin + Start. Since all of them are set to various emulator functions like menu, reset, load/save a save state and so on, I have to "pause" an arcade game by going to the RetroArch menu (Hotkey+Y), which isn't that manageble in the heat of the action.
I couldn't seem to find the actual verbose logs, even after selecting Launch With Verbose Logging while starting the game(??).
Like @dankcushions already said, the best way may be to view or save them on RetroPie's command console. In additio to his command, I'd recommend these two:
less /dev/shm/runcommand.log # starts a simple text viewer with the usual keyboard navigation. Press "q" to quit.
cat /dev/shm/runcommand.log > somefile.txt # saves the content of runcommand.log to somefile.txt in the current directory for later access.
I did try accessing my Pi on the desktop level (for better or for worse, I'm on Mac), and couldn't find a /dev/shm/runcommand.log file/folder
Via network or by connecting your Pi's sd card or drive to your Mac?
The latter won't work, because the directory
/dev/shm
resides in the volatile ramdisk of RetroPie's Linux system. It will be gone after a shutdown or reboot. You'll have to save it with the command above to somewhere of the sd card to read it later.running the same /dev/shm/runcommand.log command in Terminal via F4 gave me a ' -bash: /dev/... " " log: Permission denied ' response. :/
That sounds like a typing error. The file should be readible by the pi user. That said, you can try to access it with root privileges by prepending a
sudo
before the command itself.So, I can try to upload those for now if we think that might be helpful??
Any information may help, so shoot. 😉
In the meantime, hope you fellas are having a good week! :)
Except for having to work at over 30°C/86°F, I have. Same to you!
(And yes, I looked up the Fahrenheit value just for you PST guys. 😀 )
-
@dankcushions @Clyde eh well at this point, I DL'd Cyberduck, copied over (what I think are) the logs in question, but kinda can't help but wonder why uploading files WOULDN'T work for me in comparison (since I foresee that I could need to upload other things here in the future).
At the end of the day, this runcommand.log , Sony Interactive Entertainment Controller.cfg , & Sony Interactive Entertainment Controller.cfg.bak are only 562, 565 & 565 bytes respectively, so not exactly epic in size?? Granted, I know that some of you are admin types ,and thus may have greater "privileges" etc than I, but I can't help but wonder about uploading too many files elsewhere and having that be some kind of security risk. :/
Nonetheless, I tried pasting the RunCommand log & Controller info to this Ubuntu site, so let me know if any of it shows up/reveals anything? :/
-
@mortalwombat You apparently didn't run the game with verbose logging. See my link how to do that.
The logs from a stock RetroPie shouldn't pose any security risks, as they don't give away any information that's not readily available on the net and doesn't apply to any stock RetroPie installation.
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.