e18534f905
3b946a6dc588 mt76: dma: cache dma map address/len in struct mt76_queue_entry c4c8b6a20d3b mt76: mt7915: fix HE BSS info 15391c1c947f mt76: fix tx hang on non-AQL frame limit 72c8a81e64e8 mt76: mt7915: fix encap offload multicast traffic with 4-address mode 69b3f868d14b mt76: mt7915: use napi_consume_skb to bulk-free tx skbs 5f080033ec7d mt76: move txwi handling code to dma.c, since it is mmio specific b1f425686125 mt76: mt7915: fix VHT LDPC capability 8f48855f5d14 mt76: mt7915: simplify mt7915_lmac_mapping cfaf40858718 mt76: mt7915: fix queue/tid mapping for airtime reporting 115b62efac21 mt76: remove retry_q from struct mt76_txq and related code e22c65cdc585 mt76: mt7915: simplify checks for the 802.3 offload path bab866a01e4f mt76: mt7915: fix unexpected firmware mode 0fc3c5eb61d0 mt76: dma: queue more rx frames internally before passing them to the stack 130e5de09364 Revert "mt76: dma: queue more rx frames internally before passing them to the stack" e3af31409d41 update mt7915 firmware to the latest version e2b8a4ec9891 mt76: testmode: add a limit for queued tx_frames packets 146488631f7b mt76: mt7615: Remove set but unused variable 'index' 0b7d2b76288e mt76: mt7615: fix VHT LDPC capability 848f4a6334a8 mt76: mt7622: fix fw hang on mt7622 0a955d944bd0 mt76: mt7663s: do not use altx for ctl/mgmt traffic 13b96411513b mt76: mt7663s: split mt7663s_tx_update_sched in mt7663s_tx_{pick,update}_quota d62ba15b1bbf mt76: mt7663s: introduce __mt7663s_xmit_queue routine fdf14d1b6aec mt76: move pad estimation out of mt76_skb_adjust_pad d048f8e87ba0 mt76: mt7663s: fix possible quota leak in mt7663s_refill_sched_quota 979c0fdc5d27 mt76: mt7663s: introduce sdio tx aggregation 56e77a3a3ade mt76: mt7663: check isr read return value in mt7663s_rx_work f96cffa03e57 mt76: mt7615: unlock dfs bands 1ccd31bbe1f4 mt76: Use fallthrough pseudo-keyword 448cd2d36ee2 mt76: mt76x0: Move tables used only by init.c to their own header file 17ba3432f5af Revert "mt76: mt7615: unlock dfs bands" fee1f4a8e87f mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon 5b78e5292777 mt76: Fix unsigned expressions compared with zero ec84891a4d23 mt76: mt7915: convert to use le16_add_cpu() Signed-off-by: Felix Fietkau <nbd@nbd.name> |
||
---|---|---|
.github | ||
config | ||
include | ||
package | ||
scripts | ||
target | ||
toolchain | ||
tools | ||
.gitattributes | ||
.gitignore | ||
BSDmakefile | ||
Config.in | ||
LICENSE | ||
Makefile | ||
README.md | ||
feeds.conf.default | ||
logo.svg | ||
rules.mk |
README.md
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!
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.
gcc binutils bzip2 flex python3 perl make find grep diff unzip gawk getopt
subversion libz-dev libc-dev
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.
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 freenode.net.
Developer Community
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-devel
on freenode.net.
License
OpenWrt is licensed under GPL-2.0