Draft: WIP: Add MSI X870E Carbon support and Fnatic Streak
It's a total mess, don't waste your time on a review.
❯ cat /sys/devices/virtual/dmi/id/board_vendor && cat /sys/devices/virtual/dmi/id/board_name
Micro-Star International Co., Ltd.
MPG X870E CARBON WIFI (MS-7E49)
❯ dmesg | grep -i msi
[ 2.204588] hid-generic 0003:0DB0:0076.0002: hiddev96,hidraw1: USB HID v1.10 Device [MSI MYSTIC LIGHT] on usb-0000:11:00.0-6/input0
❯ modinfo msi-ec
filename: /lib/modules/6.17.6-300.fc43.x86_64/kernel/drivers/platform/x86/msi-ec.ko.xz
description: MSI Embedded Controller
author: Nikita Kravets <teackot@gmail.com>
author: Aakash Singh <mail@singhaakash.dev>
author: Jose Angel Pastrana <japp0005@red.ujaen.es>
license: GPL
rhelversion: 10.99
alias: dmi*:svn*Micro-StarInternational*:
alias: dmi*:svn*MICRO-STARINT*:
depends:
intree: Y
name: msi_ec
retpoline: Y
vermagic: 6.17.6-300.fc43.x86_64 SMP preempt mod_unload
❯ lsusb
Bus 001 Device 003: ID 0db0:0076 Micro Star International MYSTIC LIGHT
❯ lsusb -v
Bus 001 Device 003: ID 0db0:0076 Micro Star International MYSTIC LIGHT
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0db0 Micro Star International
idProduct 0x0076 MYSTIC LIGHT
bcdDevice 0.01
iManufacturer 1 MSI
iProduct 2 MYSTIC LIGHT
iSerial 3 7E4924062402
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0029
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 (null)
wDescriptorLength 221
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)
❯ lsusb
Bus 003 Device 011: ID 2f0e:0101 Fnatic Gear Fnatic Gear STREAK
❯ lsusb -v
Bus 003 Device 011: ID 2f0e:0101 Fnatic Gear Fnatic Gear STREAK
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2f0e Fnatic Gear
idProduct 0x0101 Fnatic Gear STREAK
bcdDevice 1.10
iManufacturer 1 Fnatic Gear
iProduct 2 Fnatic Gear STREAK
iSerial 3 900310411409C0FA729BF1951491005F
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0042
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 (null)
wDescriptorLength 108
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 (null)
wDescriptorLength 34
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)
Checklist for Accepting a Merge Request for a New Device
-
The source branch of the merge request is not protected ( masteris protected by default when creating a fork, so it is recommended to not use it as your source). -
The New Deviceissue raised for this device is linked to this MR with a keywordCloses / Resolves / Implements -
There is a device protocol page in the Developer Wiki or there is enough information / captures in the New Deviceissue to provide ongoing support. -
The code to be merged follows the style guide and change requirements as documented in the contributing guide.
-
Meta data for the device is included in RGBController_*file -
This device is detected and is working on Windows 10 and / or 11 -
This device is detected and is working on Linux (Please specify distribution and releases tested) -
Logging for Info, Warnings and Errors has been added for troubleshooting purposes
Edited by mikee