STATUS: use P2=0C (phone-like, no FCP echo); v1.9.12
_send_status sent F2 00 00 -> the card echoes the FCP of the currently selected DF on every poll/one-shot STATUS. Phones use P2=0C (no response expected) to avoid that overhead. Keep P1=00 and the SIM/UICC P3 distinction (SIM=0x23, UICC=0x00): CLA F2 00 0C P3 Affects one-time /api/status-poll and the automatic polling timer. Version 1.9.11 -> 1.9.12 everywhere; SW cache otaman-v22 -> otaman-v23
This commit is contained in:
+1
-1
@@ -54,7 +54,7 @@ Returns server version for compatibility checking.
|
||||
|
||||
**Example response:**
|
||||
```json
|
||||
{"version": "1.9.11"}
|
||||
{"version": "1.9.12"}
|
||||
```
|
||||
|
||||
### `GET /api/status`
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
<div class="max-w-7xl mx-auto px-6 py-2">
|
||||
|
||||
<div class="flex items-center justify-between mb-3">
|
||||
<h1 class="text-2xl font-bold text-heading">OTAMan <span id="slogan" class="text-sm font-normal text-gray-500 dark:text-slate-400 ml-2" data-l10n="SIM OTA with a Human Face">SIM OTA with a Human Face</span> <span class="text-xs text-gray-400 dark:text-slate-500 ml-1">v1.9.11</span></h1>
|
||||
<h1 class="text-2xl font-bold text-heading">OTAMan <span id="slogan" class="text-sm font-normal text-gray-500 dark:text-slate-400 ml-2" data-l10n="SIM OTA with a Human Face">SIM OTA with a Human Face</span> <span class="text-xs text-gray-400 dark:text-slate-500 ml-1">v1.9.12</span></h1>
|
||||
<div class="flex items-center gap-4">
|
||||
<button id="install-btn" class="px-2 py-1 text-xs rounded border border-gray-300 dark:border-slate-600 hover:bg-gray-200 dark:hover:bg-slate-700" style="display:none">INSTALL PWA [for offline use]</button>
|
||||
<a href="https://github.com/anttro/otaman" target="_blank" class="text-xs text-gray-400 hover:text-gray-600 dark:text-slate-500 dark:hover:text-slate-300">github</a>
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
const CACHE = 'otaman-v22';
|
||||
const CACHE = 'otaman-v23';
|
||||
const URLS = [
|
||||
'index.html',
|
||||
'help.html',
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "pysim-otaman-server"
|
||||
version = "1.9.11"
|
||||
version = "1.9.12"
|
||||
description = "HTTP REST server wrapping pysim for the OTAMan PWA"
|
||||
requires-python = ">=3.8"
|
||||
# pysim is a git-only dependency installed explicitly by setup.bat/setup.sh.
|
||||
|
||||
@@ -18,7 +18,7 @@ from osmocom.construct import GsmOrUcs2Adapter
|
||||
from osmocom.tlv import BER_TLV_IE
|
||||
|
||||
|
||||
VERSION = '1.9.11'
|
||||
VERSION = '1.9.12'
|
||||
|
||||
|
||||
# Static file serving (the PWA lives in <repo>/frontend, served by this server
|
||||
@@ -885,9 +885,11 @@ def _reset_proactive_log():
|
||||
|
||||
|
||||
def _send_status(scc):
|
||||
"""STATUS (F2) with correct P3 per card type: SIM=0x23, UICC=0x00."""
|
||||
"""STATUS (F2) with correct P3 per card type: SIM=0x23, UICC=0x00.
|
||||
P2=0C mirrors phone behavior - no FCP of the selected DF returned
|
||||
(plain F2 00 00 would echo the FCP, which is unnecessary overhead)."""
|
||||
p3 = '23' if scc.cat_cla == 'a0' else '00'
|
||||
return scc._tp.send_apdu('%sf20000%s' % (scc.cat_cla, p3))
|
||||
return scc._tp.send_apdu('%sf2000c%s' % (scc.cat_cla, p3))
|
||||
|
||||
|
||||
def _send_event_download(scc, event_type, event_data=None):
|
||||
|
||||
Reference in New Issue
Block a user