UISP Switch - How to update to FW 1.6.0+
Updating a switch that is already managed by the UISP Application
There are several ways of updating the UISP switch via the UISP application. You can open the Devices view and make sure that the “Firmware Status” column is enabled. If the device can be upgraded, there will be a clickable “Update Available” in the column. This will update the device to the latest available version.
Another option is to left-click on the specific device. A side panel will appear with device details. Choose the Manage tab and expand the “Change Firmware Version” section to manually choose an available firmware version.
Updating a brand new switch with UISP Mobile
Open the UISP Switch through the UISP mobile app, then tap on the More/Manage tab, choose the Firmware Upgrade tool, and tap on the Upgrade button of the required FW version. When the device is connected to the UISP mobile app by Bluetooth, the device itself needs to have internet connectivity. When connected by LAN, the device could be in offline mode.
Automatic FW upgrade is also part of the installation wizard process when the device is initialized via the UISP mobile app.
Updating a brand new switch without using UISP Mobile/UISP Application
Please note that the firmware version of the UISP Switch cannot be updated via CLI. It is possible to use a script and run it through a Linux shell by calling the udapi_upgrade command and specifying the IP address of the device, the path to the FW file, and the device's password. Here is the complete script:
udapi_upgrade() { IP=$1 FILENAME=$2 PASSWORD=${3:-ubnt} echo "Upgrading $IP using $FILENAME" sleep 3 echo "Logging in..." AUTH_TOKEN="$(curl -vLk -XPOST https://${IP}/api/v1.0/user/login -d "{\"username\":\"ubnt\", \"password\":\"${PASSWORD}\"}" 2&1 | grep 'x-auth-token' | sed -e 's/^< &&="&&" \="\" echo="echo" uploading...="Uploading..." curl="curl" -lk="-Lk" -h="-H" $auth_token="$AUTH_TOKEN" https:="https:" ${ip}="${IP}" api="api" v1.0="v1.0" system="system" upgrade="upgrade" direct="direct" -f="-F" file="@${FILENAME}" while="while" true;="true;" do="do" status="$(curl" -sk="-sk" upgrade)="upgrade)" ;=";" if="if" [[="[[" $status="~" finished="finished" ]]="]]" then="then" -k="-k" -xpost="-XPOST" reboot="reboot" break;="break;" else="else" $status;="$STATUS;" sleep="sleep" 5;="5;" fi;="fi;" done="done" }="}"></>