Skip to content

Arctis Nova 7 Wireless Gen 2 both found and not found #451

Closed

Description

@JoaoFFDuarte

Description

When running the executable:
.\headsetcontrol.exe

The programs' output is "No supported devices found".

But when running device listing command it lists the device:
.\headsetcontrol.exe --dev -- --list --device 0x1038:0x227e

Device Found
  VendorID: 0x1038
 ProductID: 0x227e
  path: \\?\HID#VID_1038&PID_227E&MI_05#8&31ab793b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: SteelSeries
  Product:      Arctis Nova 7 Gen 2
  Interface:    5
  Usage-Page: 0xff00 Usageid: 0x1

Device Found
  VendorID: 0x1038
 ProductID: 0x227e
  path: \\?\HID#VID_1038&PID_227E&MI_04#8&dd43b79&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: SteelSeries
  Product:      Arctis Nova 7 Gen 2
  Interface:    4
  Usage-Page: 0xc Usageid: 0x1

Device Found
  VendorID: 0x1038
 ProductID: 0x227e
  path: \\?\HID#VID_1038&PID_227E&MI_03#8&16030249&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: SteelSeries
  Product:      Arctis Nova 7 Gen 2
  Interface:    3
  Usage-Page: 0xffc0 Usageid: 0x1

Headset Name

Arctis Nova 7 Wireless Gen 2

On which OS does the problem happen?

Windows

Device information

Detailed Device Information
Device Found
 VendorID: 0x1038
ProductID: 0x227e
 path: \\?\HID#VID_1038&PID_227E&MI_05#8&31ab793b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
 serial_number:
 Manufacturer: SteelSeries
 Product:      Arctis Nova 7 Gen 2
 Interface:    5
 Usage-Page: 0xff00 Usageid: 0x1

Device Found
 VendorID: 0x1038
ProductID: 0x227e
 path: \\?\HID#VID_1038&PID_227E&MI_04#8&dd43b79&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
 serial_number:
 Manufacturer: SteelSeries
 Product:      Arctis Nova 7 Gen 2
 Interface:    4
 Usage-Page: 0xc Usageid: 0x1

Device Found
 VendorID: 0x1038
ProductID: 0x227e
 path: \\?\HID#VID_1038&PID_227E&MI_03#8&16030249&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
 serial_number:
 Manufacturer: SteelSeries
 Product:      Arctis Nova 7 Gen 2
 Interface:    3
 Usage-Page: 0xffc0 Usageid: 0x1

Activity

  1. PXAbstraction commented on Jan 4, 2026

    @PXAbstraction

    Having this same issue. Glad to see someone else already reported it. :)

  2. Sapd commented on Jan 8, 2026

    @Sapd
    Owner

    Can you try again on the latest master?

  3. JoaoFFDuarte commented on Jan 8, 2026

    @JoaoFFDuarte
    Author

    Is there a way you can provide a Windows executable for me to check? I've tried compiling myself but can only compile through WSL which can't read the headset and I can't compile for Windows in WSL.
    I've noticed that github actions is compiling and testing the Windows version and I tried to check for a download for it but couldn't find it here: https://github.com/Sapd/HeadsetControl/actions/runs/20829098896/job/59838304016

  4. Sapd commented on Jan 8, 2026

    @Sapd
    Owner

    I've noticed that github actions is compiling and testing the Windows version and I tried to check for a download for it but couldn't find it here: https://github.com/Sapd/HeadsetControl/actions/runs/20829098896/job/59838304016

    You can find it here under pre releases at the very top: https://github.com/Sapd/HeadsetControl/releases

  5. JoaoFFDuarte commented on Jan 9, 2026

    @JoaoFFDuarte
    Author

    It did work with the latest master!

    The output is:

    Found 1 supported device(s):
     SteelSeries Arctis Nova 7 (Arctis Nova 7 Gen 2) [0x1038:0x227e]
    
    HeadsetControl (continuous-8-g689115a) written by Sapd (Denis Arnst)
            https://github.com/Sapd/HeadsetControl
    
    You didn't set any arguments, so nothing happened.
    Use -h for help.
    
  6. JoaoFFDuarte commented on Jan 9, 2026

    @JoaoFFDuarte
    Author

    When running .\headsetcontrol.exe -b -o json

    I get the following output:

    .\headsetcontrol.exe -b -o json
    {
      "name": "HeadsetControl",
      "version": "continuous-8-g689115a",
      "api_version": "1.4",
      "hidapi_version": "0.15.0",
      "device_count": 1,
      "devices": [
        {
          "status": "success",
          "device": "SteelSeries Arctis Nova 7",
          "vendor": "SteelSeries",
          "product": "Arctis Nova 7 Gen 2",
          "id_vendor": "0x1038",
          "id_product": "0x227e",
          "capabilities": [
            "CAP_SIDETONE",
            "CAP_BATTERY_STATUS",
            "CAP_INACTIVE_TIME",
            "CAP_CHATMIX_STATUS",
            "CAP_EQUALIZER_PRESET",
            "CAP_EQUALIZER",
            "CAP_MICROPHONE_MUTE_LED_BRIGHTNESS",
            "CAP_MICROPHONE_VOLUME",
            "CAP_VOLUME_LIMITER",
            "CAP_BT_WHEN_POWERED_ON",
            "CAP_BT_CALL_VOLUME"
          ],
          "capabilities_str": [
            "sidetone",
            "battery",
            "inactive time",
            "chatmix",
            "equalizer preset",
            "equalizer",
            "microphone mute led brightness",
            "microphone volume",
            "volume limiter",
            "bluetooth when powered on",
            "bluetooth call volume"
          ],
          "battery": {
            "status": "BATTERY_AVAILABLE",
            "level": 100
          },
          "equalizer": {
            "bands": 10,
            "baseline": 0,
            "step": 0.5,
            "min": -10,
            "max": 10
          },
          "equalizer_presets_count": 4,
          "chatmix": 64
        }
      ]
    }
    

    Which, as you can see from this image from the Steelseries software (Steelseries GG) seems to be wrong:
    Image

    So now I can detect my device but it seems like it may be giving some wrong info, at least battery wise.
    I tried changing the chatmix and it seems fine, scrolling from 0 to 128.

  7. Sapd commented on Jan 9, 2026

    @Sapd
    Owner

    Could you run

    headsetcontrol.exe --dev -- --device 0x1038:0x227e --interface 3 --usage 0xffc0:0x1 --send "0x00, 0xb0" --receive
    

    both when the headset is, empty, full and somewhere in between (and name the number the SteelSeries software showed)

  8. JoaoFFDuarte commented on Jan 13, 2026

    @JoaoFFDuarte
    Author

    Sorry for the delay in the reply, but I had to wait for the headphones to discharge and charge them back on.
    I recorded some values as well as what the SteelSeries software showed which I'll leave below:

    Steelseries GG Software: 100%
    .\headsetcontrol.exe --dev -- --device 0x1038:0x227e --interface 3 --usage 0xffc0:0x1 --send "0x00, 0xb0" --receive:
    0xb0 0x03 0x64 0x02 0x64 0x64 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    
    
    Steelseries GG Software: 81%
    .\headsetcontrol.exe --dev -- --device 0x1038:0x227e --interface 3 --usage 0xffc0:0x1 --send "0x00, 0xb0" --receive:
    0xb0 0x03 0x51 0x01 0x64 0x64 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    
    
    Steelseries GG Software: 43%
    .\headsetcontrol.exe --dev -- --device 0x1038:0x227e --interface 3 --usage 0xffc0:0x1 --send "0x00, 0xb0" --receive:
    0xb0 0x03 0x2b 0x03 0x64 0x64 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    
    
    Steelseries GG Software: 9%
    .\headsetcontrol.exe --dev -- --device 0x1038:0x227e --interface 3 --usage 0xffc0:0x1 --send "0x00, 0xb0" --receive:
    0xb0 0x03 0x09 0x03 0x64 0x64 0x02 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    
    
    Steelseries GG Software: 4%
    .\headsetcontrol.exe --dev -- --device 0x1038:0x227e --interface 3 --usage 0xffc0:0x1 --send "0x00, 0xb0" --receive:
    0xb0 0x03 0x04 0x03 0x64 0x64 0x02 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    
    
    Steelseries GG Software: 1%
    .\headsetcontrol.exe --dev -- --device 0x1038:0x227e --interface 3 --usage 0xffc0:0x1 --send "0x00, 0xb0" --receive:
    0xb0 0x03 0x01 0x03 0x64 0x64 0x02 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    
    
    Steelseries GG Software: 0%
    .\headsetcontrol.exe --dev -- --device 0x1038:0x227e --interface 3 --usage 0xffc0:0x1 --send "0x00, 0xb0" --receive:
    0xb0 0x03 0x00 0x03 0x64 0x64 0x02 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    

    If there's anything more I can help, let me know!

  9. Sapd commented on Jan 13, 2026

    @Sapd
    Owner

    @JoaoFFDuarte Can you test #457

    There is however a very small edge case, when it's charging and between 1-4% it will report a wrong value. But its a bit more effort in code to fix it

  10. JoaoFFDuarte commented on Jan 13, 2026

    @JoaoFFDuarte
    Author

    @JoaoFFDuarte Can you test #457

    I'm sorry, but I couldn't find a Windows build from that pull request.
    Earlier in the thread I mentioned I wasn't able to do Windows builds and you mentioned looking for the build here:

    You can find it here under pre releases at the very top: https://github.com/Sapd/HeadsetControl/releases

    Is there anywhere I can find that build? Sorry to be a bother about it...

  11. Sapd commented on Jan 14, 2026

    @Sapd
    Owner

    @JoaoFFDuarte Indeed the upload step in the build was missing in PRs. Can you check again here please: https://github.com/Sapd/HeadsetControl/actions/runs/20977118009

  12. JoaoFFDuarte commented on Jan 14, 2026

    @JoaoFFDuarte
    Author

    I tried using .\headsetcontrol.exe -b -o json and it doesn't give an output.

    I'm using this to run Headset Battery Indicator which uses your program as a foundation (as I think you already know since you list it in your git page) and by using the build you gave be it gave the following error message:
    [ERROR] Failed to update status: Failed to parse JSON from headsetcontrol.exe: EOF while parsing a value at line 1 column 0
    which leads me to believe that nothing is being generated by your application in the moment

  13. Sapd commented on Jan 22, 2026

    @Sapd
    Owner

    @JoaoFFDuarte Could you pleas try now this one: https://github.com/Sapd/HeadsetControl/actions/runs/21252732527/artifacts/5220738843

    It did not correctly link statically thats why the exe didnt start (and gave no output)

  14. JoaoFFDuarte commented on Jan 22, 2026

    @JoaoFFDuarte
    Author

    It seems to be working now, thanks for fixing the issue!

    For the record, when I run .\headsetcontrol.exe -b -o json the output is:

    {
      "name": "HeadsetControl",
      "version": "0.0.0-unknown",
      "api_version": "1.4",
      "hidapi_version": "0.15.0",
      "device_count": 1,
      "devices": [
        {
          "status": "success",
          "device": "SteelSeries Arctis Nova 7",
          "vendor": "SteelSeries",
          "product": "Arctis Nova 7 Gen 2",
          "id_vendor": "0x1038",
          "id_product": "0x227e",
          "capabilities": [
            "CAP_SIDETONE",
            "CAP_BATTERY_STATUS",
            "CAP_INACTIVE_TIME",
            "CAP_CHATMIX_STATUS",
            "CAP_EQUALIZER_PRESET",
            "CAP_EQUALIZER",
            "CAP_MICROPHONE_MUTE_LED_BRIGHTNESS",
            "CAP_MICROPHONE_VOLUME",
            "CAP_VOLUME_LIMITER",
            "CAP_BT_WHEN_POWERED_ON",
            "CAP_BT_CALL_VOLUME"
          ],
          "capabilities_str": [
            "sidetone",
            "battery",
            "inactive time",
            "chatmix",
            "equalizer preset",
            "equalizer",
            "microphone mute led brightness",
            "microphone volume",
            "volume limiter",
            "bluetooth when powered on",
            "bluetooth call volume"
          ],
          "battery": {
            "status": "BATTERY_AVAILABLE",
            "level": 74
          },
          "equalizer": {
            "bands": 10,
            "baseline": 0,
            "step": 0.5,
            "min": -10,
            "max": 10
          },
          "equalizer_presets_count": 4,
          "chatmix": 64
        }
      ]
    }
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions