Skip to content

v0.75

Choose a tag to compare

@github-actions github-actions released this 20 Aug 07:02
· 4 commits to main since this release

If you are on v0.74, update — and reflash the companion

v0.74 shipped a filter that could never open. On that build the OUI + probe
request
path — the one that finds most fielded cameras — was dead.

Flash flipdeflock_companion_esp32wroom.bin from this release as well as the
.fap. The fix is companion-side; updating only the app changes nothing.

What went wrong

v0.74 required 3 probe requests from one transmitter inside 2000 ms before a Flock
OUI plus probe behaviour could score Likely. That was not strict, it was
impossible:

  • the companion watches any one channel for 300 ms out of every 3900 ms
  • a camera probing every ~125 ms can place at most 2 probes in one window
  • consecutive windows are 3900 ms apart, so they never overlap

Nothing could satisfy it. The threshold came from reasoning about camera cadence
without checking it against the radio's own duty cycle.

The gate is removed rather than retuned. Behaviour returns to what upstream runs
and field tested at 11 of 12 cameras with 2 false positives.

The T-Mobile false positive stays fixed. Its cause was never cadence — it was
48:27:ea (Samsung Electronics) and a4:cf:12 (Espressif) sitting in the
built-in OUI table. Those remain demoted to the seed file.

The per-transmitter probe counter survives as an observation on the wire
(pr=<n>), never a confidence input, so a future threshold can come from
measurement instead of reasoning.

The bench rig had never worked

Finding this meant fixing tools/flock_emitter, which had three separate faults —
none visible to CI, because it compiles perfectly either way:

  1. en_sys_seq = false made the IDF refuse every beacon injection. No Wi-Fi
    frame reached the air at all.
  2. Probe identities held 3 s and fired a single scan, so they were usually off the
    air whenever the detector was listening.
  3. esp_wifi_set_mac() was called on a started interface and with the address
    already assigned to the AP, which the ESP32 rejects as ESP_ERR_WIFI_MAC. The
    return code was never read, so probe identities transmitted from the factory
    Espressif MAC
    while the log announced a Flock OUI.

The tell from that last one is worth remembering: beacons detect, probes never
do
. A beacon's source address is a field in a hand-built frame and was always
correct; only the interface-level spoof was broken. The rig now reads the return
code and warns loudly if it fails again.

Verified against a radio

Identity Expected Observed
Flock-A1B2C3 CONFIRMED CONFIRMED
test_flck CONFIRMED CONFIRMED
Flock-Guest Likely, never CONFIRMED Likely
Flock OUI + wildcard probe Likely Likely, Method: OUI + probe req

The last row is the point of this release: dead under v0.74, and never once
checked on the air before now. Flock-Guest is the v0.46 over-claim, also
confirmed against a transmitter rather than argued from a unit test.

Verify your download

sha256sum --ignore-missing -c SHA256SUMS.txt

Full Changelog: v0.74...v0.75