-
Notifications
You must be signed in to change notification settings - Fork 0
Glossary
disturbedkh edited this page May 3, 2026
·
2 revisions
Scanner hobby acronyms relevant to working with Scanner Manager.
- BearTracker 885 (BT885) - Uniden's all-in-one base + mobile scanner with DOT / EMS / Fire / Police preset buttons. The primary target of this project.
- BCDx36HP - Uniden's BCD436HP / BCD536HP hand-held / base family. Shares the Sentinel software and the HPD format with the BT885.
-
Firmware tables -
ZipTable*.datandCityTable*.daton the SD card. Used by the scanner to decide what to scan at a given location.
-
HPD - Uniden's binary configuration file format (
.hpd). A single HPD file holds one or more systems, the groups inside them, and every conventional frequency and trunked talkgroup inside those groups. The BearTracker splits these by state. -
hpdb.cfg- the master HPD file the scanner loads from the card root. Points at the per-states_*.hpdfiles. -
s_*.hpd- per-state HPD files the scanner loads on demand when you pick a location. -
.meta.json- Scanner Manager's change-history sidecar, stored next to each HPD file. It's how Undo knows what to reverse. Never hand-edit it. -
.session.bak- automatic safety copy of the HPD file written on every save. Used by Tools -> Restore session snapshot if a save goes wrong.
- RR - RadioReference.com.
- SID (or System ID) - RR's identifier for a trunked system.
- TGID - Trunked talkgroup ID.
- Category - An RR grouping of related frequencies.
- MetaStore - the event-sourced change log. See Architecture.
- Workspace (a.k.a. Virtual SD card) - local folder that mirrors the card for offline editing. See Workspaces & Sync.
- Pipeline / push-update-pull - Uniden tool orchestration flow that snapshots, runs the Uniden tool, and replays user events on top. See Uniden Tools.
-
COVERAGE- center point is inside the system's coverage circle. -
NEARBY- edge of coverage is within the nearby threshold. -
LOCAL- system is pinned to the active ZIP's primary county. -
STATEWIDE- state-level system, relevant anywhere in-state. -
WIDE- national / multi-state.
See ZIP & GPS Simulation for full details.
The terms below are specific to the Reverse Engineering section. See that page for the consolidated narrative.
- MAIN MCU - the SDS100's primary microcontroller (STM32 family). Owns the LCD, keypad, scan engine, SD card, and USB-host endpoint. Firmware is encrypted so we can't read it statically.
- SUB MCU - the SDS100's secondary microcontroller (NXP LPC43xx, ARM Cortex-M3/M4). Owns the RF tuner and DSP. Firmware is plaintext and fully decompiled.
- R840 - Rafael Micro silicon TV-tuner IC the SDS100 uses as the wide-band IF tuner. Driven over I2C from SUB.
- USART2 - LPC43xx UART block used as the inter-MCU bus between SUB and MAIN. 115200/8N1, no flow control, internal routing only.
- Mass-Storage mode (or UMS mode) - one of the two USB modes of the SDS100. The SD card appears as a removable FAT32 drive. Sentinel's only mode.
-
Serial mode - the other USB mode. Two CDC virtual COM ports
appear (
PID 0x0019SUB andPID 0x001AMAIN). The SD volume is hidden in this mode. - CDC - Communications Device Class. The USB class that presents a serial-port-like interface to the host.
- MSC / UMS - Mass Storage Class / USB Mass Storage. The class that presents a SCSI block device to the host.
- BOT - Bulk-Only Transport. The USB mass-storage transport layer that wraps SCSI commands in CBW/CSW packets over bulk endpoints.
-
CBW / CSW - Command Block Wrapper / Command Status Wrapper.
The CBW (31 bytes, magic
USBC) carries the SCSI command; CSW (13 bytes, magicUSBS) carries the response status.
-
BCDx36HP - Uniden's firmware family name. Folder name on the
SD card. Shared by BT885, SDS100, SDS200, SDS150, BCD436HP,
BCD536HP. NOT a model identifier - real model is in
scanner.inf. -
HPD /
s_*.hpd- per-state Hpdb-Per-... payload file. Tab-separated record-oriented format. See RE-SD-Card. -
f_*.hpd- per-favorite payload (SDS100 only). -
hpdb.cfg- master state/county/agency index. -
scanner.inf- identity file. Field 1 of theScannerline is the canonical model fingerprint. -
profile.cfg- giant settings file (SDS100 only). 184 lines covering waterfall, GPS, weather, display, etc. -
app_data.cfg- last-active scan state (SDS100 only). Ephemeral. -
discvery.cfg(sic) - discovery config stub (SDS100 only). The typo is in the firmware - preserve verbatim. -
.bin- MAIN MCU firmware image (encrypted, ~2.16 MB). Dropped intoBCDx36HP/firmware/to update. -
.firm- SUB MCU firmware image (plaintext, ~88-90 KB). Same drop-and-reboot mechanism.
- Sentinel - Uniden's official SDS100 desktop tool. Just a Mass-Storage filesystem editor with a UI. See RE-Sentinel.
- Ghidra - the NSA's open-source software reverse-engineering framework. We use it for headless analysis of the SUB firmware.
- USBPcap - kernel-level USB packet capture driver for Windows. Required to capture Sentinel's USB traffic.
- tshark - Wireshark's CLI. Used by our SCSI/UMS/FAT32 decoder to parse pcaps.
- LPC43xx SVD - System View Description XML for the LPC43xx family. Loaded into Ghidra to overlay peripheral register names on memory accesses.
- Whitelist + forbidden-list probe - the safety contract our probes follow. Mutating commands are hard-coded forbidden; read-only commands must be on the whitelist before being sent.
-
Anchor-and-compare - re-send a known-good command (e.g.
MDL) between probes to detect buffer leakage on the SUB port. - Buffer leakage - SUB-port behaviour where an unrecognised command returns the previous successful response. Defeated by anchor-and-compare.
-
Prefix fallback - SUB-port behaviour where any input starting
with
Mreturns identity, anything starting withVreturns version. Looks like distinct commands but isn't. -
Per-character
cmpchain - the SUB firmware's command parser does not use a string table. It compares input bytes one at a time against immediate constants (cmp #imm8). The 13 debug commands were extracted from this chain by hand. - Live falsification - sending a Ghidra-predicted mnemonic to the live scanner to confirm or refute the prediction.
- GSI XML - the MAIN-port command that returns the entire scanner state as XML. Single best command for a live mirror.
- GLT,SYS - undocumented GLT subform that works on SDS100 (Phase 3 finding from BCDx36HP V1.05).
-
The 13 SUB debug commands -
o q w d r m z h l s t u v. DSP / RF debug taps in the SUB firmware. See RE-Serial-Protocol. -
U5C42- the only undocumented uppercase SUB command found. Returns a 9-byte response with 5-byte ASCII prefix and 2 binary bytes (probably a register dump). - Phase 0a/0c - the Sentinel USB capture phases. Confirmed Sentinel uses Mass Storage / SCSI / FAT32 only.
-
Phase 6 - SUB firmware static RE. Extract + Ghidra import
- dispatch table enumeration + live-falsify. DONE for the SUB-side surface.
Scanner Manager
Getting started
Features
- ZIP & GPS Simulation
- Coverage Tools
- RadioReference Import
- Workspaces & Sync
- Uniden Tools
- Channel List Management
- CityTable & Custom Locations
- Service Types
- Alerts
Reference
RE / Development