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

    Gamepads making involuntary movements in Emulation Station

    Scheduled Pinned Locked Moved Help and Support
    gamepadcontroller
    107 Posts 41 Posters 44.3k 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.
    • B
      Brunnis
      last edited by Brunnis

      Don't know why I didn't use jstest before... I'm running it now. The controller I'm running on has already been connected to the Pi for 44 hours without any button presses (that I've been able to detect in the menu, at least). I'm running jstest through SSH in Cygwin, in parallel with EmulationStation, so I'll be able to observe if any phantom presses registered by jstest show up in ES.

      @Pussyfoot It does look like you've received a couple of full presses (-32767), so I would expect those to have produced a visible effect...

      P 1 Reply Last reply Reply Quote 1
      • P
        Pussyfoot @Brunnis
        last edited by

        @brunnis I know, but the the selection in Kodi was on the same exact spot as I left it. Maybe it's true that it moved off and moved back. I still have it up, so I'll check it later today.

        jonnykeshJ 1 Reply Last reply Reply Quote 0
        • jonnykeshJ
          jonnykesh @Pussyfoot
          last edited by jonnykesh

          @pussyfoot Both of those full inputs were UP presses on the D-Pad.

          #UP
          Event: type 2, time 12916484, number 1, value -32767
          Event: type 2, time 12916556, number 1, value 0
          
          #DOWN
          Event: type 2, time 12917476, number 1, value 32767
          Event: type 2, time 12917580, number 1, value 0
          
          #LEFT
          Event: type 2, time 12918228, number 0, value -32767
          Event: type 2, time 12918380, number 0, value 0
          
          #RIGHT
          Event: type 2, time 12919188, number 0, value 32767
          Event: type 2, time 12919268, number 0, value 0
          P 1 Reply Last reply Reply Quote 0
          • P
            Pussyfoot @jonnykesh
            last edited by

            @jonnykesh I just checked again after leaving it another 24 hours on the same screen. There were no movements in any direction. The addition of the missing capacitor fixed the problem for me regardless what jstest is dumping.

            B 1 Reply Last reply Reply Quote 1
            • B
              Brunnis @Pussyfoot
              last edited by

              @pussyfoot That's good to hear!

              I've been running jstest since yesterday (20 hours now) on the sample that originally had the most phantom presses. Still zero button presses registered.

              P 1 Reply Last reply Reply Quote 0
              • P
                Pussyfoot @Brunnis
                last edited by

                @brunnis It's been over 48 hours without a peep. To anyone reading this thread, try the missing capacitor first.

                RionR 1 Reply Last reply Reply Quote 1
                • RionR
                  Rion @Pussyfoot
                  last edited by

                  @Brunnis @pussyfoot

                  I wonder what the difference will be if you use Capacitors with a tolerance level of 10% instead of 20%?

                  FBNeo rom filtering
                  Mame2003 Arcade Bezels
                  Fba Arcade Bezels
                  Fba NeoGeo Bezels

                  1 Reply Last reply Reply Quote 0
                  • B
                    Brunnis
                    last edited by

                    @Rion Probably none. It mainly seems that additional capacitance is needed and not an exact value.

                    @Pussyfoot I should mention that before I started modding my controllers, I tried applying a single capacitor at different places while looking for changes in the jittery d-pad movements in Windows' Game Controllers dialog. Just applying the missing cap at position C41 only had a smaller stabilizing effect. The same goes for adding the one closest to the input. It was the cap at C13 that really made a difference. It seems all my controllers are now stable (still undergoing final testing, though), but if I still had issues, the thing I'd really like to try is to increase the capacitance of capacitor C13 further. It's certainly possible that it's just the extra capacitance of the other caps that give the additional stabilizing effect, so a single 47µF cap at C13 might actually be enough.

                    1 Reply Last reply Reply Quote 1
                    • Z
                      Zigurana
                      last edited by

                      You guys have been focusing a lot on adding capacitors at specific places, but did you consider using a ferrous bead around the lead?

                      If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        Brunnis @Zigurana
                        last edited by

                        @zigurana I did, actually. I searched around at home and at work for one but didn't find any. When I found out that the caps made such a difference, I focused on that instead. But I would definitely have liked to try with a bead.

                        AddisonA 1 Reply Last reply Reply Quote 0
                        • AddisonA
                          Addison @Brunnis
                          last edited by

                          @brunnis Heya. Quick question for you.....

                          How many USB ports are you using on your Pi when testing this?

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            Brunnis @Addison
                            last edited by

                            @addison Just the one for the controller. Out of all the USB ports on my Dell laptop and HP screen, the Pi's is still the most likely to cause phantom presses. So USB power supply might not be where the Pi 3 excels...

                            I guess its possible that the phantom issue could reappear once you start loading the other ports. However, if that's the case, I'd be more inclined to just conclude that the Pi 3 itself needs better USB power supply/filtering.

                            AddisonA 1 Reply Last reply Reply Quote 1
                            • AddisonA
                              Addison @Brunnis
                              last edited by

                              @brunnis Can you test again with at least a secondary controller plugged in, perhaps a USB memory card as well, and whatever else you can think of to shove into those three other ports?

                              I get that your solution fairs quite well.

                              I'm just asking if it can still handle it all with other junk in the USB ports.

                              B 2 Replies Last reply Reply Quote 0
                              • B
                                Brunnis @Addison
                                last edited by

                                @addison I won't have access to the system over the weekend, but I did already have a SanDisk Extreme 64GB high performance USB thumb drive connected for an hour or two and that didn't produce any issues. Neither did having a keyboard connected. I'll see if I can shove some more stuff into the ports on Monday.

                                1 Reply Last reply Reply Quote 1
                                • B
                                  Brunnis @Addison
                                  last edited by

                                  @addison I took the controller that was most unstable before the fix and connected it to my RPi3 together with a mechanical USB HDD (Western Digital 2.5"). Unfortunately, this did provoke a few phantom presses. Nothing huge; two phantom presses over four hours.

                                  I guess the conclusion is that this fix will dratically reduce the risk of phantom presses. However, the combination of a fairly unstable controller and a USB port that provides noisy power can still produce occasional phantom presses. I should point out that I'm using the official power supply for my Pi, so it's not some no-name crappy one. However, since this phantom press issue seems to be very much tied to the quality of the USB power, even just changing to another RPi board could provide different results. This also makes it tricky to verify that a fix is 100% effective.

                                  Although I would have liked for this fix to have completely eliminated the issue, I'm still glad it works as well as it does. I don't doubt that a more elaborate investigation (using an oscilloscope) could provide a better fix (probably involving adding smaller caps as well), but I won't spend any more time on it.

                                  stooS 1 Reply Last reply Reply Quote 2
                                  • stooS
                                    stoo @Brunnis
                                    last edited by

                                    Just in case anyone is wondering, this issue is not solved between board revisions on the Buffalo controllers. I have both a BSGP801GY and a BGSP815GY. The 815 has packaging that advertises Windows 10 compatibility, the 801 is an older one from the Windows 8 era. There are differences, specifically the 815 has 33Ω resistors at R11 and R12 which are unpopulated on the 801.

                                    I don't know why they added these resistors (or omitted them in the 801) but the phantom issue remains in the newer revision. Within a few minutes of plugging in the 815 I got this in jstest:

                                    Event: type 2, time 7408630, number 0, value -32767
                                    Event: type 2, time 7408640, number 0, value 0
                                    Event: type 2, time 7835420, number 1, value 16552
                                    Event: type 2, time 7835430, number 1, value 0

                                    That's a "full" left and a "half" down on the D-PAD.

                                    I may try replacing the caps to see if it makes any difference, but in my mind the Buffalo controllers simply cannot be trusted to perform correctly. I'd kinda like to know what chip they're using but I cba scraping the epoxy off to find out.

                                    1 Reply Last reply Reply Quote 1
                                    • stooS
                                      stoo
                                      last edited by

                                      Interestingly, the hardware ID of the Buffalo controller is HID\VID_0583&PID_2060&REV_0100.

                                      VendorID 0x583 is a company called Rockfire, which leads us to...

                                      https://rockfire.com.tw/en/products/pc-gameing/gamepad/51-qf-109u-mjolnir.html

                                      So the controller is a rebadge of a Taiwanese controller, which is hardly a surprise.

                                      jonnykeshJ 1 Reply Last reply Reply Quote 1
                                      • jonnykeshJ
                                        jonnykesh @stoo
                                        last edited by

                                        @stoo So, are the older ones just rebranded Rockfire or is this a recent thing? I can't check mine as it died a few months ago.

                                        stooS 1 Reply Last reply Reply Quote 0
                                        • stooS
                                          stoo @jonnykesh
                                          last edited by

                                          @jonnykesh Both the iBuffalo 801 and the Buffalo 815 have identical hardware IDs. It's almost certainly the same chip in both of them. I'm guessing Buffalo saw a gap in the Japanese market, went out and found an existing manufacturer who made SNES-type controllers of good-enough quality and said "Just put Buffalo on these and we'll sell them under our brand".

                                          jonnykeshJ 1 Reply Last reply Reply Quote 1
                                          • jonnykeshJ
                                            jonnykesh @stoo
                                            last edited by

                                            @stoo Mine was an 801 (BSGP801). Honestly I have never seen the Rockfire for sale in Europe. I checked my local Amazon and they aren't there. Someone is missing a trick and a lot of money. These things went from a tenner up to £20 on Amazon as RetroPie became more and more popular. They probably cost about a dollar a piece to put together.

                                            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.