domingo, 23 de julio de 2017

Configurar el mando de juegos Xiaomi en recalbox 4.1

Hace unos meses me pillé un mando inalámbrico Xiaomi que funcionaba bastante bien en recalbox 4.0.

Pero ahora me he pasado a recalbox 4.1 (recordemos que sigue siendo una versión inestable) para tener muchos más sistemas disponibles y un Kodi más actualizado, pero el mando ya no se configura tan fácil como en la versión estable.

Algunos usuarios hemos reportado el problema al equipo de Recalbox y, aunque todavía no han dado con la solución, al menos nos han dado algunas pistas para configurarlo de una manera manual. Vamos a verlo:

En mi caso, tengo una raspberry pi 2, a la que puedo conectar y desconectar los pinchos wifi y bluetooth a voluntad, esto viene muy bien porque los dos a la vez no funcionan siempre, es conveniente conectar primero el wifi y cuando sea necesario el bluetooth. La cosa mejora cuando usas un hub usb alimentado pero tampoco es la panacea.
  1. Apagamos la raspberry y desconectamos el pincho bluetooth.
  2. Volvemos a encenderla con solo el pincho de wifi (el del teclado puede seguir conectado).
  3. Accedemos por ssh (recuerda que por defecto el usuario es root y la contraseña recalboxroot):
    ssh root@recalbox.local
  4. Enchufamos el pincho bluetooth.
  5. Encendemos el mando con pulsación larga en el botón de encendido para que entre en modo visible (a partir de este punto tenemos que teclear el resto de comandos antes de que se apague por inactividad o tendremos que repetir algún paso a partir de este punto).
  6. Ejecutamos bluetoothctl y nos aparecerá un nuevo prompt en el que introducir órdenes:
    bluetooth#
  7. Ejecutamos los siguientes comandos:
    paired-devices
    agent on
    default-agent
    power on
    discoverable on
    pairable on
    scan on
  8. Este último comando mostrará todos los dispositivos bluetooth al alcance de nuestra raspberry entre ellos el mando, que aparecerá con su nombre chino:
    [CHG] Device  Name: 小米蓝牙手柄
    [CHG] Device 1C:96:5A:DD:BC:CE Alias: 小米蓝牙手柄
  9. Así que como ya conocemos la MAC de nuestro dispositivo procedemos a asociarla con los siguientes comandos:
    pair 1C:96:5A:DD:BC:CE
    connect 1C:96:5A:DD:BC:CE
    trust 1C:96:5A:DD:BC:CE

    Si nos pidiera un pin al emparejarlo ponemos 0000.
Si todo ha ido bien ya tendremos el mando asociado a la raspberry, eso sí, durante un rato sin usar el mando se volverá a desconectar y habrá que repetir el proceso, a no se que hagamos permanente...

Hacer los cambios permanentes

Hay que modificar dos archivos:

/etc/init.d/S32bluetooth

Donde pone:
/recalbox/scripts/bluetooth/test-device list
Debe poner:
PYTHONIOENCODING=UTF-8 /recalbox/scripts/bluetooth/test-device list

/etc/init.d/S32bluetooth

Cambiar test-discovery por btDaemon en todos los sitios en los que aparezca en el archivo.
(Ahora es cuando nos damos cuenta de la gran idea que ha sido instalar mc en recalbox).

Una vez hecho esto al pulsar en el botón xiaomi del mando se empareja a los pocos segundos.

Eso sí, si usamos un pincho bluetooth y lo conectamos con el sistema ya arrancado hay que reiniciar recalbox para que lo reconozca.

3 comentarios:

  1. ¿Sabéis algo acerca de Steam Controller en Recalbox? Gracias.

    ResponderEliminar
    Respuestas
    1. Ni idea, yo los que tengo es el mando xiaomi que ya ves la que he tenido que montar y otro por cable tipo snes que fue enchufar y listo.

      Eliminar
  2. See also:
    https://forum.recalbox.com/topic/9466/xiaomi-bluetooth-wireless-gamepad-and-recalbox-4-1-0/2

    ResponderEliminar