3deafbad7061 wifi: mt76: mt7915: fix uninitialized irq_mask 6ca31dc64da4 wifi: mt76: mt7921: introduce remain_on_channel support 7962005b0734 wifi: mt76: connac: rework macros for unified command 3b2882ca704e wifi: mt76: connac: update struct sta_rec_phy c4d46cb1dd45 wifi: mt76: connac: rework fields for larger bandwidth support in sta_rec_bf 532c322fd72f wifi: mt76: connac: add more unified command IDs 4c43e060726b wifi: mt76: connac: introduce unified event table 4c423058920d wifi: mt76: connac: add more bss info command tags 143d7ab8ef92 wifi: mt76: connac: add more starec command tags 733ef9887b2c wifi: mt76: connac: introduce helper for mt7996 chipset 8e309b5560e1 wifi: mt76: mt7921: fix wrong power after multiple SAR set d791ed1f5877 wifi: mt76: mt7915: add missing MODULE_PARM_DESC 3b8eed9c3866 wifi: mt76: mt7915: add support to configure spatial reuse parameter set 417cca39bab2 wifi: mt76: introduce rxwi and rx token utility routines 629f8631f54f wifi: mt76: add WED RX support to mt76_dma_{add,get}_buf 13c2dc8993b6 wifi: mt76: add WED RX support to mt76_dma_rx_fill 86e94f4162b7 wifi: mt76: add WED RX support to dma queue alloc 1361519851f3 wifi: mt76: add info parameter to rx_skb signature a2e5e0667553 wifi: mt76: connac: introduce mt76_connac_mcu_sta_wed_update utility routine f38faf294310 wifi: mt76: mt7915: enable WED RX support a887a5feb3d1 wifi: mt76: mt7915: enable WED RX stats 4c23061ebcfc wifi: mt76: mt7915: add basedband Txpower info into debugfs a9c88ded5cac wifi: mt76: mt7915: enable .sta_set_txpwr support 2c172bb6cd9f wifi: mt76: mt7915: fix band_idx usage 1b88dd07f153 linux-firmware: update firmware for MT7915 6196f6080506 linux-firmware: update firmware for MT7916 daae6ca5d81f linux-firmware: update firmware for MT7986 e7a9f7a0440c wifi: mt76: mt7915: fix unused-but-set warning 340f3be65397 wifi: mt76: fix coverity overrun-call in mt76_get_txpower() aa7132da0326 wifi: mt76: mt7915: fix endianness of mt7915_mcu_set_obss_spr_pd() a36017d09324 wifi: mt76: mt7921: Add missing __packed annotation of struct mt7921_clc 66dc48bea883 wifi: mt76: do not send firmware FW_FEATURE_NON_DL region fa79eeeadc2d mt76: mt7915: Fix PCI device refcount leak in mt7915_pci_init_hif2() ff94604b2edd wifi: mt76: mt7915: introduce mt7915_get_power_bound() 5082a58f8082 wifi: mt76: mt7915: enable per bandwidth power limit support a7b915302147 wifi: mt76: mt7915: fix scene detection flow of spatial reuse 525592c28d6b wifi: mt76: mt7915: rely on band_idx of mt76_phy cdd7229e769b wifi: mt76: mt7915: mmio: fix naming convention Signed-off-by: Felix Fietkau <nbd@nbd.name>
OpenWrt Project is a Linux operating system targeting embedded devices. Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developers, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.
Sunshine!
Download
Built firmware images are available for many architectures and come with a package selection to be used as WiFi home router. To quickly find a factory image usable to migrate from a vendor stock firmware to OpenWrt, try the Firmware Selector.
If your device is supported, please follow the Info link to see install instructions or consult the support resources listed below.
An advanced user may require additional or specific package. (Toolchain, SDK, ...) For everything else than simple firmware download, try the wiki download page:
Development
To build your own firmware you need a GNU/Linux, BSD or MacOSX system (case sensitive filesystem required). Cygwin is unsupported because of the lack of a case sensitive file system.
Requirements
You need the following tools to compile OpenWrt, the package names vary between distributions. A complete list with distribution specific packages is found in the Build System Setup documentation.
binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev
make4.1+ perl python3.6+ rsync subversion unzip which
Quickstart
-
Run
./scripts/feeds update -a
to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default -
Run
./scripts/feeds install -a
to install symlinks for all obtained packages into package/feeds/ -
Run
make menuconfig
to select your preferred configuration for the toolchain, target system & firmware packages. -
Run
make
to build your firmware. This will download all sources, build the cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen applications for your target system.
Related Repositories
The main repository uses multiple sub-repositories to manage packages of
different categories. All packages are installed via the OpenWrt package
manager called opkg
. If you're looking to develop the web interface or port
packages to OpenWrt, please find the fitting repository below.
-
LuCI Web Interface: Modern and modular interface to control the device via a web browser.
-
OpenWrt Packages: Community repository of ported packages.
-
OpenWrt Routing: Packages specifically focused on (mesh) routing.
-
OpenWrt Video: Packages specifically focused on display servers and clients (Xorg and Wayland).
Support Information
For a list of supported devices see the OpenWrt Hardware Database
Documentation
Support Community
- Forum: For usage, projects, discussions and hardware advise.
- Support Chat: Channel
#openwrt
on oftc.net.
Developer Community
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-devel
on oftc.net.
License
OpenWrt is licensed under GPL-2.0