Raspberry Pi, cómo configurar el mando de PS3 por bluetooth en RetroPie

Raspberry Pi, cómo configurar el mando de PS3 por bluetooth en RetroPie

RetroPie da mucho juego, en el más amplio sentido de la palabra, y para continuar con la serie de tutoriales sobre esta distribución, hoy vamos a ver cómo configurar el mando de PS3 por bluetooth en RetroPie.

¿Qué necesito?

Los pasos para configurar el mando son:

Paso 1.- Activa el dongle Bluetooth

Conecta el dongle bluetooth a la Raspberry Pi y comprueba que el sistema lo detecta en uno de los puertos USB:

lsusb
Comando lsusb

Comprobamos que el dongle BT está conectado con el comando lsusb

A continuación, actívalo con el siguiente comando:

sudo hciconfig hci0 up

Comprueba que el sistema lo reconoce como dispositivo bluetooth:

hcitool dev
Comando hcitool dev

Comando hcitool dev

Paso 2.- Lanza el script de instalación

Desde la carpeta RetroPie-Setup, ejecuta el script retropie_setup.sh:

cd /home/pi/RetroPie-Setup
sudo ./retropie_setup.sh

Paso 3.- Instala los controladores

El script anterior te mostrará una serie de menús. En el primero de ellos, selecciona la opción (4) Setup/Configuration (to be used post install).

Configurar Mando PS3 - Paso 01

(4) Setup/Configuration (to be used post install)

En la siguiente ventana, selecciona (310) Install/Pair PS3 controller.

Configurar Mando PS3 - Paso 03

(310) Install/Pair PS3 controller

Aparecerán dos opciones. El objetivo es emparejar el mando de la PS3 con la RPi, así que elige la primera de ellas: (1) Install/Pair PS3 controller. La segunda opción, elimina las opciones de configuración en caso de una instalación previa.

Configurar Mando PS3 - Paso 03

(1) Install/Pair PS3 controller

Comenzará un proceso de instalación de controladores que tardará en finalizar unos 2 o 3 minutos.

Configurar Mando PS3 - Paso 04

Proceso de instalación de controladores

Paso 4.- Empareja el mando con la Raspberry

Empieza la parte más interesante, ya sabes, emoción, intriga, dolor de barriga. Finalizada la instalación de los controladores verás un mensaje que pedirá que te asegures de haber conectado correctamente el dongle BT. Esto ya lo has hecho en el paso 1, así que continúa.

Configurar Mando PS3 - Paso 05

Asegúrate de haber conectado el dongle BT

En este momento, conecta el mando de PS3 mediante el cable USB y pulsa ENTER.

Configurar Mando PS3 - Paso 06

Conecta el mando de PS3 mediante el cable USB

Finalmente, desconecta el cable USB y pulsa el botón PS para emparejarlo por bluetooth.

Configurar Mando PS3 - Paso 07

Desconecta el cable USB y pulsa el botón PS del mando para emparejarlo por BT

Si quieres utilizar otro mando de PS3, repite el proceso con este segundo mando.

¡Conseguido! En estos momentos una inmensa alegría recorre todo tu cuerpo pero aún queda algo más por hacer. ¿Has probado a reiniciar? Si eres el afortunado poseedor de un dongle BT que arranque a la primera sin problemas durante cada reinicio, el paso siguiente puede que no lo necesites. Si por el contrario te pasa como a mi, y a otros muchos usuarios de RetroPie, que unas veces funciona al arrancar y otras no, y por tanto, no puedes conectar el mando por BT después de cada reinicio, el siguiente paso es la solución definitiva a tus problemas.

Paso 5.- Solución para detectar el mando de PS3 después de reiniciar

Durante un par de tardes he estado probando varias soluciones propuestas en diferentes foros. La que te paso a contar es la única que realmente funciona.

Abre el fichero /etc/rc.local:

sudo nano /etc/rc.local

Y añade estas dos líneas antes del comando exit 0.

hciconfig hci0 up
hciconfig hci0 piscan
exit 0

Abre el fichero /usr/bin/emulationstation:

sudo nano /usr/bin/emulationstation

Y añade un sleep después de la primera línea #!/bin/bash. También puedes añadir una línea que muestre un mensaje informativo. El inicio del fichero quedaría así:

#!/bin/bash

echo "Pulsa ahora el botón PS para sincronizar los mandos de Sony PlayStation 3"
sleep 10

El script rc.local ejecutará las instrucciones para activar el dongle y permitir el emparejamiento con el mando. Debe realizarse en un momento concreto. Puedes empezar unos pocos segundos antes de desaparecer la pantalla con el Splashscreen y antes de ver la pantalla con el logo Emulation Station. Con el sleep de 10 segundos en el script emulationstation, ganamos algo de tiempo para realizar el proceso. Si necesitas más, solo tienes que aumentar el valor del sleep.

Pulsar-el-botón-PS

Emparejamiento del mando de PS3 por bluetooth al iniciar RetroPie

¡Ahora si! Reinicia y comprueba que funciona. Recuerda que debes pulsar el botón PS entre el Splashscreen y la pantalla con el logo de Emulation Station. Si tienes la RPi cerca y el dongle visible, puedes iniciar el proceso cuando el led del dongle empiece a parpadear.

Emparejamiento del mando de PS3 cuando el dongle BT parpadea

Emparejamiento del mando de PS3 cuando el dongle BT parpadea

Por último, configura los botones del mando desde el menú que aparece al iniciar. También puedes acceder a este menú, una vez arrancado Emulation Station, desde: Menu (Start) – Configure Input.

Configuración de botones para el mando de PS3

Configuración de botones para el mando de PS3

Y si quieres realizar alguna configuración especial, como añadir Hotkeys, que son combinaciones de botones para ejecutar acciones como salvar o cargar partida, salir del juego, entre otras, puedes hacerlo editando el fichero correspondiente a tu mando. En este caso, la ruta completa del fichero es la siguiente:

/opt/retropie/configs/all/retroarch-joypads/PLAYSTATION(R)3Controller.cfg

Por cierto, si ya tienes operativo el mando para el jugador 1 y quieres activar un segundo mando por bluetooth para el jugador 2, puedes hacerlo en cualquier momento: arranque de RetroPie (si lo has emparejado anteriormente con el proceso descrito), pantalla de Emulation Station, o incluso dentro de un juego ya lanzado.

Para cualquier duda o problema, deja tu comentario en esta entrada o contacta conmigo a través de Twitter en mi cuenta personal o en la cuenta de Babuleando.

¡Nos leemos!

Más información | RetroArch Configuration | Setting Up a Bluetooth Controller 

Miguel Angel Benítez Andrades

Apasionado de la tecnología, runner, marido y padre. De pequeño quería ser inventor y ahora escribo en un blog. Ingeniero en Informática.

También te puede interesar...

  • Pingback: Raspberry Pi, una consola de juegos con RetroPie - Babuleando()

  • Tolo Riera

    Muchas gracias por este turorial! Cuando llegue a casa.. A conectar dos mandos de PS3 por bluetooth! Enhorabuena por tu blog y gracias de nuevo por tu dedicación !

    • Tolo Riera

      Ya esta echo! muchisimas gracias me funcionó de maravilla!

      • ¡Genial Tolo! ¡A disfrutar sin cables! ¡Gracias por tus comentarios!

        • Antonio Ramírez Parralo

          Para que RetroPie funcione en la Pi 3 se ha de hacer el consabido
          “sudo apt-get update && sudo apt-get upgrade”. Pero con eso no
          era suficiente para activar el Bluetooth integrado en la Pi 3.

          La solución es hacer un “sudo apt-get install pi-bluetooth”. Con esto
          ya se activa correctamente el Bluetooth y funciona a la perfección el
          mando inalámbrico de PS3. Lo único: no guarda la configuración y has de
          conectarlo un momento cada vez que reinicies RetroPie y quieras
          utilizarlo.
          Alguien sabria hacer que arranque automaticamente??
          Saludos

    • RiCoCHi

      Hola! Ante todo mil gracias por toda esta info sobre Retropie 🙂

      Ya he configurado correctamente mi mando de PS3… para conectar un segundo mando simplemente lo conecto por USB y luego pulso el botón PS? O hay que configurarlo tal y como se hace con el primero? Mil gracias!

      • Hola RiCoCHi,

        Para configurar un segundo mando, debes repetir el proceso de emparejamiento (pasos 2, 3 y 4 del tutorial).

        Saludos.

  • Pablo Rodriguez Martinez

    Hola. Gracias por tus tutoriales. Yo lo he instalado con osmc, bueno primero osmc y después retropie. Pero me salen mil dudas y problemas. ¿Cómo puedo configurar un mando bluetooth que no sea el de ps3 o el de Xbox?
    Y al intentar el simbólico para trasladar las Roms al hdd me dice que las rutas no existen y no se por que

    • ¡Hola Pablo!

      Gracias por tu comentario. Siento no haber contestado antes, problemas con Disqus. ¿Qué modelo de mando tienes? La configuración es diferente con otros mandos. En este mismo hilo, Sergio tiene un iPega que vamos a intentar configurar. En cuanto a las roms en el disco externo, supongo que antes de crear el enlace, has creado la carpeta en el disco externo. Si aún así te da problemas, envíame el error por aquí y lo vemos.

      ¡Saludos!

  • Sergio

    Hola

    Hace unos días me pregunté en el blog de raspberry para torpes como conectar un mando por bluetooth y me recomendaste que mirará esta entrada de tu blog.

    El problema es que mi mando no es de ps3,sino que es un ipega 2025 que se conecta por bluetooth también, pero con tu método no he conseguido emparejarlo.

    He buscado por Internet, y solo he encontrado una entrada en un foro, pero tampoco consigo nada. Lo que si se es que la raspberry lo detecta, porque al poner

    hcitool scan

    La raspberry me da unos números de referencia y me reconoce que es de la marca ipega.

    Lo único que he encontrado sobre este mando es esto

    http://stackoverflow.com/questions/30481198/using-ipega-bluetooth-gamepad-with-retropie

    Agradecería si pudieras ayudarme, y si no, gracias de todas formas por haberme contestado en el otro blog

    • Hola Sergio,

      Encantado de poder echarte un cable en la configuración del mando. En varios sitios hacen referencia al mismo post que me indicas para configurar un mando ipega. ¿En qué paso del proceso tienes problemas?

      Un saludo,

      • Sergio

        Muchas gracias por la ayuda.

        Siguiendo el post de referencia, llego hasta el punto de escaneo del mando, pero en el momento que lo tengo que emparejar metiendo el número MAC, que había obtenido en el paso anterior, el mando no deja de parpadear y me sale como que hay algún error.

        A ver si puedes ayudarme

        • Muy buenas Sergio,

          ¿Tienes instalados los paquetes bluetooth? ¿Has probado estas instrucciones? Hay algún paso un poco diferente con respecto al post del stackoverflow Los resumo aquí:

          1. Actualiza la lista de repositorios y descarga los paquetes bluetooth:


          sudo apt-get update
          sudo apt-get install bluetooth bluez-utils blueman
          sudo apt-get install bluez python-gobject

          2. Para comprobar que el emparejamiento funciona con un mensaje en pantalla, edita este fichero y reemplaza la cadena KeyboardDisplay por DisplayYesNo:

          sudo nano /usr/bin/bluez-simple-agent

          3. Guarda el fichero con Ctrl+X y confirma con la tecla Y. A continuación, reinicia.

          En el mando, pulsa el botón para comenzar el emparejamiento y ejecuta el siguiente comando para obtener la MAC:

          hcitool scan

          4. Empareja el dongle con el mando usando el comando siguiente con la MAC obtenida en el paso anterior:

          sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX

          5. Agrega el mando como dispositivo conocido en el sistema para no repetir el proceso en cada reinicio:

          sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX yes

          6. Para terminar, conecta la raspberry con el mando usando este comando:

          sudo bluez-test-input connect XX:XX:XX:XX:XX:XX

          Si todo ha ido bien, ya deberías tener el mando emparejado y funcionando. Para garantizar el emparejamiento después de cada reinicio, queda un paso más:

          Edita este fichero:

          sudo nano /etc/init.d/rc.local

          Y añade el último comando debajo de la línea . /lib/lsb/init-functions :

          sudo bluez-test-input connect XX:XX:XX:XX:XX:XX

          Guarda de nuevo y reinicia. Vuelve para contar qué tal ha ido. ¡Suerte Sergio!

          • Sergio

            Muchas gracias por la respuesta. He llegado hasta el paso 5, que ahí es donde me atascada antes.

            Te adjunto una imagen para que veas lo que me sale, a ver si sabes cual puede ser el problema o que hay que hacer. https://uploads.disquscdn.com/images/6e19bd3b889ff14631625ada89e1f8f91ca3559884ce92aa606195b2fe9fbcd7.jpg

          • Hola Sergio,
            Antes de lanzar este comando, ejecuta este otro para asegurar la activación del dongle:

            sudo hciconfig hci0 up

            A ver qué tal.

          • Sergio

            He probado a hacerlo dos veces, y me sigue saliendo el mismo error

          • Hola Sergio,

            ¿Este mando solicita pin? Prueba con este comando para pedirlo:

            hciconfig hci0 sspmode 0

            Para el pin, si no lo has cambiado, prueba los típicos: 0000, 1234, 1111. Por cierto, supongo que lo haces, pero recuerda pulsar el botón de emparejamiento del mando antes de lanzar el comando para emparejar. A ver si así tenemos más suerte.

            También he leído que algunos dispositivos bluetooth resuelven el problema de conexión con sistemas linux actualizando el firmware del propio dispositivo.

            Saludos Sergio.

          • Sergio

            Poniendo el comando

            hciconfig hci0 sspmode 0

            La respuesta es

            Can’t set simple pairing mode on hci0: operation no permitted (1)

            Si pongo el comando con sudo delante, no sale nada

          • Ponlo con sudo y a continuación intenta el comando para emparejar:

            sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX

          • Sergio

            Ya siento ser pesado, pero no hay manera. Lo he hecho así, y tampoco

  • Sergio Quezada Concha

    sirve con dualshock 4?

    • Hola Sergio,

      La parte de activación del dongle te sirve sin problema, pero el resto del proceso para emparejar el mando es diferente. Echa un ojo al post del usuario qrayg en este hilo del foro oficial de RetroPie: Dual Shock 4. Espero que te sirva. Si es así, vuelve por aquí para contar qué tal ha ido. ¡Gracias!

      Un saludo,

  • Toni Paz

    Tengo 2 mandos Ps3, un dualshock y un sixaxis.
    Hago todos los pasos, parece todo correcto, incluso creo que sincronizan con el dongle, pero solo dura unos segundos y enseguida se me desconectan cualquiera de los 2 mandos. Me parpadean las luces de forma lineal, incluso el dualshock me vibra, pero se apagan. Es como si la sincronización se fuera de golpe.
    El sistema si reconoce el dongle y esta activado.
    Con cable si que funcionan a la perfección.
    Haber si me puedes ayudar porque ya no se que hacer.

  • Hola, gracias por el tutorial.

    Funciona ambos mandos perfectamente (Ps3 no originales por bluetooth), en los menús de retropie y en los emuladores.

    Pero por alguna razón en el mame4all no funcionan los mandos. Cada vez que lanzo un emulador me aparece una frase en amarillo como que ha detectado (y va a usar) el mando de la ps3, pero esto no aparece cuando lanzo el mame.

    Sabrías decirme por que puede suceder esto, o por donde puedo empezar a mirar?.

    Gracias y un saludo.

  • Carlos Espinosa

    Muchas gracias, tenía problemas para configurar el control del play station por bluetooth, así que seguí tu consejo, revisé la página de los dongles compatibles y adquirí el USB-BT400 y funciona muy bien, tuve que editar los archivos /etc/rc.local y /usr/bin/emulationstation

    A éste último le agregué unas mejoras, me avisa en un recuadro (que es muy visible) que debo apretar el botón PS, además añadí un contador que me indica el tiempo restante para que oprima dicho botón, te lo comparto, por si tu o alguien del foro lo quiere añadir:

    echo “”; echo “”; echo “”; echo “”;echo “”; echo “”; echo “”; echo “”; echo “”; echo “”
    echo “#############################################################################”
    echo “# Pulsa ahora el botón PS para sincronizar los mandos de Sony PlayStation 3 #”
    echo “#############################################################################”
    echo “”; echo “”; echo “”; echo “”;echo “”; echo “”; echo “”; echo “”; echo “”; echo “”
    secs=$((10));while [ $secs -gt -1 ]; do echo -ne “Tiempo restante: $secs33[0Kr”; sleep 1; : $((secs–)); done
    echo “Continuamos con la carga”
    sleep 1

    Este código hace un sleep de 10 segundos y muestra como se van decrementando estos segundos, si alguien necesita más de 10 segundos, sólo debe cambiar el número 10 por el tiempo que deseen. El último sleep me ayuda a dar un segundo más por si me tardé en oprimir el botón PS.

    Ojalá el código les sea de utilidad,

    Saludos

  • Albert

    Hola Miguel Ángel,

    Hace unos días me he puesto con RetroPie y tus tutoriales me han sido de gran ayuda. Los he reseguido casi todos de principio a fin, y en general me ha ido fantástico. Muchas gracias por esta labor.

    Sin embargo me encuentro con problemas para configurar el segundo mando clon de PS3 por Bluetooth. Los mandos son estos de aquí (Woxter): http://d243u7pon29hni.cloudfront.net/images/products/Mando-Inalambrico-Woxter-PS3-Game-Pad-Ruber-Bluetooth-Negro-1216701-%20%282%29_ad_l.jpg , aunque supongo que es lo de menos porqué pueden conectarse y funcionar los dos, pero por separado…
    Sigo todos los pasos y consigo conectarme con el primer mando, pero luego, aunque consigo conectar el segundo mando, no logro que funcionen los dos a la vez. Lo he provado con dos dongles USB distintos que funcionan perfectamente y en los dos me ocurre lo mismo y ya no sé que hacer.

    Finalmente se me ocurrió que quizás podría conectar cada mando a un dongle, pero ni así. Consigo conectar un mando con un dongle, pero cuando quiero vincular el segundo con sixpair, me cambia la MAC de todos los mandos al segundo dongle (he estado jugando haciendo down con un hci para hacer sixpair, luego darle up i down al primero para con el segundo mando y nada).

    También he probado la solución que se propone aquí para los mandos Ipega y vincular la mac de un dongle con la mac del primer mando, y la mac del segundo dongle con la mac del otro mando. También en el paso 5 me lanza un mensaje de error com el que muestra el compañero en las capturas.

    La verdad es que estoy deseperado y ya no sé que probar. He googleado por todo tipo de páginas pero ya no se me ocurren ideas.

    ¿Alguna sugerencia?
    Muchísimas gracias por adelantado 😉

    • Albert

      [SOLUCIONADO]
      Me respondo a mí mismo por si es de utilidad a alguien.
      Me ha costado un mes (y mucho sudor) dar con la solución, pero al fin parece que la tengo.

      Lo primero que hice fue deshacerme de los mandos (devolviéndolos en la tienda) y conseguí un par de mandos PS3 de segunda mano (uno original y el otro no). Pensé que eso sería la solución pero no fue así. Continuaba conectándose el primer mando perfectamente, pero el segundo no. Hice todas las pruebas imaginables. Se conectaban los dos mandos, pero imposible que lo hicieran a la vez.
      Me prestaron otro mando original PS3 y después de vincularlo correctamente tampoco funcionaba.
      El dongle me funcionaba perfectamente parecía no poder vincular los dos dispositivos a la vez, así que me compré el dongle que se sugiere en este post. Todo igual. Pensé que había ensuciado mucho el sistema con tanta prueba, y reinstalé otra vez RetroPie desde cero (ahora con mandos PS3 i el dongle de este post)… Al ver que no funcionaba vi que estaba buscando el problema constantemente en el lugar equivocado y di con la solución en un foro de la Wiki de RetroPie en GitHub. Cuatro línias solucionaron lo que parecía imposible con una facilidad sorprendente. Pasos:

      1. Conectar el primer mando de la forma normal («Install/pair PS3 Controller», conectar y desconectar por USB y botón PS)
      2. $git clone https://github.com/supertypo/qtsixa.git
      3. $cd qtsixa/sixad
      4. $make
      5. $sudo mkdir -p /var/lib/sixad/profiles
      6. $sudo checkinstall
      7. $sudo reboot

      8. Conectamos el 1er mando (botón PS) y luego con el segundo hacemos el proceso de vinculación (conectar y desconectar por USB, botón PS3).

      Así de fácil! Compilando sixad desde el repositorio de supertypo ha funcionado perfectamente. Yo encontré la solución aquí: https://github.com/RetroPie/RetroPie-Setup/issues/1128

      Espero que si alguién se encuentra cómo estaba yo y lee ésto le sea de gran ayuda

      Gracias;)

    • Gracias por tus comentarios y gracias de nuevo por tu aporte Albert. ¡Saludos!

  • Goncatin

    Hola:

    A mí no me funciona este método. Conecta con el mando vía bluetooth, reconoce el dongle al arrancar (Conceptronic, chipset Broadcom BCM2035), incluso desde el menú de configuración puedo ver si mac, pero es como si se apagase. Si lo intento sincronizar otra vez vía hcitool scan no encuentra nada. ¿Puede ser porque esté emparejado con mi PS3?

  • alexpagp

    Hola! siento si no es el sitio para excribirlo pero no soy capaz de encontrar donde lo puedo encontrar mejor.

    El caso es que tengo varios problemas con Retropie . El primero y mas engorroso es que he montado dos joystick arcade antiguos pero van por medio de la misma entrada de usb y no soy capaz de discernir con la misma estrada que sean 2 players…. he leido mil cosas sobre X arcade que creo que van por ahi los tiros pero no me funciona y hay muchas cosas que no me atrevo a cambiar por no cargarme todos los script.

    por otro lado , quiero poner un boton de escape que salga de todos los emuladores que tengo pero no me deja mapearlo en ningun lado . Si lo hago por ejemplo en mame , dando a tabulador , dependiendo del juego en el quye entres te cambia los botones que puedas mapear ( aunque entres en cambiar el imput generico, no el concreto del juego, tambien varia dependiendo del juego en el cual estes dentro y le des a tabulador, se que parece imposible pero es asi).

    En resumen, quiero poder jugar dos jugadores con dos joystick arcade que van sobre una tarjeta que tiene una sola salida de USB y mapear 1 boton de escape del juego y vuelta al menu en todos los emuladores.

    Muchas gracias de antemano y disculpa si no me entero de nada!

  • Marc

    buenas, con la raspberry pi 3 hace falta el dongle bluetooth o no, pues esta ya tiene bluetooth, gracias

  • Sergio

    Hola, he instalado una imagen prediseñada con un mediacenter y retropie, y al ser retropie 4.0, no me aparece la opción para instalar un mando de ps3 en el menu “setup/configuration”, que en 4.0 es “setup/tools”. ¿Como puedo hacer para instalar el mando?

  • ASD

    hola , realmente ya nose que hacer .Anteriormente yo tenia una version de retropie de la cual no me acuerdo 🙁 y todo me andaba bien ,pero por unas razones tuve que formatear la tarjeta y asi despues le instale la ultima version de retropie .El problema es que tengo botones de arcade conectados a mandas usb (todos funcionan bien pero el unico inconveniente es que estan en cualquier orden , por ejemplo “Boton A en “start” )y al momento de configurar dentro del menu de retropie (que se ve en las ultimas imagenes de este post )lo toma perfectamente pero luego cuando reinicio o abro un juego estos se desconfiguran en el orden del control y no en el que le di yo al momento de configurar en el menu :ccc ,Que podria hacer?

Utilizamos cookies para mejorar nuestros servicios y experiencia de usuario. Si continua navegando, consideramos que acepta su uso. Leer más. ACEPTAR