Error after updating retropie-setup to 4.4.9 (a161774a)
-
@psyke83
Line 163.
OSError and ValueError both throw exceptions individually, if one of them is a parent, probably ValueError. -
@psyke83 thanks, I'll do some testing tonight, don't have access right now to the system.
-
@psyke83 OK, I get the same thing as @Efriim (thanks for testing !).
If I replace the named exception on line 163, I don't get the error.Now, just to recap what are the conditions in which it happens:
- I have 1 gamepad configured in ES and with a
.cfg
file in the autoconfig folder (USB,2-axis 8-button gamepad .cfg
, there are 2 spaces at the end of the device name). It's a iBuffalo SNES controller. It's mapped at/dev/input/js0
. - I also have plugged in a dual SNES to USB adapter (
raphnet technologies Dual SNES to USB v2.2
) which produces 2 more gamepads (/dev/input/js1
and/dev/input/js2
), although only 1 SNES gamepad is plugged in (that's normal). This one doesn't have any configuration in ES or in the RA's autoconfiguration folder.
Here's the listing (/proc/bus/input/devices
):
I: Bus=0003 Vendor=0583 Product=2060 Version=0110 N: Name="USB,2-axis 8-button gamepad " P: Phys=usb-3f980000.usb-1.4/input0 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:0583:2060.0001/input/input0 U: Uniq= H: Handlers=js0 event0 B: PROP=0 B: EV=1b B: KEY=ff 0 0 0 0 0 0 0 0 0 B: ABS=3 B: MSC=10 I: Bus=0003 Vendor=289b Product=0057 Version=0101 N: Name="raphnet technologies Dual SNES to USB v2.2" P: Phys=usb-3f980000.usb-1.2/input0 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:289B:0057.0008/input/input5 U: Uniq=102739 H: Handlers=js1 event1 B: PROP=0 B: EV=1b B: KEY=ffff 0 0 0 0 0 0 0 0 0 0 0 0 ffff 0 0 0 0 0 0 0 0 0 B: ABS=3 B: MSC=10 I: Bus=0003 Vendor=289b Product=0057 Version=0101 N: Name="raphnet technologies Dual SNES to USB v2.2" P: Phys=usb-3f980000.usb-1.2/input1 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:289B:0057.0009/input/input6 U: Uniq=102739 H: Handlers=js2 event2 B: PROP=0 B: EV=1b B: KEY=ffff 0 0 0 0 0 0 0 0 0 0 0 0 ffff 0 0 0 0 0 0 0 0 0 B: ABS=3 B: MSC=10
NOW, if I remove the 2SNES adapter, and I'm left with only the iBuffalo gamepad (the configured one), then there is no error.
My guess is that the script tries to map the
/dev/input/js1
and/dev/input/js2
through a RA auto-configuration file, which doesn't exist, and falls back to the RA's default config (/opt/retropie/configs/all/retroarch.cfg
, which is stock 4.4 RetroPie) and it fails to map the buttons there.I think that if you have 2 identical gamepads you wouldn't run into this issue, since they're both mapped by the same RA auto-configuration file. Maybe starting
xboxdrv
on the 2nd controller (and giving it a different name) would enable you to reproduce the error. That is if you don't have a spare gamepad you could plug in. - I have 1 gamepad configured in ES and with a
-
Wii Motion Plus controller stand alone.
It has no retroarch config or listing in /dev/input/by-id/It has several event handlers, for the accelerometer, IR, controller, motionplus?.
The main controller input has three Handlers; a kbd, js, event.The controller doesn't work anyway, I thought that it was becuase of the error, and then learn these controllers wont work without additional setups. It seems close to working, the evtest buttons work, the jstest shows the same buttons working, minus the dpad which is being handled as a keyboard event.
-
@Efriim They won't work straight out without extra software - https://retropie.org.uk/docs/Wiimote-Controller. But IMHO they're terrible as controllers compared to other gamepads - might worth it if they'd work as light-guns (i.e. detected as mice).
-
@mitu It says there are three methods, I think they all use a different driver to access the bluetooth stack. It also says that the polling methods for finding and syncing the bluetooth are poorly written to terrible. I lost interest.
There is a IR sensor that you can buy for windows machines/linux boxes the 'dolphinbar' setting it up allows one to use the IR sensor on the wiimote as a mouse or whatever. The controllers are okay if you only need a handful of buttons, megadrive, nintendo, gba. The wii classic controllers are more like a modern gamepad and they attach to the wiimote.Even if I did get one of the methods to work, I don't know if it will hinder my ps3 controller, or that the wii classic controller will function. I give up on it, I wish it worked out of the box, or a script module.
-
-
@mitu
that is nifty, and I could use it on any usb.The main problem I'm facing right now is my powersupply. I have a RetroFlag case and Overclocked to a maximum, but if I use a USB port for charging, I get undervolt warnings. I think maybe if I get 5.2V power supply as opposed to my 5.0V long cable it will solve it. But I'm not sure about this either, I may have to resort to a lower Overclock, or perhaps just disabling force_turbo.
Didn't mean to derail the thread.
I haven't had any new problems with the update. -
I still haven't had luck reproducing the issue, unfortunately. I tried masking a controller via xboxdrv, writing a python script to emulate a dummy joystick via uinput and I even dug out an old PS2 clone controller that has a USB connection, but I couldn't reproduce the issue with the combination of two controllers connected but only one mapping set up.
Is it possible that your SNES to USB adapter is the source of the problem because it emits joystick nodes for devices that aren't connected? Try to unplug your mapped iBuffalo gamepad (and/or any other mapped controllers) to see if you can trigger the error just when you have the unmapped SNES to USB adapter connected.
-
@psyke83 said in Error after updating retropie-setup to 4.4.9 (a161774a):
Is it possible that your SNES to USB adapter is the source of the problem because it emits joystick nodes for devices that aren't connected?
Well, one of the port is not connected, one has a SNES controller attached. But I can give it a try and connect a real controller instead of the adapter.
Try to unplug your mapped iBuffalo gamepad (and/or any other mapped controllers) to see if you can trigger the error just when you have the unmapped SNES to USB adapter connected.
Unfortunately I don't have a keyboard, but I can try with another controller instead of the iBuffalo.
-
I removed the 2SNES-to-USB adapter and connected a 8Bitdo SN30 via USB.
cat /proc/bus/input/devices I: Bus=0003 Vendor=0583 Product=2060 Version=0110 N: Name="USB,2-axis 8-button gamepad " P: Phys=usb-3f980000.usb-1.4/input0 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:0583:2060.0001/input/input0 U: Uniq= H: Handlers=js0 event0 B: PROP=0 B: EV=1b B: KEY=ff 0 0 0 0 0 0 0 0 0 B: ABS=3 B: MSC=10 I: Bus=0003 Vendor=2dc8 Product=ab20 Version=0110 N: Name="SNES30 SNES30 Joy " P: Phys=usb-3f980000.usb-1.5/input0 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/0003:2DC8:AB20.000D/input/input9 U: Uniq= H: Handlers=js1 event1 B: PROP=0 B: EV=1b B: KEY=fff 0 0 0 0 0 0 0 0 0 B: ABS=30027 B: MSC=10
Without configuring it, I get the same error when starting the setup script (with the iBuffalo controller).
I've configured the 8bitdo in Emulationstation, auto-conf got generated. Starting again the setup script - no more errors.I removed the iBuffalo auto-config file, then started again the setup script - the error pops up again (IndexError: list index out of range, etc.).
I'm thinking @Efriim got the error because he paired an Bluetooth controller, then returned back to the setup script with an extra
/dev/input/jsX
device - unconfigured at that point. -
@mitu said in Error after updating retropie-setup to 4.4.9 (a161774a):
I removed the 2SNES-to-USB adapter and connected a 8Bitdo SN30 via USB.
cat /proc/bus/input/devices I: Bus=0003 Vendor=0583 Product=2060 Version=0110 N: Name="USB,2-axis 8-button gamepad " P: Phys=usb-3f980000.usb-1.4/input0 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:0583:2060.0001/input/input0 U: Uniq= H: Handlers=js0 event0 B: PROP=0 B: EV=1b B: KEY=ff 0 0 0 0 0 0 0 0 0 B: ABS=3 B: MSC=10 I: Bus=0003 Vendor=2dc8 Product=ab20 Version=0110 N: Name="SNES30 SNES30 Joy " P: Phys=usb-3f980000.usb-1.5/input0 S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/0003:2DC8:AB20.000D/input/input9 U: Uniq= H: Handlers=js1 event1 B: PROP=0 B: EV=1b B: KEY=fff 0 0 0 0 0 0 0 0 0 B: ABS=30027 B: MSC=10
Without configuring it, I get the same error when starting the setup script (with the iBuffalo controller).
I've configured the 8bitdo in Emulationstation, auto-conf got generated. Starting again the setup script - no more errors.I removed the iBuffalo auto-config file, then started again the setup script - the error pops up again (IndexError: list index out of range, etc.).
I'm thinking @Efriim got the error because he paired an Bluetooth controller, then returned back to the setup script with an extra
/dev/input/jsX
device - unconfigured at that point.I was only talking about not being able to reproduce the
bad file descriptor
warnings.When talking about seeing the
IndexError: list index out of range
again, do you mean without the PR active? I was under the impression that it would clear up allIndexError
exceptions at the very least. -
@psyke83 said in Error after updating retropie-setup to 4.4.9 (a161774a):
I was only talking about not being able to reproduce the bad file descriptor warnings.
Ah, ok then - I was thinking the other way around. Yes, I'm using
master
to produce theIndexError
, so it's without your PR and it's normal to have the error. -
@mitu said in Error after updating retropie-setup to 4.4.9 (a161774a):
@psyke83 said in Error after updating retropie-setup to 4.4.9 (a161774a):
I was only talking about not being able to reproduce the bad file descriptor warnings.
Ah, ok then - I was thinking the other way around. Yes, I'm using
master
to produce theIndexError
, so it's without your PR and it's normal to have the error.OK; I've merged the PR as-is, since it fixes the more serious issue that actually causes joy2key to break. When I can find a way to reliably reproduce the
bad file descriptor
warning, I'll fix that separately; I'd prefer not go back to using naked exception as they increase the probability of the script failing to exit cleanly when interrupted.Thank you all for the assistance and be sure to ping me if you find another way to trigger the warning that I can reproduce on my end.
-
Excuse me, seems last update broken joy2key, is there a fix for that? Thx in advance
-
@DarishZone Update your RetroPie script - what version do you have ?
-
@mitu said in Error after updating retropie-setup to 4.4.9 (a161774a):
@DarishZone Update your RetroPie script - what version do you have ?
4.4.9
-
@DarishZone You'll have to be more exact - what problem are you encountering and what's the revision next to the 4.4.9 version ?
-
@mitu said in Error after updating retropie-setup to 4.4.9 (a161774a):
@DarishZone You'll have to be more exact - what problem are you encountering and what's the revision next to the 4.4.9 version ?
Yeah, it's a text random error during loading screen or black screen (example access retropie setup screen), it seems referring to joy2key, impossible to reproduce but maybe message is stored somewhere on logs.
I've just update to last version, which is 4.4.9 -
@DarishZone Do you have any problems navigating the setup with your joystick/gamepad ?
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.