Binary RE of LGHUB established that the 0x0604 wire 'level' is a gain-step index, not a 0-100 percent: GHUB scales it through a step count N sourced from getSidetoneLevelSettings (function 2). Solaar writes a raw percent, which is only correct when N == 101 — so V2 headsets reporting a smaller N (G522/G325) get out-of-range step writes the firmware silently clamps. Function 2's byte layout couldn't be recovered from the binary (it decodes in an inlined lambda). Probe it at build time and log the raw reply so the next debug log captures where N sits — no behavior change, gated on DEBUG so it only runs when diagnostics are on. |
||
|---|---|---|
| .. | ||
| hid_parser | ||
| hidapi | ||
| keysyms | ||
| logitech_receiver | ||
| solaar | ||