Sony DualShock 3 - call for testers: "sixaxis" script module
-
@psyke83 I have been busy but I will do this when I have time!
-
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 withBluetooth: hci0: Frame reassembly failed (-84)
andBluetooth: 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. -
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. -
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... -
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.
-
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.
-
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 :(
-
@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.
-
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 :) -
@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?
-
If you're up for a possible alternate to using a USB BT adapter, I have a suggestion:
Edit
/usr/bin/btuart
as 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/2264My Pi 3 is a revision 1.2 board (a02082).
Thanks.
-
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 : a02082I 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.
-
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 theps3controller
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 thehid-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.
- I've backported the
-
@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 !
-
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.
- Revert the change to
-
@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 :) -
@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.
-
@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 ? -
@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.
-
@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.
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.