How dspl1236/vagflasher works
VAGFlasher is a local command-line tool for reading and flashing VAG ECU/TCU memory. The main workflow takes a .bin file, selects an ECU platform and vehicle interface, then runs a UDS programming sequence; reads return ECU data to an output file. ME17.5 is the implemented platform, while MED9 and ME7 support is described as planned. The graph follows the CLI, platform, protocol and transport code; J2534 transaction support is currently incomplete, and the README’s broader platform claims are not wired up in the sampled implementation.
Main entry points: cli.py CLI · me17.py ME17 platform · funkbridge.py FunkBridge · j2534.py J2534 PassThru
Components 17
CLI commands
- CLI
vagflasher/cli.py - J2534 discovery
vagflasher/cli.py
ECU workflow
- ME17 platform
vagflasher/platforms/me17.py - Session and access
vagflasher/platforms/me17.py - Erase and transfer
vagflasher/platforms/me17.py - ECU read
vagflasher/platforms/me17.py
Diagnostic protocols
- UDS services
vagflasher/protocols/uds.py - SA2 keys
vagflasher/protocols/sa2.py
Vehicle interfaces
- Interface contract
vagflasher/interfaces/base.py - FunkBridge
vagflasher/interfaces/funkbridge.py - J2534 PassThru
vagflasher/interfaces/j2534.py
Other components
- Engineer
- Firmware .bin
- Dump .bin
- VAG ECU
- FunkBridge dongle
- J2534 device
Connections 25
- Engineer → CLI: runs commands
- Firmware .bin → CLI: supplies firmware
- CLI → ME17 platform: selects platform
- CLI → FunkBridge: selects interface
- CLI → J2534 PassThru: selects interface
- CLI → J2534 discovery: lists devices
- J2534 discovery → J2534 PassThru: queries registry
- CLI → Erase and transfer: provides flash blocks
- ME17 platform → Session and access: starts access
- ME17 platform → Erase and transfer: orchestrates flash
- ME17 platform → ECU read: orchestrates read
- Session and access → UDS services: builds and parses requests
- Session and access → SA2 keys: resolves seed
- Erase and transfer → UDS services: builds and parses requests
- ECU read → UDS services: builds and parses requests
- ME17 platform → Interface contract: transacts requests
- Interface contract → FunkBridge: implemented by
- Interface contract → J2534 PassThru: implemented by
- FunkBridge → FunkBridge dongle: sends UDS over WebSocket
- FunkBridge dongle → FunkBridge: returns UDS response
- J2534 PassThru → J2534 device: opens DLL connection
- FunkBridge → VAG ECU: transports diagnostics
- J2534 PassThru → VAG ECU: planned transactions
- ECU read → CLI: returns dump bytes
- CLI → Dump .bin: writes dump