User Tools

Site Tools

This wiki is read only and for archival purposes only. >>>>>>>>>> Please use the new OpenWrt wiki at <<<<<<<<<<

Documentation [Old]

This is the documentation section of the OpenWrt Wiki, if you want to contribute read Wiki Maintainers.
Supported Devices are listed in the Table of Hardware.
The old OpenWrt Manual can be found here.

Configuring OpenWrt


Recipes are articles explaining common OpenWrt setup scenarios like routed client mode.

Page Description
3g/UMTS dongle Use 3g/UMTS USB Dongle for WAN connection
Bridged AP Howto bridge wireless and ethernet in Access Point mode
Routed AP Howto to put wireless and ethernet in different subnets
Client Mode General discussion of client mode wireless
Routed Client Howto configure a routed or masqueraded wireless client
Bridged Client (Broadcom) Howto define a wireless client bridge with proprietary Broadcom drivers
WDS (Broadcom) Howto define AP-to-AP WDS with proprietary Broadcom drivers
WDS (Atheros) Howto setup AP-to-Sta WDS with madwifi and mac80211 drivers
Guest WLAN Howto define a WLAN for your guests
Dumb AP Make your router an plain Access Point that's really just that, no routing, no DHCP, no nothing


HOWTOs cover additional tasks possible with OpenWrt, e.g. setting up a printer server. Using the vanilla firmware, install packages via opkg and set up the configuration. Use the templates if you want to contribute.

Cat Page Description
Basic Howtos
beginner Basic Howtos Stuff explained on the Wiki-Pages for some devices, but not for others
beginner Basic Configuration A help for beginners, an overview for old stagers
network Act as Server Overview over overviews: Offer services over the network (overview)
network Act as Client Overview over overviews: Use services offered over the network (overview)
administer WebUIs Web User Interfaces related articles (overview)
administer Statistics Collect Statistical Data (overview)
sys Logging overview Log related articles (overview)
network Web Server overview HTTP Server related articles (overview)
network Proxy Server overview Proxy Server related articles (overview)
network Wireless Wireless related articles (overview)
network IPv6 IPv6 related articles (overview)
network E-Mail overview E-Mail related articles (overview)
network more than internet If you have Double Play/Triple Play/Quadruple Play
network VoIP everything VoIP related
network IPTV everything IPTV related
periphery USB overview USB related articles (overview)
periphery Printers Offer access to a printer connected to OpenWrt over the network
other Databases Setup Database management systems like MySQL, PostgreSQL, …
security Certificates Authentication with the help of certificates
security VPN overview Overview over the usage of VPNs
beginner Basic Understanding A help for beginners to understand their system better
Articles assortment
network Access Cable/DSL-Modem How to access your Cable-/DSL-Modem
network Configure Motorola cable modem How to configure your Motorola cable modem (DOCSIS)
network Traffic Control Packet Scheduler, QoS, Traffic Shaping, Traffic Prioritizing
network Netfilter Packet filter, firewall, iptables, ip6tables, ebtables, arptables
sys Bandwidth Monitoring How to track bandwidth usage
sys Obtain Firmware Four ways to obtain a Firmware-Image-File
network Dynamic DNS Create a domain name that points to your IP
network Define a DMZ Separate a switch port and make it a DMZ
sys EAD Installing and using the Emergency Access Daemon
sys Extroot Using external storage as root filesystem
sys Kexec Boot a kernel from internal flash and then execute another kernel on external storage
periphery I²C over USB Using USB-I²C adapters on OpenWrt
network NFS Server Howto setup a Network File System (NFS) server on OpenWrt
PulseAudio Since trunk 2011-01 we can install PulseAudio
NetBoot NetBoot
Qemu Running OpenWrt in Qemu
sys VirtualBox Running OpenWrt in VirtualBox
sys VMWare Running OpenWrt in VMWare
security wget Certificates Installing SSL certificates for wget
security Mini-Httpd & SSL How to get mini-httpd and SSL working
sys Hardware Buttons Make the Hardware Buttons toggle events
sys Xen Running OpenWrt in Xen
network UDP multicast IPTV / UDP multicast
util BoxBackup Running BoxBackup on OpenWrt
external links.external.howtos Not everything can be in this wiki
network Connect by L2TP Connect to ISP using L2TP with Dual Access
network Port Forwarding How to and examples of different cases of Port Forwarding
network Kerberos Server How to setup a Kerberos Server for secure authentication

UCI configuration

OpenWrts central configuration is located in the /etc/config/ directory.

The abbreviation UCI stands for Unified Configuration Interface and is intended to centralize the configuration of OpenWrt.

Configuration should be easy and straightforward, making life easier! UCI is all about that. It is the successor to the NVRAM-based configuration found in the White Russian series of OpenWrt. UCI can be seen as OpenWrt's main configuration user interface for the most important system settings. Typically, these are settings that are crucial for the functioning of the device, such as are typically found in the web interface of routers and embedded devices; that is, functionality that is integrated in the system builds. Examples are the main network interface configuration, wireless settings, logging functionality and remote access configuration.

In addition, selected third party programs have been made compatible with the UCI system, so these can be managed more easily as well. Many programs have their own configuration files lying around somewhere, like /etc/network/interfaces, /etc/exports, /etc/dnsmasq.conf or /etc/samba/smb.conf and they often use different syntaxes. With OpenWrt, you don't have to bother with any of them and need to change only the UCI configuration file(s). Of course, most of the software that you would like to install will not have been prepared for UCI configuration, which is a good thing, because oftentimes you will want the full power of an application's own configuration interface, as it was intended by the developers. Therefore, only a few selected programs which benefit from availability of a centralised configuration have been made UCI-compatible by the OpenWrt package maintainers (see the UCI configuration file list below).

Most applications (save some that are made in-house) are made UCI-compatible by the package maintainer by simply writing the original configuration file (which is read by the program) according to the chosen settings in the corresponding UCI file. This is done upon running the initialization scripts in /etc/init.d/. See Init scripts for more information. Thus, when starting a daemon with such a UCI-compatible initialization script, you should be aware that the program's original configuration file gets overwritten. For example, in the case of Samba/CIFS, the file /etc/samba/smb.conf is overwritten with UCI settings from the UCI configuration file /etc/config/samba when running /etc/init.d/samba start. In addition, the application's configuration file is often stored in RAM instead of in flash, because it does not need to be stored in non-volatile memory and it is rewritten after every change, based on the UCI file. There are ways to disable UCI in case you want to adjust settings in the original configuration file not available through UCI. FIXME add the recommended way please, or link to it.
On cifs.server you can see how to disable UCI for samba.

For those non-UCI compatible programs, there is a convenient list of some non-UCI configuration files you may want to tend to. Note that, for most third party programs, you should consult the program's own documentation.

→


These articles focus on compiling OpenWrt sources.

Page Description
OpenWrt Buildroot — About About OpenWrt Buildroot
OpenWrt Buildroot – Installation Setting up an OpenWrt build system
OpenWrt Buildroot – Usage Using the build system to compile OpenWrt
Build VM Using the build system to compile OpenWrt within a virtual machine
Feeds Working with package feeds
Image Generator The Image Generator (aka Image builder) lets you create custom images without having to compile or setting up a build system
SDK Using the SDK to compile package sources

Build HOWTOs

Build-HowTos include doing things from scratch and then using the Build System to obtain an own firmware (see template_howtobuild):

Page Description
Netgear WNDR3700 Build the Netgear WNDR3700 firmware
Seagate Dockstar Build the Seagate Dockstar firmware
TP-Link TL-MR3420 Build the TP-Link TL-MR3420 firmware
3G-Dongle Build firmware including UMTS-Modem support
single package Compile and package only one single package


Documentation of specific development related tasks.

Page Description
First Steps First Steps on an unsupported device
Add a platform General considerations for adding new platform support
Add a device Howto add support for a new device
Kernel stuff
drivers Stuff related to drivers
Debugging On Debugging
Build environments Manage different configurations and files in a single Buildroot
Software Libraries What libraries you could use
Crosscompile Cross compile sources into binaries without packaging them
Packages Packaging software
Feeds Working with package feeds
Dependencies Using dependencies for packages
Patches Adding, modifying and refreshing patches
Bugs Reporting and tracking bugs
UCI-Lua Lua bindings for UCI
LuCI Developing LuCI addons
Config scripting Using UCI configuration files in shell scripts
Network scripting Network scripting and protocol handler API
GNU Debugger Howto use the GNU Debugger
Eclipse IDE Howto use the Eclipse IDE including GNU Debugger

Technical references

Articles covering background information and technical description of various OpenWrt components.

Page Description
OPKG OPKG package manager reference
mtd mtd utility reference
sysupgrade sysupgrade script
UCI UCI reference
LuCI LuCI reference (Homepage)
netifd Netifd (Network Interface Daemon) reference
Flash Layout How data is stored on the flash
Filesystems About the different file systems
The Bootloader About Booloaders
Booting About the boot process
Init Scripts Init script implementation reference
Preinit Preinit, Mount Root, and First Boot Scripts
Block Mount Block Device Mounting
Hotplug Hotplug
Boot & Init Requirements What the new init system needs to do to be feature complete compared to current, and goals for improvement
brcm63xx.imagetag Information on the firmware image format for brcm63xx
TRX vs TRX2 vs BIN Information on the different file types
External Documentation Links to external documentation

Frequently Asked Questions (FAQ)

zh-tw/doc/oldstart.txt · Last modified: 2016/04/03 15:32 by hentai_ojisan