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
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, primarily used on
embedded devices to
route network traffic. The main components are Linux,
util-linux
is a standard package distributed by the Linux Kernel Organization for use as part of the Linux operating system. A fork, (with meaning "next generation"), was created when development stalled, but has been renamed back to , and is the off ...
,
musl
musl is a C standard library intended for operating systems based on the Linux kernel, released under the MIT License. It was developed by Rich Felker with the goal to write a clean, efficient and standards-conformant libc implementation.
Ov ...
, and
BusyBox
BusyBox is a software suite that provides several Unix utilities in a single executable file. It runs in a variety of POSIX environments such as Linux, Android, and FreeBSD, although many of the tools it provides are designed to work with int ...
. 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 (
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
opkg (''open package management'') is a lightweight package management system based upon ipkg. It is written in C and resembles Advanced Package Tool (APT)/dpkg in operation. It is intended for use on embedded Linux devices and is used in this ...
package management system
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
A package manager deals w ...
.
OpenWrt can run on various types of devices, including
CPE routers,
residential gateway
A residential gateway is a small consumer-grade gateway which bridges network access between connected local area network (LAN) hosts to a wide area network (WAN) (such as the Internet) via a modem, or directly connects to a WAN (as in EttH), whi ...
s,
smartphone
A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
s,
pocket computer
A pocket computer was a 1980s-era user programmable calculator-sized computer that had fewer screen lines,
Some had only one line and often fewer characters per line, than the Pocket-sized computers introduced beginning in 1989. Manufacturers i ...
s (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 computer
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tech ...
s and
laptops.
History
The OpenWrt project was started in 2004 after
Linksys
Linksys is an American brand of data networking hardware products mainly sold to home users and small businesses. It was founded in 1988 by the couple Victor and Janie Tsao, both Taiwanese immigrants to the United States. Linksys products in ...
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 ...
for their
WRT54G series of wireless routers with code licensed under the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
. 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 on ...
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
Broadcom Inc. is an American designer, developer, manufacturer and global supplier of a wide range of semiconductor and infrastructure software products. Broadcom's product offerings serve the data center, networking, software, broadband, wirel ...
-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
, officially , were a part of the Japanese Special Attack Units of military aviators who flew suicide attacks for the Empire of Japan against Allied naval vessels in the closing stages of the Pacific campaign of World War II, intending to ...
, 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.
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
In cutlery or kitchenware, a fork (from la, furca ' pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods ...
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 branches ...
, 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
Squashfs is a compressed read-only file system for Linux. Squashfs compresses files, inodes and directories, and supports block sizes from 4 KiB up to 1 MiB for greater compression. Several compression algorithms are supported. Squashfs is als ...
file system with a writeable JFFS2 file system using overlayfs
In computing, OverlayFS is a union mount filesystem implementation for Linux. It combines multiple different underlying mount points into one, resulting in single directory structure that contains underlying files and sub-directories from all so ...
. 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 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
In architecture, and specifically Gothic architecture, a gargoyle () is a carved or formed grotesque with a spout designed to convey water from a roof and away from the side of a building, thereby preventing it from running down masonry wall ...
, 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 d ...
, IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. I ...
, 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
The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on Internet Protocol (IP) networks for automatically assigning IP addresses and other communication parameters to devices connected to the network using a cli ...
, 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 ...
, port forwarding
In computer networking, port forwarding or port mapping is an application of network address translation (NAT) that redirects a communication request from one address and port number combination to another while the packets are traversing a netw ...
and WPA
WPA may refer to:
Computing
*Wi-Fi Protected Access, a wireless encryption standard
*Windows Product Activation, in Microsoft software licensing
*Wireless Public Alerting (Alert Ready), emergency alerts over LTE in Canada
* Windows Performance Ana ...
.
Other features include:
* Extensible configuration of the entire hardware drivers, e.g. built-in network switch
A network switch (also called switching hub, bridging hub, and, by the IEEE, MAC bridge) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device.
A netw ...
es and their VLAN
A virtual local area network (VLAN) is any broadcast domain that is partitioned and isolated in a computer network at the data link layer ( OSI layer 2).IEEE 802.1Q-2011, ''1.4 VLAN aims and benefits'' In this context, virtual, refers to a phys ...
-capabilities, WNIC
WNIC (100.3 FM) is a commercial radio station licensed to Dearborn, Michigan and serving the Metro Detroit media market. Owned by iHeartMedia, WNIC broadcasts an adult contemporary radio format. Each year, usually on the first Friday of Novem ...
s, DSL modem
A digital subscriber line (DSL) modem is a device used to connect a computer or router to a telephone line which provides the digital subscriber line (DSL) service for connection to the Internet, which is often called ''DSL broadband''. The ...
s, 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 mobile ad hoc networks which is under development by the German " Freifunk" community and intended to replace the Optimized Link State Routing ...
, OLSR
The Optimized Link State Routing Protocol (OLSR) is an IP routing protocol optimized for mobile ad hoc networks, which can also be used on other wireless ad hoc networks. OLSR is a proactive link-state routing protocol, which uses ''hello'' an ...
and IEEE 802.11s IEEE 802.11s is a wireless local area network (WLAN) standard and an IEEE 802.11 amendment for Wireless mesh network, mesh networking, defining how wireless devices can interconnect to create a wireless LAN mesh network, which may be used for relati ...
-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
In computer networking, a wireless access point (WAP), or more generally just access point (AP), is a networking hardware device that allows other Wi-Fi devices to connect to a wired network. As a standalone device, the AP may have a wired co ...
, 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 mu ...
, a captive portal
A captive portal is a web page accessed with a web browser that is displayed to newly connected users of a Wi-Fi or wired network before they are granted broader access to network resources. Captive portals are commonly used to present a landing ...
, 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 Packet injection (also known as forging packets or spoofing packets) in computer networking, is the process of interfering with an established network connection by means of constructing packets to appear as if they are part of the normal communica ...
, 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
Technical Report 069 (TR-069) is a technical specification of the Broadband Forum that defines an application layer protocol for remote management and provisioning of customer-premises equipment (CPE) connected to an Internet Protocol (IP) networ ...
(CWMP) client
* IPS via Snort
* Active queue management
In routers and switches, active queue management (AQM) is the policy of dropping packets inside a buffer associated with a network interface controller (NIC) before that buffer becomes full, often with the goal of reducing network congestion or ...
(AQM) through the network scheduler
A network scheduler, also called packet scheduler, queueing discipline (qdisc) or queueing algorithm, is an arbiter on a node in a packet switching communication network. It manages the sequence of network packets in the transmit and receive q ...
of the Linux kernel, with many available queuing discipline
A network scheduler, also called packet scheduler, queueing discipline (qdisc) or queueing algorithm, is an arbiter on a node in a packet switching communication network. It manages the sequence of network packets in the transmit and receive q ...
s. CoDel
CoDel (''Controlled Delay''; pronounced "wikt:coddle, 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 ne ...
has been backported to Kernel 3.3. This encapsulates Traffic shaping
Traffic shaping is a bandwidth management technique used on computer networks which delays some or all datagrams to bring them into compliance with a desired ''traffic profile''. Traffic shaping is used to optimize or guarantee performance, imp ...
to ensure fair distribution of bandwidth among multiple users and quality of service
Quality of service (QoS) is the description or measurement of the overall performance of a service, such as a telephony or computer network, or a cloud computing service, particularly the performance seen by the users of the network. To quantitat ...
(QoS) for simultaneous use of applications such as VoIP
Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms Interne ...
, 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 i ...
without experiencing the negative impacts of link saturation.
* Load balancing for use with multiple ISPs
An Internet service provider (ISP) is an organization that provides services for accessing, using, or participating in the Internet. ISPs can be organized in various forms, such as commercial, community-owned, non-profit, or otherwise privatel ...
using source-specific routing Source-specific routing, also called source-address dependent routing (SADR), is a routing technique in which a routing decision is made by looking at the source address of a packet in addition to its destination address. The main application of s ...
* IP tunneling ( GRE, OpenVPN, pseudowire, etc.)
* Extensible realtime network monitoring
Network monitoring is the use of a system that constantly monitors a computer network for slow or failing components and that notifies the network administrator (via email, SMS or other alarms) in case of outages or other trouble. Network monitorin ...
and statistics through e.g. RRDtool
RRDtool (''round-robin database tool'') aims to handle time series data such as network bandwidth, temperatures or CPU load. The data is stored in a circular buffer based database, thus the system storage footprint remains constant over time. ...
, 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 servic ...
, Munin lite, Zabbix, 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
An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
* OpenWrt supports any hardware that has Linux support; devices that can be connected (e.g. over USB
Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply ( interfacing) between computers, peripherals and other computers. A broa ...
) include
** Printers
Printer may refer to:
Technology
* Printer (publishing), a person or a company
* Printer (computing), a hardware device
* Optical printer for motion picture films
People
* Nariman Printer (fl. c. 1940), Indian journalist and activist
* James ...
** Mobile broadband modem
A mobile broadband modem, also known as wireless modem or cellular modem, is a type of modem that allows a personal computer or a router to receive wireless Internet access via a mobile broadband connection instead of using telephone or cable tel ...
s
** Webcam
A webcam is a video camera which is designed to record or stream to a computer or computer network. They are primarily used in videotelephony, livestreaming and social media, and security. Webcams can be built-in computer hardware or periphera ...
s
** Sound card
A sound card (also known as an audio card) is an internal expansion card that provides input and output of audio signals to and from a computer under the control of computer programs. The term ''sound card'' is also applied to external au ...
s
* Notable software packages to use the hardware support are
** File sharing
File sharing is the practice of distributing or providing access to digital media, such as computer programs, multimedia (audio, images and video), documents or electronic books. Common methods of storage, transmission and dispersion include r ...
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. Havi ...
, (Windows-compatible), NFS, FTP
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data ...
, SFTP. Printer sharing over the print server In computer networking, a print server, or printer server, is a type of server that connects printers to client computers over a network. It accepts print jobs from the computers and sends the jobs to the appropriate printers, queuing the jobs l ...
CUPS (spooling) or p910nd P91 may refer to:
* , a patrol boat of the Royal Australian Navy
* Papyrus 91, a biblical manuscript
* Ruger P91, a pistol
* P91, a List of national roads in Latvia#P91, state regional road in Latvia
{{Disambiguation ...
(non-spooling)
** PulseAudio
PulseAudio is a network-capable sound server program distributed via the freedesktop.org project. It runs mainly on Linux, various BSD distributions such as FreeBSD and OpenBSD, macOS, as well as Illumos distributions and the Solaris oper ...
, Music Player Daemon
Music Player Daemon (MPD) is a free and open music player server. It plays audio files, organizes playlists and maintains a music database. In order to interact with it, a client program is needed. The MPD distribution includes mpc, a simple comm ...
, Audio/Video streaming via DLNA
Digital Living Network Alliance (DLNA; originally named Digital Home Working Group, DHWG) was founded by a group of PC and consumer electronics companies in June 2003 (with Intel in the lead role) to develop and promote a set of interoperability ...
/ UPnP AV standards, iTunes ( DAAP) server
** Asterisk (PBX)
Asterisk is a software implementation of a private branch exchange (PBX). In conjunction with suitable telephony hardware interfaces and network applications, Asterisk is used to establish and control telephone calls between telecommunication ...
** MQ Telemetry Transport
MQTT (originally an initialism of MQ Telemetry Transport) is a lightweight, publish-subscribe, machine to machine network protocol for Message queue/Message queuing service. It is designed for connections with remote locations that have devices ...
through Mosquitto
Development
OpenWrt's development environment and build system, known together as ''OpenWrt Buildroot'', are based on a heavily modified Buildroot
Buildroot is a set of Makefiles and patches that simplifies and automates the process of building a complete and bootable Linux environment for an embedded system, while using cross-compilation to allow building for multiple target platforms on ...
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 deve ...
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
In software, a toolchain is a set of programming tools that is used to perform a complex software development task or to create a software product, which is typically another computer program or a set of related programs. In general, the tools for ...
.
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 other ...
) 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
The GNU Autotools, also known as the GNU Build System, is a suite of programming tools designed to assist in making source code packages portable to many Unix-like systems.
It can be difficult to make a software program portable: the C compile ...
(automake
In software development, GNU Automake is a programming tool to automate parts of the compilation process. It eases usual compilation problems. For example, it points to needed dependencies.
It automatically generates one or more ''Makefile.in' ...
, autoconf
GNU Autoconf is a tool for producing configure scripts for building, installing, and packaging software on computer systems where a Bourne shell is available.
Autoconf is agnostic about the programming languages used, but it is often used for ...
), CMake
In software development, CMake is cross-platform free and open-source software for build automation, testing, packaging and installation of software by using a compiler-independent method. CMake is not a build system itself; it generates ano ...
and SCons
SCons is a computer software build tool that automatically analyzes source code file dependencies and operating system adaptation requirements from a software project description and generates final binary executables for installation on the targe ...
* 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
Qualcomm Atheros is a developer of semiconductor chips for network communications, particularly wireless chipsets. Founded under the name T-Span Systems in 1998 by experts in signal processing and VLSI design from Stanford University, the Univ ...
, Ralink (now MediaTek
MediaTek Inc. () is a Taiwanese fabless semiconductor company that provides chips for wireless communications, high-definition television, handheld mobile devices like smartphones and tablet computers, navigation systems, consumer multimedia p ...
) 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
Freifunk (German for: "free radio") is a non-commercial open grassroots initiative to support free computer networks in the German region. Freifunk is part of the international movement for a wireless community network. The initiative counts about ...
and other mesh network communities
* IETF
The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and ...
IPv6 integration projects HIPnet and HomeNet are OpenWrt-based
* prplOS, carrier-grade framework designed to power ISPs
An Internet service provider (ISP) is an organization that provides services for accessing, using, or participating in the Internet. ISPs can be organized in various forms, such as commercial, community-owned, non-profit, or otherwise privatel ...
routers and gateways made by Prpl Foundation
* 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 ...
, 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 communi ...
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
Bufferbloat is a cause of high latency and jitter in packet-switched networks caused by excess buffering of packets. Bufferbloat can also cause packet delay variation (also known as jitter), as well as reduce the overall network throughput. ...
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
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
.
* Fon OpenWrt-based wireless routers acting as hotspots. Sources and toolchain available on fonosfera.org
* Gargoyle
In architecture, and specifically Gothic architecture, a gargoyle () is a carved or formed grotesque with a spout designed to convey water from a roof and away from the side of a building, thereby preventing it from running down masonry wall ...
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 router
A wireless router is a device that performs the functions of a router and also includes the functions of a wire ...
OpenWrt-based distribution which excludes non-free software or binary blobs, endorsed by the Free Software Foundation
The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985, to support the free software movement, with the organization's preference for software being distributed under copyleft ("s ...
* Linino OpenWrt-based distribution for the MIPS-based Arduino
Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed und ...
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 semico ...
ADM-5120 SoCs
SOCS (suppressor of cytokine signaling proteins) refers to a family of genes involved in inhibiting the JAK-STAT signaling pathway.
Genes
* CISH
* SOCS1
* SOCS2
* SOCS3
Suppressor of cytokine signaling 3 (SOCS3 or SOCS-3) is a protein that in h ...
, such as Edimax BR-6104K and BR-6104KP.
OpenMPTCProuter
aggregation of multiple Internet connections using Multipath TCP
Multipath TCP (MPTCP) is an ongoing effort of the Internet Engineering Task Force's (IETF) Multipath TCP working group, that aims at allowing a Transmission Control Protocol (TCP) connection to use multiple paths to maximize throughput and increa ...
* OpenSAN iSCSI
Internet Small Computer Systems Interface or iSCSI ( ) is an Internet Protocol-based storage networking standard for linking data storage facilities. iSCSI provides block-level access to storage devices by carrying SCSI commands over a TCP/I ...
target Storage Area Network
A storage area network (SAN) or storage network is a computer network which provides access to consolidated, block-level data storage. SANs are primarily used to access data storage devices, such as disk arrays and tape libraries from se ...
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, VPN
A virtual private network (VPN) extends a private network across a public network and enables users to send and receive data across shared or public networks as if their computing devices were directly connected to the private network. The be ...
, and web antivirus capabilities. Packages included Snort, Snort-inline, FreeRADIUS, 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-server architect ...
, 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
An original equipment manufacturer (OEM) is generally perceived as a company that produces non-aftermarket parts and equipment that may be marketed by another manufacturer. It is a common industry term recognized and used by many professional or ...
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 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 network
Wireless community networks (WCNs) or wireless community projects or simply community networks, are non-centralized, self-managed and collaborative networks organized in a grassroots fashion by communities, NGO's and cooperatives in order to provi ...
s, including Freifunk
Freifunk (German for: "free radio") is a non-commercial open grassroots initiative to support free computer networks in the German region. Freifunk is part of the international movement for a wireless community network. The initiative counts about ...
, 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
Corporation (; ), commonly known as Xiaomi and registered as Xiaomi Inc., is a Chinese designer and manufacturer of consumer electronics and related software, home appliances, and household items. Behind Samsung, it is the second largest m ...
, ZyXEL 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 f ...
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
List of software created and maintained by people other than the manufacturer of the product. The extent of support for (and testing on) particular hardware varies from project to project.
Embedded
Notable custom-firmware projects for wireless ro ...
* Prpl Foundation
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