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
+8
-9
@@ -84,7 +84,8 @@ GSMTAP pcap-файлы (включая PCAP, который этот декод
|
||||
|----------|------|---------|
|
||||
| 0x00 | APDU | сырые байты пакета T=0/T=1 |
|
||||
| 0x01 | ATR | сырые байты ATR |
|
||||
| 0x02 | PPS | запрос + ответ PPS, склеенные (отклонение от спеки, см. ниже) |
|
||||
| 0x02 | Запрос PPS | сырые байты запроса PPS |
|
||||
| 0x03 | Ответ PPS | сырые байты ответа PPS |
|
||||
| 0x10 | Событие RST (кастомное) | `[direction, level, 0x00]` |
|
||||
| 0x11 | Событие VCC (кастомное) | `[direction, level, 0x00]` |
|
||||
|
||||
@@ -94,18 +95,16 @@ GSMTAP pcap-файлы (включая PCAP, который этот декод
|
||||
- VCC: `direction` 1 = питание подано (низкий→высокий), 0 = снято (высокий→низкий);
|
||||
`level` = уровень линии после перехода.
|
||||
|
||||
0x00/0x01 совпадают с gsmtap.h из libosmocore: стандартные значения и
|
||||
полезные нагрузки. 0x02 переиспользует значение `GSMTAP_SIM_PPS_REQ` из
|
||||
спеки, но несёт запрос и ответ, склеенные в одном пакете; спека разделяет
|
||||
PPS на `PPS_REQ` (0x02) / `PPS_RSP` (0x03), поэтому Wireshark разбирает
|
||||
такие пакеты как «PPS request», а `PPS_RSP` (0x03) не отправляется
|
||||
никогда. 0x10/0x11 — кастомные расширения, не определённые в gsmtap.h из
|
||||
0x00–0x03 совпадают с gsmtap.h из libosmocore: стандартные значения и
|
||||
полезные нагрузки (запрос и ответ PPS отправляются отдельными пакетами).
|
||||
0x10/0x11 — кастомные расширения, не определённые в gsmtap.h из
|
||||
libosmocore.
|
||||
|
||||
Расширения заголовка: флаги вроде `GSMTAP_FLAG_BAD_FCS` пишутся в байт
|
||||
`res` заголовка, который официальный gsmtap.h помечает как зарезервированный
|
||||
(RFU) — такое использование флагов следует конвенции simtrace2-sniff и не
|
||||
является частью спецификации libosmocore.
|
||||
(RFU). Это собственное расширение данного декодера (upstream simtrace2-sniff
|
||||
никогда не заполняет `res`); семантика флагов повторяет флаги данных (data
|
||||
flags) USB-протокола simtrace2 и не является частью спецификации libosmocore.
|
||||
|
||||
## Использование
|
||||
|
||||
|
||||
Reference in new issue
Block a user