xerpi / fakemote

A Wii cIOS module that fakes Wiimotes from the input of USB game controllers
GNU General Public License v2.0
178 stars 16 forks source link

Suggestion: 8BitDo SN30 Pro+ Controller #16

Open jpalm7698 opened 2 years ago

jpalm7698 commented 2 years ago

USB Device Descriptors dumped via Thesycon USB Descriptor Dumper.

Edit: Replaced the original information with new info from the controller after setting it to Windows/X-Input mode. The controller supports gameplay over USB. See the device manual for more information.

Information for device Controller (VID=0x045E PID=0x028E):

------------------------------
Connection Information:
------------------------------
Device current bus speed: FullSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x000B
Current configuration value: 0x00
Number of open pipes: 0

------------------------------
Device Descriptor:
------------------------------
0x12    bLength
0x01    bDescriptorType
0x0200  bcdUSB
0xFF    bDeviceClass      (Vendor specific)
0xFF    bDeviceSubClass   
0xFF    bDeviceProtocol   
0x08    bMaxPacketSize0   (8 bytes)
0x045E  idVendor
0x028E  idProduct
0x0114  bcdDevice
0x01    iManufacturer   "8Bitdo SF30 Pro  "
0x02    iProduct        "Controller"
0x03    iSerialNumber
0x01    bNumConfigurations

-------------------------
Configuration Descriptor:
-------------------------
0x09    bLength
0x02    bDescriptorType
0x0099  wTotalLength   (153 bytes)
0x04    bNumInterfaces
0x01    bConfigurationValue
0x00    iConfiguration
0xA0    bmAttributes   (Bus-powered Device, Remote-Wakeup)
0xFA    bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x00    bInterfaceNumber
0x00    bAlternateSetting
0x02    bNumEndPoints
0xFF    bInterfaceClass      (Vendor specific)
0x5D    bInterfaceSubClass   
0x01    bInterfaceProtocol   
0x00    iInterface

Unknown Descriptor:
------------------------------
0x11    bLength
0x21    bDescriptorType
Hex dump: 
0x11 0x21 0x00 0x01 0x01 0x25 0x81 0x14 0x00 0x00 
0x00 0x00 0x13 0x01 0x08 0x00 0x00 

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x81    bEndpointAddress  (IN endpoint 1)
0x03    bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0020  wMaxPacketSize    (1 x 32 bytes)
0x04    bInterval         (4 frames)

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x01    bEndpointAddress  (OUT endpoint 1)
0x03    bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0020  wMaxPacketSize    (1 x 32 bytes)
0x08    bInterval         (8 frames)

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x01    bInterfaceNumber
0x00    bAlternateSetting
0x04    bNumEndPoints
0xFF    bInterfaceClass      (Vendor specific)
0x5D    bInterfaceSubClass   
0x03    bInterfaceProtocol   
0x00    iInterface

Unknown Descriptor:
------------------------------
0x1B    bLength
0x21    bDescriptorType
Hex dump: 
0x1B 0x21 0x00 0x01 0x01 0x01 0x82 0x40 0x01 0x02 
0x20 0x16 0x83 0x00 0x00 0x00 0x00 0x00 0x00 0x16 
0x03 0x00 0x00 0x00 0x00 0x00 0x00 

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x82    bEndpointAddress  (IN endpoint 2)
0x03    bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0020  wMaxPacketSize    (1 x 32 bytes)
0x02    bInterval         (2 frames)

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x02    bEndpointAddress  (OUT endpoint 2)
0x03    bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0020  wMaxPacketSize    (1 x 32 bytes)
0x04    bInterval         (4 frames)

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x83    bEndpointAddress  (IN endpoint 3)
0x03    bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0020  wMaxPacketSize    (1 x 32 bytes)
0x40    bInterval         (64 frames)

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x03    bEndpointAddress  (OUT endpoint 3)
0x03    bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0020  wMaxPacketSize    (1 x 32 bytes)
0x10    bInterval         (16 frames)

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x02    bInterfaceNumber
0x00    bAlternateSetting
0x01    bNumEndPoints
0xFF    bInterfaceClass      (Vendor specific)
0x5D    bInterfaceSubClass   
0x02    bInterfaceProtocol   
0x00    iInterface

Unknown Descriptor:
------------------------------
0x09    bLength
0x21    bDescriptorType
Hex dump: 
0x09 0x21 0x00 0x01 0x01 0x22 0x84 0x07 0x00 

Endpoint Descriptor:
------------------------------
0x07    bLength
0x05    bDescriptorType
0x84    bEndpointAddress  (IN endpoint 4)
0x03    bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0020  wMaxPacketSize    (1 x 32 bytes)
0x10    bInterval         (16 frames)

Interface Descriptor:
------------------------------
0x09    bLength
0x04    bDescriptorType
0x03    bInterfaceNumber
0x00    bAlternateSetting
0x00    bNumEndPoints
0xFF    bInterfaceClass      (Vendor specific)
0xFD    bInterfaceSubClass   
0x13    bInterfaceProtocol   
0x04    iInterface   "µᘡH藰俸샴`濰߸贠øĀ贤Ǹɀ贠˸贀ϸ桀F⏰ᓸ贠ø"

Unknown Descriptor:
------------------------------
0x06    bLength
0x41    bDescriptorType
Hex dump: 
0x06 0x41 0x00 0x01 0x01 0x03 

Microsoft OS Descriptor is not available. Error code: 0x0000001F

--------------------------------
String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409 
0x01   0x0409  "8Bitdo SF30 Pro  "
0x02   0x0409  "Controller"
0x03   0x0409  Request failed with 0x0000001F
0x04   0x0409  "µᘡH藰俸샴`濰߸贠øĀ贤Ǹɀ贠˸贀ϸ桀F⏰ᓸ贠ø"

------------------------------

Connection path for device: 
USB xHCI Compliant Host Controller
Root Hub
Controller (VID=0x045E PID=0x028E) Port: 2

Running on: Windows 10 or greater (Build Version 19044)

Brought to you by TDD v2.17.0, Feb 23 2021, 14:04:02