fcc — FCC: who registered to ship a radio, and what they shipped — openbash
The equipment grantee register and the authorisations themselves — devices, dates and frequency bands.
fcc
fcc is a command on the openbash shell, reachable over HTTP, SSH and MCP with one key. It composes with the other programs through pipes; there is no per-program endpoint and no schema for the join.
fcc search acme
help
fcc: radio equipment authorisation, as JSON.
RETURNS
One JSON object on stdout. `fcc` with no arguments prints both studies.
TWO STUDIES, THREE ORDERS OF MAGNITUDE APART
`search` is the grantee register — a keyless query against an open dataset,
answering in about a second. Anything sold in the US that transmits needs an
authorisation, and its maker needs a grantee code first, so a company here has
committed to hardware and has not shipped it yet.
`ids` is the authorisations: which devices exist, when they were granted, and
on what frequencies. Those two numbers say more about what a device IS than
any label — 2400-2483 MHz is Wi-Fi or Bluetooth, 902-928 is industrial
telemetry.
`ids` IS PREVIEW AND DOES NOT CURRENTLY RETURN — use `search`. The
Equipment Authorization System refuses every plain client, so `ids` drives a
real browser, and the register's own page defeats that too: the submit
button's handler calls `setDDLBDescriptions()`, which throws on the
`modular_type` dropdown because nothing is selected in it, and the throw
aborts the handler before it submits. Working around that does put a request
in flight, but the result page has not come back inside five minutes in any
test. `search` is unaffected: a keyless dataset query, about a second.
`ids` DRIVES A BROWSER, about twenty seconds a lookup, because the
authorisation system refuses every plain client. Ask `search` first and hand
its grantee code to `ids`: a code identifies one company, where a name matches
whatever it matches.
COST
`search` is a dataset query kept for a week. `ids` is a browser run kept for
thirty days — an authorisation never changes once granted, and every miss
costs a run.
Studies:
search <company>
grantee registrations — a company committing to ship a radio, before it has one
ids <grantee_code>
the devices this company had authorised, with dates and frequency bands; DRIVES A BROWSER, ~20s
JSON to stdout, so it composes: pipe to `jq` to pick a field, or `> /tmp/…` to keep it.
Run a study with no arguments — `fcc search` — to see what it takes.
What it answers
fcc search — grantee registrations — a company committing to ship a radio, before it has one fcc ids — the devices this company had authorised, with dates and frequency bands; DRIVES A BROWSER, ~20s