How to upgrade a Trezor device without wallet.trezor.io?
It is possible to use the trezor command line client trezorctl available here to install a firmware you downloaded from trezor as described in the developer docs here.

BE SURE YOU HAVE A BACKUP OF YOUR SEED

"1) Pick version of firmware binary listed on https://wallet.trezor.io/data/firmware/1/releases.json
2) Download it: wget -O trezor.signed.bin https://wallet.trezor.io/data/firmware/1/trezor-1.6.1.bin
3) Use trezorctl dry-run mode to get the firmware fingerprint:

trezorctl firmware-update -n -f trezor.signed.bin


Step 3 should produce the same fingerprint like your local build (for the same version tag)."

Then it can be installed from the command line: 

WARNING: This will erase the recovery seed stored on the device! You should never do this on Trezor that contains coins!

Build with MEMORY_PROTECT=0 or you will get a hard fault on your device.

Switch your device to bootloader mode, then execute:

trezorctl firmware-update -f path/to/firmware.bin