Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

8BitDo Controllers

redbeard edited this pageJan 22, 2019 ·5 revisions

About

Your 8BitDo controller can be detected in different modes (Windows, MacOS, Android, Switch, etc) with different key combinations. Check its manual onthe support site to learn how yours work.

If you have issues with the directions, begin by consulting theexisting 8bitdo issues.

SN30 Pro/SF30 Pro controller

You need to connect your controller via USB cable (not just Bluetooth). In my case, the controller was detected correctly in Android mode (turn it on with B + Start):

$ fwupdmgr get-devices8Bitdo SN30 Pro  DeviceId:             71413822e87deae707da948bd4b7e537af463c19  Guid:                 1bf5ac96-99ce-54f2-abf4-7eabe6802533  Guid:                 81becceb-f87b-5c66-b30a-b0958043d65d  Guid:                 5bc60e62-f461-58bd-91b6-7de3392f8bd6  Guid:                 043c7673-bd45-5e2e-b8b9-c22df2dfec2a  Guid:                 b02f1319-c1c4-54f4-b7f2-5bb3552f6a9e  Summary:              A redesigned classic game controller  Plugin:               ebitdo  Flags:                updatable|supported|needs-bootloader|registered  Vendor:               8Bitdo  VendorId:             USB:0x2DC8  Version:              1.26  Icon:                 input-gaming  Created:              2018-09-27

To update to the latest firmware version, runfwupdmgr get-updates. This will tell you about new firmware versions which you can install by runningfwupdmgr update.

The command line will give you instructions to start your controller in "Update mode". You need to turn the controller off (usually press Start for a few seconds), then pressL + R + Start for a few seconds until the red led on top of the controller starts blinking.

fwupdmgr begins a countdown when it prompts you to restart your controller in update mode, and then it'll stop. So you need to plug your controller in update mode before the delay is over. It used to be 20 seconds, butwas recently bumped to 40 seconds. So it depends on which version of fwupdmgr you're running, but try to take less than 20 seconds to be sure.

You can either do this via the command line with fwupdmgr or if its available in your system, use the GNOME Software application too.

The SN30 Pro enumerates as the following USB VID/PID values:

Mode NumberPower On CombinationModeVID:PIDNotesUSB Info
N/AL +R +STARTBoot loader2DC8:5750Used to update firmware.Manufacturer: 8BitdoJoy
Product: 8Bitdo
Serial Number: BootMod
1B +STARTD-Input2DC8:6001Also known as "Android" mode.Manufacturer: 8Bitdo SN30 Pro
Product: 8Bitdo SN30 Pro
2X +STARTWindows045E:028EBoot controller in Windows (Xbox) mode. Device will usexpad driver and emulate an Xbox 360 controller.Manufacturer: 8Bitdo SF30 Pro
Product: Controller
Serial Number: 157F8F8
3A +STARTMac054C:05C4Also known as "Mac OS" mode.Manufacturer: Sony Computer Entertainment
Product: Wireless Controller
4Y +STARTWiiMote057E:2009Boot controller in mode compatible with Nintendo Wii and Switch.Manufacturer: Nintendo Co., Ltd.
Product: Pro Controller
SerialNumber: 000000000001

SNES30/NES30 Controller notes

The SNES30 is based on the GigaDeviceGD32F103C8T6 microcontroller and is "compatible" with the STM32 series of microcontrollers. This is thesame microcontroller also used in the 8Bitdo "Retro Receiver".

The SNES30 controller can operate in one of two states, the "normal" state or the boot loader. When booted in the "normal" state the SNES30 can enter a number of operational modes, presenting various configurations for compatibility with different gaming platforms. It is in the "normal" state wherefwupdmgr can detect the SNES30 as an 8bitdo device and seek out available updates. In firmware versions 4.0 and below, updates can only be detected in some operational modes.

Forfwupdmgr to correctly identify the device and seek out available updates, the USB vendor id/product id (VID/PID) must be recognized byfwupdmgr as an 8bitdo device (2DC8:AB20). When SNES30 has entered the boot loader it's VID/PID is changed to0483:5750 (STMicroelectronics) and it will be operating as anhiddev type device. Thus, the update process requiresfwupdmgr first detecting the 8bitdo device then entering the 8bitdo device's boot loader to allowfwupdmgr to upgrade the firmware.

To validate the current VID/PID perform one of the following:

Vialsusb:

Normal state

$ lsusbBus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub...Bus 001 Device 102: ID 2dc8:ab20

Boot loader state

$ lsusbBus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub...Bus 001 Device 062: ID 0483:5750 STMicroelectronics

Viajournalctl -fk:

Normal state

Jan 22 09:48:01 leviathan kernel: usb 1-1: new full-speed USB device number 64 using xhci_hcdJan 22 09:48:01 leviathan kernel: usb 1-1: New USB device found, idVendor=2dc8, idProduct=ab20, bcdDevice= 0.01Jan 22 09:48:01 leviathan kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0Jan 22 09:48:01 leviathan kernel: usb 1-1: Product: SNES30 Joy    Jan 22 09:48:01 leviathan kernel: usb 1-1: Manufacturer: SNES30            Jan 22 09:48:01 leviathan kernel: input: SNES30             SNES30 Joy     as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:2DC8:AB20.002F/input/input58Jan 22 09:48:01 leviathan kernel: hid-generic 0003:2DC8:AB20.002F: input,hidraw0: USB HID v1.10 Joystick [SNES30             SNES30 Joy    ] on usb-0000:00:14.0-1/input0

Boot loader state

$ journalctl -fk -n0 Jan 22 09:47:15 leviathan kernel: usb 1-1: new full-speed USB device number 63 using xhci_hcdJan 22 09:47:15 leviathan kernel: usb 1-1: New USB device found, idVendor=0483, idProduct=5750, bcdDevice= 2.00Jan 22 09:47:15 leviathan kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3Jan 22 09:47:15 leviathan kernel: usb 1-1: Product: 8Bitdo  Jan 22 09:47:15 leviathan kernel: usb 1-1: Manufacturer: 8BitdoHidJan 22 09:47:15 leviathan kernel: usb 1-1: SerialNumber: 8Bitdo Jan 22 09:47:15 leviathan kernel: hid-generic 0003:0483:5750.002E: hiddev96,hidraw0: USB HID v1.10 Device [8BitdoHid 8Bitdo  ] on usb-0000:00:14.0-1/input0

Note: This is different from it's normal enumeration where it is operating as aninput device andnothiddev.

States of Operation

Normal state

The SN30 Pro will only be detected byfwupdmgr when in certain "modes". When powered on the blue LED on the top of the device will flash once, then after a short delay will flash repeatedly denoting the mode that it is running in. The number of flashes will note the mode "number" and will repeat approximately every two seconds. To change the mode boot from a completely unpowered state as follows:

Mode NumberPower On CombinationModeVID:PIDNotes
1B +STARTD-Input2DC8:AB20Also known as "Android" mode.
2X +STARTWindows045E:028EBoot controller in Windows (Xbox) mode. Device will usexpad driver and emulate an Xbox 360 controller
3A +STARTMac2DC8:AB20Also known as "Mac OS" mode.
4Y +STARTWiiMote2DC8:AB20Boot controller in mode compatible with Nintendo Wii and Switch

Boot loader state

Mode NumberPower On CombinationModeVID:PIDNotes
N/AL +R +STARTBoot loader0483:5750Used to update firmware.

While holding theL andR buttons at the top of the controller, press theSTART button and continue holding these until both the green and blue LEDs at the top of the device begin flashing at approximately 1 second intervals. As soon as both LEDs are flashing release the buttons and the device will have entered the boot loader state.

Example

Begin with the device powered completely off and unplugged from the host machine.

First, ensurefwupd is running and check to see connected devices

$ systemctl status fwupd● fwupd.service - Firmware update daemon   Loaded: loaded (/usr/lib/systemd/system/fwupd.service; static; vendor preset>   Active: active (running) since Tue 2019-01-22 11:40:05 PST; 1min 56s ago     Docs: https://fwupd.org/ Main PID: 25922 (fwupd)    Tasks: 5 (limit: 4915)   Memory: 5.0M   CGroup: /system.slice/fwupd.service           └─25922 /usr/libexec/fwupd/fwupdJan 22 11:40:04 leviathan systemd[1]: Starting Firmware update daemon...Jan 22 11:40:05 leviathan systemd[1]: Started Firmware update daemon.$ fwupdmgr get-devices$

Boot the device into D-input mode (holdB then pressSTART). Other modes may work, this is the "default" mode and will place us in a known good state. Once started, connect the 8bitdo device via USB cable to the host then ensure you see the device enumerated by the host.

$ lsusbBus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 001 Device 104: ID 2dc8:ab20 $ fwupdmgr get-devices SNES30 Joy      DeviceId:             672c087de09848d9e7ee32aa1dea2fbeb8b81e6b  Guid:                 62368573-ff78-54b5-b297-f6316abd7eba  Guid:                 4cb172ce-9849-5603-8814-a3d455932012  Guid:                 5bc60e62-f461-58bd-91b6-7de3392f8bd6  Guid:                 afa5518d-7c55-51cb-8e1c-bf3b11b67dfa  Guid:                 cee9c5bc-aa12-51eb-a220-d0ef588d7cb2  Guid:                 571229d5-caed-5cbc-91c1-5c216601a194  Guid:                 043c7673-bd45-5e2e-b8b9-c22df2dfec2a  Guid:                 b02f1319-c1c4-54f4-b7f2-5bb3552f6a9e  Summary:              A redesigned classic game controller  Plugin:               ebitdo  Flags:                updatable|supported|needs-bootloader|registered  Vendor:               8Bitdo  VendorId:             USB:0x2DC8  Version:              4.00  Icon:                 input-gaming  InstallDuration:      120  Created:              2019-01-22

Check for available updates.

$ fwupdmgr get-updatesSNES30 Joy     has firmware updates:GUID:                    62368573-ff78-54b5-b297-f6316abd7ebaGUID:                    4cb172ce-9849-5603-8814-a3d455932012GUID:                    5bc60e62-f461-58bd-91b6-7de3392f8bd6GUID:                    afa5518d-7c55-51cb-8e1c-bf3b11b67dfaGUID:                    cee9c5bc-aa12-51eb-a220-d0ef588d7cb2GUID:                    571229d5-caed-5cbc-91c1-5c216601a194GUID:                    043c7673-bd45-5e2e-b8b9-c22df2dfec2aGUID:                    b02f1319-c1c4-54f4-b7f2-5bb3552f6a9eID:                      com.8bitdo.snes30.firmwareUpdate Version:          4.10Update Name:             SNES30Update Summary:          Firmware for the 8Bitdo SNES30 Game ControllerUpdate Remote ID:        lvfsUpdate Duration:         2 minutesUpdate Checksum:         SHA1(a60593fd1dbb40d7174c99f34b5536f45392bf6c)Update Location:         https://fwupd.org/downloads/2999ee63c0cff96893c1614955f505cb4f0fa406-8Bitdo-SFC30_NES30_SFC30_SNES30-4.10.cabUpdate Description:      Enhanced the stability of the Bluetooth pairing.                         ID:                      com.8bitdo.snes30.firmwareUpdate Version:          4.01Update Name:             SNES30Update Summary:          Firmware for the 8Bitdo SNES30 Game ControllerUpdate Remote ID:        lvfsUpdate Duration:         2 minutesUpdate Checksum:         SHA1(78ef2663beaa952415c3719447b0d2ff43e837d8)Update Location:         https://fwupd.org/downloads/fe066b57c69265f4cce8a999a5f8ab90d1c13b24-8Bitdo-SFC30_NES30_SFC30_SNES30-4.01.cabUpdate Description:      Fixed input lag problem when used with other controllers.

Completely power off the device and start it in the boot loader. Verify that you see the device in the boot loader state, then run the update.

$ lsusbBus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 001 Device 107: ID 0483:5750 STMicroelectronics $ fwupdmgr update Downloading 4.10 for 8Bitdo  ...Decompressing…           [***************************************]Authenticating…          [***************************************]Updating 8Bitdo  …       [ -                                     ]Restarting device…       [***************************************] Less than one minute remaining…

Check the device firmware after completion

$ fwupdmgr get-devicesSNES30 Joy      DeviceId:             672c087de09848d9e7ee32aa1dea2fbeb8b81e6b  Guid:                 62368573-ff78-54b5-b297-f6316abd7eba  Guid:                 4cb172ce-9849-5603-8814-a3d455932012  Guid:                 5bc60e62-f461-58bd-91b6-7de3392f8bd6  Guid:                 afa5518d-7c55-51cb-8e1c-bf3b11b67dfa  Guid:                 cee9c5bc-aa12-51eb-a220-d0ef588d7cb2  Guid:                 571229d5-caed-5cbc-91c1-5c216601a194  Guid:                 043c7673-bd45-5e2e-b8b9-c22df2dfec2a  Guid:                 b02f1319-c1c4-54f4-b7f2-5bb3552f6a9e  Guid:                 ba7f0ecd-1972-5bc0-b474-ffdc5fa17645  Guid:                 644ec4d7-3fcf-56b7-89d3-b569cb91edab  Summary:              A redesigned classic game controller  Plugin:               ebitdo  Flags:                updatable|supported|needs-bootloader|registered  Vendor:               8Bitdo  VendorId:             USB:0x2DC8  Version:              4.10  Icon:                 input-gaming  InstallDuration:      120  Created:              2019-01-22________________________________________________Devices that have been updated successfully: • 8Bitdo   (4.00 → 4.10)Uploading firmware reports helps hardware vendors to quickly identify failing and successful updates on real devices.Upload report now? (Requires internet connection) [Y|n]: Y...Target:                  https://fwupd.org/lvfs/firmware/reportPayload:                 {                           "ReportVersion" : 2,                           "MachineId" : "3ba812242e854337353b5fd6a569e2cc71caca02cdf77d2e6a20b0354cc6df47",                           "Metadata" : {                             "DistroId" : "fedora",                             "DistroVersion" : "29",                             "DistroVariant" : "workstation"                           },                           "Reports" : [                             {                               "Checksum" : "a60593fd1dbb40d7174c99f34b5536f45392bf6c",                               "UpdateState" : 2,                               "Guid" : "ba7f0ecd-1972-5bc0-b474-ffdc5fa17645",                               "Plugin" : "ebitdo",                               "VersionOld" : "4.00",                               "VersionNew" : "4.10",                               "Flags" : 98,                               "Created" : 1548186524,                               "Modified" : 1548186528,                               "Metadata" : {                                 "CpuArchitecture" : "x86_64",                                 "RuntimeVersion(org.freedesktop.fwupd)" : "1.2.3",                                 "DistroId" : "fedora",                                 "CompileVersion(org.freedesktop.fwupd)" : "1.2.3",                                 "CompileVersion(com.redhat.fwupdate)" : "12",                                 "DistroVariant" : "workstation",                                 "CompileVersion(org.freedesktop.gusb)" : "0.3.0",                                 "RuntimeVersion(org.freedesktop.appstream-glib)" : "0.7.14",                                 "KernelVersion" : "4.19.15-300.fc29.x86_64",                                 "DistroVersion" : "29",                                 "CompileVersion(com.redhat.efivar)" : "37",                                 "RuntimeVersion(com.dell.libsmbios)" : "2.4",                                 "BootTime" : "1548026945",                                 "RuntimeVersion(com.redhat.fwupdate)" : "12"                               }                             }                           ]                         }Proceed with upload? [Y|n]: Y

If you have not successfully entered the boot loader (butfwupdmgr detects the device) and attempt to run the update you will see the following output fromfwupdmgr:

$ fwupdmgr update Downloading 4.10 for SNES30 Joy    ...Decompressing…           [***************************************]Authenticating…          [***************************************]Device SNES30 Joy     needs to manually be put in update mode: Unplug the controller, hold down L+R+START for 3 seconds until both LEDs are flashing then reconnect the controller.

If this occurs, completely power off the device and repeat the process of entering the boot loader and performing the update.

Clone this wiki locally

[8]ページ先頭

©2009-2025 Movatter.jp