Skip to content

feat(epon): F-MDCONU3A — add CLI permission bypass, full command reference, firmware flash protocol#443

Open
abeljouve wants to merge 2 commits intohack-gpon:mainfrom
abeljouve:feat/epon-f-mdconu3a-enrichment
Open

feat(epon): F-MDCONU3A — add CLI permission bypass, full command reference, firmware flash protocol#443
abeljouve wants to merge 2 commits intohack-gpon:mainfrom
abeljouve:feat/epon-f-mdconu3a-enrichment

Conversation

@abeljouve
Copy link

Adds extensive reverse-engineering findings for the Free/Iliad F-MDCONU3A
(BCM55030 10G-EPON ONU):

  • CLI permission system: the pl built-in command bypasses all
    permission checks. pl omega gives full manufacturing access (level 2)
    from the default UART shell, no password required.
  • Complete CLI command tree at all 3 permission levels with inline
    descriptions (~60 level 0 + ~20 level 1 + ~25 level 2 commands).
  • Full CLI command reference: syntax, arguments, and descriptions for
    every command organized by category (system, EPON, MPCP, memory, stats,
    firmware, FDS, debug, multicast, SerDes, MACsec).
  • PON speed mode encoding table (1G/1G, 2G/1G, 10G/1G, 10G/10G).
  • Firmware flash protocol (load/rx): raw binary transfer over UART
    at 57600 baud, TKF container format with trailing CRC32.
  • Hardware architecture details: Harvard ARC (ICCM/DCCM), firmware
    structure, FDS personality records.
  • Expanded flash memory map with all 5 regions.
  • Corrected mcast/ subtree: domains/groups/sources/reporters
    do not exist in the v3.2.9 binary (only igmpinfo and igmpsources).

All findings are from static analysis of the v3.2.9 firmware binary in
Ghidra (2697 functions fully named). No proprietary documentation was used.

…, firmware flash protocol

Adds extensive reverse-engineering findings for the Free/Iliad F-MDCONU3A
(BCM55030 10G-EPON ONU) from static analysis of the v3.2.9 firmware binary:

- CLI permission system: pl built-in command bypasses all permission checks,
  pl omega gives full manufacturing access (level 2) from default UART shell
- Complete CLI command tree at all 3 permission levels
  (level 0: ~60 cmds, level 1: +20, level 2: +25)
- Firmware flash protocol (load/rx): raw binary transfer over UART at
  57600 baud, TKF container format with trailing CRC32
- Hardware architecture details: Harvard ARC (ICCM/DCCM), firmware structure,
  FDS personality records
- Expanded flash memory map with all 5 regions including FDS/Config
- Filled in missing hardware specs (bootloader, system, load addr, RAM, chipset rev)

All findings from Ghidra static analysis (2697 functions named).
No proprietary documentation was used.
…rence, firmware flash protocol

Adds extensive reverse-engineering findings for the Free/Iliad F-MDCONU3A
(BCM55030 10G-EPON ONU) from static analysis of the v3.2.9 firmware binary:

- CLI permission system: pl built-in command bypasses all permission checks,
  pl omega gives full manufacturing access (level 2) from default UART shell
- Complete CLI command tree at all 3 permission levels with inline descriptions
  (level 0: ~60 cmds, level 1: +20, level 2: +25)
- Full CLI command reference: syntax, arguments, and descriptions for every
  command, organized by category (system, EPON/MAC, MPCP, memory, stats,
  firmware/flash, FDS, alarms/debug, multicast, SerDes, MACsec)
- PON speed mode encoding table (1G/1G, 2G/1G, 10G/1G, 10G/10G)
- Firmware flash protocol (load/rx): raw binary transfer over UART at
  57600 baud, TKF container format with trailing CRC32
- Hardware architecture details: Harvard ARC (ICCM/DCCM), firmware structure,
  FDS personality records
- Expanded flash memory map with all 5 regions including FDS/Config
- Filled in missing hardware specs (bootloader, system, load addr, RAM, chipset)
- Corrected mcast/ command tree (domains/groups/sources/reporters don't exist
  in the v3.2.9 binary — only igmpinfo and igmpsources are confirmed)
- Added serdesTestInit and serdesRx to level 0 serdes/ tree

All findings from Ghidra static analysis (2697 functions named).
No proprietary documentation was used.
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.

1 participant