74dedf9352c5 mt76: mt7615: fix skb use-after-free on mac reset 7201290eda43 mt76: mt7921: Fix out of order process by invalid event pkt ca1b57e9971a mt76: mt7915: add a missing HT flag for GI parsing 4932c5d80153 of: net: pass the dst buffer to of_get_mac_address() 51d9eb3e6f52 mt76: mt7915: fix endianness warnings in mu radiotap 833ca13014ab mt76: mt7921: Add mt7922 support 8f8ed44d026e mt76: mt7915: add control knobs for thermal throttling 16f18bab6b11 mt76: mt7915: send EAPOL frames at lowest rate affea639c586 mt76: mt7921: send EAPOL frames at lowest rate ac00fed412d4 mt76: mt7915: fix potential overflow of eeprom page index [update] e576ddb76dfa mt76: mt7915: switch proper tx arbiter mode in testmode 222847c3d5eb mt76: mt7915: fix bit fields for HT rate idx d04814366c83 mt76: add support for setting mcast rate 4602acc9271a mt76: mt7921: fix dma hang in rmmod ec2cf3bf96fd mt76: connac: fix GTK rekey offload failure on WPA mixed mode 2fdb9d621431 mt76: connac: add support for limiting to maximum regulatory Tx power 489ace63d42c mt76: mt7921: get rid of monitor_vif 22da8d28fcc8 mt76: mt7921: get rid of mt7921_mac_set_beacon_filter c94130519786 mt76: mt7921: introduce mt7921_mcu_set_beacon_filter utility routine 51cff39d7ad3 mt76: overwrite default reg_ops if necessary da11c1c6edef mt76: mt7615: move mt7615_mcu_set_p2p_oppps in mt76_connac module 47f50b0aa4b8 mt76: mt7921: report HE MU radiotap 4f48ba4b0254 mt76: mt7915: checkpatch cleanup bc7ee7d7bdea mt76: mt7915: add HE-LTF into fixed rate command 6a19e40820aa mt76: mt7921: continue to probe driver when fw already downloaded 8b3d8e2de084 mt76: mt7921: fix firmware usage of RA info using legacy rates 17305a54b166 mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate 801c15577293 mt76: mt7921: fix endianness warnings in mt7921_mac_decode_he_mu_radiotap 0182a5b99a7a mt76: mt7915: update mac timing settings e2ee9d0a33ed mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD fa6504aceb4f Revert "mt76: mt7915: checkpatch cleanup" 56b842b72a72 mt76: mt7915: fix wmm index on DBDC cards 8044311f5de5 mt76: mt7915: fix potential NPE in TXS processing 28da4baec7c5 mt76: mt7915: fix he_mcs capabilities for 160mhz f7088ebe7452 mt76: mt7915: add LED support ee019046284d mt76: mt7915: introduce bss coloring support 9848094e4bb5 mt76: mt7921: Fix fall-through warning for Clang 5710d0643418 mt76: add a bound check in mt76_calculate_default_rate() a509cf2b654e mt76: mt7921: move mt7921_queue_rx_skb to mac.c 5a0f2382fcfe mt76: mt7915: rework debugfs queue info 62ffc31f4d7b mt76: mt7915: rename debugfs tx-queues 4750b5c918e5 mt76: mt7921: always wake device if necessary in debugfs ac6adf74b3f2 mt76: mt7921: update mib counters dumping phy stats eb75b9266ce6 net🛜mt76: fix boolreturn.cocci warnings d7c4698435b3 mt76: mt7921: fix the inconsistent state between bind and unbind 9dcfba3169c4 mt76: switch from 'pci_' to 'dma_' API d8b5e42c9a73 mt76: fill boottime_ns in Rx path 8ee6446075f2 mt76: disable BH around napi_schedule() calls e17d730bf2f6 mt76: mt7915: add LED support [update to v3] 80fe40c9457e mt76: mt7915: enable configured beacon tx rate c8f0d1d81d05 mt76: mt7915: fix hwmon temp sensor mem use-after-free 3b9ba7e02076 mt76: mt7615: fix hwmon temp sensor mem use-after-free 5e82eceb45cb mt76: mt7921: start reworking tx rate reporting eb66b5c9ff77 mt76: mt7921: add support for tx status reporting c8010f170e76 mt76: mt7921: report tx rate directly from tx status 4dc7f3db572b mt76: mt7921: remove mcu rate reporting code db89c6f86724 mt76: mt7921: remove mt7921_sta_stats 6bb8b4267dbe mt76: move spin_lock_bh to spin_lock in tasklet 0eacf41985da mt76: mt7915: honor all possible error conditions in mt7915_mcu_init() 4dfff296ee6e mt76: mt7915: fix possible infinite loop release semaphore 537ed88dd2d0 mt76: mt7921: robustify hardware initialization flow e0b846159221 mt76: mt7921: fix retrying release semaphore without end c55dedcea268 mt76: mt7915: add ethtool stats support d1d5e8cd3a3e mt76: mt7915: add tx stats gathered from tx-status callbacks 1687189d68b7 mt76: mt7915: add some per-station tx stats to ethtool f4dde5f765af mt76: mt7915: add tx mu/su counters to mib 9752bf0643c9 mt76: mt7915: add more MIB registers 4727415017c9 mt76: mt7915: add mib counters to ethtool stats 4ca80a749e7f mt76: connac: set 6G phymode in mt76_connac_get_phy_mode{,v2} 3f2a5d39631e mt76: connac: enable 6GHz band for hw scan 817a41826bd7 mt76: connac: add 6GHz support to mt76_connac_mcu_set_channel_domain a6ab81c21080 mt76: connac: set 6G phymode in single-sku support ca4f47028a44 mt76: connac: add 6GHz support to mt76_connac_mcu_sta_tlv d2e192ea81e2 mt76: connac: add 6GHz support to mt76_connac_mcu_uni_add_bss c3dd12b4c8ae mt76: connac: enable hw amsdu @ 6GHz 91ed2b256c20 mt76: add 6GHz support de8c4f92621f mt76: mt7921: add 6GHz support f143aedc1d57 mt76: introduce packet_id idr bcc8d9e03a5d mt76: remove mt76_wcid pointer from mt76_tx_status_check signature ccbd84763153 mt76: substitute sk_buff_head status_list with spinlock_t status_lock 69bb59df894c mt76: schedule status timeout at dma completion 03a992645310 mt76: support reading EEPROM data embedded in fdt 75615480b3fe mt76: introduce __mt76_mcu_send_firmware routine e8e2eae41f94 mt76: drop MCU header size from buffer size in __mt76_mcu_send_firmware 4c455e8b1a20 mt76: mt7915: introduce __mt7915_get_tsf routine 9d49c611a2d7 mt76: mt7915: introduce mt7915_mcu_twt_agrt_update mcu command f44ca79c9aed mt76: mt7915: introduce mt7915_mac_add_twt_setup routine 2f9555a2f18f mt76: mt7915: enable twt responder capability 440e2db8d541 mt76: mt7915: add twt_stats knob in debugfs eb5f640f8afa mt76: debugfs: improve queue node readability 53d7eb3b4884 mt76: mt7615: fix monitor mode tear down crash 2aa3d4414826 mt76: mt7921: add delay config for sched scan 47e8e96e8e4d mt76: use a separate CCMP PN receive counter for management frames 5560b08f8e2d mt76: do not access 802.11 header in ccmp check for 802.3 rx skbs 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!
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 -ato obtain all the latest package definitions defined in feeds.conf / feeds.conf.default -
Run
./scripts/feeds install -ato install symlinks for all obtained packages into package/feeds/ -
Run
make menuconfigto select your preferred configuration for the toolchain, target system & firmware packages. -
Run
maketo 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
#openwrton oftc.net.
Developer Community
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-develon oftc.net.
License
OpenWrt is licensed under GPL-2.0
