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 35.5k 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.
    • 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
                                      • P
                                        psyke83 Global Moderator @Sano
                                        last edited by

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

                                        @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 ?

                                        Could be, or perhaps some interference if you have your Pi inside a metal case. Are you on jessie or the stretch testing image? The latter may have different BT/wifi firmware that can affect how Bluetooth behaves.

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

                                          @psyke83
                                          My Pi is in a plastic case, and I use the stretch image for a few weeks.
                                          Still trying to find bugs with my "regular" use of retropie, but no big deal ATM.

                                          1 Reply Last reply Reply Quote 0
                                          • pjftP
                                            pjft
                                            last edited by

                                            I have seen those hci0: Frame reassembly failed (-84) errors in the past in my setup, before I even tried to play with these new drivers. I never got to the bottom of it, though since it didn't seem to have any material impact on the performance I just ignored them.

                                            SanoS P 2 Replies 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.