RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Input Scrambled After Retropie Update

    Scheduled Pinned Locked Moved Help and Support
    retropie4.7controller usbsn30 pro
    21 Posts 2 Posters 1.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Gabraham
      last edited by Gabraham

      About a month ago I started using my Pi4 again. Long story short, I ended up flashing my SD card with a fresh Retropie image for the Pi4 about 3 weeks ago to ensure my installation was clean and that I could use a new screen I bought for it. I also purchased a usb SN30pro controller which had been working great so far. Last night I decided to update Retropie, so I ran the script for it in the Retropie menu.

      After this, a few things happened. My start and select buttons stopped being recognized and I couldn't use my hotkeys for one. Secondly, instead of using my hotkey button and start, clicking my two analog sticks in would allow me to exit the game. I figured this was an input issue so I tried redoing my inputs and found that my trigger buttons are no longer recognized. I am not sure why this is suddenly a problem. This controller is recognized as an Xbox 360 controller so I tried reinstalling those drivers from the Retropie Setup menu as well but no change. Then I tried uninstalling them and still no change. I've restarted numerous times and tried other usb ports but nothing seems to affect this and it happens across all games and in EmulationStation. I cannot find a solution anywhere so far.

      I am currently on Retropie 4.7.12. My power supply so far as shown no issues and I never go under-voltage. Performance of the unit is otherwise just fine, it's just input that is holding me back right now.

      For clarification, my input on the SN30 Pro controller was basically what you would expect from a Super Nintendo with analog sticks. I had my hotkey button as the rightmost extra button, and the leftmost one was functionless. After this update, Start seems to be on L3 and select seems to be on this rightmost extra button. The actual Select and Start buttons do nothing, and like I said, the triggers are not recognized, which is really my main problem so far.

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        @gabraham said in Input Scrambled After Retropie Update:

        This controller is recognized as an Xbox 360 controller so I tried reinstalling those drivers from the Retropie Setup menu as well but no change.

        Which driver did you update ? You should update the xpad driver and restart, then re-do the mapping in EmulationStation - the triggers should be recognized.

        G 1 Reply Last reply Reply Quote 0
        • G
          Gabraham @mitu
          last edited by

          @mitu said in Input Scrambled After Retropie Update:

          You should update the xpad driver and restart, then re-do the mapping in EmulationStation - the triggers should be recognized.

          I updated the xboxdrv drivers. I will try the xpad ones now.

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @Gabraham
            last edited by

            @gabraham xboxdrv is NOT a driver for Xbox controllers - it just simulates ones. You should uninstall it, unless you've specifically configured it as detailed in https://retropie.org.uk/docs/Universal-Controller-Calibration-%26-Mapping-Using-xboxdrv/.

            G 1 Reply Last reply Reply Quote 0
            • G
              Gabraham @mitu
              last edited by

              @mitu I uninstalled the xboxdrv and reinstalled the xpad drivers from source, then restarted. No change.

              Unfortunately I am not sure exactly what was updated as I ran the script for Retropie to update all packages. Starting to consider trying to roll back some drivers to see if that has an affect.

              mituM 1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @Gabraham
                last edited by

                @gabraham said in Input Scrambled After Retropie Update:

                Starting to consider trying to roll back some drivers to see if that has an affect.

                You shouldn't need any special drivers for the SN30pro. How is the controller detected - the 8Bitdo controllers have various modes of operating and they change their name & behavior depending on the start mode (XInput/DInput/Switch/Android) ? What's the name shown in EmulationStation when you map the controller ?

                G 1 Reply Last reply Reply Quote 0
                • G
                  Gabraham @mitu
                  last edited by

                  @mitu This is not a bluetooth controller. The USB version does not have multiple modes. When trying to register input with EmulationStation, it is recognized as an xbox 360 controller. This, again, worked fine recently.

                  mituM 1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @Gabraham
                    last edited by

                    @gabraham said in Input Scrambled After Retropie Update:

                    The USB version does not have multiple modes.

                    If is this model, then it does, even if wired. However, it should work regardless.

                    The only driver that could be involved is the xpad driver, which handles Xbox wired drivers - there's nothing else involved. Can you post the output of the following command ?

                    cat /proc/bus/input/devices
                    
                    G 1 Reply Last reply Reply Quote 0
                    • G
                      Gabraham @mitu
                      last edited by

                      @mitu said in Input Scrambled After Retropie Update:

                      If is this model, then it does, even if wired. However, it should work regardless.

                      https://download.8bitdo.com/Manual/Controller/SN30pro-USB/SN30-Pro-USB.pdf
                      That is the manual. If there are multiple modes, there is no way in the manual to toggle between them. It may be that the controller decides on connection whether or not it is in one of the two modes but if it does, I don't know how to manipulate that and I've already tried reseating the usb cable to see if it does anything different.

                      @mitu said in Input Scrambled After Retropie Update:

                      The only driver that could be involved is the xpad driver, which handles Xbox wired drivers - there's nothing else involved. Can you post the output of the following command ?

                      cat /proc/bus/input/devices
                      
                      I: Bus=0003 Vendor=045e Product=028e Version=0114
                      N: Name="Microsoft X-Box 360 pad"
                      P: Phys=usb-0000:01:00.0-1.1/input0
                      S: Sysfs=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input0
                      U: Uniq=
                      H: Handlers=event0 js0
                      B: PROP=0
                      B: EV=20000b
                      B: KEY=7cdb0000 0 0 0 0 0 0 0 0 0
                      B: ABS=3003f
                      B: FF=1 7030000 0 0
                      
                      1 Reply Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator
                        last edited by

                        @gabraham said in Input Scrambled After Retropie Update:

                        That is the manual. If there are multiple modes, there is no way in the manual to toggle between them

                        I see, so it's one of the models that tries to be 'smart' and guess which host is connected to in order to masquerade as either a Xbox 360 controller or a Switch Pro controller.

                        Based on the Vendor/Product ID (Vendor=045e Product=028e) detected, the driver used for it is clearly xpad. I wonder if the gamepad detection makes the driver fail to load.

                        You can test how your buttons/joystick are detected on the controller by using jstest from the command line and pressing each input separately to see how it appears on screen:

                        jstest /dev/input/js0
                        

                        You can interrupt the test at any time using Ctrl+C. Can you check if your triggers are detected as buttons or axis ?

                        G 2 Replies Last reply Reply Quote 0
                        • G
                          Gabraham @mitu
                          last edited by

                          @mitu said in Input Scrambled After Retropie Update:

                          Can you check if your triggers are detected as buttons or axis ?

                          They are detected as axis. I've seen this happen before but I just have no idea why it's suddenly a problem or how to make the Pi recognize them as buttons. I suppose it's possible it was in Switch mode this whole time and suddenly it's in PC mode or something. The switch controller doesn't have analog triggers so this would seem to make sense. The question of course becomes how do I either make the Pi understand they are really buttons, or I guess figure out how to force the modes.

                          mituM 1 Reply Last reply Reply Quote 0
                          • G
                            Gabraham @mitu
                            last edited by

                            @mitu said in Input Scrambled After Retropie Update:

                            I see, so it's one of the models that tries to be 'smart' and guess which host is connected to in order to masquerade as either a Xbox 360 controller or a Switch Pro controller.

                            After you mentioned the multiple modes I decided to see if there was an undocumented way to force one mode over the other and there does appear to be. If I hold down the Y button, it will, much like the bluetooth version, be recognized as a Pro Controller on my PC. When I do this on the Pi however, it fails to detect any button presses whatsoever. If I do not press anything when I plug the controller in or press one of the other face buttons while doing so, it reacts exactly as it has been and the triggers are not recognized properly.

                            1 Reply Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator @Gabraham
                              last edited by mitu

                              @gabraham said in Input Scrambled After Retropie Update:

                              .. it's possible it was in Switch mode this whole time and suddenly it's in PC mode or something.

                              That's unlikely, since the name of the gamepad would have been different and (i.e. not Microsoft X-Box 360 pad).

                              They are detected as axis.

                              This means the xpad driver is either not loaded for the controller or it's not installed properly. The xpad driver included in RetroPie is configured to detect those as buttons - the situation you're describing (triggers appearing as axis) is common when the driver is not installed.

                              Can you re-install the driver and then post the installation log file from $HOME/RetroPie-Setup/logs ?

                              1 Reply Last reply Reply Quote 0
                              • G
                                Gabraham
                                last edited by Gabraham

                                @mitu https://pastebin.com/M9qA6rMe

                                No change. I even confirmed that the xpad.conf file to make sure the triggers to buttons option was set to 1. When I uninstalled it I lost the ability to use my controller too, so I would think it would have to be loaded.

                                1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator
                                  last edited by mitu

                                  OK, so the xpad driver is installed correctly, no issue here.
                                  Try to see if it's loaded/used for the controller. Boot the Pi without the controller plugged in, then run from the terminal

                                  dmesg -w
                                  

                                  and plug in the controller. The driver should load if the controller is properly detected. Post the messages shown by dmesg when plugging in the controller.

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    Gabraham @mitu
                                    last edited by

                                    @mitu said in Input Scrambled After Retropie Update:

                                    Post the messages shown by dmesg when plugging in the controller.

                                    [  132.541524] usb 1-1.1: new full-speed USB device number 3 using xhci_hcd
                                    [  132.681834] usb 1-1.1: New USB device found, idVendor=045e, idProduct=028e, bcdDevice= 1.14
                                    [  132.681852] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
                                    [  132.681866] usb 1-1.1: Product: Controller
                                    [  132.681879] usb 1-1.1: Manufacturer: Controller
                                    [  132.681892] usb 1-1.1: SerialNumber: Controller
                                    [  132.758613] input: Microsoft X-Box 360 pad as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input0
                                    [  132.758925] usbcore: registered new interface driver xpad
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator
                                      last edited by

                                      Looks like the xpad driver is loaded for the controller - I have no idea why the configuration from xpad.conf (triggers_to_buttons=1) doesn't work.

                                      G 1 Reply Last reply Reply Quote 0
                                      • G
                                        Gabraham @mitu
                                        last edited by

                                        @mitu

                                        I also tried xpadneo out of desperation but the controller is always recognized as an xpad.

                                        The xpad driver doesn't appear to have been updated for a few months and I was pretty sure I had updated the drivers since reflashing this Pi weeks ago. Only since I had updated it recently did this start happening. Unfortunately if there is a way to roll back the driver I don't know how to do it and the Retropie-Setup menu always fetches the latest one from source.

                                        I appreciate you helping me to look into it in any case, but it's a damn shame because before this started happening it was almost perfect and just worked like a charm all the time.

                                        mituM 1 Reply Last reply Reply Quote 0
                                        • mituM
                                          mitu Global Moderator @Gabraham
                                          last edited by

                                          I also tried xpadneo out of desperation but the controller is always recognized as an xpad.

                                          xpadneo is for Bluetooth XBox controllers only, it doesn't work for wired gamepads.

                                          The xpad driver doesn't appear to have been updated for a few months and I was pretty sure I had updated the drivers since reflashing this Pi weeks ago

                                          Maybe the xpad driver is not at fault here. Although it has received some updates since 4.7.1 was released last year, it shouldn't affect the patch that RetroPie applies to it. Unfortunately I don't have any compatible controllers to test, but we also haven't received any similar complains lately.

                                          Just to check that the module options are applied, can you run

                                          sudo cat /sys/module/xpad/parameters/triggers_to_buttons
                                          

                                          and see if the output is Y ?

                                          G 1 Reply Last reply Reply Quote 0
                                          • G
                                            Gabraham @mitu
                                            last edited by Gabraham

                                            @mitu

                                            Output is Y.

                                            Also, earlier I tried changing that property to 0 but it affected nothing so I changed it back.

                                            I actually have an 8bitdo wireless. I believe they are in the same family so the USB version is essentially just a stripped down version of the bluetooth one. Interestingly when I plug the bluetooth controller in with a USB port to use USB mode, I can cycle through the Switch and X-Input modes basically the same way and the Pi reacts just like it does with the usb controller. Switch mode USB is not recognized at all and X-Input just causes it to behave like the usb controller version.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.