Refactor probe tool to generic embedded console scanner, document full G2 command inventory

Rewrote hidden_menu_probe.py from Winegard-hardcoded to auto-discovering:
detects prompt, error string, and submenu structure from any firmware console.
Extracted Winegard-specific candidate words to scripts/wordlists/winegard.txt.

Deep probe of all 12 G2 submenus discovered commands across A3981 (driver
diagnostics), ADC (RSSI monitoring + position sweep), DVB (extended help via
man, transponder selection), EEPROM (read/write), GPIO (pin R/W), LATLON
(calculator), MOT (azscan, sw), PEAK (EchoStar switch), and STEP (raw
stepper control). NVS submenu generates false positives — treats any input
as sequential index reads.

Safety: added q/Q to default blocklist, bare-CR check before navigate_to_root
to prevent accidental shell termination between submenus.
This commit is contained in:
Ryan Malloy 2026-02-12 21:05:33 -07:00
parent 6b94f079aa
commit 7ff91b08ea
4 changed files with 2702 additions and 49 deletions

1043
scripts/hidden_menu_probe.py Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,60 @@
# Winegard satellite dish firmware - device-specific candidate commands
# Load with: --wordlist scripts/wordlists/winegard.txt
# Dish / antenna
stow
deploy
park
home
search
scan
find
locate
track
point
dish
antenna
ant
feed
# Satellite / signal
sat
satellite
lnb
pol
polarity
rf
signal
snr
ber
rssi
blind
ngsearch
# Units
idu
odu
iru
# GPS / position
gps
nmea
position
pos
loc
gyro
imu
accel
tilt
level
# Motor / motion
motor
drive
move
goto
slew
az
el
sk
skew