Sapd / HeadsetControl

Sidetone and Battery status for Logitech G930, G533, G633, G933 SteelSeries Arctis 7/PRO 2019 and Corsair VOID (Pro) in Linux and MacOSX
GNU General Public License v3.0
1.44k stars 176 forks source link

Steelseries Arctis Pro is not recognized #151

Closed adlerzei closed 3 years ago

adlerzei commented 3 years ago

Hi, I recently bought a new Arctis Pro but it is not recognized by HeadsetControl.

christian@christian-PC:~$ headsetcontrol
No supported headset found

I requested more information about my USB devices to add the idProduct to the code if it differs:

christian@christian-PC:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 008: ID 05c8:022a Cheng Uei Precision Industry Co., Ltd (Foxlink) HP Webcam
Bus 001 Device 007: ID 8087:0a2a Intel Corp. 
Bus 001 Device 014: ID 248a:8367 Maxxter Wireless Receiver
Bus 001 Device 012: ID 1038:1297 SteelSeries ApS 
Bus 001 Device 011: ID 1038:1290 SteelSeries ApS Wireless Receiver
Bus 001 Device 009: ID 0451:2036 Texas Instruments, Inc. TUSB2036 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

and changed line 10 - 14 in steelseries_arctis_7.c to:

#define ID_ARCTIS_7        0x1260
#define ID_ARCTIS_7_2019   0x12ad
#define ID_ARCTIS_PRO_2019 0x1252
#define ID_ARCTIS_PRO_NEW 0x1290

static const uint16_t PRODUCT_IDS[] = { ID_ARCTIS_7, ID_ARCTIS_7_2019, ID_ARCTIS_PRO_2019, ID_ARCTIS_PRO_NEW };

but without success. I also tried using 0x1297 as product id, but it resulted in the same output. After rebuilding HeadsetControl I got:

christian@christian-PC:~$ headsetcontrol
Found SteelSeries Arctis (7/Pro)!

Requested/supported HID device not found or system error.

Can anyone help?

Sapd commented 3 years ago

Requested/supported HID device not found or system error.

That unfortunately means, that you need an additional ID. idUsagePage and idUsage, like here: https://github.com/Sapd/HeadsetControl/blob/43a488fe782e7c56aa62e600659a3d698565d43c/src/devices/logitech_g930.c#L28

That means, that its also likely that the protocol will be different to some extent. So you probably have to create a new device file and use wireshark: https://github.com/Sapd/HeadsetControl/wiki/Development#adding-a-new-headset

Edit: Its actually not idUsagePage, but idInterface.