Herramientas de usuario

Herramientas del sitio


informatica:hardware:perifericos:sf30_pro

SF30 Pro

Mando bluetooth con aspecto de mando de Super NES

Configuración

Vendor: 0x2DC8 (8BitDo) Producto: 0x6000 (SF30 Pro gamepad) https://www.the-sz.com/products/usbid/index.php?v=2dc8&p=6000&n=

El mando soporta 4 modos diferentes:

  • Switch (START + Y)
  • Android / Dinput (START + B)
  • Mac (START + A)
  • Windows / Xinput (START + X)

Linux

Para emparejar este mando hay usar el modo de emparejamiento Windows:

Start + B

Y luego pulsamos el botón de PAIR durante 3 segundos hasta que las luces LED se enciendan de izquierda a derecha.

sudo systemctl start bluetooth.service
bluetoothctl power on
bluetoothctl
[bluetooth]# scan on
Discovery started
...
[NEW] Device E4:17:D8:A5:F1:7B 8Bitdo SF30 Pro
[bluetooth]# pair E4:17:D8:A5:F1:7B
Attempting to pair with E4:17:D8:A5:F1:7B
[CHG] Device E4:17:D8:A5:F1:7B Modalias: usb:v045Ep02E0d0903
[CHG] Device E4:17:D8:A5:F1:7B UUIDs: 00001124-0000-1000-8000-00805f9b34fb
[CHG] Device E4:17:D8:A5:F1:7B UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Device E4:17:D8:A5:F1:7B ServicesResolved: yes
[CHG] Device E4:17:D8:A5:F1:7B Paired: yes
Pairing successful
[bluetooth]# trust E4:17:D8:A5:F1:7B
[CHG] Device E4:17:D8:A5:F1:7B Trusted: yes
Changing E4:17:D8:A5:F1:7B trust succeeded

Si no se conectase solo:

[bluetooth]# connect E4:17:D8:A5:F1:7B
Attempting to connect to E4:17:D8:A5:F1:7B
[CHG] Device E4:17:D8:A5:F1:7B ServicesResolved: yes
Connection successful

There’s no code or confirmation step so pairing is basically instant.

Android

  1. Encendemos el mando con
    Start + B
  2. El LED 1 empezará a parpadear.
  3. Mantener pulsado el botón PAIR durante 3 segundos para entrar en modo emparejamiento (las luces LED se moverán de izquierda a derecha)
  4. Entrar en los ajustes Bluetooth del dispositivo Android y emparejarlo con 8Bitdo SF30 Pro
  5. Si todo ha ido bien, el mando vibrará y la luz LED quedará fija

Una vez emparejado, el mando se conectará al dispositivo android al pulsar START.

Si queremos usar dos mandos a la vez, debemos emparejar primero uno, apagarlo y luego emparejar el otro. Finalmente, encenderemos de nuevo el primero y debería conectarse también.

Uso por cable

Linux

No es necesario instalar ningún driver/controlador. Sin hacer nada, el mando será reconocido como un dispositivo USB. Salida del comando lsusb:

$ lsusb
(...)
Bus 001 Device 010: ID 2dc8:6000 8BitDo SF30 Pro gamepad

Sin embargo, esto no creará ninguna entrada en el directorio /dev/input/ por lo que no podremos usar el mando.

Para poder conectarlo en modo correcto, hay que mantener pulsado el botón B (modo Dinput) y a continuación conectar el cable al ordenador. De esta manera se habrá creado /dev/input/js0 y podremos verificar el funcionamiento con el programa jstest:

jstest /dev/input/js0

En Arch Linux, el programa jstest está incluido en el paquete joyutils.

Actualizaciones

8bitdo publica actualizaciones del firmware a través de LVFS, así que se pueden utilizar programas como fwupd, gnome-software o kde-discover para actualizar el firmware de este mando: https://fwupd.org/lvfs/devices/com.8bitdo.sf30sn30pro.firmware

Si tuviésemos MacOS o Windows, hay una herramienta oficial para realizar las actualizaciones de firmware: https://support.8bitdo.com/firmware-updater.html

Para comprobar si hay actualizaciones para el mando, hay que conectarlo por cable y emparejarlo en modo Android. Sí, en modo Android, así es cómo funciona con fwupd.

Hay que empezar con el mando apagado y desenchufado del ordenador.

Encendemos el mando en modo Android (realmente llamado modo D-input): B + START (parpadea el LED 1)

Conectamos el mando al equipo Linux con el cable USB. Se quedará fijo el LED 1. Comprobamos si lo reconoce:

$ lsusb
(...)
Bus 001 Device 018: ID 2dc8:6000 8Bitdo SF30 Pro   8Bitdo SF30 Pro
(...)

Otra salida:

$ lsusb
Bus 002 Device 002: ID 2dc8:6000 8BitDo SF30 Pro gamepad

En Arch Linux, el programa se instala mediante el paquete fwupd

Comprobamos que funcione el servicio fwupd para poder comprobar y ver los dispositivos conectados:

systemctl status fwupd
● fwupd.service - Firmware update daemon
   Loaded: loaded (/lib/systemd/system/fwupd.service; static; vendor preset: enabled)
   Active: active (running) since Sun 2020-08-23 08:22:24 CEST; 24min ago
     Docs: https://fwupd.org/
 Main PID: 2943 (fwupd)
    Tasks: 5 (limit: 4915)
   Memory: 24.5M
   CGroup: /system.slice/fwupd.service
           └─2943 /usr/lib/fwupd/fwupd

ago 23 08:22:23 pepito-pc systemd[1]: Starting Firmware update daemon...
ago 23 08:22:24 pepito-pc systemd[1]: Started Firmware update daemon.

Si no estuviese activo, lo arrancamos con systemctl start fwupd

Ahora revisamos si lo detecta el actualizador de firmware

$ fwupdmgr get-devices
8Bitdo SF30 Pro
  DeviceId:             71413822e87deae707da948bd4b7e537af463c19
  Guid:                 043c7673-bd45-5e2e-b8b9-c22df2dfec2a
  Guid:                 b02f1319-c1c4-54f4-b7f2-5bb3552f6a9e
  Guid:                 e95bfb47-11f9-5afd-856e-fbc45730456d
  Guid:                 269b3121-097b-50d8-b9ba-d1f64f9cd241
  Summary:              A redesigned classic game controller
  Plugin:               ebitdo
  Flags:                updatable|needs-bootloader|registered
  Vendor:               8Bitdo
  VendorId:             USB:0x2DC8
  Version:              1.33
  VersionFormat:        pair
  Icon:                 input-gaming
  Created:              2020-08-23

Si la versión indicada es menor que la última disponibel, realizamos el proceso de actualización:

fwupdmgr install 8Bitdo-SF30_Pro-SN30_Pro-1.33.cab <deviceID> --allow-older
Decompressing…         [***************************************]
Authenticating…        [***************************************]
Device 8Bitdo SF30 Pro needs to manually be put in update mode: 
Unplug the controller, hold down L1 + R1 + START until the red 
LED on top of the controller is flashing and then reconnect 
the controller.

Nos indica que el mando debe ser puesto en modo actualización: L1+R1+START (en sucesión, pero sin dejar de soltar los botones previos). Si lo hemos hecho bien, el LED superior parpadeará y comenzará la actualización del firmware:

> sudo fwupdmgr install 8Bitdo-SF30_Pro-SN30_Pro-1.33.cab <deviceID> --allow-older
Decompressing…         [***************************************]
Authenticating…        [***************************************]
Installing on 8Bitdo  …[ -                                     ]
Restarting device…     [***************************************]
failed to wait for replug after update: 
device <deviceID> did not come back

En versiones anteriores del firmware, se detectaron problemas de lag. Sin embargo, en la versión 1.33 parecen solucionados.

informatica/hardware/perifericos/sf30_pro.txt · Última modificación: por tempwin