NFC & Smartcard Config
Controls NFC tag content and protocol, routes APDU commands, and manages the ISO7816 smartcard interface.
Key path: devcfg.nfc, devcfg.apdumgr, devcfg.mifare, devcfg.iso7816
{ "devcfg": { "nfc": { "uid": "01020304050607", "ndef": "http://www.infrafon.com", "emul": false, "mode": 0 }, "apdumgr": { "setReqRoute": "nfc:iso7816", "reqRoutes": {} }, "mifare": { "uid": "", "ndef": "" }, "iso7816": { "allowBaudChange": true, "testCard": false, "getATR": false, "cmd": "" } }}Overrides the default NFC UID. If not set, the UID is 0x5F followed by the device ID.
Configuration variables
- Type: string (hex)
- Default:
0x5F<6 bytes of device id>
{ "devcfg": { "nfc": { "uid": "01020304050607" } } }NDEF content when the NFC tag is read. Can be a URL (http*), plain text, or a hex‑encoded NDEF block. Used only when mode = 0 (T4T NDEF).
Configuration variables
- Type: string
- Default:
"http://www.infrafon.com"
{ "devcfg": { "nfc": { "ndef": "http://example.com" } } }Enables or disables NFC tag emulation.
Configuration variables
- Type: boolean
- Default:
false
{ "devcfg": { "nfc": { "emul": true } } }Selects the NFC operating mode.
Configuration variables
- Type: integer (0‑2)
- Default:
0
| Value | Mode |
|---|---|
0 | T4T NDEF (NFC Forum Type 4 Tag) |
1 | T2T (Type 2 Tag) — not supported |
2 | APDU Manager processing (raw APDUs) |
{ "devcfg": { "nfc": { "mode": 2 } } }When
mode=2, thendefanduidfields are ignored; APDU routing is handled byapdumgr.
APDU Manager
Section titled “APDU Manager”setReqRoute
Section titled “setReqRoute”Sets a static APDU request route. Use "nfc:iso7816" to bridge
NFC to the smartcard driver, or "usb:iso7816" to route via USB
CCID instead. Set to "nfc:off" or "usb:off" to disable that
interface entirely.
Configuration variables
- Type: string
- Default:
""(no explicit route) - Allowed values:
Value Effect "nfc:iso7816"NFC APDUs are forwarded to the ISO7816 smartcard driver "nfc:mifare"NFC APDUs are handled by Mifare emulation "usb:iso7816"USB CCID APDUs are forwarded to the ISO7816 driver "nfc"Disable NFC APDU processing "usb"Disable USB CCID APDU processing
{ "devcfg": { "apdumgr": { "setReqRoute": "usb:iso7816" } } }reqRoutes
Section titled “reqRoutes”Read‑only view of all active request routes. Not intended to be set;
send as null to retrieve current routes.
Configuration variables
- Type: object
- Default:
{}(empty)
{ "devcfg": { "apdumgr": { "reqRoutes": null } } }Mifare
Section titled “Mifare”The UID returned by the Mifare emulation. Not the same as the NFC UID set above.
Configuration variables
- Type: string
- Default:
""
{ "devcfg": { "mifare": { "uid": "112233445566" } } }Hex‑encoded NDEF file content for Mifare emulation.
Configuration variables
- Type: string (hex)
- Default:
""
{ "devcfg": { "mifare": { "ndef": "00508902000000270C..." } } }ISO7816
Section titled “ISO7816”allowBaudChange
Section titled “allowBaudChange”If true, the driver allows the inserted smartcard to negotiate a
different baud rate.
Configuration variables
- Type: boolean
- Default:
true
{ "devcfg": { "iso7816": { "allowBaudChange": false } } }testCard
Section titled “testCard”Runs a self‑test on the currently inserted card. The result is reported
in devdata.iso7816.testResult.
Configuration variables
- Type: boolean
- Default:
false - One-shot: yes
{ "devcfg": { "iso7816": { "testCard": true } } }getATR
Section titled “getATR”Activates the card to retrieve its Answer‑To‑Reset (ATR) data. The ATR
appears in devdata.iso7816.atr.
Configuration variables
- Type: boolean
- Default:
false - One-shot: yes
{ "devcfg": { "iso7816": { "getATR": true } } }Sends a single raw APDU command (hex string) to the card. The response
appears in devdata.iso7816.resp.
Configuration variables
- Type: string (hex)
- Default:
"" - One-shot: yes
{ "devcfg": { "iso7816": { "cmd": "00A4040008A000000003000000" } } }Related
Section titled “Related”- NFC Uplink Data —
lastRead,cardPresent, ATR, responses - BLE Config — BLE service related to message passing
- Reference: State Codes — network state codes used in APDU routing