Skip to content

RNET_FRAME_DICTIONARY: add XOR Table D and multi-module capture findings#19

Open
fordragon88 wants to merge 2 commits into
openassistivetech:mainfrom
fordragon88:patch-1
Open

RNET_FRAME_DICTIONARY: add XOR Table D and multi-module capture findings#19
fordragon88 wants to merge 2 commits into
openassistivetech:mainfrom
fordragon88:patch-1

Conversation

@fordragon88

Copy link
Copy Markdown

Adds observations from a fresh candump trace of a multi-module R-Net network (PM + JSM + ICS seating, JSM serial B68021AE, captured 2026-05-21).

Changes:

  • §2: New XOR Table D for serial b68021ae; documents the multi-module challenge sweep where the PM challenges slot 2 right after slot 1
  • §4: Extended POP-Quick command-byte enum (0x2F, 0xCF, 0x80); new documentation for transfer-code byte, 20-char string format with marker 3E 40 3C FF 3B 0F 3D FF, 78F slot addressing via command nibble, and the 1E80xxxx / 1E84..1E87 boot banner family
  • §5: New 061#40100000 mode-0 suspend special form; default top-level mode/profile name table read from a stock chair via POP-Segmented
  • §8: 140C0X01# promoted from "Unknown (motor related?)" to documented secondary motor telemetry channel running ~4 Hz alongside 14300X00. 14300X00 rate refined (measured 250 ms / 4 Hz, not 200 ms)
  • §9: 0C040201# clarified as button-click confirmation from device 2, not a horn-stop variant
  • §15: Typo fix (PM heartbeat alternates 0xC0/0xC1, not 0xC0/0x01) plus cadence note (2 Hz paired-tick on the wire)
  • §19: New "Multi-Module Network with PM Boot Banner" startup variant showing the 1E84..1E87 banner, slot-2 challenge, and 1E80BEA7 status
  • §22: New entries 15000000 (mode/profile UI broadcast) and 1C240F01 (programmer-as-virtual-device ready)
  • Protocol Summary: Four new security-weakness bullets (one-shot auth, plaintext serial, recoverable XOR table, unauthenticated programmer)
  • New "Capture Observations Changelog (2026-05-21)" section at end

All additions tagged with "(Source: 2026-05-21 capture)" for traceability. The capture logs themselves are not included in this PR.

Adds observations from a fresh candump trace of a multi-module R-Net network
(PM + JSM + ICS seating, JSM serial B68021AE, captured 2026-05-21).

Changes:
- §2: New XOR Table D for serial b68021ae; documents the multi-module
  challenge sweep where the PM challenges slot 2 right after slot 1
- §4: Extended POP-Quick command-byte enum (0x2F, 0xCF, 0x80); new
  documentation for transfer-code byte, 20-char string format with marker
  3E 40 3C FF 3B 0F 3D FF, 78F slot addressing via command nibble, and
  the 1E80xxxx / 1E84..1E87 boot banner family
- §5: New 061#40100000 mode-0 suspend special form; default top-level
  mode/profile name table read from a stock chair via POP-Segmented
- §8: 140C0X01# promoted from "Unknown (motor related?)" to documented
  secondary motor telemetry channel running ~4 Hz alongside 14300X00.
  14300X00 rate refined (measured 250 ms / 4 Hz, not 200 ms)
- §9: 0C040201# clarified as button-click confirmation from device 2,
  not a horn-stop variant
- §15: Typo fix (PM heartbeat alternates 0xC0/0xC1, not 0xC0/0x01) plus
  cadence note (2 Hz paired-tick on the wire)
- §19: New "Multi-Module Network with PM Boot Banner" startup variant
  showing the 1E84..1E87 banner, slot-2 challenge, and 1E80BEA7 status
- §22: New entries 15000000 (mode/profile UI broadcast) and 1C240F01
  (programmer-as-virtual-device ready)
- Protocol Summary: Four new security-weakness bullets (one-shot auth,
  plaintext serial, recoverable XOR table, unauthenticated programmer)
- New "Capture Observations Changelog (2026-05-21)" section at end

All additions tagged with "(Source: 2026-05-21 capture)" for traceability.
The capture logs themselves are not included in this PR.
@ismith

ismith commented May 22, 2026

Copy link
Copy Markdown

Ooh! @prileo thinks the New XOR Table D part in particular might solve a problem they ran into yesterday with getting tools/rnet_self_program.py to work on our test chair. We'll have to try that later.

I think we'll want to break this into multiple PRs so we can review and test each component - we'll get back to you on that. But this is really exciting.

Also, big big congratulations on your first GitHub PR!
image

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