Advanced Usage
Updates
JetKVM
JetKVM supports over-the-air (OTA) updates, which automatically install new software versions to keep your device up-to-date with the latest features, bug fixes, and improvements.
By default, JetKVM is set to automatically update. The device will periodically check for new updates in the background. If a new update is available, it will be installed automatically. However, JetKVM is designed to avoid disruptions during active use.
The update system will check for active webRTC connections, and it will delay updates if you are currently controlling a device. This ensures that you won't be interrupted in the middle of important tasks. If you have long-running webRTC connections, it's recommended to periodically check for updates manually to ensure your device stays current.
If you prefer, you can disable automatic updates and manually check for updates:
- Go to the Settings in the JetKVM web UI.
- Click the Check for Update button to see if any new updates are available.
- If an update is available, you can choose to install it immediately.
Manual app upgrade
If the normal OTA update is not possible, you can manually install the latest stable JetKVM app. Run the following command over SSH or in the Web Terminal in the JetKVM web UI.
The command asks the release API for the newest app compatible with the device's hardware SKU, then verifies the downloaded binary against the returned SHA-256 checksum before staging the update.
Warning: A manual upgrade bypasses the staged rollout described below. Use it only when the normal update process is unavailable and you are comfortable using the command line.
JETKVM_SKU="$(cat /etc/jetkvm-sku 2>/dev/null || printf jetkvm-v2)" && \
set -- $(wget -qO - "https://api.jetkvm.com/releases?deviceId=manual-update&sku=$JETKVM_SKU&appVersion=%3E%3D0.0.0" | sed -n 's/.*"appUrl":"\([^"]*\)".*"appHash":"\([^"]*\)".*/\1 \2/p') && \
test "$#" -eq 2 && \
TMPFILE="$(mktemp)" && \
wget "$1" -O "$TMPFILE" && \
printf '%s %s\n' "$2" "$TMPFILE" | sha256sum -c - && \
chmod +x "$TMPFILE" && mv "$TMPFILE" /userdata/jetkvm/jetkvm_app.update && \
reboot
Each step runs only if the previous one succeeds. After the download is installed as jetkvm_app.update, the device reboots and completes the update.
Installing a specific version
Do not construct app download URLs manually. Ask the release API for the version and SKU you need:
https://api.jetkvm.com/releases?deviceId=manual-update&sku=<sku>&appVersion=<version>
The response provides the compatible appUrl, appHash, and appSigUrl. An exact version such as 0.5.8 or a semantic version range such as ^0.5.0 can be used, and a version-specific request bypasses the staged rollout.
Get <sku> by running cat /etc/jetkvm-sku. It is jetkvm-v2 on the original model and jetkvm-v2-sdmmc on models with a microSD card slot. Older devices without this file use jetkvm-v2.
DC Extension
The DC Extension does very rarely need firmware updates, which requires a manual flashing process. Unlike the main JetKVM device, the DC Extension cannot be updated over-the-air and must be flashed directly. New firmware updates can be found here.
To update the DC Extension firmware:
-
Disconnect all cables - Remove any cables from the DC Extension.
-
Enter flash mode - Press and hold the flash button (located between the DC 9V-20V port and the USB-C port) while connecting the USB-C cable from your DC Extension to your computer.
-
Device recognition - The DC Extension will appear as a removable disk drive on your computer.
-
Flash the firmware - Simply drag and drop the DC Extension firmware file(a
.uf2file) onto the disk drive. The flashing process will begin automatically. -
Complete the update - The USB drive will automatically eject when the flashing process is complete, indicating that the DC Extension has been successfully updated and rebooted with the new firmware.
Note: Make sure to use the correct firmware file specifically designed for the DC Extension, as using the wrong firmware could damage the device.
ATX Extension
The ATX Extension also very rarely needs firmware updates, which requires a manual flashing process. Unlike the main JetKVM device, the ATX Extension cannot be updated over-the-air and must be flashed directly. New firmware updates can be found here.
To update the ATX Extension firmware:
-
Disconnect all cables - Remove any cables from the ATX Extension.
-
Enter flash mode - Insert a pin into the small flash-mode hole on the board and hold the button inside while connecting the ATX Extension to your computer over USB.
-
Device recognition - The ATX Extension will appear as a removable disk drive on your computer.
-
Flash the firmware - Drag and drop the ATX Extension firmware file (a
.uf2file) onto the disk drive. The flashing process will begin automatically. -
Complete the update - The USB drive will automatically eject when the flashing process is complete, indicating that the ATX Extension has been successfully updated and rebooted with the new firmware.
Note: Make sure to use the correct firmware file specifically designed for the ATX Extension, as using the wrong firmware could damage the device.
Release Process
JetKVM employs a rolling release system for major updates to ensure stability across all devices. When a new version is released, it is initially rolled out to only 10% of users. The rollout gradually expands until 100% of devices are updated. This approach helps mitigate risks by preventing widespread issues in case a release encounters unforeseen problems.
If you notice that a new version has been released but your device hasn't updated yet, you can manually trigger the update by checking for updates in the Settings page. However, if your device is not part of the current rollout group, the "Check for Update" button will not show any available updates, even if a new version has been released. You will need to wait for your device to be included in the next phase of the rollout or manually check later.
Development Channel (Dev Channel)
JetKVM offers a development channel for users who want early access to updates. By enabling this option in the Settings sidebar, you will receive development builds before they are rolled out to all users. These builds may include new features, bug fixes, or experimental updates that are still being tested. Be aware that dev channel updates can be less stable than official releases, so enable it with caution.
