The main difference between 1.10 and 1.14 are the unrecognized class-specific descriptors for each interface. With the firmware release and the latest GIMX (with debug turned on), the tail end of the spoof with a bcdDevice 1.14 Controller contains:
Code: Select all
0xc1 0x83 0x10 0x5c 0x03 0x01 0x16 0x00
--> GET
bRequestType: 0xc1 bRequest: 0x83 wValue: 0x5c10 wIndex: 0x0103 wLength: 0x0016
read from controller: 22 data: {0x49,0x4c,0x00,0x00,0x10,0x3b,0x35,0x9a,0x14,0xd2,0xc5,0x03,0xee,0xbd,0x68,0xc7,0x7e,0x60,0x11,0x36,0x96,0xc7,}
0xc0 0x01 0x00 0x00 0x00 0x00 0x04 0x00
--> GET
bRequestType: 0xc0 bRequest: 0x01 wValue: 0x0000 wIndex: 0x0000 wLength: 0x0004
read from controller: 4 data: {0x81,0x83,0x0a,0xd5,}
0x40 0xa9 0x0c 0xa3 0x23 0x44 0x00 0x00
--> SET
bRequestType: 0x40 bRequest: 0xa9 wValue: 0xa30c wIndex: 0x4423 wLength: 0x0000
[b]libusb_control_transfer failed with error: -9[/b]
0xc1 0x01 0x00 0x01 0x00 0x00 0x14 0x00
--> GET
bRequestType: 0xc1 bRequest: 0x01 wValue: 0x0100 wIndex: 0x0000 wLength: 0x0014
libusb_control_transfer failed with error: -9
===EDIT===
Changing the firmware to 1.14 resulted in "Spoof successful!" from gimx-serial
Specifically:
Code: Select all
.ReleaseNumber = 0x0110,
.UnkownDescriptor1 =
{
0x11, 0x21, 0x10, 0x01, 0x01, 0x25, 0x81, 0x14, 0x03, 0x03, 0x03, 0x04, 0x13, 0x02, 0x08, 0x03, 0x03
},
.UnkownDescriptor2 =
{
0x1b, 0x21, 0x00, 0x01, 0x01, 0x01, 0x83, 0x40, 0x01, 0x04, 0x20, 0x16, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},
.UnkownDescriptor3 =
{
0x09, 0x21, 0x00, 0x01, 0x01, 0x22, 0x86, 0x07, 0x00
},
.UnkownDescriptor4 =
{
0x06, 0x41, 0x00, 0x01, 0x01, 0x03
},
Code: Select all
.ReleaseNumber = 0x0114,
.UnkownDescriptor1 =
{
0x11, 0x21, 0x00, 0x01, 0x01, 0x25, 0x81, 0x14, 0x00, 0x00, 0x00, 0x00, 0x13, 0x01, 0x08, 0x00, 0x00
},
.UnkownDescriptor2 =
{
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
},
.UnkownDescriptor3 =
{
0x09, 0x21, 0x00, 0x01, 0x01, 0x22, 0x84, 0x07, 0x00
},
.UnkownDescriptor4 =
{
0x06, 0x41, 0x00, 0x01, 0x01, 0x03
},