Combine Corsair RAM controllers, Corsair RAM identification packet testing
Combine the Corsair Vengeance Pro controller and Corsair Dominator Platinum controllers into one Corsair DRAM controller as they implement different parts of the same protocol.
I also found a command that seems to return an identification data packet that we can use for automatic determination of the RAM type.
When you run this, it prints out a string for each Corsair DDR module detected (including Light Enhancement Kits). Examples:
Corsair Vengeance RGB DDR5 Light Enhancement Kit, CMHLEKIT2-D5
18: Identification data packet: 1C 1B 11 09 05 00 03 00 05 00 03 00 F1 00 1B 00 80 5D 73 01 C5 3B 00 00 00 00 00 00 04 00 00 00 00 00
1A: Identification data packet: 1C 1B 11 09 05 00 03 00 05 00 03 00 F1 00 1B 00 80 5D 73 01 51 3B 00 00 00 00 00 00 04 00 00 00 00 00 Corsair Vengeance RGB DDR5, CMH32GX5M2E6000C36
19: Identification data packet: 1C 1B 01 07 08 00 06 00 02 01 09 00 1E 90 02 03 68 00 A6 AF 93 88 AD 61 C2 1B 00 F5 04 00 00 00 00 00
1B: Identification data packet: 1C 1B 01 07 08 00 06 00 02 01 09 00 40 20 03 07 68 00 A6 AF ED D2 AD 61 C0 1B 00 F5 04 00 00 00 00 00Corsair Vengeance RGB Pro DDR4 Light Enhancement Kit, CMWLEKIT2
59: Identification data packet: 1C 1B 01 01 5F 00 38 00 60 00 39 00 30 B0 03 18 23 8D 4B AF 4F C5 C5 5C C0 1B 00 F5 03 00 00 00 00 00
5B: Identification data packet: 1C 1B 01 01 5F 00 38 00 60 00 39 00 44 70 03 18 23 8D 4B AF DD C4 C5 5C C0 1B 00 F5 03 00 00 00 00 00 Corsair Vengeance RGB RS DDR4, CMG8GX4M1E3200C16
59: Identification data packet: 1C 1B 01 04 04 00 0D 00 06 00 24 00 21 90 03 10 26 A4 8B AF D2 34 66 60 C5 1B 00 F5 04 00 00 00 00 00
5B: Identification data packet: 1C 1B 01 04 04 00 0D 00 06 00 24 00 24 F0 03 10 26 A4 8B AF D9 34 66 60 C0 1B 00 F5 04 00 00 00 00 00Corsair Dominator Platinum DDR4, CMT64GX4M2C3600C18
5A: Identification data packet: 1C 1B 01 02 03 00 11 00 03 01 1A 00 29 B0 03 04 67 08 7D AF 6C 0A AB 5F C7 1B 00 F5 04 00 00 00 00 00
5B: Identification data packet: 1C 1B 01 02 03 00 11 00 03 01 1A 00 0E 40 01 03 67 08 7D AF 1F ED AA 5F C3 1B 00 F5 04 00 00 00 00 00Investigating this,
Bytes 0/1: Corsair's USB VID is 0x1B1C, so it looks like this is using the same identifier
Bytes 2/3: I'm assuming this is a product ID, so 0x0101 for CMWLEKIT2, 0x0911 for CMH32GX5M2E6000C36, and 0x0701 for CMHLEKIT2-D5
Bytes 8-10: Seems to line up with the firmware version reported by iCue (1.2.9 for CMH32GX5M2E6000C36 and 0.5.3 for CMHLEKIT2-D5)
Not sure on the rest, but would like to figure it out.