Skip to content

Fix Nova Pro Wireless hardware EQ initialization - #64

Open
Gabbajoe wants to merge 1 commit into
elegos:developfrom
Gabbajoe:fix/nova-pro-wireless-hardware-eq
Open

Fix Nova Pro Wireless hardware EQ initialization#64
Gabbajoe wants to merge 1 commit into
elegos:developfrom
Gabbajoe:fix/nova-pro-wireless-hardware-eq

Conversation

@Gabbajoe

@Gabbajoe Gabbajoe commented Aug 28, 2026

Copy link
Copy Markdown

Summary

Fix the Arctis Nova Pro Wireless initialization so that starting the daemon no longer forces the base station's hardware EQ selector into the undocumented SONAR state.

Add UI controls for ChatMix, the Sonar station icon, and all hardware EQ presets supported by the base station.

Root cause

The previous initialization sequence contained the undocumented command 06 3b. Hardware testing confirmed that this command forces the base station's EQ selector from PRESET into SONAR.

A USBPcap capture of the current SteelSeries GG software showed that normal Sonar operation uses 06 8d for the station icon and 06 49 for ChatMix, while the hardware EQ remains in PRESET mode. Current GG does not send 06 3b when enabling Sonar.

Scope

  • Remove only the three legacy 06 3b variants that were confirmed to cause
    the unwanted state. All other existing initialization commands are retained
    because their purpose and relevance to other device functions or firmware
    versions has not yet been established.

Changes

  • Restore the selected hardware EQ preset during initialization.
  • Persist hardware EQ changes with command 06 09.
  • Add all 19 hardware EQ presets to the UI.
  • Add a ComboBox display mode for large discrete setting maps.
  • Add ChatMix and Sonar Icon controls.
  • Add tests for the new configuration and persistence behavior.

Testing

Tested with an Arctis Nova Pro Wireless, USB ID 1038:12e0.

  • Base station remains in PRESET after daemon startup.
  • Hardware presets selected in the UI appear on the base station.
  • The selected preset survives daemon restarts.
  • ChatMix controls the Linux Media and Chat sinks.
  • Sonar Icon only changes the station icon.
  • 108 automated tests pass.

@Gabbajoe

Copy link
Copy Markdown
Author

@elegos This was tested on an Arctis Nova Pro Wireless (1038:12e0), including daemon restarts, all hardware EQ presets, ChatMix, and a comparison with current SteelSeries GG USB traffic. A review would be appreciated when you have time.

@Gabbajoe
Gabbajoe force-pushed the fix/nova-pro-wireless-hardware-eq branch from 0e4fc67 to 172645c Compare August 28, 2026 08:34
@Gabbajoe

Copy link
Copy Markdown
Author

Follow-up hardware test for commit 172645c: after restoring every previous initialization command except the three 0x3b variants, rebuilding, reinstalling, and restarting the daemon, the base station remains in PRESET and restores the selected hardware EQ preset correctly. The daemon also initializes the device and Media/Chat sinks without errors.

@elegos

elegos commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Hey Hello @Gabbajoe , thanks for the submission :)

We're currently in beta phase for a release (2.5.0), we're in feature freeze, and after 2.5.0 will come version 3.0.0, a rewriting of the service in rust, which already includes the hardware EQ presets!

If you want to use the hardware preset right now, it'd be better to use your fork for a while, or uninstall LAM and compile and install (via Makefile) the feature/v3 branch (it currently works on the Nova Pro Wireless only, at the moment, while the last feature (VC) is being added)! The rust rewrite will have some nice additions, besides hardware EQ 😃

@Gabbajoe

Copy link
Copy Markdown
Author

Thanks for the explanation! I understand the feature freeze and that hardware EQ support is already part of the v3 rewrite.\n\nOne part of this PR is independent of the new UI and appears to be a bug in the current 2.5 branch: the Nova Pro Wireless initialization sends command 06 3b three times, which forces the base station's hardware EQ selector into an undocumented SONAR state.\n\nWould you accept a separate minimal bugfix PR that only removes those three 0x3b commands? I can keep the hardware EQ UI changes in my fork and also test the feature/v3 branch on the device.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants