HeadsetControl icon indicating copy to clipboard operation
HeadsetControl copied to clipboard

Support for HyperX Cloud III (with wire)

Open AdamGardelov opened this issue 1 year ago • 11 comments

Description

I would really appreciate if could add support for the wired version of HyperX Cloud III. I need to be able to turn of the mic monitoring/side signal

Headset Name

HyperX Cloud III

Device information

Detailed Device Information
Device Found
 VendorID: 0x03f0
ProductID: 0x089d
 path: /dev/hidraw6
 serial_number: 000000000000
 Manufacturer: HP, Inc
 Product:      HyperX Cloud III
 Interface:    3
 Usage-Page: 0xc Usageid: 0x1

Device Found
 VendorID: 0x03f0
ProductID: 0x089d
 path: /dev/hidraw6
 serial_number: 000000000000
 Manufacturer: HP, Inc
 Product:      HyperX Cloud III
 Interface:    3
 Usage-Page: 0x1c0 Usageid: 0x1

Device Found
 VendorID: 0x03f0
ProductID: 0x089d
 path: /dev/hidraw6
 serial_number: 000000000000
 Manufacturer: HP, Inc
 Product:      HyperX Cloud III
 Interface:    3
 Usage-Page: 0x170f Usageid: 0x1

Device Found
 VendorID: 0x03f0
ProductID: 0x089d
 path: /dev/hidraw6
 serial_number: 000000000000
 Manufacturer: HP, Inc
 Product:      HyperX Cloud III
 Interface:    3
 Usage-Page: 0xffc0 Usageid: 0x1

New Device Implementation Checklist

  • [X] I acknowledge that implementing a new device requires direct access to the device and familiarity with capturing and analyzing its communications. I have access to the device and am willing to contribute by capturing necessary data and/or attempting implementation.
  • [x] I have already attempted to capture device communications using WireShark or similar tools and am including my findings (successful or not) with this issue to assist in implementation efforts.
  • [ ] I am seeking guidance on how to begin this process and am willing to collaborate with the community to add support for this device. I understand where to find resources (refer to the WIKI).

AdamGardelov avatar May 08 '24 06:05 AdamGardelov

Hello 👋

Thank you for reaching out and expressing interest in having support for a new headset. We appreciate your willingness to contribute to the project!

In order to create a implementation for a specific headset, we need to be able to reverse-engineer and test the implementation on that particular device. Explicitly speaking, only people who actually own the headset, can implement that request.

👉 If you're interested in adding support for a specific headset, we recommend taking a look at our wiki to get started.

📝 If you encounter any problems while using WireShark, we would be more than happy to help. Simply post screenshots and data on your progress.

github-actions[bot] avatar May 08 '24 06:05 github-actions[bot]

This is my finding from Wireshark.

ON

00000000  20 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
0000002E  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00                                                                                            . . . . . . . . . . . . . . . .                                                              

OFF

00000000  20 86 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  
0000002E  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

AdamGardelov avatar May 08 '24 06:05 AdamGardelov

The headers are missing. What does WireShark tell you on the "Setup Data" section?

Sapd avatar May 08 '24 07:05 Sapd

This is off:

image

0000   1c 00 70 02 56 31 8d 9a ff ff 00 00 00 00 1b 00   ..p.V1..........
0010   00 02 00 09 00 00 02 46 00 00 00 00 21 09 20 03   .......F....!. .
0020   03 00 3e 00 20 86 00 00 00 00 00 00 00 00 00 00   ..>. ...........
0030   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0060   00 00                                             ..

This is on, witch makes 2 requests:

image

0000   1c 00 70 02 56 31 8d 9a ff ff 00 00 00 00 1b 00   ..p.V1..........
0010   00 02 00 09 00 00 02 46 00 00 00 00 21 09 20 03   .......F....!. .
0020   03 00 3e 00 20 05 00 00 00 00 00 00 00 00 00 00   ..>. ...........
0030   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0060   00 00                                             ..

image

0000   1c 00 10 b5 c7 3a 8d 9a ff ff 00 00 00 00 1b 00   .....:..........
0010   00 02 00 09 00 00 02 46 00 00 00 00 21 09 20 03   .......F....!. .
0020   03 00 3e 00 20 86 01 00 00 00 00 00 00 00 00 00   ..>. ...........
0030   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0060   00 00                                             ..

Forgot to add that the function i need is to turn of the sidetone. It is a on/off-switch in their software.

AdamGardelov avatar May 08 '24 10:05 AdamGardelov

I think this should work, you can try:

headsetcontrol --dev -- --device 0x03f0:0x089d  --send-feature "0x20 0x05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"

and

headsetcontrol --dev -- --device 0x03f0:0x089d  --send-feature "0x20 0x86 0x01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"

Sapd avatar May 08 '24 11:05 Sapd

Sadly this gives "Couldn't open device."

AdamGardelov avatar May 08 '24 14:05 AdamGardelov

Sadly this gives "Couldn't open device."

You might have to run it as root if you do not have the udev rules installed

Sapd avatar May 08 '24 14:05 Sapd

Thanks, running as root worked. But none of the commands turned sideton off unfortunately

AdamGardelov avatar May 08 '24 17:05 AdamGardelov

I didnt see that you had 3 payloads there.

What about

headsetcontrol --dev -- --device 0x03f0:0x089d  --send-feature "0x20 0x86 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"

Sapd avatar May 08 '24 20:05 Sapd

It worked!! if you want to add this device to the repo:

This is On:

headsetcontrol --dev -- --device 0x03f0:0x089d  --send-feature "0x20 0x86 0x01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"

And this is off:

headsetcontrol --dev -- --device 0x03f0:0x089d  --send-feature "0x20 0x86 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"

Thanks for your help man, really appreciate it! Support 10/10!

AdamGardelov avatar May 09 '24 07:05 AdamGardelov

I included it in the hyperx branch: https://github.com/Sapd/HeadsetControl/pull/348. Can you try it?

First delete the build folder: rm -r build Then:

git pull
git checkout hyperx
mkdir build
cd build
cmake ..
make

Sapd avatar May 10 '24 15:05 Sapd

Works perfect! Thanks!

AdamGardelov avatar May 13 '24 15:05 AdamGardelov