feat: add MediaTek NR trace log import (MNR)#605
feat: add MediaTek NR trace log import (MNR)#605h3nnes wants to merge 4 commits intohandymenny:mainfrom
Conversation
Parse MediaTek 5G modem trace messages to extract NR-CA, EN-DC, and NR-DC combos with MIMO, modulation, bandwidth, and SCS details. Supports both new and old trace formats, with per-component SCS variant selection (SCS15 for FDD, SCS30 for TDD bands).
|
Also added new scat version tag to support S26 LTE & NR packet versions |
|
@h3nnes, could you please split the introduction of this new parser and the scat update into separate pull requests? |
|
@handymenny sure, sorry! |
src/main/java/it/smartphonecombo/uecapabilityparser/importer/ImportMtkNr.kt
Show resolved
Hide resolved
| } | ||
|
|
||
| /** Data class holding a parsed NR DL/UL per-CC feature. */ | ||
| private data class NrFspcc( |
| ) | ||
|
|
||
| /** Data class holding a parsed EUTRA DL/UL per-CC feature. */ | ||
| private data class EutraFspcc(val mimo: Int) |
There was a problem hiding this comment.
You can use FeaturePerCCLte instead of defining a new class
| private data class MtkCombo(val components: List<MtkComponent>, val fscNum: Int) | ||
|
|
||
| /** Data class holding a parsed component from combo DL/UL strings. */ | ||
| private data class MtkComponent( |
| private data class FscEntry(val variants: List<List<Pair<String, String>>>) | ||
|
|
||
| /** Data class holding a parsed combo. */ | ||
| private data class MtkCombo(val components: List<MtkComponent>, val fscNum: Int) |
| } | ||
|
|
||
| /** NR FDD band numbers — use SCS 15 kHz features for these. */ | ||
| private val nrFddBands = |
There was a problem hiding this comment.
Use DuplexBandTable, you can update or extend it if needed
| * | ||
| * Falls back to the first variant if only one variant exists. | ||
| */ | ||
| private fun selectFscPairs( |
There was a problem hiding this comment.
I’m not sure why we’re discarding some FSCs; they’re all correctly listed in the final ue capability information. Even if some are "unrealistic", we shouldn't correct the baseband errors unless what they're reporting is completely invalid
There was a problem hiding this comment.
This was because the parser displayed 30kHz SCS in the combo table for many FDD bands. In the bands table, displaying multiple possible scs is fine for me. I am not sure, how to determine the correct scs for combos.
There was a problem hiding this comment.
They are all valid. Essentially, for each input combo, you get multiple ComboNr/ComboEndc instances. Also keep in mind that not all components are present in every "final" combo
| QLTE("0xB0CD hexdump"), | ||
| QNR("0xB826 hexdump"), | ||
| M("MEDIATEK CA_COMB_INFO"), | ||
| MNR("MEDIATEK NR Trace Log"), |
There was a problem hiding this comment.
The new LogType must be added in this list, otherwise server tests will fail:
|
@handymenny I tried to go over all your requested changes. Could you check again? |
Parse MediaTek 5G modem trace messages to extract NR-CA, EN-DC, and NR-DC combos with MIMO, modulation, bandwidth, and SCS details.
Examples: