Drop 0x0623 probe — feature is unmapped and not in G HUB
G HUB doesn't touch 0x0623 either, so blind low-fn probing isn't giving us anything to triangulate. Remove HEADSET_RGB_0623 from the SupportedFeature enum and the probe call.
This commit is contained in:
parent
0baeb87294
commit
7593781367
|
|
@ -214,10 +214,6 @@ class SupportedFeature(IntEnum):
|
||||||
HEADSET_RGB_HOSTMODE = 0x0620
|
HEADSET_RGB_HOSTMODE = 0x0620
|
||||||
HEADSET_RGB_ONBOARD_EFFECTS = 0x0621
|
HEADSET_RGB_ONBOARD_EFFECTS = 0x0621
|
||||||
HEADSET_RGB_SIGNATURE_EFFECTS = 0x0622
|
HEADSET_RGB_SIGNATURE_EFFECTS = 0x0622
|
||||||
# 0x0623 is present on G522 sub-device but its function set is unmapped;
|
|
||||||
# add probe coverage in rgb_effects_probe so the next bring-up captures
|
|
||||||
# whatever read functions respond.
|
|
||||||
HEADSET_RGB_0623 = 0x0623
|
|
||||||
HEADSET_DO_NOT_DISTURB = 0x0631
|
HEADSET_DO_NOT_DISTURB = 0x0631
|
||||||
CENTURION_ONBOARD_PROFILES = 0x0634
|
CENTURION_ONBOARD_PROFILES = 0x0634
|
||||||
HEADSET_RGB_STREAMING = 0x0635
|
HEADSET_RGB_STREAMING = 0x0635
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
"""Read-only corpus probe for the headset RGB feature triplet:
|
"""Read-only corpus probe for the headset RGB feature pair:
|
||||||
|
|
||||||
- HEADSET_RGB_ONBOARD_EFFECTS (0x0621)
|
- HEADSET_RGB_ONBOARD_EFFECTS (0x0621)
|
||||||
- HEADSET_RGB_SIGNATURE_EFFECTS (0x0622)
|
- HEADSET_RGB_SIGNATURE_EFFECTS (0x0622)
|
||||||
- HEADSET_RGB_0623 (0x0623, function set unmapped)
|
|
||||||
|
|
||||||
Logs raw response bytes and lengths at INFO so field testers without
|
Logs raw response bytes and lengths at INFO so field testers without
|
||||||
``-dd`` can still capture the data. All calls are strictly read-side —
|
``-dd`` can still capture the data. All calls are strictly read-side —
|
||||||
|
|
@ -180,24 +179,6 @@ def probe_onboard_effects(device) -> None:
|
||||||
_call(device, feature, 0x40)
|
_call(device, feature, 0x40)
|
||||||
|
|
||||||
|
|
||||||
def probe_unknown_0623(device) -> None:
|
|
||||||
"""Probe 0x0623 (purpose unmapped) — present on G522 sub-device.
|
|
||||||
|
|
||||||
Function set unknown. Try a small window of low function indexes to
|
|
||||||
capture whatever responds. Strictly read-side; we don't know what
|
|
||||||
arguments the functions take so we just call each with no payload
|
|
||||||
and let the device 0x0A any function that needs args.
|
|
||||||
"""
|
|
||||||
feature = SupportedFeature.HEADSET_RGB_0623
|
|
||||||
if not device.features or feature not in device.features:
|
|
||||||
return
|
|
||||||
logger.debug("RGB probe: 0x0623 HEADSET_RGB_0623 present on %s", device)
|
|
||||||
# Functions 0..7 covers the typical "info / get* / get*" range; if
|
|
||||||
# anything responds we'll have first bytes to triangulate against.
|
|
||||||
for fn_idx in range(8):
|
|
||||||
_call(device, feature, fn_idx << 4)
|
|
||||||
|
|
||||||
|
|
||||||
def probe_signature_effects(device) -> None:
|
def probe_signature_effects(device) -> None:
|
||||||
"""Probe 0x0622 RGBSignatureEffects read-side functions."""
|
"""Probe 0x0622 RGBSignatureEffects read-side functions."""
|
||||||
feature = SupportedFeature.HEADSET_RGB_SIGNATURE_EFFECTS
|
feature = SupportedFeature.HEADSET_RGB_SIGNATURE_EFFECTS
|
||||||
|
|
@ -236,7 +217,3 @@ def probe(device) -> None:
|
||||||
probe_signature_effects(device)
|
probe_signature_effects(device)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug("RGB probe: signature-effects probe raised %r", e)
|
logger.debug("RGB probe: signature-effects probe raised %r", e)
|
||||||
try:
|
|
||||||
probe_unknown_0623(device)
|
|
||||||
except Exception as e:
|
|
||||||
logger.debug("RGB probe: 0x0623 probe raised %r", e)
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue