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

    Bluetooth and USB not working in RetroPie

    Scheduled Pinned Locked Moved Help and Support
    bluetooth errorusb gamepadretropie ubuntuubuntu 21.10
    32 Posts 2 Posters 5.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jas51384
      last edited by

      Pi Model or other hardware: PC, Ubuntu 21.10 on a Gigabyte 970A-DS3P, AMD 8350, 16GB DDR3 1600, Asus Nvidia 960, PNY SSD
      RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): 4.7.19
      Built From: git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
      USB Devices connected: Keyboard, Mouse, Bluetooth adapter 4.0
      Controller used: 8Bitdo SN30Pro, USB Gamepad
      Error messages received: An error connecting to Bluetooth device
      (/home/retropie/RetroPie-Setup/scriptmodules/supplementary/bluetooth.sh line 324: bt-device: command not found)

      I've been having two very weird issues since rebuilding this retro-gaming setup. The first is the bluetooth not connecting to the SN30Pro in the Retropie setup. It will see the the controller and after I click any of the security modes I get the above error. If I pair the controller in Ubuntu 21.10 first then try to set the udev rule in the retropie setup, the controller doesn't show in the connected devices menu.

      The second issue is when I have a standard USB gamepad plugged into the USB Emulationstation will detect the gamepad and allow me to map the buttons but when I go to run any rom on any system it says Gamepad not configured in the bottom left of the screen during start up and doesn't function at all in the roms.

      thank you
      John

      1 Reply Last reply Reply Quote 0
      • J
        jas51384
        last edited by

        Log File

        1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator
          last edited by mitu

          @jas51384 said in Bluetooth and USB not working in RetroPie:

          (/home/retropie/RetroPie-Setup/scriptmodules/supplementary/bluetooth.sh line 324: bt-device: command not found)

          Judging by the log file posted, python-dbus is not available in newer Ubuntu/Debian releases. We probably need to replace it with python3-dbus. This leads to the bluetooth module not being installed correctly.

          I've been having two very weird issues since rebuilding this retro-gaming setup. The first is the bluetooth not connecting to the SN30Pro in the Retropie setup. It will see the the controller and after I click any of the security modes I get the above error. If I pair the controller in Ubuntu 21.10 first then try to set the udev rule in the retropie setup, the controller doesn't show in the connected devices menu.

          If you paired the controller using Ubuntu's utilities, you don't need to do anything more in RetroPie-Setup - just configure the controller in EmulationStation.

          The second issue is when I have a standard USB gamepad plugged into the USB Emulationstation will detect the gamepad and allow me to map the buttons but when I go to run any rom on any system it says Gamepad not configured in the bottom left of the screen during start up and doesn't function at all in the roms.

          Check in /opt/retropie/configs/all/retroarch-joypads and see if a .cfg file has been generated for the gamepad. EmulationStation should have generated one after you've configured it. If not, re-install EmulationStation and try again to run the input configuration for the gamepad.

          J 1 Reply Last reply Reply Quote 0
          • J
            jas51384 @mitu
            last edited by

            @mitu said in Bluetooth and USB not working in RetroPie:
            I have successfully connected the Bluetooth controller in Ubuntu and it sets up correctly in RetroPie, Thank You.

            Check in /opt/retropie/configs/all/retroarch-joypads and see if a .cfg file has been generated for the gamepad. EmulationStation should have generated one after you've configured it. If not, re-install EmulationStation and try again to run the input configuration for the gamepad.

            Ok, joypads .cfg are there and do have all the proper mappings. I have re-installed EmulationStation and have tried 2 other gamepads with same result. They work fine in EmulationStation but when I launch a Rom it looks like Retroach says the controllers aren't configured. It's like they are some how disassociated now. Hope that helps.

            mituM 1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator @jas51384
              last edited by

              @jas51384 Did you reset the RetroArch's configuration ?
              Can you enable verbose logging when starting a game, then post the log file (/dev/shm/runcommand.log) on pastebin.com ?

              J 1 Reply Last reply Reply Quote 0
              • J
                jas51384 @mitu
                last edited by

                @mitu
                Verbose Log for USB Gamepad

                This was created on a fresh install of Ubuntu 21.10 and Retropie from the git-hub. The USB gamepad says not configured when starting roms and I have to use the keyboard to exit. When back in EmulationStation it works fine. Now the 8Bitdo SN30Pro is a whole different mess. It works in EmulationStation but when I start a rom it shows configured but then no buttons work and the keyboard which is also USB all stop working forcing me to hold the power button down to reboot the computer. We can stick with the USB gamepad issue and see if that gets corrected it will also correct the other issue.

                mituM 1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator @jas51384
                  last edited by

                  @jas51384 said in Bluetooth and USB not working in RetroPie:

                  Verbose Log for USB Gamepad

                  The log shows a gamepad being detected, though it doesn't log if a configuration file is loaded:

                  ...
                  [INFO] [udev]: Pad #0 (/dev/input/event3) supports 0 force feedback effects.
                  [INFO] [Joypad]: Found joypad driver: "udev".
                  ...
                  

                  What's the game of the .cfg file from the config folder ? Can you post its contents also ?

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    jas51384 @mitu
                    last edited by

                    @mitu Here you go
                    USB SNES Controller

                    I'll include the 8bitdo cfg aswell
                    8Bitdo SN30Pro

                    Just so you know, It does this with any USB controller I try. I have a USB N64 controller that doesn't work either.

                    1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator
                      last edited by

                      Can you also post the ES configuration for the gamepads ? I wonder if there aren't any special characters in the gamepad's name which are cut off when the RetroArch's config is saved.
                      You can find it in the $HOME/.emulationstation/es_input.cfg file, just post the contents.

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        jas51384 @mitu
                        last edited by

                        @mitu Here you go
                        <?xml version="1.0"?>
                        <inputList>
                        <inputAction type="onfinish">
                        <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
                        </inputAction>
                        <inputConfig type="joystick" deviceName="8Bitdo SN30 Pro" deviceGUID="05000000c82d00000161000000010000">
                        <input name="rightanalogdown" type="axis" id="3" value="1"/>
                        <input name="left" type="hat" id="0" value="8"/>
                        <input name="rightanalogleft" type="axis" id="2" value="-1"/>
                        <input name="right" type="hat" id="0" value="2"/>
                        <input name="pagedown" type="button" id="7" value="1"/>
                        <input name="down" type="hat" id="0" value="4"/>
                        <input name="rightanalogup" type="axis" id="3" value="-1"/>
                        <input name="pageup" type="button" id="6" value="1"/>
                        <input name="rightanalogright" type="axis" id="2" value="1"/>
                        <input name="y" type="button" id="4" value="1"/>
                        <input name="x" type="button" id="3" value="1"/>
                        <input name="b" type="button" id="1" value="1"/>
                        <input name="a" type="button" id="0" value="1"/>
                        <input name="up" type="hat" id="0" value="1"/>
                        <input name="select" type="button" id="10" value="1"/>
                        <input name="start" type="button" id="11" value="1"/>
                        <input name="leftanalogright" type="axis" id="0" value="1"/>
                        <input name="leftanalogup" type="axis" id="1" value="-1"/>
                        <input name="leftanalogdown" type="axis" id="1" value="1"/>
                        <input name="leftanalogleft" type="axis" id="0" value="-1"/>
                        </inputConfig>
                        <inputConfig type="joystick" deviceName="USB Gamepad" deviceGUID="03000000790000001100000010010000">
                        <input name="left" type="axis" id="0" value="-1"/>
                        <input name="right" type="axis" id="0" value="1"/>
                        <input name="pagedown" type="button" id="5" value="1"/>
                        <input name="down" type="axis" id="1" value="1"/>
                        <input name="pageup" type="button" id="4" value="1"/>
                        <input name="y" type="button" id="3" value="1"/>
                        <input name="x" type="button" id="0" value="1"/>
                        <input name="b" type="button" id="2" value="1"/>
                        <input name="a" type="button" id="1" value="1"/>
                        <input name="up" type="axis" id="1" value="-1"/>
                        <input name="select" type="button" id="8" value="1"/>
                        <input name="start" type="button" id="9" value="1"/>
                        </inputConfig>
                        </inputList>

                        One thing I did notice is the USB Gamepad doesn't show the D-pad "Hat" buttons in any of the cfg's, it shows as axis but the d-pad in the SN30Pro shows "hat" in the cfg's. Also to note, all these controllers worked 100% before the upgrade and clean install. I did try to go back to the old equipment with a new install and had the same issues I currently have with the new equipment and install.

                        1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator
                          last edited by

                          @jas51384 said in Bluetooth and USB not working in RetroPie:

                          One thing I did notice is the USB Gamepad doesn't show the D-pad "Hat" buttons in any of the cfg's, it shows as axis but the d-pad in the SN30Pro shows "hat" in the cfg's

                          That's fine, D-Pad is often represented as an axis, even if it's probably better suited as a HAT, but that shouldn't cause issues. I wonder then if it's not something else in the system that's causing this (version of SDL ?), since there hasn't been any significant changes in the input mapping scripts.

                          If possible, can you try installing on a LTS release (20.04) and see if that makes a difference ?

                          J 3 Replies Last reply Reply Quote 0
                          • J
                            jas51384 @mitu
                            last edited by

                            @mitu
                            I believe I've tried 20.04 LTS but I will try it and post the logs and configs when I get it running. Also, I have this on a Gigabyte 970A-DS3P motherboard. I did read that Linux has issues with Gigabyte brand boards because of certain bios settings. I followed the steps outlined here GIGABYTE GA-970A-DS3 during installation and after and everything seemed to work great. I did not use the USB hangs on x64 fix since I didn't have that issue. In the mean time I will get the 20.04 LTS install going and report back.

                            1 Reply Last reply Reply Quote 0
                            • J
                              jas51384 @mitu
                              last edited by

                              @mitu
                              OK, I made some progress. The USB gamepad will work in Retroarch but it has a lot of lag. It's enough to really notice and the 8Bitdo is even worse and only works for a short time before it stops responding completely along with the keyboard. I did charge the 8Bitdo before this round of testing too.

                              1 Reply Last reply Reply Quote 0
                              • J
                                jas51384 @mitu
                                last edited by

                                @mitu Log Files

                                es_input.cfg

                                USB Gamepad Verbose log

                                8Bitdo SN30 Pro Verbose Log

                                I noticed that they bothseem to be using a different driver than before. Shows "X" for the driver now and before it was "udev" for both.

                                mituM 1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator @jas51384
                                  last edited by

                                  @jas51384 Can you edit the /opt/retropie/configs/all/retroarch.cfg and explicitly set the input_driver to udev ? The auto-configurations generated by EmulationStation assume the usage of the udev driver.

                                  J 1 Reply Last reply Reply Quote 0
                                  • J
                                    jas51384 @mitu
                                    last edited by mitu

                                    @mitu This is what the Input driver section shows in the Retroarch.cfg file:

                                    # Input driver. Depending on video driver, it might force a different input driver.
                                    # input_driver = sdl
                                    
                                    # Joypad driver. ("udev", "linuxraw", "paraport", "sdl2", "hid", "dinput")
                                    input_joypad_driver = "udev"
                                    

                                    I changed sdl to udev and there is no change in the behavior. Here is the Verbose log file
                                    it still shows "X" as the input driver. The input_joypad_driver does show as udev in the logs.

                                    mituM 1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator @jas51384
                                      last edited by

                                      @jas51384 Actually, the input_driver=sdl is commented (the # at the beginning). The input_joypad_driver is present and I think the correct value is set (udev).
                                      Can't understand why the auto-profile generated by EmulationStation is not used or loaded by RetroArch.
                                      You can manually create a configuration for the profile - https://docs.libretro.com/guides/controller-autoconfiguration/#generating-a-joypad-profile. You'll need a keyboard to open the configuration menu (RGUI, F1) and map the button on the gamepad.

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        jas51384 @mitu
                                        last edited by

                                        @mitu What's strange is all this worked fine until the most recent update. The joypad is recognized in retroarch after using Ubuntu 20.04 but has bad lag. The 8Bitdo SN30pro is recognized by retroarch but once loaded into a rom the 8Bitdo and Keyboard stop working entirely forcing me to use the power button to shut it down. I'll try to map the joypad and see if it helps the lag but I won't be able to try it with the 8Bitdo because it all locks up.

                                        mituM 1 Reply Last reply Reply Quote 0
                                        • mituM
                                          mitu Global Moderator @jas51384
                                          last edited by

                                          @jas51384 said in Bluetooth and USB not working in RetroPie:

                                          What's strange is all this worked fine until the most recent update.

                                          You're referring to RetroPie's update or Ubuntu ? If RetroPie, then what version did you have before the update ?

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            jas51384 @mitu
                                            last edited by

                                            @mitu I'm referring to the Retropie update from 5 or 6 days ago. Since I did a fresh install on the day it was released and just did another yesterday. I believe it was the version just before this one but I can't remember because I didn't look beforehand.

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