OpenWrt
Encyclopedia
OpenWrt is a Linux distribution
primarily targeted at routing on embedded devices
. It comprises a set of about 2000 software packages
, installed and uninstalled via the opkg
package management system. OpenWrt can be configured using the command-line interface of BusyBox
ash, or the web interface LuCI.
OpenWrt can be run on CPE
routers, residential gateway
s, smartphone
s (e.g. Neo FreeRunner
), pocket computer
s (e.g. Ben NanoNote
), and small laptop
s (e.g. One Laptop per Child (OLPC). But it is also possible to run on ordinary computers (e.g. x86).
The project incorporates a wiki
, a forum
, SVN source version control and Trac
for project management, bug-tracking, and code development. Additional technical support is also provided via Internet Relay Chat
(IRC).
The X-Wrt
project provides an alternate web interface, webif², for current and previous version of OpenWrt. It has more than 40 control and status pages.
for their WRT54G wireless router from publicly-available code licensed under the GPL
. Under the terms of that license, they were required to make the source code of their modified version available under the same license, enabling independent developers to create additional derivative versions. Support was originally limited to the WRT54G series, but has since been expanded to include many other chipsets, manufacturers and device types, including Plug Computer
s and Openmoko
mobile phones.
Using this code as a base and later as a reference, developers created a distribution that offers many features not previously found in consumer-level routers. Some features formerly required proprietary software. Before the introduction of OpenWrt 8.09, using Linux 2.6.25, and the b43 kernel module, WLAN for many Broadcom
-based routers was only available through the proprietary wl.o module that was also only provided for Linux 2.4.
and placing them under the GPL without being authorized to do so by the copyright holders. Each group denies the other's allegations.
s, usually including their recipes in the SSH login screen as well.
The bleeding edge development trunk was confusingly also called Kamikaze until February 2011 but with r25514 it was renamed as "Attitude Adjustment".
Linux distribution
A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...
primarily targeted at routing on embedded devices
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...
. It comprises a set of about 2000 software packages
Software package (installation)
In package management systems, which are commonly used with Linux-based operating systems, a package is a specific piece of software which the system can install and uninstall....
, installed and uninstalled via the opkg
Opkg
Opkg is a lightweight package management system based upon the now defunct ipkg. It is written in C and resembles APT/dpkg in operation. It is intended for use on embedded Linux devices and is used in this capacity in the OpenEmbedded and OpenWrt projects....
package management system. OpenWrt can be configured using the command-line interface of BusyBox
BusyBox
BusyBox provides several stripped-down Unix tools in a single executable. It runs in a variety of POSIX environments such as Linux, Android, FreeBSD and others, such as proprietary kernels, although many of the tools it provides are designed to work with interfaces provided by the Linux kernel. It...
ash, or the web interface LuCI.
OpenWrt can be run on CPE
Customer-premises equipment
Customer-premises equipment or customer-provided equipment is any terminal and associated equipment located at a subscriber's premises and connected with a carrier's telecommunication channel at the demarcation point...
routers, residential gateway
Residential gateway
A residential gateway is a home networking device, used as a gateway to connect devices in the home to the Internet or other WAN.It is an umbrella term, used to cover multi-function networking computer appliances used in homes, which may combine a DSL or cable modem, a firewall, a consumer-grade...
s, smartphone
Smartphone
A smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...
s (e.g. Neo FreeRunner
Neo FreeRunner
The Neo FreeRunner is an open source smartphone that is developed by the Openmoko project and manufactured by FIC...
), pocket computer
Pocket computer
A pocket computer is a small calculator-sized handheld programmable computer.This specific category of computers existed primarily in the 1980s. Manufacturers included Casio, Hewlett-Packard, Sharp, Tandy/Radio Shack and many more.The programming language was usually BASIC, but some devices...
s (e.g. Ben NanoNote
Ben NanoNote
The Ben NanoNote is a small cheap pocket computer that runs Linux. OpenWrt is the software platform and the Ben Nanonote is the physical development platform for the Qi Hardware project.From the Ben Nanonote website:- History :...
), and small laptop
Laptop
A laptop, also called a notebook, is a personal computer for mobile use. A laptop integrates most of the typical components of a desktop computer, including a display, a keyboard, a pointing device and speakers into a single unit...
s (e.g. One Laptop per Child (OLPC). But it is also possible to run on ordinary computers (e.g. x86).
The project incorporates a wiki
Wiki
A wiki is a website that allows the creation and editing of any number of interlinked web pages via a web browser using a simplified markup language or a WYSIWYG text editor. Wikis are typically powered by wiki software and are often used collaboratively by multiple users. Examples include...
, a forum
Internet forum
An Internet forum, or message board, is an online discussion site where people can hold conversations in the form of posted messages. They differ from chat rooms in that messages are at least temporarily archived...
, SVN source version control and Trac
Trac
Trac is an open source, web-based project management and bug-tracking tool. The program is inspired by CVSTrac, and was originally named svntrac due to its ability to interface with Subversion. It is developed and maintained by Edgewall Software....
for project management, bug-tracking, and code development. Additional technical support is also provided via Internet Relay Chat
Internet Relay Chat
Internet Relay Chat is a protocol for real-time Internet text messaging or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file...
(IRC).
Features
The features include:- A writable root file systemRoot directoryIn computer file systems, the root directory is the first or top-most directory in a hierarchy. It can be likened to the root of a tree — the starting point where all branches originate.-Metaphor:...
, enabling users to add, remove or modify any file. This is accomplished by using mini_fo to overlay a read-only compressed SquashFSSquashFSSquashFS is a compressed read-only file system for Linux. SquashFS compresses files, inodes and directories, and supports block sizes up to 1 MB for greater compression...
file system with a writable JFFS2JFFS2Journalling Flash File System version 2 or JFFS2 is a log-structured file system for use with flash memory devices. It is the successor to JFFS. JFFS2 has been included in the Linux kernel since the 2.4.10 release. JFFS2 is also available for a couple of bootloaders like Das U-Boot, Open...
file system in a copy-on-writeCopy-on-writeCopy-on-write is an optimization strategy used in computer programming. The fundamental idea is that if multiple callers ask for resources which are initially indistinguishable, they can all be given pointers to the same resource...
fashion. - Flash wear levelingWear levelingWear leveling is a technique for prolonging the service life of some kinds of erasable computer storage media, such as Flash memory used in solid-state drives and USB Flash drives...
using JFFS2. - The package manager opkg, similar to dpkgDpkgdpkg is the software at the base of the Debian package management system. dpkg is used to install, remove, and provide information about .deb packages....
or pacman, allowing users to install and remove software. This contrasts with Linux-based firmwares based on a read-only file systems that offers efficient compression but no way to modify the installed software without rebuilding and flashing a complete firmware image. - A package repository containing about 2,000 packages, chiefly ones suited for an environment with limited resources.
- Sysupgrade, preserving selected configuration files on firmware upgrade.
- a set of scripts called UCI (unified configuration interface) intended to unify and simplify the configuration of the entire system
- extensible configuration of your network involving VLAN with exhaustive possibilities to configure the routingRoutingRouting is the process of selecting paths in a network along which to send network traffic. Routing is performed for many kinds of networks, including the telephone network , electronic data networks , and transportation networks...
itself - customizable methods to filter, manipulate, delay and rearrange network packets:
- FirewallFirewall (computing)A firewall is a device or set of devices designed to permit or deny network transmissions based upon a set of rules and is frequently used to protect networks from unauthorized access while permitting legitimate communications to pass....
- Port ForwardingPort forwardingPort forwarding or port mapping is a name given to the combined technique of# translating the address and/or port number of a packet to a new destination# possibly accepting such packet in a packet filter...
of external traffic to computers behind NATNetwork address translationIn computer networking, network address translation is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device....
inside the LANLocal area networkA local area network is a computer network that interconnects computers in a limited area such as a home, school, computer laboratory, or office building... - Quality of ServiceQuality of serviceThe quality of service refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements...
for simultaneous use of applications such as VoIP, online gamingOnline gameAn online game is a game played over some form of computer network. This almost always means the Internet or equivalent technology, but games have always used whatever technology was current: modems before the Internet, and hard wired terminals before modems...
, and streaming mediaStreaming mediaStreaming media is multimedia that is constantly received by and presented to an end-user while being delivered by a streaming provider.The term "presented" is used in this article in a general sense that includes audio or video playback. The name refers to the delivery method of the medium rather... - Traffic shapingTraffic shapingTraffic shaping is the control of computer network traffic in order to optimize or guarantee performance, improve latency, and/or increase usable bandwidth for some kinds of packets by delaying other kinds of packets that meet certain criteria...
to ensure fair distribution of bandwidth among users - Load balancing for use with multiple ISPs
- IP tunneling
- Realtime network monitoringNetwork monitoringThe term network monitoring describes the use of a system that constantly monitors a computer network for slow or failing components and that notifies the network administrator in case of outages...
and statistics
- Firewall
- Static DHCP leases
- UPnP and NAT-PMP for dynamically configured port forwarding
- Use of Dynamic DNSDynamic DNSDynamic DNS or DDNS is a term used for the updating in real time of Internet Domain Name System name servers to keep up to date the active DNS configuration of their configured hostnames, addresses and other information....
services to maintain a fixed domain name with an ISPInternet service providerAn Internet service provider is a company that provides access to the Internet. Access ISPs directly connect customers to the Internet using copper wires, wireless or fiber-optic connections. Hosting ISPs lease server space for smaller businesses and host other people servers...
that does not provide a static IP addressIP addressAn Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing... - On devices with USB ports only:
- 3G modem supportWireless modemA wireless modem is a type of modulator-demodulator which connects to a wireless network instead of using telephone or cable television lines...
- Printer sharingPrint serverA print server, or printer server, is a device that connects printers to client computers over a network. It can accept print jobs from the computers and send the jobs to the appropriate printers....
- Windows-compatible file sharingFile sharingFile sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia , documents, or electronic books. It may be implemented through a variety of ways...
(via SAMBASambaSamba is a Brazilian dance and musical genre originating in Bahia and with its roots in Brazil and Africa via the West African slave trade and African religious traditions. It is recognized around the world as a symbol of Brazil and the Brazilian Carnival...
) - File sharing via NFS and FTP
- Audio/Video streaming via DLNA/UPnP AV
- iTunesITunesiTunes is a media player computer program, used for playing, downloading, and organizing digital music and video files on desktop computers. It can also manage contents on iPod, iPhone, iPod Touch and iPad....
(DAAPDigital Audio Access ProtocolThe Digital Audio Access Protocol is the proprietary protocol introduced by Apple in its iTunes software to share media across a local network....
) server - WebcamWebcamA webcam is a video camera that feeds its images in real time to a computer or computer network, often via USB, ethernet, or Wi-Fi.Their most popular use is the establishment of video links, permitting computers to act as videophones or videoconference stations. This common use as a video camera...
streaming - USB audio
- 3G modem support
- An extensive AjaxAjax (programming)Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
-enabled web interface, thanks to the LuCI project - Configuration of the device as a wireless repeaterWireless RepeaterWhen two or more hosts ought to be connected with one another over the IEEE 802.11 protocol and the distance is too long for a direct connection to be established, a wireless repeater is used to bridge the gap. It can be a specialized stand alone computer networking device. Also, some WNICs...
, wireless access pointWireless access pointIn computer networking, a wireless access point is a device that allows wireless devices to connect to a wired network using Wi-Fi, Bluetooth or related standards...
, wireless bridgeWireless bridgeA wireless bridge is a hardware component used to connect two or more network segments which are physically and logically separated. It does not necessarily always need to be a hardware device, as some operating systems provide software to bridge different protocols...
, or a combination of these - Mesh networking
- User-configurable hardware buttons
- Regular bug fixes and updates, even for devices no longer supported by their manufacturers
Web interface
Before release 8.09, OpenWrt had a minimal web interface. In release 8.09 a new, more capable web interface is included. This interface is based on LuCI, an MVC framework written in Lua.The X-Wrt
X-Wrt
X-Wrt is a set of packages and patches to provide a web interface for the Linux distribution OpenWrt. Although OpenWrt includes the X Window System which provides a graphical interface when installed on systems with video display capabilities, this feature is unavailable on residential gateways...
project provides an alternate web interface, webif², for current and previous version of OpenWrt. It has more than 40 control and status pages.
History
The project came into being after Linksys built the firmwareFirmware
In electronic systems and computing, firmware is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices...
for their WRT54G wireless router from publicly-available code licensed under the GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
. Under the terms of that license, they were required to make the source code of their modified version available under the same license, enabling independent developers to create additional derivative versions. Support was originally limited to the WRT54G series, but has since been expanded to include many other chipsets, manufacturers and device types, including Plug Computer
Plug computer
A plug computer is a small form factor server for use in the home or office. Compared to their PC-based counterparts, plug computers are lower cost, consume less power, often do not have a video card, and are intended to be powered up at all times...
s and Openmoko
Openmoko
Openmoko is a project to create a family of open source mobile phones, including the hardware specification and the operating system. The project was sponsored by Openmoko Inc....
mobile phones.
Using this code as a base and later as a reference, developers created a distribution that offers many features not previously found in consumer-level routers. Some features formerly required proprietary software. Before the introduction of OpenWrt 8.09, using Linux 2.6.25, and the b43 kernel module, WLAN for many Broadcom
Broadcom
Broadcom Corporation is a fabless semiconductor company in the wireless and broadband communication business. The company is headquartered in Irvine, California, USA. Broadcom was founded by a professor-student pair Henry Samueli and Henry T. Nicholas III from the University of California, Los...
-based routers was only available through the proprietary wl.o module that was also only provided for Linux 2.4.
Sveasoft controversy
On 2006-03-11, the OpenWrt developers publicly announced that Sveasoft had violated its GPL license terms, and that Sveasoft's continuing distribution of OpenWrt was prohibited. In return, Sveasoft claimed that OpenWrt was illegally redistributing software copyrighted by Sveasoft and BroadcomBroadcom
Broadcom Corporation is a fabless semiconductor company in the wireless and broadband communication business. The company is headquartered in Irvine, California, USA. Broadcom was founded by a professor-student pair Henry Samueli and Henry T. Nicholas III from the University of California, Los...
and placing them under the GPL without being authorized to do so by the copyright holders. Each group denies the other's allegations.
Naming
Several major versions of OpenWrt were named after alcoholic beverageAlcoholic beverage
An alcoholic beverage is a drink containing ethanol, commonly known as alcohol. Alcoholic beverages are divided into three general classes: beers, wines, and spirits. They are legally consumed in most countries, and over 100 countries have laws regulating their production, sale, and consumption...
s, usually including their recipes in the SSH login screen as well.
- 0.9: White RussianWhite Russian (cocktail)A White Russian is a sweet cocktail made with vodka, coffee liqueurs , and cream served with ice in an Old Fashioned glass...
- legacy - 2007 January - 7.06: KamikazeKamikaze (cocktail)The Kamikaze is made of two to one parts vodka, triple sec and lemon juice. According to the International Bartenders Association, it is served straight up in a cocktail glass. Garnish is typically a wedge or twist of lime....
- 2007 June - 7.07: Kamikaze - 2007 July
- 7.09: Kamikaze - 2007 September
- 8.09: Kamikaze - 2008 September
- 8.09.1: Kamikaze - 2009 June
- 8.09.2: Kamikaze - 2010 January
- 10.03: Backfire - current stable - 2010 April
- 10.03.1: Backfire next stable - not released
- Bleeding edge: Attitude Adjustment - development
The bleeding edge development trunk was confusingly also called Kamikaze until February 2011 but with r25514 it was renamed as "Attitude Adjustment".
Derivatives
- Chillifire - OpenWrt-based firmware with focus on wireless hotspot management
- Coova - OpenWrt-based with focus on wireless hotspots.
- Midge LinuxMidge LinuxMidge Linux is an OpenWrt Linux-based firmware distribution for devices based on Infineon Technologies ADM-5120 System-on-a-chip, such as Edimax BR-6104K and BR-6104KP....
- PacketProtectorPacketProtectorPacketProtector is an OpenWrt based firmware replacement for wireless routers such as the Linksys WRT54G series and Asus Routers, with a focus on security tools. In addition to the functionality provided by OpenWrt, additional added packages include Snort, Snort-inline, OpenVPN, DansGuardian and...
- OpenWrt-based security distribution that includes IDS, IPSInternet Provider SecurityInternet Provider Security tags are used by Internet Service Providers to allow control of the Domain Name System . An IPS tag is the case sensitive label that applies to each ISP and is required to transfer domain names from one ISP to another...
, VPNVirtual private networkA virtual private network is a network that uses primarily public telecommunication infrastructure, such as the Internet, to provide remote offices or traveling users access to a central organizational network....
, and web antivirus capabilities. - FreifunkFreifunkFreifunk.net is a non-commercial open Grassroots initiative to support free radio networks in the German region. Freifunk.net is part of the international movement for free and wireless radio networks...
- German software supports wireless mesh networks with OLSR, based on OpenWrt, available in several languages. - RO.B.IN - ROBIN (ROuting Batman INside) is an FOSS mesh networkMesh networkingMesh networking is a type of networking where each node must not only capture and disseminate its own data, but also serve as a relay for other nodes, that is, it must collaborate to propagate the data in the network....
project, deployed on top of OpenWrt kamikaze, running on any Atheros AP51 routers and using the B.A.T.M.A.N.B.A.T.M.A.N.The Better Approach To Mobile Adhoc Networking, or B.A.T.M.A.N., is a routing protocol which is currently under development by the “Freifunk”-Community and intended to replace OLSR....
routing algorithm. - GargoyleGargoyle (router firmware)Gargoyle is a free OpenWrt-based Linux distribution for a range of Broadcom chipset based wireless routers, mainly the older-model Linksys WRT54G , Asus Routers and Netgear WNR3500L...
- A web interface for OpenWrt with a strong emphasis on usability. It was originally available as a set of packages for OpenWrt. As the author of Gargoyle started to make modifications to the base system layout of OpenWrt, the package system was dropped and the only currently available downloads are full firmware images. Gargoyle makes extensive use of JavaScript, to offload as much work as possible to the client computer, and is focused on ease of use, striving to reach a level comparable to the appliance feel of commercial router firmware. - FreeWRT - A fork of the OpenWrt project.
- Obelisco - (Website in Spanish)
- FONFONFon is a company that operates a system of dual access wireless networks. Fon is the largest Wi-Fi network in the world, with over 4 million hotspots....
- OpenWrt-based wireless routers acting as hotspots. Sources and toolchain available on fonosfera.org - Flukso - Wireless sensor nodes using an Atheros AR2317 chipset running a patched OpenWrt OS for communication. Sources and hardware schematics available on Github.
- LibreWRT - OpenWrt-based GNU/Linux-libre distribution for computers with minimal resources, such as the Ben NanonoteBen NanoNoteThe Ben NanoNote is a small cheap pocket computer that runs Linux. OpenWrt is the software platform and the Ben Nanonote is the physical development platform for the Qi Hardware project.From the Ben Nanonote website:- History :...
, ath9k based wifi routers, and other hardware. - OpenWRT/MLPPP - A fork of OpenWrt and Linux/MLPPP. Offers a better than stock MLPPP implementation (to avoid DPI-based throttling and for line bonding) by using Linux/MLPPP code. Developed by Canadian ISP's Acanac and Caneris, it also features web interface tweaks (mostly to make initial setup and basic configuration easier on the average user) and comes pre-packaged with consumer-oriented features like USB support for their most popular hardware and QoS scripts.
- X-WrtX-WrtX-Wrt is a set of packages and patches to provide a web interface for the Linux distribution OpenWrt. Although OpenWrt includes the X Window System which provides a graphical interface when installed on systems with video display capabilities, this feature is unavailable on residential gateways...
- Enhancements to the OpenWrt web interface. - CeroWrt - CeroWrt purpose is to complement the debloat-testing kernel tree and provide a platform for real-world testing of bufferbloatBufferbloatBufferbloat is a phenomenon in a packet-switched computer network whereby excess buffering of packets inside the network causes high latency and jitter, as well as reducing the overall network throughput...
fixes.