This commit is contained in:
Aiden
2026-05-14 01:31:05 +10:00
parent 1d66f3baaf
commit d7e79e3899
9 changed files with 1131 additions and 0 deletions

View File

@@ -8958,3 +8958,240 @@ Current best structural read:
That is a much stronger hint that we are seeing a real maintained status/control
surface rather than random one-shot exceptions.
### HE37: Ordered Camera-State Cycle Hypothesis
Working idea: if we put our "how would Sony have built this in the 1990s?"
hats on, the panel may be expecting a **fixed scan order** of camera-state pages,
not just valid packets in any order.
That would explain why:
- repeated single frames can hold the LCD out of `CONNECT NOT ACT`
- valid mixed traffic can keep the panel semi-alive
- but we still do not get a full wake-up or richer panel state
The key question here is:
- does an **ordered** low-command `20 D0` cycle behave better than the same
frames shuffled?
#### HE37a: ascending ordered low-band cycle `0x00-0x0F`
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 2.0 --frame "00 00 00 20 D0 AA" --frame "00 00 01 20 D0 AB" --frame "00 00 02 20 D0 A8" --frame "00 00 03 20 D0 A9" --frame "00 00 04 20 D0 AE" --frame "00 00 05 20 D0 AF" --frame "00 00 06 20 D0 AC" --frame "00 00 07 20 D0 AD" --frame "00 00 08 20 D0 A2" --frame "00 00 09 20 D0 A3" --frame "00 00 0A 20 D0 A0" --frame "00 00 0B 20 D0 A1" --frame "00 00 0C 20 D0 A6" --frame "00 00 0D 20 D0 A7" --frame "00 00 0E 20 D0 A4" --frame "00 00 0F 20 D0 A5" --repeat 4 --frame-interval 0.35 --read-after-frame 0.15 --read-after-group 1.0 --log captures/he37-ordered-00-0f.txt
```
Purpose:
- mimic a boring fixed page-scan loop
- see whether simple ascending order looks better than ad hoc mixing
#### HE37b: shuffled control, same membership as `HE37a`
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 2.0 --frame "00 00 09 20 D0 A3" --frame "00 00 01 20 D0 AB" --frame "00 00 0D 20 D0 A7" --frame "00 00 05 20 D0 AF" --frame "00 00 03 20 D0 A9" --frame "00 00 0B 20 D0 A1" --frame "00 00 07 20 D0 AD" --frame "00 00 0F 20 D0 A5" --frame "00 00 00 20 D0 AA" --frame "00 00 08 20 D0 A2" --frame "00 00 02 20 D0 A8" --frame "00 00 0A 20 D0 A0" --frame "00 00 04 20 D0 AE" --frame "00 00 0C 20 D0 A6" --frame "00 00 06 20 D0 AC" --frame "00 00 0E 20 D0 A4" --repeat 4 --frame-interval 0.35 --read-after-frame 0.15 --read-after-group 1.0 --log captures/he37-shuffled-00-0f.txt
```
Purpose:
- same traffic, same cadence, different order
- direct control for the "expected sequence" hypothesis
#### HE37c: ascending odd-only cycle `0x01-0x1D`
Active responders so far are mostly the odd commands. This run leans into that.
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 2.0 --frame "00 00 01 20 D0 AB" --frame "00 00 03 20 D0 A9" --frame "00 00 05 20 D0 AF" --frame "00 00 07 20 D0 AD" --frame "00 00 09 20 D0 A3" --frame "00 00 0B 20 D0 A1" --frame "00 00 0D 20 D0 A7" --frame "00 00 11 20 D0 BB" --frame "00 00 13 20 D0 B9" --frame "00 00 15 20 D0 BF" --frame "00 00 17 20 D0 BD" --frame "00 00 19 20 D0 B3" --frame "00 00 1B 20 D0 B1" --frame "00 00 1D 20 D0 B7" --repeat 4 --frame-interval 0.35 --read-after-frame 0.15 --read-after-group 1.0 --log captures/he37-ordered-odd-01-1d.txt
```
Purpose:
- test whether the panel only cares about the "live" pages, not the quiet ones
#### HE37d: reversed odd-only cycle
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 2.0 --frame "00 00 1D 20 D0 B7" --frame "00 00 1B 20 D0 B1" --frame "00 00 19 20 D0 B3" --frame "00 00 17 20 D0 BD" --frame "00 00 15 20 D0 BF" --frame "00 00 13 20 D0 B9" --frame "00 00 11 20 D0 BB" --frame "00 00 0D 20 D0 A7" --frame "00 00 0B 20 D0 A1" --frame "00 00 09 20 D0 A3" --frame "00 00 07 20 D0 AD" --frame "00 00 05 20 D0 AF" --frame "00 00 03 20 D0 A9" --frame "00 00 01 20 D0 AB" --repeat 4 --frame-interval 0.35 --read-after-frame 0.15 --read-after-group 1.0 --log captures/he37-reversed-odd-01-1d.txt
```
Purpose:
- same family membership, opposite order
- if order matters, this should behave worse than `HE37c`
#### HE37e: `0x40`-family-focused ordered run
Known `0x40`-leaning branch selectors:
- `0x00`, `0x01`, `0x05`, `0x09`, `0x0D`, `0x11`, `0x15`, `0x19`, `0x1D`
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 2.0 --frame "00 00 00 20 D0 AA" --frame "00 00 01 20 D0 AB" --frame "00 00 05 20 D0 AF" --frame "00 00 09 20 D0 A3" --frame "00 00 0D 20 D0 A7" --frame "00 00 11 20 D0 BB" --frame "00 00 15 20 D0 BF" --frame "00 00 19 20 D0 B3" --frame "00 00 1D 20 D0 B7" --repeat 5 --frame-interval 0.40 --read-after-frame 0.15 --read-after-group 1.0 --log captures/he37-ordered-40family.txt
```
Purpose:
- see whether one specific subfamily behaves most like a maintained status page
#### HE37f: `0x20/0x10`-family-focused ordered run
Known non-`0x40` selectors:
- `0x02`, `0x03`, `0x07`, `0x0B`, `0x13`, `0x17`, `0x1B`
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 2.0 --frame "00 00 02 20 D0 A8" --frame "00 00 03 20 D0 A9" --frame "00 00 07 20 D0 AD" --frame "00 00 0B 20 D0 A1" --frame "00 00 13 20 D0 B9" --frame "00 00 17 20 D0 BD" --frame "00 00 1B 20 D0 B1" --repeat 5 --frame-interval 0.40 --read-after-frame 0.15 --read-after-group 1.0 --log captures/he37-ordered-20-10-family.txt
```
Purpose:
- test whether the non-`0x40` siblings are the real ordered data pages
#### HE37g: hold-then-step ladder
This is the most "old broadcast gear" test in the set: hold one page long enough
for the panel to latch it, then step to the next.
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --prompt-screen --pre-read 2.0 --frame "00 00 01 20 D0 AB" --frame "00 00 01 20 D0 AB" --frame "00 00 01 20 D0 AB" --frame "00 00 03 20 D0 A9" --frame "00 00 03 20 D0 A9" --frame "00 00 05 20 D0 AF" --frame "00 00 05 20 D0 AF" --frame "00 00 09 20 D0 A3" --repeat 4 --frame-interval 0.50 --read-after-frame 0.20 --read-after-group 1.2 --log captures/he37-hold-then-step.txt
```
Purpose:
- test whether later pages only "count" after earlier pages have been presented
for a while
#### Recommended order
1. `HE37a` ordered ascending `0x00-0x0F`
2. `HE37b` shuffled control
3. `HE37c` ordered odd-only
4. `HE37d` reversed odd-only
5. `HE37e` `0x40`-family run
6. `HE37f` `0x20/0x10`-family run
7. `HE37g` hold-then-step
Interpretation guide:
- if ordered beats shuffled, sequence matters
- if ascending odd-only beats reversed odd-only, order matters even more strongly
- if one family-only run behaves best, we may have identified the maintained
"camera state page" class
- if hold-then-step behaves best, the panel may be sampling pages in sequence
rather than merely checking for their existence
### HE37 Result: Ordered-Cycle Hypothesis
Capture files present:
- `captures/he37-ordered-00-0f.txt`
- `captures/he37-shuffled-00-0f.txt`
- `captures/he37-ordered-odd-01-1d.txt`
- `captures/he37-reversed-odd-01-1d.txt`
- `captures/he37-ordered-40family.txt`
- `captures/he37-ordered-20-10-family.txt`
- `captures/he37-hold-then-step.txt`
Panel-side observation:
- the full ascending `0x00-0x0F` run reportedly only held the panel clear for
the first group, then lost it
- the other HE37 runs reportedly held the panel in its clear/non-
`CONNECT NOT ACT` state for the length of the run
- none produced a visible wake-up beyond the normal/default panel state
#### Big picture
The "1990s ordered scan" idea was a good hypothesis, but these results do not
show a strong "correct order unlocks the panel" effect.
What they do suggest is a subtler model:
- **which frame family is present** matters
- **keeping to a tighter active subset** helps
- but **strict ordering by itself** does not appear to wake the panel
#### HE37a vs HE37b: ordered ascending vs shuffled `0x00-0x0F`
Result:
- both runs only produced the same familiar early group-1 branch behavior
- after that, both settled into heartbeat-compatible traffic
- no richer serial progression appeared in the ordered run
Read:
- using the same low-band pages in ascending order did **not** beat the same
pages shuffled
#### HE37c vs HE37d: ordered odd-only vs reversed odd-only
Result:
- both odd-only runs behaved similarly
- both held the panel clearer than the full `0x00-0x0F` pass
- neither showed a decisive serial advantage for ascending vs reversed order
Read:
- trimming the cycle to the "live" odd-command subset helps more than the exact
direction of the scan
#### HE37e: ordered `0x40`-family run
Result:
- group 1 still opened the familiar `0x40` branch around:
- `07 80 40 24 DD 64`
- later groups stayed heartbeat-compatible
- panel reportedly stayed clear for the duration
Read:
- the `0x40`-family subset is a plausible maintained background class
- but it still does not look like the missing full wake/session stream
#### HE37f: ordered `0x20/0x10`-family run
Result:
- group 1 still opened the familiar `0x20 0x12` branch around:
- `07 80 20 12 97 78`
- later groups stayed heartbeat-compatible
- panel reportedly also stayed clear for the duration
Read:
- the non-`0x40` active subset also behaves like a viable maintained background
class
- again, no evidence yet that it is the unique "correct next page sequence"
#### HE37g: hold-then-step
Result:
- this run did complete and is valid
- it produced the same basic early one-shot `0x40`-family behavior in group 1
- then settled into heartbeat-compatible traffic
Read:
- holding a page longer before stepping did **not** unlock a richer progression
Current best interpretation after HE37:
- we still do **not** have evidence for one exact required page order
- we **do** have evidence that narrower active subsets maintain the panel better
than a broad "everything from `0x00` upward" scan
- the panel may care more about:
- being fed the right **class** of recurring pages
- at a believable cadence
- than about one strict ascending sequence
That means the next most 1990s-looking hypothesis is probably:
- a **small recurring scan set** for the maintained background layer
- plus some separate startup/beacon/identity pages
- rather than one giant ordered status loop by itself