Table of Contents

Installing OpenWrt

The installation of OpenWrt is device specific. These device specific procedures should be found in the wiki. See Table of Hardware for available procedures. If your device is not listed, information in this Howto may be helpful.

Warning!
This section describes actions that might damage your device or firmware. Proceed with care!

:!: If your attempt to install OpenWrt fails, please view generic.debrick for fixes.

:!: This HOWTO is VERY generic. You cannot use it in most situations, as you have to adapt values and other parts for specific hardware. Please look at the supported hardware page for device-specific documentation.

In most circumstances; you have three options:

Four Installation Methods

There are four ways to install OpenWrt on a device:

Method 1: via OEM firmware

Open the WebUI of the OEM firmware with your web browser and install the OpenWrt factory firmware image file using the “Firmware Upgrade” option. Your device should reboot with OpenWrt installed.

NOTE: Sometimes the OEM firmware will only allow you to flash your device with a specific firmware file. If that is the case, you will not be able to install OpenWrt using this method. However, for some devices the build bots prepare tagged builds such that they are compliant with the firmwares from the manufacturer. This should be documented on the device specific page for your model.

Method 2: via Bootloader and an Ethernet port

Most, if not all bootloaders provide built-in functionality for this purpose. Some use a TFTP-client, others a TFTP-server, others a FTP-client, some an FTP-server, some a web server and some use the XMODEM-protocol.

Before proceeding you need to determine the following:

Once you know all of the above parameters, you may proceed.

  1. Install the appropriate software on your PC (i.e. if the bootloader uses an FTP-server, you need a FTP-client).
  2. Read the appropriate manual page ie: tftp, tftpd, ftp, ncftp, ftpd, pure-ftpd, etc ...
  3. Configure a static IP address for your PC interface in the same IP address block as pre-configured in the bootloader.
  4. Connect your PC to the device.
  5. Power cycle the device.
  6. Connect to the bootloader using the software you chose
  7. Install the OpenWrt firmware file.
  8. Do not overwrite or alter the bootloader until explicitly instructed to do so!

NOTES: Sometimes even the bootloader prevents you from flashing a non-OEM firmware. If you have a short time window, the connection between your computer and device needs to be established quickly. To make this as quick possible, you can disable auto-negotiation on your NIC and/or disable media sensing.

Specific Howtos

Method 3: via Bootloader and Serial port

Method 4: via JTAG

Install a ramdisk-image into main memory

This step shows you howto upload a new ramdisk image to the device. The existing firmware on the flash remains unchanged! You require a working serial cable to do the ramdisk upload.

  1. specifically select the RAMDISK option to make OpenWrt Buildroot create a ramdisk-image for you to upload
  2. connect an ethernet cable between your computer and one of the LAN ports (doesn't matter which, just so long as it's not the WAN port) of the WNDR3700.
  3. connect your serial cable to the header on the WNDR3700 and set your local terminal program (eg. minicom) to
    • 115200 bps 8N1
    • no software flow control
    • no hardware flow control.
  4. set your computer's ethernet port to use the IP address 192.168.0.10/24
  5. set up a TFTP server on your local computer to respond to requests on the 192.168.0.10 interface. Make sure that the ramdisk image (openwrt-ar71xx-uImage-lzma.bin) is in the directory used by the TFTP server.
  6. Fix the header for the ramdisk image so that it's recognized by the u-Boot firmware. Use the wndr3700.c program that was posted by *aorlinsk* on the forums here http://aorlinsk2.free.fr/openwrt/wndr3700/ and run it from the TFTP server's data directory. I've also reproduced the code here just in case:
    • ./wndr3700 openwrt-ar71xx-uImage-lzma.bin openwrt-fixed.out
  7. power up the board. When it gets to the message asking you to press any key to interrupt the normal bootup sequence, press a key on the serial console (or just hold down the enter key from first bootup until you get to a prompt):
  8. enter the following into the serial console:
    setenv ipaddr 192.168.0.1
    setenv serverip 192.168.0.10
    setenv bootargs 'board=WNDR3700'
    tftpboot 80800000 openwrt-fixed.out
    bootm

    (if you forget the bootargs piece below, the board will boot and look normal, but it won't be able to bring up any of the network interfaces!)

  9. The system should boot!

Concrete examples: wnr2000, ...

Don't forget to consult the other Generic Basic Howtos for OpenWrt

Installation Checklist

This checklist cannot and does not completely cover all the ways you can install OpenWrt.

Pre-Installation

Installation

Post-Installation