## Using Netloader to load new firmware
Netloader is a command-line utility for Linux which allows you to load new firmware onto Tibbo devices. It supports both TiOS devices, and older fixed-function SoI devices. It can be downloaded as part of the VSPDL (starting with version 1.44), or as a standalone file, from the [VSPDL Download Page](/downloads/soi/vspdl.html).
### Running Netloader
[dv@dvpc bin]$ ./netloader
No target MAC, no IP is set. Use --help.
If *verbose mode* (-v) is not specified, netloader writes only error messages to console; if the upload completes with no error, netloader writes nothing back to the console.
Unix program exit code can be used to check for success in shell. For example:
[dv@dvpc bin]$ ./netloader ...params...
if [ $? -ne 0 ]; then
echo "error loading FW";
else
echo "success";
fi;
Run netloader –help to see options.
### Use Cases
To load firmware to an old SOI device, invoke netloader with the -o switch:
dv@pc:~$ ./netloader -o --ta=192.168.0.19 --ff=./EM_370D.BIN
To load firmware to a new TiOS device run netloader like this:
dv@pc:~$ ./netloader --tm=000.127.000.000.043.088 --ff=./tr610-3_03_00-\(TR610\).bin
Use -v to see what's going on. For example, with a TiOS device:
dv@pc:~$ ./netloader -v --tm=000.127.000.000.043.088 --ff=./tr610-3_03_00-\(TR610\).bin
Firmware is 438784 bytes
target is unknown:65535, mac is 000.127.000.000.043.088
Target device not found.
TiOS method
Device ready
3428 blocks to load, buffer is 8.
................................................................................
...
........................................................................
3432 blocks of FW loaded
Verify done, rebooting device
dv@pc:~$
Here is a complete example of loading firmware onto an old SoI device (whose IP is 192.168.0.19):
// let's discover device at the network for ourself:
dv@pc:~$ ./dsnetcmd -i -a -p -b
dsnetcmd>X
success
0.202.0.0.138.18
1001
usual mode
fixed, set manually
closed
dsnetcmd>^C
// DSnetCMD is included in VSPDL package
// let's try to load FW:
dv@pc:~$ ./netloader -v -o --ta=192.168.0.19 --ff=./EM_370D.BIN
Firmware is 60800 bytes
target is 192.168.0.19:65535, mac is unknown
Device 192.168.0.19 found by IP, MAC is 000.202.000.000.138.018
SOI method
Device ready
475 blocks to load, buffer is 8.
...........
480 blocks of FW loaded
FW verify failed:D(access denied).
dv@pc:~$
// looks like we have to login to device to apply new FW. ok.
// Using -l switch with empty password:
dv@ezuk-desktop:~$ ./netloader -v -o -l --ta=192.168.0.19 --ff=./EM_370D.BIN
Firmware is 60800 bytes
target is 192.168.0.19:65535, mac is unknown
Device 192.168.0.19 found by IP, MAC is 000.202.000.000.138.018
SOI method
Login success
Device ready
475 blocks to load, buffer is 8.
...........
480 blocks of FW loaded
FW verifyed
dv@pc:~$
// all done