• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

BEBONCOOL controller bluetooth issues

Scheduled Pinned Locked Moved Help and Support
bluetoothbeboncoolcontroller
14 Posts 6 Posters 7.8k 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.
  • S
    slimbrick
    last edited by 25 Nov 2017, 20:23

    I am having bluetooth issues with a BEBONCOOL bluetooth wireless controller. I went through the bluetooth connection process with a terminal command line as specified on the Github page; the Pi reported the connection as active; and I ran jstest /dev/input/js0 and saw the Pi responding to button presses and joystick movements properly. Yet when I start emulationstation it does not recognize the controller. Here are my answers to the standard questions:

    Pi Model or other hardware: pi3
    Power Supply used: The one the cana kit came with
    RetroPie Version Used: v4.3
    Built From: Pre-made SD Image on RetroPie website (retropie-4.3-rpi2_rpi3.img)
    USB Devices connected: Keyboard
    Controller used: Beboncool - https://www.amazon.com/gp/product/B01N8WWOE5/ref=oh_aui_detailpage_o00_s01?ie=UTF8&psc=1
    Error messages received: None
    Log found in /dev/shm/runcommand.log (if relevant):
    Guide used: (Mention if you followed a guide) Gihub Bluetooth Controller Page (https://github.com/RetroPie/RetroPie-Setup/wiki/Bluetooth-Controller)
    File: (File with issue - with FULL path) N/A
    Emulator: (Name of emulator - if applicable) N/A
    Attachment of config files: (PLEASE USE PASTEBIN.COM FOR LARGE LOGS) N/A
    How to replicate the problem: Try to bluetooth connect the Beboncool controller

    Frankly, I'd get another controller, however given the jstest is working properly, I figured I should ask the question of what might be wrong. Oh, I should mention: when I connect this controller over USB it works fine. Any ideas?

    Thanks

    M 1 Reply Last reply 25 Nov 2017, 21:32 Reply Quote 0
    • M
      mitu Global Moderator @slimbrick
      last edited by 25 Nov 2017, 21:32

      @slimbrick OK, so you got your controller paired, does jstest recognizes the button presses as buttons or something else ? My guess is that over bluetooth it's using some Android HID protocol that's not the standard joystick protocol.
      From their page (http://www.beboncool.com/product/beboncool-b21-bluetooth-gamepad-for-for-android-phonetablettv-boxgear-vremulator-not-clip-included/):

      Bluetooth controller function is only for Android Bluetooth Device. When for Windows PC, it works as Wired Gamepad not Bluetooth gamepad.

      S 1 Reply Last reply 25 Nov 2017, 22:35 Reply Quote 0
      • S
        slimbrick @mitu
        last edited by 25 Nov 2017, 22:35

        @mitu When running jstest with the Beboncool controller paired through bluetooth, button presses on the controller respond as various "Buttons" in the jstest. For example, a press of "A" is Button 0, "X" is Button 3, "Start" is Button 11 and so forth. When I press the Dpad directions, I get responses in the Axes of jstest (up/down is Axes 1, left/right is Axis 0). Similarly, using the left and right joysticks also gets responses in Axes of jstest.

        I read the Android Bluetooth Device as well, however, given that I am getting these responses in jstest, shouldn't it work?

        Thanks again.

        1 Reply Last reply Reply Quote 0
        • S
          slimbrick
          last edited by 28 Nov 2017, 13:32

          It's been a few days and no one responded, so I thought I would ask again...I have my Beboncool bluetooth controller paired to the Pi and a jstest /dev/input/js0 responds correctly to all button presses and joystick inputs, yet is not recognized by emulationstation or the emulators. Seems to me that the jstest results tell me the emulators should work fine with this controller. Is there anything else I can do, or should I just buy another controller?

          Thanks

          M 1 Reply Last reply 28 Nov 2017, 17:25 Reply Quote -1
          • M
            mitu Global Moderator @slimbrick
            last edited by 28 Nov 2017, 17:25

            @slimbrick I don't know why ES doesn't detect your joystick. Another way to test if SDL (which is used by Emulatiostation) detects your joystick is to use the jstest-sdl program from https://github.com/meleu/jstest-sdl.
            Use SSH to connect to the PI system, then clone the repository and install it

            git clone https://github.com/meleu/jstest-sdl
            cd jstest-sdl
            sudo apt-get install libsdl2-dev libncurses5-dev
            make
            

            If no error occurs, you should be able to run the test program with

            # List the available joysticks, get the index number
            ./jstest-sdl -l
            # Test the 1st joystick
            ./jstest-sdl -t 0
            

            This might give us a clue why ES doesn't detect your joystick, but it still doesn't work, then I don't know what else we can do.

            J S 2 Replies Last reply 28 Nov 2017, 18:16 Reply Quote 1
            • J
              jonnykesh @mitu
              last edited by 28 Nov 2017, 18:16

              @mitu Thanks for this. Another great script from @meleu. I didn't even know this existed.

              1 Reply Last reply Reply Quote 0
              • S
                slimbrick @mitu
                last edited by 29 Nov 2017, 02:30

                @mitu Thank you. jstest-sdl does not register this controller. When I run jstest-sdl -l, I get the return "No joysticks were found." If I try to force a test with jstest-sdl -t 0, I get "Unable to open joystick 0."

                Yet, as I have written previously, jstest does find the joystick and show appropriate responses.

                So, I suppose we have an answer. Emulationstation uses SDL (Simple DirectMedia Layer?) and jstest uses a different library to access bluetooth connected devices.

                Thanks. Now I have to buy the right controller! :)

                M 1 Reply Last reply 29 Nov 2017, 05:25 Reply Quote 0
                • M
                  mitu Global Moderator @slimbrick
                  last edited by mitu 29 Nov 2017, 05:25

                  @slimbrick said in BEBONCOOL controller bluetooth issues:

                  So, I suppose we have an answer. Emulationstation uses SDL (Simple DirectMedia Layer?) and jstest uses a different library to access bluetooth connected devices.

                  The way it looks, SDL2 uses /dev/input/eventY files to read information about the available joysticks, unlike jstest which reads them from /dev/input/jsX. See https://wiki.archlinux.org/index.php/Gamepad#Joystick_input_systems for an explanation.

                  Sorry we couldn't make it work, perhaps in the future this might be supported, but right now I think getting another controller would be a better choice.

                  S 1 Reply Last reply 30 Nov 2017, 05:20 Reply Quote 0
                  • S
                    slimbrick @mitu
                    last edited by 30 Nov 2017, 05:20

                    @mitu said in BEBONCOOL controller bluetooth issues:

                    The way it looks, SDL2 uses /dev/input/eventY files to read information about the available joysticks, unlike jstest which reads them from /dev/input/jsX. See https://wiki.archlinux.org/index.php/Gamepad#Joystick_input_systems for an explanation.

                    This link suggests I could fix it by setting the environment variable SDL_JOYSTICK_DEVICE=/dev/input/js0. I did so, but no luck. I have to be honest, this has little to do with me being too cheap to buy another controller. I just find sorting out what's going on so interesting!

                    M 1 Reply Last reply 30 Nov 2017, 06:26 Reply Quote 0
                    • M
                      mitu Global Moderator @slimbrick
                      last edited by 30 Nov 2017, 06:26

                      @slimbrick said in BEBONCOOL controller bluetooth issues:

                      This link suggests I could fix it by setting the environment variable SDL_JOYSTICK_DEVICE=/dev/input/js0

                      I've seen that, but it's for SDL1 only and it's ignored by SDL2 - which is the version ES is using.

                      1 Reply Last reply Reply Quote 0
                      • S
                        slimbrick
                        last edited by 30 Nov 2017, 14:11

                        @mitu said in BEBONCOOL controller bluetooth issues:

                        I've seen that, but it's for SDL1 only and it's ignored by SDL2 - which is the version ES is using.

                        Maybe I should make up own environmental variable SDL2_JOYSTICK_DEVICE=/dev/input/js0. Hah! Logitech F710 is on the way.

                        1 Reply Last reply Reply Quote 0
                        • M
                          mark2472
                          last edited by 24 Feb 2018, 16:05

                          In case anyone else is having a problem with Beboncool controllers and comes here from google, mine works via bluetooth after following this:

                          1.) Register the controller using the RetroPie menu "Configure Bluetooth Devices"
                          2.) At the main screen, press F4 to drop to the command line (or SSH in using putty)
                          3.) Type "sudo nano /etc/udev/rules.d/55-local.rules" to create a new udev rule file containing the following entry:
                          SUBSYSTEM=="input", ATTRS{name}=="BBC-GAME", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"
                          4.) Press CTRL+X and save the changes
                          5.) Exit the command line by typing "reboot" or "exit"

                          From:
                          https://www.amazon.com/gp/customer-reviews/R3GVRHP307ROSX/ref=cm_cr_arp_d_rvw_ttl?ie=UTF8&ASIN=B01N8WWOE5

                          Y 1 Reply Last reply 18 Dec 2018, 10:27 Reply Quote 3
                          • Y
                            youngmathimus @mark2472
                            last edited by 18 Dec 2018, 10:27

                            @mark2472 sorry for the necro, I just created an account to say thank you for posting this. This allows me to use my Bluetooth controllers on raspbian through the new steam link app. Thank you!

                            1 Reply Last reply Reply Quote 0
                            • I
                              i2b5k0
                              last edited by 21 Aug 2019, 00:37

                              Well yes this did get the BB-GAME controller working in emulation station. And non-retroarch emulators. Unfortunately, Retroach hates this controller for some reason.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                              Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

                                [[user:consent.lead]]
                                [[user:consent.not_received]]