3 Replies Latest reply on Sep 25, 2015 3:47 PM by Intel_Peter

    Supporting a Sony Playstation 3 on an Edison?

    KurtE

      There are a couple of different parts to this.  Part of this is trying to support the device using Bluetooth...  Up on the Edison-Linux github there was a delta made to bring in the updated HID stuff from later versions of Bluez5 back into the kernel.  I believe I have modified my build to include this patch...  I talk about this up on the thread:

      How to apply updates from https://github.com/01org/edison-linux/tree/edison-3.10.17?

       

      However even after I did that, my Sony PS3 controller is not recognized, even when I plug the controller into one of the USB ports on the Edison. When I built the Kernel I believe I made sure that I included joystick support.

      Device drivers > Input device support > * Joystick Interface

      Device drivers > Input device support > Joysticks/Gamepads > * Classic PC analog joysticks and gamepads

      ... > * Gameport data dumper

      ... > * X-Box gamepad support (Probably not needed, but).

       

      I then copied the .config to the appropriate defconfig as specified in the build manual and then I did the bitbake edison-image  and reflashed my Edison on the mini board...

       

      Now when I plug the PS3 into the USB, I am still not seeing any new things created in /dev/input/.  If I look at dmesg I see:

      [   17.699592] snd_intel_sst: runtime_idle called
      [   19.693062] snd_intel_sst: runtime_suspend called
      [   41.020065] usb 1-1: new full-speed USB device number 2 using dwc3-host
      [   41.094325] usb 1-1: New USB device found, idVendor=054c, idProduct=0268
      [   41.094358] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
      [   41.094380] usb 1-1: Product: PLAYSTATION(R)3 Controller
      [   41.094398] usb 1-1: Manufacturer: Sony
      root@Edison-Test:~#
      
      
      

       

      If I do the same thing on RPI2 (standard install), the /dev/input/js0 is created and dmesg shows more information, like:

       

      [   17.338566] uart-pl011 3f201000.uart: no DMA platform data
      [   70.206611] usb 1-1.2: new full-speed USB device number 6 using dwc_otg
      [   70.376150] usb 1-1.2: New USB device found, idVendor=054c, idProduct=0268
      [   70.376176] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
      [   70.376193] usb 1-1.2: Product: PLAYSTATION(R)3 Controller
      [   70.376222] usb 1-1.2: Manufacturer: Sony
      [   70.530845] input: Sony PLAYSTATION(R)3 Controller as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:054C:0268.0001/input/input0
      [   70.531649] sony 0003:054C:0268.0001: input,hiddev0,hidraw0: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-3f980000.usb-1.2/input0
      pi@hros1 ~ $
      
      
      

       

      Likewise if I try it on an Odroid XU4 running Ubuntu again I get /dev/input/js0 and more information on dmesg:

      [  280.593501] [c0] usb 3-1.2: new full-speed USB device number 5 using xhci-hcd
      [  280.725460] [c0] sony 0003:054C:0268.0002: Fixing up Sony Sixaxis report desc                                                            riptor
      [  280.779448] [c0] input: Sony PLAYSTATION(R)3 Controller as /devices/usb.1/120                                                            00000.dwc3/xhci-hcd.2.auto/usb3/3-1/3-1.2/3-1.2:1.0/input/input2
      [  280.786748] [c1] sony 0003:054C:0268.0002: input,hiddev0,hidraw0: USB HID v1.                                                            11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-xhci-hcd.2.auto-1.2/input0
      odroid@odroid-xu4:~$
      
      

       

      Anyone have any suggestions on how to get this to work.  I know that we can get it to work by using Bluez4... But hopefully I am missing something obvious.

       

      Thanks

        • 1. Re: Supporting a Sony Playstation 3 on an Edison?
          Intel_Peter

          Hello KurtE,

           

          Unfortunately I don't have access to a PS3 controller, so I haven't been able to test it. I've found some links on web however as you mentioned they use previous versions of BlueZ, anyway they may be of help:

           

          Using the PlayStation 3 controller in Bluetooth mode with Linux

          Sixaxis - Community Help Wiki

           

          What I have tested is using a PS4 controller with Edison. The DS4 is a much more open device it even allows you to pair as a normal Bluetooth device (wirelessly) by pressing and holding the Share and PS buttons. If you have access to one you might have a much easier time trying to use it.

           

          Peter.

          • 2. Re: Supporting a Sony Playstation 3 on an Edison?
            KurtE

            Thanks Peter,

             

            So you have tried testing it with PS4.  Will have to try mine out on it out to see if it generates a /dev/input/js0 object.

             

            I could easily go that way, but as the Trossen Robotics setup they are shipping the kit with PS3, so it would be great to get it working properly with it.  The people at Trossen have had luck with the PS3 by generating their own image which includes FTDI and they downgraded from Bluez5 to Bluez4, they also have to kill the BluetoothD process and restart it each time, which I would like to avoid...

             

            Will play some more in the next few days.

             

            Kurt

            • 3. Re: Supporting a Sony Playstation 3 on an Edison?
              Intel_Peter

              Yes, I was able to use the PS4 controller with the Edison. As I mentioned the DS4 is not so complicated to pair and connect compared to the DS3. In fact I was able to use it as an HID device with evtest, the example mentioned in section 6.5 of the Intel® Edison Bluetooth® User Guide. If you have access to one I'd suggest you to use a DS4 instead of a DS3 since I didn't have to do any changes to the image or use another version of BlueZ.

               

              Peter.