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