OpenWRT 8
   HOME

TheInfoList



OR:

OpenWrt (from ''open wireless router'') is an open-source project for
embedded operating system An embedded operating system is an operating system for embedded computer systems. Embedded operating systems are computer systems designed to increase functionality and reliability for achieving a specific task. Resource efficiency comes at the ...
s based on Linux, primarily used on embedded devices to
route Route or routes may refer to: * Route (gridiron football), a path run by a wide receiver * route (command), a program used to configure the routing table * Route, County Antrim, an area in Northern Ireland * ''The Route'', a 2013 Ugandan film * Ro ...
network traffic. The main components are Linux, util-linux, musl, and BusyBox. All components have been optimized to be small enough to fit into the limited storage and memory available in home routers. OpenWrt is configured using a
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
(
ash Ash or ashes are the solid remnants of fires. Specifically, ''ash'' refers to all non-aqueous, non- gaseous residues that remain after something burns. In analytical chemistry, to analyse the mineral and metal content of chemical samples, ash ...
shell) or a web interface (LuCI). There are about 8000 optional software packages available for installation via the opkg package management system. OpenWrt can run on various types of devices, including CPE routers, residential gateways, smartphones, pocket computers (e.g.
Ben NanoNote The Ben NanoNote (officially the 本 NanoNote)Melanson, Donald"Qi Hardware's tiny, hackable Ben NanoNote now shipping" ''Engadget'', 15 March 2010 (accessed 1 November 2012) is a pocket computer using the Linux-based OpenWrt operating system. An ...
). It is also possible to run OpenWrt on personal computers and
laptop A laptop, laptop computer, or notebook computer is a small, portable personal computer (PC) with a screen and alphanumeric keyboard. Laptops typically have a clam shell form factor with the screen mounted on the inside of the upper li ...
s.


History

The OpenWrt project was started in 2004 after Linksys had built the
firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
for their WRT54G series of wireless routers with code licensed under the GNU General Public License. Under the terms of that license, Linksys was required to make the source code of its modified version available under the same license, which enabled independent developers to create derivative versions. Support was originally limited to the WRT54G series, but has since been expanded to include many other routers and devices from many different manufacturers. Using this code as a base and later as a reference, developers created a
Linux distribution A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one ...
that offers many features not previously found in consumer-level routers. Early on some features required proprietary software. For example, prior to OpenWrt 8.09 (based on Linux 2.6.25 and the b43 kernel module) WLAN for many Broadcom-based routers could only be had via the proprietary wl.o module (and which required Linux 2.4.x). OpenWrt releases were historically named after cocktails, such as White Russian, Kamikaze, Backfire, Attitude Adjustment, Barrier Breaker and Chaos Calmer, and their recipes were included in the message of the day (motd) displayed after logging in using the
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
. In May 2016, OpenWrt was forked by a group of core OpenWrt contributors due to disagreements on internal process. The fork was dubbed Linux Embedded Development Environment (LEDE). The schism was reconciled a year later. Following the remerger, announced in January 2018, the OpenWrt branding is preserved, with many of the LEDE processes and rules used. The LEDE project name was used for v17.01, with development versions of 18.01 branded OpenWrt, dropping the original cocktail based naming scheme. "


Releases


LEDE

The Linux Embedded Development Environment (LEDE) project was a fork of the OpenWrt project and shared many of the same goals. It was created in May 2016 by a group of core OpenWrt contributors due to disagreements on OpenWrt internal processes. The schism was nominally reconciled a year later in May 2017 pending approval of the LEDE developers. The remerger preserves the OpenWrt branding, but uses many of the LEDE processes and rules. The remerge proposal vote was passed by LEDE developers in June 2017, and formally announced in January 2018. The merging process was completed before the OpenWrt 18.06 release.


Features

OpenWrt features a writeable
root file system In a computer file system, and primarily used in the Unix and Unix-like operating systems, the root directory is the first or top-most directory in a hierarchy. It can be likened to the trunk of a tree, as the starting point where all branche ...
, enabling users to modify any file and easily install additional software. This is in contrast with other firmware based on read-only file systems which don't allow modifying installed software without rebuilding and flashing a complete firmware image. This is accomplished by overlaying a read-only compressed SquashFS file system with a writeable JFFS2 file system using overlayfs. Additional software can be installed with the ''opkg'' package manager and the package repository contains approximately 8000 packages (by 2022). OpenWrt can be configured through either a
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
or a web interface called LuCI. OpenWrt provides set of scripts called UCI (unified configuration interface) to unify and simplify configuration through the command-line interface. Additional web interfaces, such as Gargoyle, are also available. OpenWrt provides regular bug fixes and security updates even for devices that are no longer supported by their manufacturers. OpenWrt provides exhaustive possibilities to configure common network-related features, like
IPv4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version de ...
, IPv6,
DNS The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to ...
, DHCP,
routing Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone netw ...
,
firewall Firewall may refer to: * Firewall (computing), a technological barrier designed to prevent unauthorized or unwanted communications between computer networks or hosts * Firewall (construction), a barrier inside a building, designed to limit the spre ...
,
NAT Nat or NAT may refer to: Computing * Network address translation (NAT), in computer networking Organizations * National Actors Theatre, New York City, U.S. * National AIDS trust, a British charity * National Archives of Thailand * National As ...
, port forwarding and WPA. Other features include: * Extensible configuration of the entire hardware drivers, e.g. built-in network switches and their VLAN-capabilities, WNICs, DSL modems, FX, available hardware buttons, etc. *
Mesh networking A mesh network is a local area network topology in which the infrastructure nodes (i.e. bridges, switches, and other infrastructure devices) connect directly, dynamically and non-hierarchically to as many other nodes as possible and cooperate wit ...
through
B.A.T.M.A.N. The Better Approach to Mobile Ad-hoc Networking (B.A.T.M.A.N.) is a routing protocol for Multi-hop routing, multi-hop mobile ad hoc networks which is under development by the German "Freifunk" community and intended to replace the Optimized Link ...
, OLSR and
IEEE 802.11s IEEE 802.11s is a wireless local area network (WLAN) standard and an IEEE 802.11 amendment for mesh networking, defining how wireless devices can interconnect to create a wireless LAN mesh network, which may be used for relatively fixed (not mobile) ...
-capabilities of the WNIC drivers and other ad hoc mesh routing protocols that have been implemented within Linux. * Wireless functionality, e.g. make the device act as a
wireless repeater A wireless repeater (also called wireless range extender or wifi extender) is a device that takes an existing signal from a wireless router or wireless access point and rebroadcasts it to create a second network. When two or more hosts have to ...
, a wireless access point, a
wireless bridge A network bridge is a computer networking device that creates a single, aggregate network from multiple communication networks or network segments. This function is called network bridging. Bridging is distinct from routing. Routing allows m ...
, a captive portal, or a combination of these with e.g. ChilliSpot,
WiFiDog Captive Portal WiFiDog was an open source embeddable captive portal solution used to build wireless hotspots. It is no longer an active project after not being updated for several years. WiFiDog consists of two components: the ''gateway'' and the ''authenticatio ...
, etc. * Wireless security: Packet injection, e.g
Airpwn
lorcon lorcon (acronym for ''Loss Of Radio CONnectivity'') is an open source network tool. It is a library for injecting 802.11 (WLAN) frames, capable of injecting via multiple driver frameworks, without the need to change the application code. Lorcon is ...
, e.a. * Dynamically-configured port forwarding protocols
UPnP Universal Plug and Play (UPnP) is a set of networking protocols that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices to seamlessly discover each other's presence on the n ...
and NAT-PMP through upnpd, etc. *
Port knocking In computer networking, port knocking is a method of externally opening ports on a firewall by generating a connection attempt on a set of prespecified closed ports. Once a correct sequence of connection attempts is received, the firewall rules a ...
* TR-069 (CWMP) client *
IPS IPS, ips, or iPS may refer to: Science and technology Biology and medicine * ''Ips'' (genus), a genus of bark beetle * Induced pluripotent stem cell or iPS cells * Intermittent photic stimulation, a neuroimaging technique * Intraparietal sulcus ...
via
Snort Snort may refer to: * Nose-blowing * Sniffle * Nasal administration, the inhaling of drugs through the nose * Snort (software), a package for intrusion detection * Snort, a map-coloring game * Insufflation, the act of blowing, breathing, hissing, ...
* Active queue management (AQM) through the network scheduler of the Linux kernel, with many available queuing disciplines.
CoDel CoDel (''Controlled Delay''; pronounced "coddle") is an active queue management (AQM) algorithm in network routing, developed by Van Jacobson and Kathleen Nichols and published as RFC8289. It is designed to overcome bufferbloat in networking har ...
has been backported to Kernel 3.3. This encapsulates Traffic shaping to ensure fair distribution of bandwidth among multiple users and quality of service (QoS) for simultaneous use of applications such as VoIP, online gaming, and
streaming media Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
without experiencing the negative impacts of link saturation. * Load balancing for use with multiple ISPs using source-specific routing * IP tunneling ( GRE, OpenVPN, pseudowire, etc.) * Extensible realtime network monitoring and statistics through e.g. RRDtool, Collectd,
Nagios Nagios Core , formerly known as Nagios, is a free and open-source computer-software application that monitors systems, networks and infrastructure. Nagios offers monitoring and alerting services for servers, switches, applications and services. ...
, Munin lite,
Zabbix Zabbix is an open-source software tool to monitor IT infrastructure such as networks Network, networking and networked may refer to: Science and technology * Network theory, the study of graphs as a representation of relations between discre ...
, etc. *
Dynamic DNS Dynamic DNS (DDNS) is a method of automatically updating a name server in the Domain Name System (DNS), often in real time, with the active DDNS configuration of its configured hostnames, addresses or other information. The term is used to desc ...
services to maintain a fixed domain name with an ISP that does not provide a static IP address * OpenWrt supports any hardware that has Linux support; devices that can be connected (e.g. over USB) include ** Printers ** Mobile broadband modems ** Webcams ** Sound cards * Notable software packages to use the hardware support are ** File sharing via
SAMBA Samba (), also known as samba urbano carioca (''urban Carioca samba'') or simply samba carioca (''Carioca samba''), is a Brazilian music genre that originated in the Afro-Brazilian communities of Rio de Janeiro in the early 20th century. Havin ...
, (Windows-compatible), NFS, FTP, SFTP. Printer sharing over the print server
CUPS CUPS (formerly an acronym for Common UNIX Printing System) is a modular computer printer, printing system for Unix-like computer operating systems which allows a computer to act as a print server. A computer running CUPS is a Server (computi ...
(spooling) or p910nd (non-spooling) ** PulseAudio, Music Player Daemon, Audio/Video streaming via DLNA/ UPnP AV standards,
iTunes iTunes () is a software program that acts as a media player, media library, mobile device management utility, and the client app for the iTunes Store. Developed by Apple Inc., it is used to purchase, play, download, and organize digital mul ...
( DAAP) server ** Asterisk (PBX) ** MQ Telemetry Transport through Mosquitto


Development

OpenWrt's development environment and build system, known together as ''OpenWrt Buildroot'', are based on a heavily modified Buildroot system. OpenWrt Buildroot is a set of
Makefile In software development, Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called ''Makefiles'' which specify how to derive the target program. Though integrated develo ...
s and patches that automates the process of building a complete Linux-based OpenWrt system for an embedded device, by building and using an appropriate
cross-compilation A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on an Android smartphone is a cross ...
toolchain. Embedded devices usually use a different processor than the one found in host computers used for building their OpenWrt system images, requiring a cross-compilation toolchain. Such a compilation toolchain runs on a host system but generates code for a targeted embedded device and its processor's
instruction set architecture In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ' ...
(ISA). For example, if a host system uses x86 and a target system uses
MIPS32 MIPS (Microprocessor without Interlocked Pipelined Stages) is a family of reduced instruction set computer (RISC) instruction set architectures (ISA)Price, Charles (September 1995). ''MIPS IV Instruction Set'' (Revision 3.2), MIPS Technologies, ...
, the regular compilation toolchain of the host runs on x86 and generates code for x86 architecture, while the cross-compilation toolchain runs on x86 and generates code for the MIPS32 architecture. OpenWrt Buildroot automates this whole process to work on the instruction set architectures of most embedded devices and host systems. OpenWrt Buildroot provides the following features: * Makes it easy to port software across architectures * Uses kconfig (Linux kernel
menuconfig make menuconfig is one of five similar tools that can configure Linux source, a necessary early step needed to compile the source code. make menuconfig, with a menu-driven user interface, allows the user to choose the features of Linux (and othe ...
) for the configuration of all options * Provides an integrated cross-compiler toolchain ( gcc, ld,
uClibc __NOTOC__ In computing, uClibc (sometimes written µClibc) is a small C standard library intended for Linux kernel-based operating systems for embedded systems and mobile devices. uClibc was written to support μClinux, a version of Linux not ...
etc.) * Provides an abstraction for autotools ( automake, autoconf), CMake and SCons * Handles standard OpenWrt image build workflow: downloading, patching, configuration, compilation and packaging * Provides a number of common fixes for known badly behaving packages Besides building system images, OpenWrt development environment also provides a mechanism for simplified cross-platform building of OpenWrt software packages. Source code for each software package is required to provide a Makefile-like set of building instructions, and an optional set of patches for bug fixes or footprint optimizations.


Hardware compatibility

OpenWrt runs many different routers and includes a table of compatible hardware on its website. In its buyer's guide, it notes that users recommend devices equipped with wireless chips from either Qualcomm's Atheros, Ralink (now MediaTek) or any vendor with open source drivers and specifications. OpenWrt also recommends choosing a device with a minimum of 16 MB of flash and 64 MB of RAM, preferably higher amounts.


Adoption

OpenWrt, especially its Buildroot build system, has been adopted as the structure for other efforts. For example
AltiWi
"one-time-fee-only" replacement for Cloudtrax. * Bufferbloat.net (Cerowrt) * Freifunk and other mesh network communities * IETF IPv6 integration projects HIPnet and HomeNet are OpenWrt-based * prplOS, carrier-grade framework designed to power ISPs routers and gateways made by
Prpl Foundation The prpl Foundation is a non-profit open source software Foundation started by Imagination Technologies and others to encourage use of the MIPS architecture (and “open to others”), through the promotion of standards and open source solutions, wi ...
* SIMET Box, developed by
NIC.br The Núcleo de Informação e Coordenação do Ponto BR (English: ''Brazilian Network Information Center'') is a non-profit organization created to implement the decisions and projects designed by the Brazilian Internet Steering Committee. Some o ...
, is OpenWrt-based


Derivative projects


AREDN
The
Amateur Radio Amateur radio, also known as ham radio, is the use of the radio frequency spectrum for purposes of non-commercial exchange of messages, wireless experimentation, self-training, private recreation, radiosport, contesting, and emergency communic ...
Emergency Data Network uses a firmware based on OpenWrt
GitHub Project
* ''CeroWrt'' (2011—2014) project to resolve bufferbloat in home networking, support IPv6 , integrate DNSSEC, for wired and wireless, to complement the debloat-testing kernel tree and provide a platform for real-world testing of bufferbloat fixes * Coova chilli OpenWrt-based with focus on wireless hotspots, a fork of chillifire with focus on wireless hotspot management * Flukso Wireless sensor nodes using an Atheros AR2317 chipset running a patched OpenWrt OS for communication. Sources and hardware schematics available on GitHub. * Fon OpenWrt-based wireless routers acting as hotspots. Sources and toolchain available on fonosfera.org * Gargoyle a web interface for OpenWrt with a strong emphasis on usability that later forked into a separate distribution * Gluon Framework for building OpenWrt-based firmwares fitted for
mesh network A mesh network is a local area network topology in which the infrastructure nodes (i.e. bridges, switches, and other infrastructure devices) connect directly, dynamically and non-hierarchically to as many other nodes as possible and cooperate wit ...
deployment
GitHub Project
* JUCIWRT a modern distribution using the JUCI webgui that later became an OpenWrt feed instead. The source code for JUCI is available a
mkschreder/juci
and is still usable by installing openwrt feed found a
mkschreder/juci-openwrt-feed
*
libreCMC LibreCMC is a Linux-libre distribution for computers with minimal resources, such as the Ben NanoNote, ath9k-based Wi-Fi routers, and other hardware with emphasis on free software. Based on OpenWrt, the project's goal is to aim for compliance wit ...
OpenWrt-based distribution which excludes non-free software or binary blobs, endorsed by the Free Software Foundation * Linino OpenWrt-based distribution for the MIPS-based Arduino Yùn
GitHub Project
* Midge Linux an OpenWrt-based distribution for devices based on
Infineon Technologies Infineon Technologies AG is a German semiconductor manufacturer founded in 1999, when the semiconductor operations of the former parent company Siemens AG were spun off. Infineon has about 50,280 employees and is one of the ten largest semicond ...
ADM-5120 SoCs, such as Edimax BR-6104K and BR-6104KP.
OpenMPTCProuter
aggregation of multiple Internet connections using Multipath TCP * OpenSAN iSCSI target Storage Area Network realization. * PacketProtector OpenWrt-based security distribution that includes
IDS IDS may refer to: Computing * IBM Informix Dynamic Server, a relational database management system * Ideographic Description Sequence, describing a Unihan character as a combination of other characters * Integrated Data Store, one of the first da ...
,
IPS IPS, ips, or iPS may refer to: Science and technology Biology and medicine * ''Ips'' (genus), a genus of bark beetle * Induced pluripotent stem cell or iPS cells * Intermittent photic stimulation, a neuroimaging technique * Intraparietal sulcus ...
, VPN, and web antivirus capabilities. Packages included Snort, Snort-inline,
FreeRADIUS FreeRADIUS is a modular, high performance free RADIUS suite developed and distributed under the GNU General Public License, version 2, and is free for download and use. The FreeRADIUS Suite includes a RADIUS server, a BSD-licensed RADIUS client l ...
,
OpenVPN OpenVPN is a virtual private network (VPN) system that implements techniques to create secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities. It implements both client and server appl ...
, DansGuardian and
ClamAV Clam AntiVirus (ClamAV) is a free software, cross-platform antimalware toolkit able to detect many types of malware, including viruses. It was developed for Unix and has third party versions available for AIX, BSD, HP-UX, Linux, macOS, OpenVMS, ...
. These tools were accessible via the old web GUI management interface of OpenWrt, called X-Wrt or webif^2. Project ended on June 7, 2012. * Qualcomm's QCA Software Development Kit (QSDK) which is being used as a development basis by many OEMs is an OpenWrt derivative * RutOS an operating system for all Teltonika routers, based on OpenWrt. Source code found a
GPL - Teltonika Networks Wiki
*
Turris Omnia Turris Omnia started as a crowdfunded open-source Small office/home office, SOHO network Router (computing), router developed by the CZ.NIC association. On 31 January 2016 the Turris Omnia was presented at FOSDEM 2016. Routers from campaign were ...
and Turris MOX routers run on an OpenWrt derivative * Ubiquiti's wireless router firmwares are based on OpenWrt * Diverse
grassroots A grassroots movement is one that uses the people in a given district, region or community as the basis for a political or economic movement. Grassroots movements and organizations use collective action from the local level to effect change at t ...
projects for wireless community networks, including Freifunk, Libre-Mesh and qMp * Some
TP-Link TP-Link Technologies Co., Ltd. (), is a global manufacturer of computer networking products based in Hong Kong and Shenzhen, China. History TP-Link was founded in 1996 by two brothers, Zhao Jianjun ( ''Zhào Jiànjūn'') and Zhao Jiaxing ( ' ...
, Xiaomi,
ZyXEL Zyxel Communications Corporation, a subsidiary of Unizyx Holding Corporation (), is a Taiwanese multinational broadband provider headquartered in the Hsinchu Science Park, Taiwan. The company was founded in 1989 by Dr Shun-I Chu, and has three r ...
and
D-Link D-Link Corporation is a Taiwanese multinational networking equipment manufacturing corporation headquartered in Taipei, Taiwan. It was founded in March 1986 in Taipei as ''Datex Systems Inc.'' History D-Link Corporation changed its name fr ...
router firmwares are derived from OpenWrt * FreeWRT was a Linux distribution that was used in embedded systems such as WLAN devices from Linksys and Asus. Not related to a project (with same name) based on Sveasoft firmware. * Friendly Electronics manufactures the NanoPi series of SoC devices and makes available an OpenWRT derivative OS called FriendlyWRT. * Ansuel's Technicolor Custom GUI a modified management web interface developed on the basis of the official Technicolor for Homeware firmware, which runs a fork of OpenWrt, unlocking Technicolor Modem/Routers.


See also

* List of router firmware projects *
Prpl Foundation The prpl Foundation is a non-profit open source software Foundation started by Imagination Technologies and others to encourage use of the MIPS architecture (and “open to others”), through the promotion of standards and open source solutions, wi ...


References


External links


OpenWrt Firmware Selector

OpenWrt Downloads
*
OpenWrt Mailing Lists

LuCI project

OpenWrt Summit

GPL Code Center
at Linksys {{Software in the Public Interest Custom firmware Embedded Linux distributions Free routing software Homebrew software Linux distributions without systemd Lua (programming language)-scriptable software Network operating systems Wi-Fi Free and open-source software Free software programmed in C Linux distributions