Drop fabricated SET UP IDLE MODE TEXT qualifier decode; bump to 1.15.1

Spec verification against UICC_SPECS.md / TS 102 223 V18.3.0 §8.6
showed the Command Qualifier for SET UP IDLE MODE TEXT is RFU
("this byte is RFU") — no icon self-explanatory bit exists in any
generation (GSM 11.14 predates the command; TS 31.111 does not
override it). The v1.11.0 _idle_text_qualifier decoded bit 1 as
"icon self-explanatory" from an unverified source.

Remove the decoder; the command now uses generic RFU handling
(hidden at '00', raw hex otherwise). Tests updated accordingly.
Version 1.15.1, SW cache v21.
This commit is contained in:
catarrh committed 2026-08-23 15:16:40 +03:00
1 parent f61ca9685c
commit bf83074de8
7 files changed
+12 -21

No files matched your search

+4 -2
View File
@@ -1556,14 +1556,16 @@ class TestIdleModeText(unittest.TestCase):
bytes.fromhex('80120000%02x' % len(body)) + body + b'\x90\x00')
def test_8bit_text_icon_qualifier(self):
# "Hello" 8-bit + icon record 5 + qualifier bit 1 (self-explanatory)
# "Hello" 8-bit + icon record 5 + qualifier 0x01 (RFU byte — no
# icon bit exists per TS 102 223 V18.3.0 §8.6)
r = self._fetch(
'810301280182028182' # cmd details (qual 0x01) + device ids
'8d060448656c6c6f' # Text String: DCS 0x04 (8-bit), "Hello"
'1e0105') # Icon Identifier: record 5
self.assertEqual(r['cat_command'], 'SET UP IDLE MODE TEXT')
self.assertEqual(r['cmd']['text'], 'Hello')
self.assertEqual(r['cmd']['qualifier'], 'icon self-explanatory')
# Qualifier byte is RFU per V18.3.0 §8.6 — non-zero shows raw
self.assertEqual(r['cmd']['qualifier'], '0x01')
self.assertEqual(r['cmd']['icon_id'], 5)
def test_ucs2_text(self):
+1 -1
View File
@@ -197,7 +197,7 @@ class TestImportEndpoint(unittest.TestCase):
class TestVersion(unittest.TestCase):
def test_package_version(self):
from simtrace2_pysniff import __version__
self.assertEqual(__version__, '1.15.0')
self.assertEqual(__version__, '1.15.1')
def test_status_includes_version(self):
import os