v1.8.0: PPS as standard request/response packets; fix res-byte flag docs
- Split the PPS exchange into the two standard GSMTAP-SIM subtypes: 0x02 (PPS_REQ, raw request bytes, span ss..es_req) and 0x03 (PPS_RSP, raw response bytes, span es_req..end), replacing the single 0x02 packet with concatenated request+response that deviated from libosmocore's gsmtap.h. Wireshark now dissects both halves; simtrace2-pysniff needs no change (its importer already maps 0x03 to 'pps' and _decode_pps() parses the 0xFF-leading response frame). PPS annotation/log unchanged. - gsmtap_stream.py: GSMTAP_SIM_PPS_REQ/RSP constants; header field labels aligned with libosmocore's struct (signal_dbm/snr_db). - Docs: GSMTAP event tables (EN/RU) updated, PPS deviation note removed; corrected the res-byte flag attribution -- upstream simtrace2 never sets res, so the GSMTAP_FLAG_BAD_FCS carriage is this decoder's own extension (semantics mirror simtrace2's USB data flags). - Tests: assert the PPS subtype values; baseline regenerated (only the version line and test listing differed -- no decode-metric changes). 68/68 unit tests.
This commit is contained in:
1 parent
c222eecb3c
commit
e5a2b7c83b
7 files changed
+103
-54
No files matched your search
@@ -81,7 +81,8 @@ GSMTAP header: version 2, type SIM (0x04), UDP port 4729.
|
||||
|----------|------|---------|
|
||||
| 0x00 | APDU | raw T=0/T=1 packet bytes |
|
||||
| 0x01 | ATR | raw ATR bytes |
|
||||
| 0x02 | PPS | PPS request + response bytes concatenated (deviation, see below) |
|
||||
| 0x02 | PPS request | raw PPS request bytes |
|
||||
| 0x03 | PPS response | raw PPS response bytes |
|
||||
| 0x10 | RST event (custom) | `[direction, level, 0x00]` |
|
||||
| 0x11 | VCC event (custom) | `[direction, level, 0x00]` |
|
||||
|
||||
@@ -91,17 +92,15 @@ Event payload byte semantics:
|
||||
- VCC: `direction` 1 = power applied (low→high), 0 = removed (high→low);
|
||||
`level` = line level after the transition.
|
||||
|
||||
0x00/0x01 match libosmocore's gsmtap.h: standard values and payloads.
|
||||
0x02 reuses the spec's `GSMTAP_SIM_PPS_REQ` value but carries the request
|
||||
and response bytes concatenated in one packet; the spec splits PPS into
|
||||
`PPS_REQ` (0x02) / `PPS_RSP` (0x03), so Wireshark dissects these are
|
||||
"PPS request" and `PPS_RSP` (0x03) is never sent. 0x10/0x11 are custom
|
||||
extensions not defined in libosmocore's gsmtap.h.
|
||||
0x00-0x03 match libosmocore's gsmtap.h: standard values and payloads
|
||||
(PPS request and response are emitted as separate packets). 0x10/0x11
|
||||
are custom extensions not defined in libosmocore's gsmtap.h.
|
||||
|
||||
Header extensions: flags such as `GSMTAP_FLAG_BAD_FCS` are written into
|
||||
the header `res` byte, which official gsmtap.h marks reserved (RFU) —
|
||||
flag usage there follows the simtrace2-sniff convention and is not part
|
||||
of the libosmocore spec.
|
||||
the header `res` byte, which official gsmtap.h marks reserved (RFU).
|
||||
This carriage is this decoder's own extension (upstream simtrace2-sniff
|
||||
never sets `res`); the flag semantics mirror simtrace2's per-message USB
|
||||
data flags and are not part of the libosmocore spec.
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
Reference in new issue
Block a user