wiki:Flashing/TFTP
Last modified 11 months ago Last modified on 06/15/2016 02:05:04 AM

Flash firmware using TFTP

If webinterface or ssh is not avaible we can use TFTP to flash router.

Requirements

We will need:

  • wlan slovenija firmware
  • network cabel
  • TFTP server (need depends on router)

Network settings

(may depend on router)

Network settings for many routers (use this, if not specified different):

  • IP: 192.168.1.100
  • Netmask: 255.255.255.0
  • Gateway: 192.168.1.1, (this is router's IP at boot)

Connect router's LAN port with computer.

Prepering tools

GNU/Linux

Instruction how to installing and setting tftpd in ubuntu

sudo -s
apt-get update
apt-get install xinetd tftpd tftp
touch /etc/xinetd.d/tftp
echo service tftp > /etc/xinetd.d/tftp
echo { >> /etc/xinetd.d/tftp
echo protocol        = udp >> /etc/xinetd.d/tftp
echo port            = 69 >> /etc/xinetd.d/tftp
echo socket_type     = dgram >> /etc/xinetd.d/tftp
echo wait            = yes >> /etc/xinetd.d/tftp
echo user            = nobody >> /etc/xinetd.d/tftp
echo server          = /usr/sbin/in.tftpd >> /etc/xinetd.d/tftp
echo server_args     = /tftpboot >> /etc/xinetd.d/tftp
echo disable         = no >> /etc/xinetd.d/tftp
echo } >> /etc/xinetd.d/tftp
mkdir /tftpboot
chmod -R 777 /tftpboot
chown -R nobody /tftpboot
exit
sudo service xinetd start
cd /tftpboot

Copy your firmware in /tftpboot

wget <link_to_your_firmware_from_mail>

Shorter name of firmware, or just make a copy :)

cd /tftpboot
cp *.bin firmware.bin

Debian 2016

last instalation on Debian was easier, just instal tftpd;

sudo apt-get install tftpd

go to tftpd directory

cd /srv/tftp/

get your firmware.bin from web or copy what you wish to send in this dir.

wget firmware.bin

Mac OS X

Download server from http://ww2.unime.it/flr/tftpserver/

Run MacTFTP Client

MS Windows

Download server from http://tftpd32.jounin.net

Run TFTP server and in Current Directory select folder that contains wlan slovenija firmware. Under server interface (tab?) enter (select?) IP, as described above.

Continue flashing by router dependent instructions.

Linksys (OLD)

Flashanje preko TFTP protokola

Večina routerjev (recimo Linksys) omogoča flashanje preko TFTP protokola, kar uporabimo, če flashanje preko spletnega vmesnika ni mogoče, ali pa spletni vmesnik ne deluje.

Nato za prenos firmwara povežeš svoj računalnik z LAN portom na routerju ter dodeliš statične mrežne nastavitve računalniku, ki se razlikujejo glede na router.

Mrežne nastavitve za Linksys routerje:

  • IP računalnika: 192.168.1.100
  • Netmask: 255.255.255.0
  • Gateway: 192.168.1.1, (this is router's IP at boot)

Connect router's LAN port with computer.

Linux in MAC OS X

Zaženemo terminal (recimo XTerm na Linuxu ali Terminal.app na Mac OS X) in se premaknemo v direktorij, ki vsebuje firmware. Izvedemo sledeče ukaze:

$ tftp 192.168.1.1
tftp> timeout 60
tftp> rexmt 1
tftp> binary
tftp> verbose
Verbose mode on.
tftp> put omnipotent-primer-2_0_r999-ABCDEFGHIJKLMNOPRSTUVZ.bin

Namesto teh ukazov lahko uporabimo tudi v ta namen pripravljeno skripto, ki jih za nas izvede avtomatično.

S temi ukazi povemo računalniku, naj poizkuša prenesti omnipotent-primer-2_0_r999-ABCDEFGHIJKLMNOPRSTUVZ.bin (uporabimo pravo ime datoteke našega firmwara) na IP 192.168.1.1, tako da to poizkusi vsako sekundo za 60 sekund.

Takoj za ukazom put omnipotent-primer-2_0_r999-ABCDEFGHIJKLMNOPRSTUVZ.bin rebootamo router tako, da iztaknemo njegovo napajanje in ga priklopimo nazaj. Ob zagonu routerja bo ta za kratko dovolil nalaganje novega firmwarea in v tem času mu bo naš računalnik poslal nov firmware. Možno je, da to v prvo ne uspe, zato ponovimo zagon programa in reboot routerja.

Pozor: Ko opazimo, da se je začel prenos firmwarea na router, routerja več ne smemo izklapljati ali ponovno zaganjati, dokler se flashanje ne zaključi (kar traja še nekaj minut za tem, ko se datoteka prenese), sicer je lahko postopek neuspešen in ga bomo morali ponoviti. Najboljše je, da ga pustimo na miru še nekaj minut zatem, ko vse lučke na njem nehajo utripati in ga rebootamo komaj takrat, da se zažene v nov firmware.

Pozor: Nekateri računalniki z Mac OS X ne vzpostavijo mrežne povezave dovolj hitro, da bi ujeli možnost nalaganja preko TFTP protokola ob zagonu routerja, zato moramo med računalnik in router vstaviti mrežni switch (razdelilnik).

Mac OS X

TFTP flashanje lahko na operacijskem sistemu OS X izvedemo tudi s pomočjo namenskega programa MacTFTP Client. Za TFTP flashanje upoštevamo sledeč postopek:

  • s spleta prenesemo željen firmware s končnico .bin
  • spremenimo mrežne nastavitve računalnika
    • IP računalnika: 192.168.1.100
    • Netmask: 255.255.255.0
    • Gateway: 192.168.1.1, kar je tudi IP routerja, ki ga ima ob zagonu
  • zaženemo MacTFTP Client, izberemo image v File
  • povežemo LAN port routerja z računalnikom
  • vklopimo router in sprožimo Send. V primeru napake še nekajkrat pritisnemo Send ali rebootamo router ter poskusimo znova
  • ko je firmware uspešno prenesen počakamo 10min in rebootamo router

Windows

Za TFTP server postopek na operacijskem sistemu Windows upoštevamo naslednja navodila

Prenesemo TFTP server iz http://tftpd32.jounin.net

  • spremenimo mrežne nastavitve računalnika
    • IP računalnika: 192.168.1.100
    • Netmask: 255.255.255.0
    • Gateway: 192.168.1.1

Nato zaženemo TFTP server in v Current Directory izberemo mapo v kateri imamo shranjen wlan slovenija firmware. Pod server interface izberemo IP računalnika, ki smo ga skonfigurirali malo prej.