55218e636092 Revert "wifi: mt76: mt7996: fill txd by host driver" fdfe9eca6401 wifi: mt76: disable napi on driver removal d7a070e11de4 wifi: mt76: mt7925: fix missing hdr_trans_tlv command for broadcast wtbl 29363a669195 wifi: mt76: mt7996: prevent uninit return in mt7996_mac_sta_add_links e285cb42be03 wifi: mt76: Remove an unneeded local variable in mt76x02_dma_init() 3dee73c357cf wifi: mt76x2: Add support for LiteOn WN4516R,WN4519R 73f9582f92b6 wifi: mt76: mt7925: introduce thermal protection cf8522c5eea8 wifi: mt76: mt7925: fix host interrupt register initialization 8a24527e6c63 wifi: mt76: mt7921: add 160 MHz AP for mt7922 device d0ef73122e8b wifi: mt76: mt7996: avoid NULL pointer dereference in mt7996_set_monitor() 7fdbe4cb5c8d wifi: mt76: mt7996: avoid null deref in mt7996_stop_phy() 925d156dab3d wifi: mt76: mt7996: fix uninitialized symbol warning a403590fd464 Revert "wifi: mt76: Check link_conf pointer in mt76_connac_mcu_sta_basic_tlv()" ca76c1bcede4 wifi: mt76: mt7996: remove duplicate check in mt7996_mcu_sta_mld_setup_tlv() b70a4a619538 wifi: mt76: scan: Fix 'mlink' dereferenced before IS_ERR_OR_NULL check 2247afffc734 wifi: mt76: add mt76_connac_mcu_build_rnr_scan_param routine 460aa7da0ef6 wifi: mt76: mt7925: add RNR scan support for 6GHz a68584ddf98e wifi: mt76: mt7996: Fix null-ptr-deref in mt7996_mmio_wed_init() 025c1d19b55a wifi: mt76: mt7915: Fix null-ptr-deref in mt7915_mmio_wed_init() c20015bdc88b wifi: mt76: mt7925: prevent multiple scan commands 832387a1f876 wifi: mt76: mt7925: refine the sniffer commnad 7bf6a2914a54 wifi: mt76: mt7925: ensure all MCU commands wait for response 1bd4dbd48281 wifi: mt76: mt7925: extend MCU support for testmode 0ca6ed4e2724 wifi: mt76: mt7925: add test mode support a2838480f805 wifi: mt76: remove capability of partial bandwidth UL MU-MIMO 1865f5ea80ea wifi: mt76: mt7996: fix beamformee SS field 3bda39f1465e wifi: mt76: mt7996: set EHT max ampdu length capability 7d30840e5b21 wifi: mt76: mt7996: drop fragments with multicast or broadcast RA bf22595a1d8a wifi: mt76: mt7996: fix invalid NSS setting when TX path differs from NSS b9f01d7c368c wifi: mt76: mt7996: change max beacon size 8808d7c4eed7 wifi: mt76: mt7996: fix RX buffer size of MCU event 36e0b90e47ff wifi: mt76: fix available_antennas setting da2c23bec426 wifi: mt76: support power delta calculation for 5 TX paths 3e161d0cf3c7 wifi: mt76: mt7925: add rfkill_poll for hardware rfkill ee6dac9b6b76 wifi: mt76: mt7915: mcu: increase eeprom command timeout 0534761b76e1 wifi: mt76: mt7915: mcu: lower default timeout 79dd14f2e816 wifi: mt76: mt7915: mcu: re-init MCU before loading FW patch f2943046881d wifi: mt76: Assume __mt76_connac_mcu_alloc_sta_req runs in atomic context 656eb209ec42 wifi: mt76: Move RCU section in mt7996_mcu_set_fixed_field() 4f47d90943a3 wifi: mt76: Move RCU section in mt7996_mcu_add_rate_ctrl_fixed() 189532e383c1 wifi: mt76: Move RCU section in mt7996_mcu_add_rate_ctrl() 5603bd03d56a wifi: mt76: Remove RCU section in mt7996_mac_sta_rc_work() ca24f0794e94 wifi: mt76: mt7925: fix the wrong config for tx interrupt 63f18baa5bb6 wifi: mt76: mt7925: fix invalid array index in ssid assignment during hw scan 4bdc4c5f26e0 wifi: mt76: mt7925: fix incorrect scan probe IE handling for hw_scan 321ae47a7439 wifi: mt76: mt7925: fix off by one in mt7925_mcu_hw_scan() 3699df4e85ec wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_sta_set_decap_offload() a17fbd3d8598 wifi: mt76: mt7921: prevent decap offload config before STA initialization Signed-off-by: Felix Fietkau <nbd@nbd.name> |
||
---|---|---|
.devcontainer/ci-env | ||
.github | ||
.vscode | ||
config | ||
include | ||
LICENSES | ||
package | ||
scripts | ||
target | ||
toolchain | ||
tools | ||
.gitattributes | ||
.gitignore | ||
BSDmakefile | ||
Config.in | ||
COPYING | ||
feeds.conf.default | ||
Makefile | ||
README.md | ||
rules.mk |
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 macOS 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.7+ 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