Support

Firmware updates

Download signed RAUC bundles and update your Nine Fives modules yourself.

RAUC bundle

Firmware 4.7.0

LatestReleased 9 October 2026
File
ninefives-4.7.0.raucb
Size
20.2 MB (21,185,288 bytes)
For
POE-ATTEN-6G, POE-SPDT-6G and POE-SP4T-6G modules
SHA-256
cc03e49593c641e731a9f701f5fa95940dfd482c343d0e93b167324918a176a6
Download ninefives-4.7.0.raucb

Docked and standalone. A module now detects at power-on whether it is docked in the multi-enclosure backplane.

  • Standalone works as before: touchscreen, RJ45 Ethernet and USB-C networking.
  • Docked, the module's only link is the dock's Ethernet. The display stays off, and the dock link uses DHCP, falling back to 192.168.0.95/16 after 30 seconds.
  • The web interface gains Dock Ethernet settings; REST reports the docked state and dock network settings, and SCPI adds :SYSTem:DOCKed? and :SYSTem:NETwork:DOCK:*.
  • This update also rewrites the bootloader, which is what detects the dock.

Install

Update from the web interface

Open the device's IP address in a browser and select the Firmware Update tab. It shows the running firmware Version, the Active Slot the device booted from (A or B), and the Inactive Slot, the other one. The device uses an A/B slot scheme: firmware is always installed to the inactive slot, so the running firmware is never modified while it is in use.

The Firmware Update tab of a Nine Fives device running firmware 4.7.0: version and slot information, a checked Update both slots checkbox, a drag-and-drop upload area with a Choose File button, and a firmware URL field with an Install from URL button.
The Firmware Update tab. Update both slots is checked by default.
  1. Choose the update mode. Update both slots (auto-reboot between slots) is checked each time the page loads: the device installs the firmware to the inactive slot, reboots into it, then installs it to the second slot. That replaces the previous firmware in both slots, so no copy of it remains to fall back to. To keep one, uncheck the box: only the inactive slot is updated and the previous firmware stays in the other.
  2. Supply the bundle in one of two ways:
    • File upload: drag and drop the downloaded .raucb file onto the upload area, or click Choose File.
    • URL install: paste the install URL (Copy install URL on the Releases tab) and click Install from URL. The device downloads and installs the firmware itself. The URL must be HTTPS, from a server with a valid TLS certificate.
  3. Confirm the prompt the browser shows before the install starts.
  4. The checkbox, upload area and URL field are replaced by a progress bar and status message. The page checks the status every 2 seconds and keeps checking through the automatic reboot of a both-slots update.
A progress bar about two-thirds full above the status message Updating second slot.
A both-slots update installing the second slot.

When the update finishes:

  • Both slots: the page shows Both firmware slots updated successfully. No reboot is needed.
  • Single slot: click Reboot to Activate New Firmware and confirm. The device reboots into the new firmware and the page reloads 30 seconds later.
The Firmware Update tab after a single-slot update, with the Update both slots checkbox unchecked and a Reboot to Activate New Firmware button below the upload controls.
After a single-slot update.

If a both-slots update is interrupted

The bundle is too large to stage on the device's storage, so it is supplied again for the second slot after the mid-update reboot:

  • File upload: keep the browser tab open. The page holds the bundle in memory and re-uploads it automatically once the device is back up.
  • URL install: the device downloads the bundle again on its own, so the tab can be closed.

If a file-upload update is interrupted, for example by closing or reloading the tab before the second slot finishes, the device runs the new firmware from the first slot and keeps the previous firmware on the second. Both remain bootable. The next time you open the Firmware Update tab, a Both-slots update interrupted banner offers two choices:

  • Re-select firmware to finish: choose the same .raucb file to install it to the second slot. A file with a different version is rejected and the banner stays.
  • Cancel both-slots update: leave the second slot on the previous firmware.
A progress bar with the message Re-upload the firmware bundle to finish the second slot, above a yellow Both-slots update interrupted banner with Re-select firmware to finish and Cancel both-slots update buttons.
The banner after an interrupted file-upload update.

If an update fails

A Last error box below the firmware information gives the reason, and the upload area returns so you can try again. A request the device rejects outright, such as a URL that is not HTTPS, is reported in a notification that disappears after a few seconds.

A red Last error box reading installation failed: exit status 1, above the Update both slots checkbox and the upload controls.
A failed update.

Automate

Update over the REST API

Install from a URL

The simplest way to script an update. Unlike the web interface, the API updates only the inactive slot unless you add ?mode=full. With it, the device installs to both slots and, after its reboot, downloads the bundle again and finishes the second slot without further help.

curl -X POST -H "Content-Type: application/json" \
  -d '{"url": "https://firmware.ninefives.com/releases/ninefives-4.7.0.raucb"}' \
  "http://<device-ip>/api/firmware/update/url?mode=full"

Upload the file

POST /api/firmware/update takes the bundle as the firmware field of a multipart/form-data request. Single slot:

curl -X POST -F "firmware=@ninefives-4.7.0.raucb" \
  http://<device-ip>/api/firmware/update

Both slots add ?mode=full. The device reboots after the first slot and then reports updatePhase: "awaiting_second_upload"; upload the same bundle again to finish, or cancel to stay on the new firmware with the previous version kept in the second slot:

curl -X POST -F "firmware=@ninefives-4.7.0.raucb" \
  "http://<device-ip>/api/firmware/update?mode=full"

curl -X POST -F "firmware=@ninefives-4.7.0.raucb" \
  http://<device-ip>/api/firmware/update/resume

curl -X POST http://<device-ip>/api/firmware/update/cancel

Follow progress

Installs run in the background and return 202 Accepted. Poll the status. It reports updateInProgress, updateProgress (0–100) and updateMessage; for a both-slots update, updateMode: "full" and the updatePhase: installing_first, rebooting, awaiting_second_upload (an upload-sourced update waiting for the bundle at /resume) or installing_second. A failure is reported in lastError. Fields that are zero or empty are left out.

curl http://<device-ip>/api/firmware/status

When the update finishes, updateProgress stays at 100 and updateMessage keeps the result until the device restarts. A both-slots update reports "Both slots updated successfully." and needs no reboot. A single-slot update reports "Installation complete. Reboot to activate new firmware."; reboot to activate it:

curl -X POST http://<device-ip>/api/system/reboot

A request fails with 400 for a missing or non-.raucb file or a non-HTTPS URL, 409 while another update is in progress, and 503 if the firmware manager is not available.

Verify and read more

Check a download with sha256sum (Linux and macOS) or Get-FileHash (Windows) against the SHA-256 on the Releases tab. The full reference is in each product's manual: