Upload Firmware into the system is the following process
scp or cul the *.bin firmware file to the system
upload the firmware into the system
install the firmware on the system
reboot the system
Its fairly straight forward to do, in many instances CLI based update is easier than a GUI
1) Copy firmware to the system
This is either scp or curl -O the firmware to the home directory, example below uses curl directly from the webpage
2) Upload the firmware into the system
While the .bin file may be on the system, It needs to be uploaded and processed by the system to make it accessible. Using the following command line on the FW file from 1)
Example output is shown below. Note if the capture is running as shown, it will eventually timeout and complete the update.
fmadio@fmadio20v2-149:$ sudo firmware_install.lua --install fmadio20v2_20210906_1606.bin
fmad fmadlua Jul 21 2021
calibrating...
0 : 2100015957 2.1000 cycles/nsec offset:0.016 Mhz
Cycles/Sec 2100015957.0000 Std: 0 cycle std( 0.00000000) Target:2.10 Ghz
argv /usr/local/bin/fmadiolua
argv --install
argv fmadio20v2_20210906_1606.bin
loading filename [/opt/fmadio/bin/firmware_install.lua]
Install Firmware [fmadio20v2_20210906_1606.bin]
Open fSysCapture_t* [/opt/fmadio/status/capture:0/100]
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
Force capture to exit
FW [fmadio20v2] System[fmadio20v2]
PreInstall script [/mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.pre.lua]
fmad fmadlua Jul 21 2021
calibrating...
0 : 2100015531 2.1000 cycles/nsec offset:0.016 Mhz
Cycles/Sec 2100015531.0000 Std: 0 cycle std( 0.00000000) Target:2.10 Ghz
argv /opt/fmadio/bin/fmadiolua
loading filename [/mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.pre.lua]
PreInstall: pre install script
PreInstall: PREINSTALL_GOOD
done 0.000086Sec 0.000001Min
Copy [cp /mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.tcz /mnt/nvme0n1p1//tce/optional/fmadio20v2_current.tcz]
Copy [cp /mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.core /mnt/nvme0n1p1//boot/fmadio20v2-corepure64.gz]
Copy [cp /mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.kernel /mnt/nvme0n1p1//boot/vmlinuz64]
Copy [cp /mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.mydata /mnt/nvme0n1p1//tce/mydata.tgz]
Copy [cp /mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.syslinux.cfg /mnt/nvme0n1p1//boot/syslinux/syslinux.cfg]
Copy [cp /mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.rom.2x1G /mnt/nvme0n1p1//boot/bitstream.rom.2x1G]
Copy [cp /mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.rom.2x10G /mnt/nvme0n1p1//boot/bitstream.rom.2x10G]
Bitstream Config [2x10G]
Copy [cp /mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.rom.2x10G /mnt/nvme0n1p1//boot/bitstream.rom]
/mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.post.lua
fmad fmadlua Jul 21 2021
calibrating...
0 : 2100016641 2.1000 cycles/nsec offset:0.017 Mhz
Cycles/Sec 2100016641.0000 Std: 0 cycle std( 0.00000000) Target:2.10 Ghz
argv /opt/fmadio/bin/fmadiolua
loading filename [/mnt/nvme0n1p1//firmware/fmadio20v2_20210906_1606.post.lua]
PostInstall: post install script
PostInstall: POSTINSTALL_GOOD
done 0.003273Sec 0.000055Min
Firmware Install Complete
done 34.044320Sec 0.567405Min
fmadio@fmadio20v2-149:$
4) Reboot
System needs to be rebooted, It will power cycle also after the 1st reboot to complete the update process.
Example
$ sudo reboot
Connection to 192.168.2.145 closed by remote host.