EMCOMM preparation and field use¶
This page is the plan: what to do before a deployment, what you will have with
no internet, and what has and has not been measured. It links the guides that
own each procedure and does not repeat them. Examples use the placeholders
N0CALL and FN31pr.
Hammunition is a software station, not a certified emergency system. It is for an operator who holds a licence and is part of a served-agency plan.
Three kinds of "offline"¶
Keep these apart; most field surprises come from mixing them.
| What it is | Examples here | Lost when | |
|---|---|---|---|
| Internet | The wider network | Downloading maps, books, the Winlink gateway list; PSK Reporter; Pat telnet | The uplink is gone |
| Local network | This machine, or a LAN you run | hammunition reference serve on 127.0.0.1:8480; the GPS tether on 127.0.0.1; a Bunker on a NAS |
The machine or the router is off |
| Radio | A link you make with a radio | Winlink by packet or HF, APRS, Meshtastic, Reticulum | No radio, interface, gateway or path |
"Works offline" on a page means: works with no internet once installed and prepared. It does not mean without its radio, GPS or local service. The position comes from a GPS receiver, not the internet, but only if it is attached, not parked, and has a fix.
Status words¶
| Word | Means |
|---|---|
| Implemented | The code and manifest exist and tests pass. Not a claim that it ran on hardware |
| Measured | A bench or VM campaign page records it running |
| Built, not yet measured | Written, never run where it matters |
| Planned | Not written |
| Unverified | Fetched from a source that publishes no checksum |
1. Before the deployment¶
Online, weeks ahead¶
Commands, in order, are in Before a deployment. In short:
- [ ]
hammunition doctor, then set your station values (station set). - [ ] Install the profiles you will use, plan first (
--dry-run), thenhardware apply. - [ ] Choose map regions covering the whole route, then
install navigation. - [ ] Choose reference books;
install kiwix-library ics-forms. - [ ] Build the infrastructure and repeater layers (after the regions):
maps infra import --from-osmwrites one set per region you loaded, somaps activatecan draw only the area you are in. - [ ] Fetch every state and region on the possible roster, here, at home: you will not have the network where you are sent. A state or region is loaded once and drawn only when it is the active one (Load every area ahead, which walks it step by step).
hammunition maps areaslists what is loaded. - [ ] Register Pat over the internet and fetch the gateway list.
- [ ] Download these documents (section 7) and keep a copy on a second device and on paper.
- [ ] If you run a Bunker, point the laptop at it and keep a verified copy: LAN mirror.
A few days ahead¶
- [ ]
hammunition update(works offline): anything behind the catalog's pins? - [ ] Update, then re-run the layer imports if the regions changed.
- [ ] Charge everything; test cables and the sound interface.
- [ ] Write down the preparation date on the paper plan, the gateway list, frequencies and your agency's contacts.
The rehearsal, with networking off¶
Do this once at home. It proves what you have, not what a site will have.
nmcli networking off # NetworkManager machines; other systems differ
hammunition doctor
hammunition status
hammunition reference serve # open http://127.0.0.1:8480/ ; Ctrl-C to stop
hammunition maps navit # or open QMapShack: maps and the position
nmcli networking on
Check: the books, forms and map open; the GPS has a fix in cgps; the clock
holds (GPS time); a rig answers; a test Winlink message works
by whatever path you will use. Not measured: this whole sequence as one
rehearsal. The pieces are in the guides linked below.
On arrival¶
- [ ] Make where you are the active area:
hammunition maps activate OH(how). The next day,hammunition maps activate MI. Nothing is deleted;maps activate --allbrings everything back. - [ ]
hammunition hardware listshows what is attached;hammunition hardware wake NAMEfor a parked device (Tray controls). - [ ] The GPS has a fix; the clock is right (FT8 stops decoding at about a second off).
- [ ] Rig control up (Rig control); audio levels set (Radio audio).
2. The data, and its limits¶
Every layer states a source and, in its name, a date. Using it needs no internet; refreshing it does.
| Dataset | Source | Coverage | Update | Per area? | Guide |
|---|---|---|---|---|---|
Street maps (osm-regions, osm-navit) |
OpenStreetMap through Geofabrik | Only the regions you chose | hammunition update, then reinstall |
Navit and the browser map: yes, by region | Offline navigation |
| Trail and terrain maps, routing, browser map | Built here from the same extracts; Copernicus elevation | Your regions | Reinstall | Browser map: yes. QMapShack's trail and terrain maps stay listed | same |
| US topo sheets | USGS, Forest Service | Within topo_radius_km of your grid square |
Reinstall | No; radius of your grid square | same |
| Medical, responders, supply, shelter candidates, transport, power, telecom, water | OpenStreetMap, from the installed extracts | Your regions, one layer per region | maps infra import --from-osm |
Yes, by region | same |
| Airports, power plants | FAA NASR, EIA, WRI | US airports; US plants from EIA, plants outside the US from WRI | Reinstall after the pin moves | Yes, clipped per region | same |
| Towers, Weather Radio | FCC, NOAA, fetched on request | Your regions, one layer per region | Run again; unverified | Yes, clipped per region | same |
| Repeaters | Your own export, Open Repeater, hearham, ETCC, Brandmeister, OSM | Varies | Import again | Yes: RepeaterBook by state; your own and open layers always drawn | same |
| Books, dictionaries, ICS forms | Kiwix, FEMA | What you chose | update --upstream online |
No | Offline reference |
Dates, counts and licences are printed in each plan and are not repeated here.
hammunition update shows installed versus the catalog's pins and never fetches.
A mapped shelter, hospital, repeater, substation or transmitter does not establish that it exists, is open, has power, has capacity or is the one your agency uses. The shelter layer says candidate, not a designated shelter. OpenStreetMap is volunteer-mapped and as old as the extract. Repeater positions are approximate and machines go off the air. Confirm by radio, telephone or the emergency manager.
3. Communications¶
| Workflow | Needs, radio | Needs, internet or LAN | Guide | Exercised |
|---|---|---|---|---|
| Rig control | CAT radio or PTT interface | None | Rig control | Built, not yet measured on a bench |
| Radio audio | Sound interface | None | Radio audio | Guide only |
| Winlink by packet (Direwolf, Pat) | Radio, interface, a gateway in range | Internet only to register and fetch the gateway list | Packet and Winlink | Installed in VMs; no over-the-air message from the field laptop |
| Winlink over telnet | None | Internet | same | Pat's documented first test |
| Winlink HF (ardopcf, Mercury) | HF radio | as above | same | Two Mercury instances passed a message with no radio (2026-09-30); not over the air |
| Packet BBS, LinBPQ | Radio, TNC or Direwolf | None | same | Packaged only |
| APRS | VHF radio | Internet only for an igate | APRS | Guide |
| FT8, JS8 | Radio, interface, correct clock | Spots need internet | Digital modes | Guide |
| Mesh: Meshtastic, Reticulum | LoRa nodes or RNode | None | Mesh and Reticulum | Two containers exchanged an LXMF message; no LoRa link run |
| Time from GPS | A receiver with a fix | None | GPS time | Built; bench owed |
Notes: Pat's first connection must be over the internet. The packet core does
not need the kernel's AX.25 (kernel AX.25).
Nothing transmits by itself; transmitting is your decision under your licence.
FEMA's 39 ICS PDFs are installed by ics-forms and listed on the
hammunition reference serve page; the ICS 309 log is not among them, so keep a
paper one.
4. Position and navigation¶
Offline navigation owns this. The path is: a GPS
receiver, gpsd, then the GPS Tether, then
QMapShack, Navit, CoMaps or the browser map at hammunition reference serve.
No fix means no position, whatever the maps hold. Parking the GPS from the tray
(Tray controls) switches it off. Not measured: the tether
across a suspend and resume, and QMapShack drawing the infrastructure layers.
5. Saving and recovering your configuration¶
Hammunition has no backup or restore command, and this procedure has not been run end to end. Software and downloaded data come back by reinstalling; what you back up is yours.
| Save | Where | Sensitive |
|---|---|---|
| Station values | ~/.config/hammunition/station.yml (0600) |
Yes: callsign and location |
| Repeater and infrastructure layers | ~/.local/share/hammunition/overlays/ |
Yes; personal-use terms, keep to your machines |
| Pat's configuration | ~/.config/pat/config.json; its mailbox is wherever Pat's own documentation says for your version |
Yes: the password |
| Configuration the engine wrote | /etc/direwolf.conf, /etc/bpq32.cfg, /etc/hammunition-hill/config.toml |
Contains your callsign |
| Mesh identities | ~/.reticulum, ~/.nomadnetwork, ~/.lxmd, ~/.rnsh (an identity cannot be recreated) |
Yes; archive command in Mesh and Reticulum |
| Your logs | wherever your logging program keeps them | Yes |
Not worth saving: ~/.cache/hammunition/ and /usr/local/share/hammunition/.
To recover on a fresh machine: install the engine (Installation),
restore the files above into the same paths, chmod 600 the station file,
hammunition station show, re-run the installs (plan first), then
hammunition hardware apply, and re-fetch the data (from a Bunker if you
have one). An existing configuration file is copied to a .hammunition-backup
before an install rewrites it. Encrypt an archive that leaves your hands.
6. Troubleshooting without the internet¶
| Symptom | Likely cause | What to try |
|---|---|---|
install says it could not check for newer data |
No network | Expected: regions already installed are kept as they are. A region never installed cannot be fetched; the plan refuses and names it |
| A pinned book or map will not download | The publisher moved or expired it | Needs the internet, or a mirror that has it; not fixable in the field |
| No position | GPS parked, no fix, gpsd stopped, or tether not running | hammunition hardware state, cgps, systemctl --user status hammunition-gps-tether.service |
| FT8 decodes nothing | Clock off | GPS time |
| A page will not open | Local server not running | Start hammunition reference serve; it listens on 127.0.0.1 only |
| Something changed and you do not know what | hammunition logs --last; hammunition transactions --last 10 |
|
| Hardware not found | Permissions or a parked device | hammunition hardware list, hammunition hardware apply |
More: Troubleshooting.
7. Quick reference¶
hammunition doctor hammunition status
hammunition update hammunition hardware list
hammunition hardware state hammunition hardware wake NAME
hammunition reference serve hammunition maps navit
hammunition maps activate OH hammunition maps areas
hammunition maps gps-tether pat-winlink http
hammunition logs --last hammunition transactions --last 10
8. What is not measured¶
Stated here so no one reads it as a promise.
- The full rehearsal sequence above, as one run, and a restore from a backup.
- Rig control on a bench (D-073: proposed).
- Packet or Winlink over the air from the field laptop; HF Winlink over the air.
- Any LoRa mesh link; only two containers over a LAN.
- The GPS tether across a suspend and resume (a reboot is measured); GPS time on the bench (D-058).
- The Tray on the Qt desktops; the Bunker on a NAS; the Console through a real install.
- QMapShack and Navit drawing the infrastructure layers, and real
fetch-fcc-asrandfetch-nwr. - The accuracy and currency of any mapped place.