Upgrade Notes
lager box-config applyexits3when the container is up but runs the previous config. Before this version,applyexited1for that case and for a failed restart. The exit codes are now0for applied,3for up on the previous config, and1for every other failure. A script that tests only for a non-zero exit needs no change. A script that treats every non-zero exit as a stopped box must handle3.
Features
-
lager box-config network-modecan run the box container on the host network. Sethostwhen a tool needs the Bluetooth adapter (hci0) inside the container. On the defaultlagernetnetwork, the kernel keeps that adapter out of the container. Onlylager box-config applymakes the switch, and it first checks that the box stays reachable. It refuses on a box behind a port-publishing gateway. It also refuses when the firewall does not admit ports 5000 and 9000 on your interface. A box that does not set the mode does not change. The box needs this version, so runlager updatefirst. See the box-config reference. -
lager webcam NET snapshotsaves one JPEG frame from a running stream. The frame comes back through the box’s command endpoint, so a script does not need the stream port or the multipart feed. The streamer also servesGET /snapshot. -
lager spiandlager i2cwork with a LabJack U3. A U3 now covers every net role that a T7 covers. SPI usesFIO4toFIO7, and I2C usesFIO6andFIO7.lager nets addrefuses a U3spiori2cnet on other pins, and names the pins that work. A transfer is at most 50 bytes. The clock rate is approximate, andconfigreports the rate that the hardware uses. I2C needs external pull-up resistors, because the U3 has none. The driver refusescs_active="high"andkeep_cs=True. Usecs_mode="manual"with agpionet to control CS. The U3 needs hardware version 1.21 or later.
Bug Fixes
-
lager webcam <net> startprinted a stop command that did not run. The hint put the net name afterstop, and it named the box by its IP address. The hint now readslager webcam <net> stop --box <label>, with the label that you typed. - One dropped debug read stopped a DA1469x flash. The flash loader reads target RAM while the CPU runs, and a marginal SWD link can drop one reply. The loader gave up on a failed read. It now retries a failed read until its deadline. A link that never answers still fails, and the error says that the read failed.
-
The “add a box” hints printed a command that did not run.
lager boxes addrequires--user, but five hints left it out. The hints, the README, and the reference pages now include--user. -
The installer’s offer to register the box always failed. The call left out
--userand hid its own error. The installer now passes the login user and shows a real error.
Improvements
-
Webcam links work on access-gated boxes.
lager webcam startandlager webcam urlprint a link that carries your sign-in token. The link works for about the lifetime of the token, and the CLI tells you how many minutes. Runlager webcam urlto get a new link. -
A webcam stream records its origin.
lager webcam urlshows which tool started the stream and the user that the tool named. -
lager boxesshows a clear name for a lock holder. Another service can record a holder asorigin:id:name:email.lager boxesnow shows only the name. -
The help for
lager defaults add --usertells you to use the same name that you use in other tools that lock boxes.
Known Limitations
-
The host-network check needs passwordless
sudo ufw statuson the box. Lager does not grant that command. On a box wheresudoasks for a password,applyrefuses the switch. It prints the one sudoers line that you can add withsudo visudo -fto a sudoers file of your own. -
A box behind a port-publishing gateway cannot use host networking. The gateway
holds ports 5000 and 9000, so the container cannot bind them.
applyrefuses the switch on such a box.

