Keep the colleague's microbu-esp32c5 tree in this repository

obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but
that tree was gitignored, so a clone of this repository could not build the
firmware it ships. It is now committed here as ordinary files in its own
folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP
bridge's signature verification (--trust) used on the bench. Nothing is
fetched from or pushed to the colleague's repository; this repository and
its remotes carry everything. The folder's own .gitignore keeps build output,
downloaded components and private key material out, as it did there; the
committed file set is identical to that repository's tracked files.

The ESP32-C5 is still flashed from obu-firmware/, which only takes
vanetza-idf from microbu-esp32c5/, so the two stay separate folders.
FLASHING.md says how to take a newer version of the colleague's tree (copy
it over the folder, rebuild, test, commit).
This commit is contained in:
Ashin Walpola
2026-09-23 17:46:40 +02:00
parent 2f60623e18
commit 0e9525162d
9881 changed files with 1582523 additions and 17 deletions
+45
View File
@@ -0,0 +1,45 @@
# Wireshark VRU Awareness Service (VAM) Dissector Extension
## Purpose
Wireshark natively dissects IEEE 1609.2 / ETSI TS 103 097 secured packets, but stops dissecting at `Ieee1609Dot2Data.unsecuredData` unless the ITS Application ID (PSID) is registered in Wireshark's internal `ieee1609dot2.psid` dissector table.
- Standard PSIDs like CAM (`36`) and DENM (`37`) are registered by default in Wireshark 4.x.
- **PSID 638** (VRU Awareness Service, ETSI TS 102 965) is not registered in Wireshark 4.x.
This Lua plugin registers **PSID 638** to point to the GeoNetworking common header (`gnw.comm`), allowing Wireshark to continue dissecting the entire stack:
```
IEEE 802.11 (5.9 GHz ITS-G5) -> LLC/SNAP 0x8947 -> GeoNetworking -> BTP-B (port 2018) -> VAM (TS 103 300-3)
```
## Installation
### Windows
Copy `psid-vru.lua` into your personal Wireshark plugins directory:
```powershell
Copy-Item tools/wireshark/psid-vru.lua "$env:APPDATA\Wireshark\plugins\"
```
### Linux
Copy `psid-vru.lua` into:
```bash
mkdir -p ~/.local/lib/wireshark/plugins
cp tools/wireshark/psid-vru.lua ~/.local/lib/wireshark/plugins/
```
### macOS
Copy `psid-vru.lua` into:
```bash
mkdir -p ~/.config/wireshark/plugins
cp tools/wireshark/psid-vru.lua ~/.config/wireshark/plugins/
```
## Verification
1. Open Wireshark.
2. Navigate to **Help -> About Wireshark -> Plugins**.
3. Verify that `psid-vru.lua` is listed as active.
## Command-Line Usage (tshark)
You can directly pass the Lua script to `tshark` without installing:
```bash
tshark -X lua_script:tools/wireshark/psid-vru.lua -r capture.pcap
```
@@ -0,0 +1,8 @@
-- Wireshark stops dissecting a signed GeoNetworking packet at Ieee1609Dot2Data.unsecuredData
-- unless the headerInfo PSID is registered in its "ieee1609dot2.psid" table; 638 (VRU awareness
-- service, TS 102 965) is not in Wireshark 4.6 (36, 37, 137-141, 637, 639 are). Register it so the
-- payload continues as GeoNetworking common header -> BTP-B port 2018 -> ITS (VAM), the way CAM (36)
-- and DENM (37) already do. Copy to %APPDATA%\Wireshark\plugins\ or run tshark -X lua_script:this.
local psid = DissectorTable.get("ieee1609dot2.psid")
local gnw = Dissector.get("gnw.comm") -- the unsecured data starts at the GN common header
psid:add(638, gnw)