RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Sony DualShock 3 - call for testers: "sixaxis" script module

    Scheduled Pinned Locked Moved Ideas and Development
    sixaxisdriverbeta
    208 Posts 24 Posters 34.4k 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.
    • mediamogulM
      mediamogul Global Moderator @pjft
      last edited by

      @pjft said in Sony DualShock 3 - call for testers: "sixaxis" script module:

      sorry for tagging you. It was worth a shot? :)

      Not a problem. Never hurts to ask.

      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

      1 Reply Last reply Reply Quote 0
      • cyperghostC
        cyperghost @pjft
        last edited by

        @pjft No problem bro
        Always here for help :)

        1 Reply Last reply Reply Quote 0
        • madmodder123M
          madmodder123 @psyke83
          last edited by

          @psyke83 I have been busy but I will do this when I have time!

          1 Reply Last reply Reply Quote 0
          • SanoS
            Sano
            last edited by Sano

            Just for information, I tested this with the Etch image with official PS3 controllers.
            Pairing works fine (wasn't working at all with the native image).

            I got a lot of unwanted button press, even in the controller configuration phase, which is pretty annoying.
            Dmesg is full with Bluetooth: hci0: Frame reassembly failed (-84) and Bluetooth: hci0 SCO packet for unknown connection handle 5125 errors, but I doubt this has to do with your script module (already had those errors with jessie and native bluetooth).
            I'll have to find a bluetooth adapter to see if this helps, as I've seen around the web.

            P 1 Reply Last reply Reply Quote 0
            • P
              psyke83 Global Moderator @Sano
              last edited by psyke83

              @sano

              Thanks for testing! Some questions, if you don't mind...

              Did you install the PR more than 5 days ago? In the latest refresh of the PR, I patched the hid-sony kernel driver to make it use the original button mappings from the kernel 4.9 driver, but I also made a change that would cause errant button presses related to L2/R2.

              The unmodified hid-sony driver's behaviour with the L2/R2 triggers is to emit both digital button and analog axis events, which gets interpreted as two separate presses in userspace. In the latest refresh of the PR that reverts to the old mappings, I also patched the driver to disable the analog trigger axes, leaving just the digital buttons presses.

              If you're testing an older PR, I recommend that you update and see if the situation improves. If not, any further information you could provide (such as specific buttons causing problems) would be appreciated.

              You can use a program such as evtest to monitor button presses on your controller.

              1 Reply Last reply Reply Quote 0
              • SanoS
                Sano
                last edited by Sano

                I installed it just today, so it's up to date I think.
                I got a lot of random button press without touching anything :

                Exemple in 25s :

                Testing ... (interrupt to exit)
                Event: time 1518638433.914937, type 3 (EV_ABS), code 0 (ABS_X), value 133
                Event: time 1518638433.914937, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                Event: time 1518638433.914937, type 3 (EV_ABS), code 2 (ABS_Z), value 124
                Event: time 1518638433.914937, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                Event: time 1518638433.914937, -------------- SYN_REPORT ------------
                Event: time 1518638433.921678, type 3 (EV_ABS), code 0 (ABS_X), value 126
                Event: time 1518638433.921678, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                Event: time 1518638433.921678, type 3 (EV_ABS), code 2 (ABS_Z), value 133
                Event: time 1518638433.921678, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                Event: time 1518638433.921678, -------------- SYN_REPORT ------------
                Event: time 1518638433.954201, type 3 (EV_ABS), code 5 (ABS_RZ), value 124
                Event: time 1518638433.954201, -------------- SYN_REPORT ------------
                Event: time 1518638450.121688, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                Event: time 1518638450.121688, -------------- SYN_REPORT ------------
                Event: time 1518638450.155507, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                Event: time 1518638450.155507, -------------- SYN_REPORT ------------
                Event: time 1518638450.793715, type 3 (EV_ABS), code 0 (ABS_X), value 125
                Event: time 1518638450.793715, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                Event: time 1518638450.793715, type 3 (EV_ABS), code 2 (ABS_Z), value 0
                Event: time 1518638450.793715, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                Event: time 1518638450.793715, -------------- SYN_REPORT ------------
                Event: time 1518638450.797955, type 3 (EV_ABS), code 1 (ABS_Y), value 128
                Event: time 1518638450.797955, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                Event: time 1518638450.797955, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                Event: time 1518638450.797955, -------------- SYN_REPORT ------------
                Event: time 1518638450.830513, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                Event: time 1518638450.830513, -------------- SYN_REPORT ------------
                Event: time 1518638450.997973, type 3 (EV_ABS), code 2 (ABS_Z), value 133
                Event: time 1518638450.997973, type 3 (EV_ABS), code 5 (ABS_RZ), value 124
                Event: time 1518638450.997973, -------------- SYN_REPORT ------------
                Event: time 1518638451.873738, type 3 (EV_ABS), code 0 (ABS_X), value 124
                Event: time 1518638451.873738, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                Event: time 1518638451.873738, type 3 (EV_ABS), code 2 (ABS_Z), value 0
                Event: time 1518638451.873738, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                Event: time 1518638451.873738, -------------- SYN_REPORT ------------
                Event: time 1518638451.876727, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                Event: time 1518638451.876727, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                Event: time 1518638451.876727, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                Event: time 1518638451.876727, -------------- SYN_REPORT ------------
                Event: time 1518638451.909286, type 3 (EV_ABS), code 2 (ABS_Z), value 133
                Event: time 1518638451.909286, -------------- SYN_REPORT ------------
                Event: time 1518638451.953730, type 3 (EV_ABS), code 0 (ABS_X), value 134
                Event: time 1518638451.953730, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                Event: time 1518638451.953730, type 3 (EV_ABS), code 2 (ABS_Z), value 125
                Event: time 1518638451.953730, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                Event: time 1518638451.953730, -------------- SYN_REPORT ------------
                Event: time 1518638451.986736, type 3 (EV_ABS), code 0 (ABS_X), value 126
                Event: time 1518638451.986736, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                Event: time 1518638451.986736, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                Event: time 1518638451.986736, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                Event: time 1518638451.986736, -------------- SYN_REPORT ------------
                Event: time 1518638452.053726, type 3 (EV_ABS), code 0 (ABS_X), value 134
                Event: time 1518638452.053726, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                Event: time 1518638452.053726, type 3 (EV_ABS), code 2 (ABS_Z), value 125
                Event: time 1518638452.053726, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                Event: time 1518638452.053726, -------------- SYN_REPORT ------------
                Event: time 1518638452.056753, type 3 (EV_ABS), code 0 (ABS_X), value 126
                Event: time 1518638452.056753, type 3 (EV_ABS), code 1 (ABS_Y), value 128
                Event: time 1518638452.056753, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                Event: time 1518638452.056753, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                Event: time 1518638452.056753, -------------- SYN_REPORT ------------
                Event: time 1518638452.089285, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                Event: time 1518638452.089285, -------------- SYN_REPORT ------------
                Event: time 1518638452.123734, type 3 (EV_ABS), code 0 (ABS_X), value 134
                Event: time 1518638452.123734, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                Event: time 1518638452.123734, type 3 (EV_ABS), code 2 (ABS_Z), value 125
                Event: time 1518638452.123734, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                Event: time 1518638452.123734, -------------- SYN_REPORT ------------
                Event: time 1518638452.259251, type 3 (EV_ABS), code 0 (ABS_X), value 126
                Event: time 1518638452.259251, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                Event: time 1518638452.259251, type 3 (EV_ABS), code 2 (ABS_Z), value 133
                Event: time 1518638452.259251, type 3 (EV_ABS), code 5 (ABS_RZ), value 124
                Event: time 1518638452.259251, -------------- SYN_REPORT ------------
                ^C
                real    0m25.281s
                user    0m0.010s
                sys     0m0.000s
                

                But as I said, I have a lot of errors in dmesg about hci0.
                I read that people only get rid of this by using a BT key and not the native Pi3 BT chipset...
                It also seems that 4.14 is around the corner according to rpi-update github, but I didn't see anything about BT...

                P 1 Reply Last reply Reply Quote 0
                • P
                  psyke83 Global Moderator @Sano
                  last edited by

                  @sano

                  X/Y is the left analog stick and Z/RZ is the right. Does the evtest output always report this activity, or does it happen sporadically?

                  I have two official controllers (with different revision components inside), and neither has this issue.

                  Can you post the output from the beginning of evtest that shows the supported events and values? I've set a fuzz of 3 to match the older driver, as the analog sticks fluctuate between +/- a value of 1 for the resting position. Your output is very odd, however.

                  Can you also check your evtest output when connected via USB to see if the same happens? Make sure to disconnect from Bluetooth before plugging, as it may remain connected via BT when plugging the cable while already paired.

                  1 Reply Last reply Reply Quote 0
                  • SanoS
                    Sano
                    last edited by

                    Sorry I'm back home.

                    Here are the requested :

                    Sixaxis USB connected :

                    pi@retropie:~/RetroPie-Setup $ time evtest 
                    No device specified, trying to scan all of /dev/input/event*
                    Not running as root, no devices may be available.
                    Available devices:
                    /dev/input/event0:      HORI CO.,LTD. Fighting Stick mini 4
                    /dev/input/event1:      Sony PLAYSTATION(R)3 Controller
                    Select the device event number [0-1]: 1
                    Input driver version is 1.0.1
                    Input device ID: bus 0x3 vendor 0x54c product 0x268 version 0x8111
                    Input device name: "Sony PLAYSTATION(R)3 Controller"
                    Supported events:
                      Event type 0 (EV_SYN)
                      Event type 1 (EV_KEY)
                        Event code 288 (BTN_TRIGGER)
                        Event code 289 (BTN_THUMB)
                        Event code 290 (BTN_THUMB2)
                        Event code 291 (BTN_TOP)
                        Event code 292 (BTN_TOP2)
                        Event code 293 (BTN_PINKIE)
                        Event code 294 (BTN_BASE)
                        Event code 295 (BTN_BASE2)
                        Event code 296 (BTN_BASE3)
                        Event code 297 (BTN_BASE4)
                        Event code 298 (BTN_BASE5)
                        Event code 299 (BTN_BASE6)
                        Event code 300 (?)
                        Event code 301 (?)
                        Event code 302 (?)
                        Event code 303 (BTN_DEAD)
                        Event code 704 (BTN_TRIGGER_HAPPY1)
                      Event type 3 (EV_ABS)
                        Event code 0 (ABS_X)
                          Value      0
                          Min        0
                          Max      255
                          Fuzz       3
                          Flat      15
                        Event code 1 (ABS_Y)
                          Value      0
                          Min        0
                          Max      255
                          Fuzz       3
                          Flat      15
                        Event code 2 (ABS_Z)
                          Value      0
                          Min        0
                          Max      255
                          Fuzz       3
                          Flat      15
                        Event code 5 (ABS_RZ)
                          Value      0
                          Min        0
                          Max      255
                          Fuzz       3
                          Flat      15
                      Event type 4 (EV_MSC)
                        Event code 4 (MSC_SCAN)
                      Event type 21 (EV_FF)
                        Event code 80 (FF_RUMBLE)
                        Event code 81 (FF_PERIODIC)
                        Event code 88 (FF_SQUARE)
                        Event code 89 (FF_TRIANGLE)
                        Event code 90 (FF_SINE)
                        Event code 96 (FF_GAIN)
                    Properties:
                    Testing ... (interrupt to exit)
                    ^C
                    real    0m57.535s
                    user    0m0.000s
                    sys     0m0.000s
                    

                    Sixaxis BT connected :

                    pi@retropie:~/RetroPie-Setup $ time evtest 
                    No device specified, trying to scan all of /dev/input/event*
                    Not running as root, no devices may be available.
                    Available devices:
                    /dev/input/event0:      HORI CO.,LTD. Fighting Stick mini 4
                    /dev/input/event1:      Sony PLAYSTATION(R)3 Controller
                    Select the device event number [0-1]: 1
                    Input driver version is 1.0.1
                    Input device ID: bus 0x5 vendor 0x54c product 0x268 version 0x8000
                    Input device name: "Sony PLAYSTATION(R)3 Controller"
                    Supported events:
                      Event type 0 (EV_SYN)
                      Event type 1 (EV_KEY)
                        Event code 288 (BTN_TRIGGER)
                        Event code 289 (BTN_THUMB)
                        Event code 290 (BTN_THUMB2)
                        Event code 291 (BTN_TOP)
                        Event code 292 (BTN_TOP2)
                        Event code 293 (BTN_PINKIE)
                        Event code 294 (BTN_BASE)
                        Event code 295 (BTN_BASE2)
                        Event code 296 (BTN_BASE3)
                        Event code 297 (BTN_BASE4)
                        Event code 298 (BTN_BASE5)
                        Event code 299 (BTN_BASE6)
                        Event code 300 (?)
                        Event code 301 (?)
                        Event code 302 (?)
                        Event code 303 (BTN_DEAD)
                        Event code 704 (BTN_TRIGGER_HAPPY1)
                      Event type 3 (EV_ABS)
                        Event code 0 (ABS_X)
                          Value    121
                          Min        0
                          Max      255
                          Fuzz       3
                          Flat      15
                        Event code 1 (ABS_Y)
                          Value    127
                          Min        0
                          Max      255
                          Fuzz       3
                          Flat      15
                        Event code 2 (ABS_Z)
                          Value    134
                          Min        0
                          Max      255
                          Fuzz       3
                          Flat      15
                        Event code 5 (ABS_RZ)
                          Value    125
                          Min        0
                          Max      255
                          Fuzz       3
                          Flat      15
                      Event type 4 (EV_MSC)
                        Event code 4 (MSC_SCAN)
                      Event type 21 (EV_FF)
                        Event code 80 (FF_RUMBLE)
                        Event code 81 (FF_PERIODIC)
                        Event code 88 (FF_SQUARE)
                        Event code 89 (FF_TRIANGLE)
                        Event code 90 (FF_SINE)
                        Event code 96 (FF_GAIN)
                    Properties:
                    Testing ... (interrupt to exit)
                    Event: time 1518718455.624169, type 3 (EV_ABS), code 0 (ABS_X), value 127
                    Event: time 1518718455.624169, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718455.624169, -------------- SYN_REPORT ------------
                    Event: time 1518718455.656757, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718455.656757, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718455.656757, -------------- SYN_REPORT ------------
                    Event: time 1518718455.756161, type 3 (EV_ABS), code 0 (ABS_X), value 134
                    Event: time 1518718455.756161, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718455.756161, type 3 (EV_ABS), code 2 (ABS_Z), value 125
                    Event: time 1518718455.756161, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                    Event: time 1518718455.756161, -------------- SYN_REPORT ------------
                    Event: time 1518718455.961739, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718455.961739, type 3 (EV_ABS), code 1 (ABS_Y), value 128
                    Event: time 1518718455.961739, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                    Event: time 1518718455.961739, type 3 (EV_ABS), code 5 (ABS_RZ), value 126
                    Event: time 1518718455.961739, -------------- SYN_REPORT ------------
                    Event: time 1518718455.994244, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718455.994244, -------------- SYN_REPORT ------------
                    Event: time 1518718456.119217, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                    Event: time 1518718456.119217, -------------- SYN_REPORT ------------
                    Event: time 1518718456.186158, type 3 (EV_ABS), code 0 (ABS_X), value 123
                    Event: time 1518718456.186158, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718456.186158, type 3 (EV_ABS), code 2 (ABS_Z), value 0
                    Event: time 1518718456.186158, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                    Event: time 1518718456.186158, -------------- SYN_REPORT ------------
                    Event: time 1518718456.219195, type 3 (EV_ABS), code 0 (ABS_X), value 122
                    Event: time 1518718456.219195, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718456.219195, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                    Event: time 1518718456.219195, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                    Event: time 1518718456.219195, -------------- SYN_REPORT ------------
                    Event: time 1518718456.354219, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718456.354219, -------------- SYN_REPORT ------------
                    Event: time 1518718456.524173, type 3 (EV_ABS), code 0 (ABS_X), value 128
                    Event: time 1518718456.524173, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718456.524173, -------------- SYN_REPORT ------------
                    Event: time 1518718456.556733, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718456.556733, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718456.556733, -------------- SYN_REPORT ------------
                    Event: time 1518718456.656176, type 3 (EV_ABS), code 0 (ABS_X), value 134
                    Event: time 1518718456.656176, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718456.656176, type 3 (EV_ABS), code 2 (ABS_Z), value 126
                    Event: time 1518718456.656176, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                    Event: time 1518718456.656176, -------------- SYN_REPORT ------------
                    Event: time 1518718456.659266, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718456.659266, type 3 (EV_ABS), code 1 (ABS_Y), value 128
                    Event: time 1518718456.659266, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                    Event: time 1518718456.659266, type 3 (EV_ABS), code 5 (ABS_RZ), value 126
                    Event: time 1518718456.659266, -------------- SYN_REPORT ------------
                    Event: time 1518718456.691728, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718456.691728, -------------- SYN_REPORT ------------
                    Event: time 1518718456.726143, type 3 (EV_ABS), code 0 (ABS_X), value 134
                    Event: time 1518718456.726143, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718456.726143, type 3 (EV_ABS), code 2 (ABS_Z), value 126
                    Event: time 1518718456.726143, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                    Event: time 1518718456.726143, -------------- SYN_REPORT ------------
                    Event: time 1518718456.759217, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718456.759217, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718456.759217, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                    Event: time 1518718456.759217, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                    Event: time 1518718456.759217, -------------- SYN_REPORT ------------
                    Event: time 1518718457.736192, type 3 (EV_ABS), code 0 (ABS_X), value 134
                    Event: time 1518718457.736192, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718457.736192, type 3 (EV_ABS), code 2 (ABS_Z), value 125
                    Event: time 1518718457.736192, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                    Event: time 1518718457.736192, -------------- SYN_REPORT ------------
                    Event: time 1518718457.741802, type 3 (EV_ABS), code 0 (ABS_X), value 122
                    Event: time 1518718457.741802, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718457.741802, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                    Event: time 1518718457.741802, type 3 (EV_ABS), code 5 (ABS_RZ), value 126
                    Event: time 1518718457.741802, -------------- SYN_REPORT ------------
                    Event: time 1518718457.771734, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718457.771734, -------------- SYN_REPORT ------------
                    Event: time 1518718457.804250, type 3 (EV_ABS), code 0 (ABS_X), value 127
                    Event: time 1518718457.804250, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718457.804250, -------------- SYN_REPORT ------------
                    Event: time 1518718457.807924, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718457.807924, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718457.807924, -------------- SYN_REPORT ------------
                    Event: time 1518718458.007967, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                    Event: time 1518718458.007967, -------------- SYN_REPORT ------------
                    Event: time 1518718459.796242, type 3 (EV_ABS), code 0 (ABS_X), value 134
                    Event: time 1518718459.796242, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718459.796242, type 3 (EV_ABS), code 2 (ABS_Z), value 126
                    Event: time 1518718459.796242, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                    Event: time 1518718459.796242, -------------- SYN_REPORT ------------
                    Event: time 1518718459.829234, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718459.829234, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718459.829234, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                    Event: time 1518718459.829234, type 3 (EV_ABS), code 5 (ABS_RZ), value 126
                    Event: time 1518718459.829234, -------------- SYN_REPORT ------------
                    Event: time 1518718459.864267, type 3 (EV_ABS), code 0 (ABS_X), value 127
                    Event: time 1518718459.864267, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718459.864267, -------------- SYN_REPORT ------------
                    Event: time 1518718459.896768, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718459.896768, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718459.896768, -------------- SYN_REPORT ------------
                    Event: time 1518718459.931763, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                    Event: time 1518718459.931763, -------------- SYN_REPORT ------------
                    Event: time 1518718459.966173, type 3 (EV_ABS), code 0 (ABS_X), value 134
                    Event: time 1518718459.966173, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718459.966173, type 3 (EV_ABS), code 2 (ABS_Z), value 125
                    Event: time 1518718459.966173, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                    Event: time 1518718459.966173, -------------- SYN_REPORT ------------
                    Event: time 1518718459.999256, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718459.999256, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718459.999256, type 3 (EV_ABS), code 2 (ABS_Z), value 134
                    Event: time 1518718459.999256, type 3 (EV_ABS), code 5 (ABS_RZ), value 125
                    Event: time 1518718459.999256, -------------- SYN_REPORT ------------
                    Event: time 1518718460.664234, type 3 (EV_ABS), code 0 (ABS_X), value 127
                    Event: time 1518718460.664234, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718460.664234, -------------- SYN_REPORT ------------
                    Event: time 1518718460.696760, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718460.696760, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718460.696760, -------------- SYN_REPORT ------------
                    Event: time 1518718460.864217, type 3 (EV_ABS), code 0 (ABS_X), value 127
                    Event: time 1518718460.864217, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                    Event: time 1518718460.864217, -------------- SYN_REPORT ------------
                    Event: time 1518718460.866705, type 3 (EV_ABS), code 0 (ABS_X), value 124
                    Event: time 1518718460.866705, type 3 (EV_ABS), code 1 (ABS_Y), value 127
                    Event: time 1518718460.866705, -------------- SYN_REPORT ------------
                    Event: time 1518718460.899264, type 3 (EV_ABS), code 0 (ABS_X), value 122
                    Event: time 1518718460.899264, -------------- SYN_REPORT ------------
                    Event: time 1518718460.966749, type 3 (EV_ABS), code 0 (ABS_X), value 121
                    Event: time 1518718460.966749, -------------- SYN_REPORT ------------
                    ^C
                    real    0m33.483s
                    user    0m0.000s
                    sys     0m0.010s
                    

                    I'll try the same with a Dualshock ASAP.

                    1 Reply Last reply Reply Quote 0
                    • SanoS
                      Sano
                      last edited by

                      Here is the same test with an official DS3 controller :

                      With USB :

                      pi@retropie:~/RetroPie-Setup $ time evtest 
                      No device specified, trying to scan all of /dev/input/event*
                      Not running as root, no devices may be available.
                      Available devices:
                      /dev/input/event0:      HORI CO.,LTD. Fighting Stick mini 4
                      /dev/input/event1:      Sony PLAYSTATION(R)3 Controller
                      Select the device event number [0-1]: 1
                      Input driver version is 1.0.1
                      Input device ID: bus 0x3 vendor 0x54c product 0x268 version 0x8111
                      Input device name: "Sony PLAYSTATION(R)3 Controller"
                      Supported events:
                        Event type 0 (EV_SYN)
                        Event type 1 (EV_KEY)
                          Event code 288 (BTN_TRIGGER)
                          Event code 289 (BTN_THUMB)
                          Event code 290 (BTN_THUMB2)
                          Event code 291 (BTN_TOP)
                          Event code 292 (BTN_TOP2)
                          Event code 293 (BTN_PINKIE)
                          Event code 294 (BTN_BASE)
                          Event code 295 (BTN_BASE2)
                          Event code 296 (BTN_BASE3)
                          Event code 297 (BTN_BASE4)
                          Event code 298 (BTN_BASE5)
                          Event code 299 (BTN_BASE6)
                          Event code 300 (?)
                          Event code 301 (?)
                          Event code 302 (?)
                          Event code 303 (BTN_DEAD)
                          Event code 704 (BTN_TRIGGER_HAPPY1)
                        Event type 3 (EV_ABS)
                          Event code 0 (ABS_X)
                            Value      0
                            Min        0
                            Max      255
                            Fuzz       3
                            Flat      15
                          Event code 1 (ABS_Y)
                            Value      0
                            Min        0
                            Max      255
                            Fuzz       3
                            Flat      15
                          Event code 2 (ABS_Z)
                            Value      0
                            Min        0
                            Max      255
                            Fuzz       3
                            Flat      15
                          Event code 5 (ABS_RZ)
                            Value      0
                            Min        0
                            Max      255
                            Fuzz       3
                            Flat      15
                        Event type 4 (EV_MSC)
                          Event code 4 (MSC_SCAN)
                        Event type 21 (EV_FF)
                          Event code 80 (FF_RUMBLE)
                          Event code 81 (FF_PERIODIC)
                          Event code 88 (FF_SQUARE)
                          Event code 89 (FF_TRIANGLE)
                          Event code 90 (FF_SINE)
                          Event code 96 (FF_GAIN)
                      Properties:
                      Testing ... (interrupt to exit)
                      ^C
                      real    1m22.770s
                      user    0m0.000s
                      sys     0m0.000s
                      

                      With BT :

                      pi@retropie:~/RetroPie-Setup $ time evtest              
                      No device specified, trying to scan all of /dev/input/event*
                      Not running as root, no devices may be available.
                      Available devices:
                      /dev/input/event0:      HORI CO.,LTD. Fighting Stick mini 4
                      /dev/input/event1:      Sony PLAYSTATION(R)3 Controller
                      Select the device event number [0-1]: 1
                      Input driver version is 1.0.1
                      Input device ID: bus 0x5 vendor 0x54c product 0x268 version 0x8000
                      Input device name: "Sony PLAYSTATION(R)3 Controller"
                      Supported events:
                        Event type 0 (EV_SYN)
                        Event type 1 (EV_KEY)
                          Event code 288 (BTN_TRIGGER)
                          Event code 289 (BTN_THUMB)
                          Event code 290 (BTN_THUMB2)
                          Event code 291 (BTN_TOP)
                          Event code 292 (BTN_TOP2)
                          Event code 293 (BTN_PINKIE)
                          Event code 294 (BTN_BASE)
                          Event code 295 (BTN_BASE2)
                          Event code 296 (BTN_BASE3)
                          Event code 297 (BTN_BASE4)
                          Event code 298 (BTN_BASE5)
                          Event code 299 (BTN_BASE6)
                          Event code 300 (?)
                          Event code 301 (?)
                          Event code 302 (?)
                          Event code 303 (BTN_DEAD)
                          Event code 704 (BTN_TRIGGER_HAPPY1)
                        Event type 3 (EV_ABS)
                          Event code 0 (ABS_X)
                            Value    128
                            Min        0
                            Max      255
                            Fuzz       3
                            Flat      15
                          Event code 1 (ABS_Y)
                            Value    129
                            Min        0
                            Max      255
                            Fuzz       3
                            Flat      15
                          Event code 2 (ABS_Z)
                            Value    130
                            Min        0
                            Max      255
                            Fuzz       3
                            Flat      15
                          Event code 5 (ABS_RZ)
                            Value    130
                            Min        0
                            Max      255
                            Fuzz       3
                            Flat      15
                        Event type 4 (EV_MSC)
                          Event code 4 (MSC_SCAN)
                        Event type 21 (EV_FF)
                          Event code 80 (FF_RUMBLE)
                          Event code 81 (FF_PERIODIC)
                          Event code 88 (FF_SQUARE)
                          Event code 89 (FF_TRIANGLE)
                          Event code 90 (FF_SINE)
                          Event code 96 (FF_GAIN)
                      Properties:
                      Testing ... (interrupt to exit)
                      Event: time 1518719674.237363, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719674.237363, -------------- SYN_REPORT ------------
                      Event: time 1518719674.269915, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719674.269915, -------------- SYN_REPORT ------------
                      Event: time 1518719674.677360, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719674.677360, -------------- SYN_REPORT ------------
                      Event: time 1518719674.709918, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719674.709918, -------------- SYN_REPORT ------------
                      Event: time 1518719674.809465, type 3 (EV_ABS), code 0 (ABS_X), value 129
                      Event: time 1518719674.809465, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719674.809465, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                      Event: time 1518719674.809465, -------------- SYN_REPORT ------------
                      Event: time 1518719674.812372, type 3 (EV_ABS), code 0 (ABS_X), value 128
                      Event: time 1518719674.812372, type 3 (EV_ABS), code 1 (ABS_Y), value 130
                      Event: time 1518719674.812372, type 3 (EV_ABS), code 5 (ABS_RZ), value 130
                      Event: time 1518719674.812372, -------------- SYN_REPORT ------------
                      Event: time 1518719674.844958, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719674.844958, -------------- SYN_REPORT ------------
                      Event: time 1518719674.879403, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719674.879403, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                      Event: time 1518719674.879403, -------------- SYN_REPORT ------------
                      Event: time 1518719674.912426, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719674.912426, type 3 (EV_ABS), code 5 (ABS_RZ), value 130
                      Event: time 1518719674.912426, -------------- SYN_REPORT ------------
                      Event: time 1518719675.249444, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719675.249444, type 3 (EV_ABS), code 2 (ABS_Z), value 0
                      Event: time 1518719675.249444, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                      Event: time 1518719675.249444, -------------- SYN_REPORT ------------
                      Event: time 1518719675.282450, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719675.282450, type 3 (EV_ABS), code 2 (ABS_Z), value 130
                      Event: time 1518719675.282450, type 3 (EV_ABS), code 5 (ABS_RZ), value 130
                      Event: time 1518719675.282450, -------------- SYN_REPORT ------------
                      Event: time 1518719675.349408, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719675.349408, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                      Event: time 1518719675.349408, -------------- SYN_REPORT ------------
                      Event: time 1518719675.352426, type 3 (EV_ABS), code 1 (ABS_Y), value 130
                      Event: time 1518719675.352426, type 3 (EV_ABS), code 5 (ABS_RZ), value 130
                      Event: time 1518719675.352426, -------------- SYN_REPORT ------------
                      Event: time 1518719675.384983, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719675.384983, -------------- SYN_REPORT ------------
                      Event: time 1518719675.419397, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719675.419397, type 3 (EV_ABS), code 2 (ABS_Z), value 0
                      Event: time 1518719675.419397, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                      Event: time 1518719675.419397, -------------- SYN_REPORT ------------
                      Event: time 1518719675.452456, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719675.452456, type 3 (EV_ABS), code 2 (ABS_Z), value 131
                      Event: time 1518719675.452456, type 3 (EV_ABS), code 5 (ABS_RZ), value 130
                      Event: time 1518719675.452456, -------------- SYN_REPORT ------------
                      Event: time 1518719675.484970, type 3 (EV_ABS), code 2 (ABS_Z), value 130
                      Event: time 1518719675.484970, -------------- SYN_REPORT ------------
                      Event: time 1518719677.217397, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719677.217397, -------------- SYN_REPORT ------------
                      Event: time 1518719677.219915, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719677.219915, -------------- SYN_REPORT ------------
                      Event: time 1518719677.769398, type 3 (EV_ABS), code 0 (ABS_X), value 129
                      Event: time 1518719677.769398, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719677.769398, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
                      Event: time 1518719677.769398, -------------- SYN_REPORT ------------
                      Event: time 1518719677.802407, type 3 (EV_ABS), code 0 (ABS_X), value 128
                      Event: time 1518719677.802407, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719677.802407, type 3 (EV_ABS), code 5 (ABS_RZ), value 130
                      Event: time 1518719677.802407, -------------- SYN_REPORT ------------
                      Event: time 1518719677.837407, type 3 (EV_ABS), code 1 (ABS_Y), value 0
                      Event: time 1518719677.837407, -------------- SYN_REPORT ------------
                      Event: time 1518719677.869925, type 3 (EV_ABS), code 1 (ABS_Y), value 129
                      Event: time 1518719677.869925, -------------- SYN_REPORT ------------
                      ^C
                      real    0m20.763s
                      user    0m0.000s
                      sys     0m0.010s
                      

                      Same behavior : No unwanted input with USB, a lot through BT :(

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        psyke83 Global Moderator @Sano
                        last edited by psyke83

                        @sano said in Sony DualShock 3 - call for testers: "sixaxis" script module:

                        Same behavior : No unwanted input with USB, a lot through BT :(

                        Bizarre. Do you have other Bluetooth peripherals paired during testing? Perhaps if you explicitly remove everything but the controller from the stack it may resolve the issue.

                        Do you use the onboard wifi? Perhaps if you temporarily disconnect while testing the
                        controller, it can help to identify if we're seeing Bluetooth coexistence issues.

                        I'm using the onboard Bluetooth on my Pi3 and have never seen issues such as this - but I use ethernet instead of wifi, so that may be explain the discrepancy.

                        1 Reply Last reply Reply Quote 0
                        • SanoS
                          Sano
                          last edited by

                          I only had one controller connected at a time.
                          Moreover, I use ethernet, and disabled wifi via /boot/config.txt.
                          The only other BT device in range is the my wife's Fitbit Flex, but it's obviously not paired with the Pi.
                          Guess I'll need to find an external BT adapter and do more tests :)

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            psyke83 Global Moderator @Sano
                            last edited by psyke83

                            @sano said in Sony DualShock 3 - call for testers: "sixaxis" script module:

                            I only had one controller connected at a time.
                            Moreover, I use ethernet, and disabled wifi via /boot/config.txt.
                            The only other BT device in range is the my wife's Fitbit Flex, but it's obviously not paired with the Pi.
                            Guess I'll need to find an external BT adapter and do more tests :)

                            Well, do keep me updated on any developments.

                            I just disabled wifi via dtoverlay=pi3-disable-wifi, and still can't reproduce the issue you're seeing. Maybe as a last resort, you could try to reset your controller using the pinhole at the back of the controller and then re-pair, but I doubt it'll help.

                            You never had issues with ps3controller causing erratic axis events like this?

                            1 Reply Last reply Reply Quote 0
                            • P
                              psyke83 Global Moderator
                              last edited by psyke83

                              @Sano,

                              If you're up for a possible alternate to using a USB BT adapter, I have a suggestion:

                              Edit /usr/bin/btuartas superuser and change the following line:

                                              $HCIATTACH /dev/serial1 bcm43xx 921600 noflow - $BDADDR
                              

                              to:

                                              $HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR
                              

                              Then reboot your Pi and see if Bluetooth works more reliably.

                              Also, can you let me know the Pi revision you have?

                              cat /proc/cpuinfo
                              

                              Although I don't experience the same issue as you, I do notice a lot of Bluetooth: hci0: Frame reassembly failed (-84)messages, which led me to this discussion: https://github.com/raspberrypi/linux/issues/2264

                              My Pi 3 is a revision 1.2 board (a02082).

                              Thanks.

                              SanoS 1 Reply Last reply Reply Quote 1
                              • SanoS
                                Sano @psyke83
                                last edited by Sano

                                @psyke83

                                Thanks for the tip.
                                Actually I've done a lot of research and found the same page as you (amongst other), that's why I was looking to test with an external adapter.

                                Here is my RPi revision from cpuinfo (the exact same as yours BTW) :
                                Revision : a02082

                                I followed your advice and reduced the connection speed, and the hci(0) don't appear anymore. Moreover, no more unwanted input on analog sticks.
                                Nice shot !

                                Do you plan to merge your branch with master soon ?

                                Edit : actually there are still some hci errors, but very few compared to before the speed change.

                                1 Reply Last reply Reply Quote 0
                                • P
                                  psyke83 Global Moderator
                                  last edited by psyke83

                                  Unfortunately, it's going to take some time before you'll see this merged in any form as we're currently busy testing everything for stretch compatibility.

                                  Additionally, there are issues with this scriptmodule that are going to require some evaluation:

                                  • I've backported the hid-sony driver from the 4.15 kernel, but patched it to revert to the old button mappings that were used by the driver in the 4.9 kernel (as well as the ps3controller driver), with the intention of minimizing user frustration from getting stuck in menus/having to remap their controller, after installing this module. I'm not sure this is a good idea, because the next Raspberry Pi firmware update on stretch will bump the kernel to 4.14.x, and the hid-sony driver from this kernel release will start using the newer button mappings anyway.
                                  • In order to support third-party (Shanwan/Gasia) controllers, we need BlueZ 5.48. The packages I've provided work well, but there are always potential pitfalls, complications and upgrade issues when overwriting distribution versions of packages. This won't be an issue once the official Debian/Raspbian packages are upgraded to this version, but the question is how long that will take to happen, or if it will happen at all in the case of stretch.
                                  • I haven't yet received any feedback on third-party Gasia controller compatibility. I'm fairly sure it will work just as well as Shanwan, but I need to be sure in order for us to consider this a full replacement for the old ps3controller driver.
                                  SanoS 1 Reply Last reply Reply Quote 1
                                  • SanoS
                                    Sano @psyke83
                                    last edited by Sano

                                    @psyke83
                                    I see.
                                    I saw the future 4.14 kernel/firmware upgrade as stated above through rpi-update github.

                                    Regarding button mapping, IMHO, I think it would be better to stay as close as possible of the upstream packages/drivers.
                                    Moreover, the stretch image is still a beta and apparently no direct upgrade path from jessie will be supported, so we could hope than by integrating this directly in stretch, very few users will be bothered by controller remapping, because the new installs will use the new mapping anyway...

                                    My two cents.

                                    Oh, and thanks again for your work and advices !

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      psyke83 Global Moderator
                                      last edited by

                                      @Sano,

                                      Yes, but stretch is not yet using the new mappings. Once the next firmware package is released, I'd certainly be happy to drop the old mappings.

                                      BTW, one more thing you could try is to verify that it's not BlueZ 5.48 causing your issue with Bluetooth stability.

                                      • Revert the change to /usr/bin/btuart
                                      • Revert the Bluetooth packages back to Raspbian defaults:
                                        sudo apt-get install $(dpkg -l | grep 5.48-1~rpi1 | awk -v os_rel=$(lsb_release -sc) '{print $2"/"os_rel}')

                                      Reboot and see if your controller is stable with the default BlueZ packages. To go back to the new BlueZ packages, just re-install the sixaxis module.

                                      SanoS 1 Reply Last reply Reply Quote 0
                                      • SanoS
                                        Sano @psyke83
                                        last edited by

                                        @psyke83
                                        Just tested as requested.
                                        hci0: Frame reassembly failed (-84) errors are back, as well as unwanted analog stick events.
                                        Going back to the working solution then :)

                                        P 1 Reply Last reply Reply Quote 0
                                        • P
                                          psyke83 Global Moderator @Sano
                                          last edited by psyke83

                                          @sano said in Sony DualShock 3 - call for testers: "sixaxis" script module:

                                          @psyke83
                                          Just tested as requested.
                                          hci0: Frame reassembly failed (-84) errors are back, as well as unwanted analog stick events.
                                          Going back to the working solution then :)

                                          At least we know it's not caused by my custom BlueZ packages - much appreciated! I'm still curious as to why I don't experience the same issue, given that we have the exact same revision of Pi 3. Hopefully more people will test this to help discern if it's going to be a common issue.

                                          SanoS 1 Reply Last reply Reply Quote 0
                                          • SanoS
                                            Sano @psyke83
                                            last edited by Sano

                                            @psyke83
                                            Could the answer be that my RPi is near my wifi router (maybe 30cm) ?
                                            Nevertheless those unwanted stick inputs were not there a couple of weeks ago.
                                            Maybe a new firmware/driver/config rendering the BT controller more sensitive ?

                                            P 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.