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