Knowledgebase
Uploading firmware using Mac OSX/UNIX via TFTP
Posted by on 19 November 2012 04:42 PM

Firstly you need to obtain the right firmware from the Draytek support site; you need to know the modem model and the type of WAN interface. For our Vigor2820Vn using “ADSL over POTS” with “Annexe A” as written on the packaging label, we needed to download the firmware file “Vigor2820+V3.3.0.1+AnnexA+211011.zip”.

Once you have downloaded the file you change to the same directory (eg: /tmp) or folder (eg: Desktop) with the ‘cd’ command and then unpack the ZIP archive.

On a Mac you can do this in a Terminal application window (to be found in Applications/Utilities). We’ll use the % prompt for MacOS specific command lines, the # prompt for UNIX specific command lines and $ where the command will work on either system. The bits you need to type are in bold.

% cd Desktop
or # cd /tmp
$ ls
Vigor2820+V3.3.0.1+AnnexA+211011.zip
$ unzip Vigor2820+V3.3.0.1+AnnexA+211011.zip
Archive:  Vigor2820+V3.3.0.1+AnnexA+211011.zip
  inflating: v2820_v03301_211011_A.all´┐Ż
  inflating: v2820_v03301_211011_A.rst
$ ls
Vigor2820+V3.3.0.1+AnnexA+211011.zip
v2820_v03301_211011_A.all
v2820_v03301_211011_A.rst
$

The firmware comes in two pieces. Use the .rst version of the file if you want to change the modem settings back to factory defaults, use the .all file to keep the current settings (.all may not be a good option if the modem is bricked).

Secondly you need an ethernet interface on your Mac or UNIX box set to the subnet 192.168.1.0 (eg: with IP address 192.168.1.2) so that you can talk to the modem at its default IP address of 192.168.1.1.

Under MacOS X you do this using ‘Network’ which is found in ‘System Preferences’. Choose to configure TCP/IP data ‘Manually’, set the IP Address field to 192.168.1.2 and the Subnet Mask to 255.255.255.0. The Router field doesn’t need to be set, but you could use 192.168.1.1. Nothing is required in the DNS or Search Domains fields.

To set an IP address on a UNIX box use ..

# ifconfig re0 inet 192.168.1.2 netmask 255.255.255.0

where you substitute the name of the interface you are using for “re0″.

Plug an ethernet lead into your UNIX box and into a LAN port on the modem, we used LAN port 1 on our Vigor2820Vn.

If the modem is up and running (and not bricked), you should now be able to ping it ..

$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=255 time=0.309 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=0.421 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=0.409 ms
^C
—-192.168.1.1 PING Statistics—-
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.309/0.380/0.421/0.050 ms$

If your modem is really bricked then the ping will only work when the modem is actually in TFTP upload mode as below. You can ignore this step, it just demonstrates that the ethernet cable is working.

Now we can upload the firmware. With the modem powered off, press and hold the factory reset button, then power up the modem. Continue to hold the button down until ’some’ of the lights flash together. On the Vigor2820Vn ’some’ is the left column of three. On the 2800 and 2910 the left two LEDs flash.

Release the button and on your UNIX/MacOS box type the following commands (note that the modem only stays in TFTP mode for a short time, you can actually type right up to the end of the put command and just press return when the left-hand modem lights start flashing).

$ tftp 192.168.1.1
tftp> binary
tftp> put v2820_v03301_211011_A.rst
Sent 4973144 bytes in 13.1 seconds
tftp> quit
$

There will be a pause after the ‘put’ command, but your modem ethernet port light should be flashing madly. The transfer is done when you get the “Sent” message. Quit the TFTP client and perhaps your Terminal session, there’s nothing more to see.

On the 2820 the column of 3 lights continued to flash, but gradually slowed down, speeded up, then slowed again. Eventually after a minute or two the modem rebooted in the normal fashion. Just be patient.

(1 vote(s))
Helpful
Not helpful

Comments (0)