bc3963764d
261d184cebdc mt76: introduce mt76_vif data structure 50349a8664ef mt76: mt76_connac: create mcu library c88859180c51 mt76: mt76_connac: move hw_scan and sched_scan routine in mt76_connac_mcu module 9856236ab4f9 mt76: mt76_connac: move WoW and suspend code in mt76_connac_mcu module 2da59aacdd50 mt76: mt76_connac: move pm data struct in mt76_connac.h 16be142e40fe mt76: mt76_connac: move pm utility routines in mt76_connac_lib module c4ccfc66347d mt76: mt7921: add MAC support 8ecf3a50e7ad mt76: mt7921: add MCU support 92c1717f9a55 mt76: mt7921: add DMA support 1cecf9c3da8b mt76: mt7921: add EEPROM support a9e68410b9ba mt76: mt7921: add ieee80211_ops 39d6f4851b06 mt76: mt7921: introduce mt7921e support 9f37baecf5d6 mt76: mt7921: add debugfs support b16cf6e26998 mt76: mt7921: introduce schedule scan support 5aa798ee56c7 mt76: mt7921: introduce 802.11 PS support in sta mode e67d5216f16d mt76: mt7921: introduce support for hardware beacon filter cb99bf4655f9 mt76: mt7921: introduce beacon_loss mcu event 71f9f09ee987 mt76: mt7921: introduce PM support 2beb9c9530d4 mt76: mt7921: rely on mt76_connac_mcu common library 59e682497d12 mt76: mt7921: rely on mt76_connac_mcu module for sched_scan and hw_scan 1ccf6a9c60cd mt76: mt7921: rely on mt76_connac_mcu module for suspend and WoW support f8d1ec5e6e11 mt76: mt7921: introduce Runtime PM support 633a1cbd8f4e mt76: mt7921: introduce regdomain notifier support 0d95c6ad1745 mt76: mt7921: enable MSI interrupts 5f4f6792fb37 mt76: mt7921: add coredump support 47eb00e13450 mt76: mt7663: introduce coredump support 26658849a465 mt76: mt7615: fix key set/delete issues b0ba039bc2ef mt76: mt7615: fix tx skb dma unmap 892f74d37e88 mt76: mt7915: fix tx skb dma unmap 2659f6c6ea23 mt76: mt7615: support loading EEPROM for MT7613BE b09cc8644529 mt76: dma: do not report truncated frames to mac80211 ae6473f1d2af mt76: mt7921: enable random mac addr during scanning b59e3677476d mt76: mt7921: remove unnecessary variable 781911f167aa mt76: mt7921: removed unused definitions in mcu.h 994893d38d51 mt76: always use WTBL_MAX_SIZE for tlv allocation e6c0948ada07 mt76: mt76x0: disable GTK offloading a75302bcbfe1 mt76: connac: always check return value from mt76_connac_mcu_alloc_wtbl_req 8da10d6f9251 mt76: mt7915: always check return value from mt7915_mcu_alloc_wtbl_req 80a87412e9e9 mt76: mt7915: fix uninitialized variable in mt7915_tm_set_tx_cont() c7d98fc35865 mt76: use PCI_VENDOR_ID_MEDIATEK to avoid open coded b5228e75e422 mt76: mt7921: switch to new api for hardware beacon filter 73fce2cbfa41 mt76: connac: fix up the setting for ht40 mode in mt76_connac_mcu_uni_add_bss 2e2cb71901e8 mt76: mt7921: fixup rx bitrate statistics 2d7b1d72b43b mt76: mt7921: add flush operation 96b4c9874e16 mt76: mt7921: fix uninitialized pointer access in mt7921_get_wtbl_info 4492d801cbb5 mt76: connac: update sched_scan cmd usage 200c1b1c234b mac80211: rename csa counters to countdown counters 0d7564d0d899 mt76: add support for 802.3 rx frames 4c0811c647b9 mt76: mt7915: enable hw rx-amsdu de-aggregation 4b7a68634ff6 mt76: mt7915: add rx checksum offload support 289cd7804587 mt76: mt7915: add support for rx decapsulation offload Signed-off-by: Felix Fietkau <nbd@nbd.name> |
||
---|---|---|
.github | ||
LICENSES | ||
config | ||
include | ||
package | ||
scripts | ||
target | ||
toolchain | ||
tools | ||
.gitattributes | ||
.gitignore | ||
BSDmakefile | ||
COPYING | ||
Config.in | ||
Makefile | ||
README.md | ||
feeds.conf.default | ||
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 rsync
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