100 Commits
Author SHA1 Message Date
John CrispinandRobert Marko 16d110aee3 qualcommax: replace NSS-DP DTSI with PPE DTSI
Add DTSI files defining EDMA, PPE, and UNIPHY nodes for the new PPE
driver bindings on IPQ5018, IPQ6018 and IPQ8074 platforms.

IPQ5018 requires a patch for UNIPHY node as its cmn PLL node is upstream.

These replace the existing NSS-DP ones.

Signed-off-by: John Crispin <john@phrozen.org>
[IPQ5018]
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
[IPQ6018 and IPQ8074]
Link: https://github.com/openwrt/openwrt/pull/22381
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-07-11 22:26:43 +02:00
John CrispinandRobert Marko bdb0b722b7 qualcommax: add EDMA driver
EDMA dataplane ethernet driver for Qualcomm IPQ platforms.

Signed-off-by: John Crispin <john@phrozen.org>
[ rework Makefile for external repository, dependency ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
[ rework for in-tree ]
Link: https://github.com/openwrt/openwrt/pull/22381
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-07-11 22:26:43 +02:00
John CrispinandRobert Marko 142104bb90 qualcommax: add PPE driver
PPE switch driver for Qualcomm IPQ platforms, depends on EDMA and
UNIPHY PCS.

Signed-off-by: John Crispin <john@phrozen.org>
[ rework Makefile for external repository, dependency ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
[ bring PPE in-tree ]
Link: https://github.com/openwrt/openwrt/pull/22381
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-07-11 22:26:43 +02:00
John CrispinandRobert Marko 05c180511d qualcommax: add UNIPHY PCS driver
PCS driver for UNIPHY SerDes blocks on Qualcomm IPQ platforms.

Signed-off-by: John Crispin <john@phrozen.org>
[ rework Makefile for external repository, dependency ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
[ make it in-tree under qualcommax ]
Link: https://github.com/openwrt/openwrt/pull/22381
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-07-11 22:26:43 +02:00
John CrispinandRobert Marko 45db20988c qualcommax: add DSA out-of-band tagging protocol
Add kernel patch for the DSA out-of-band tagging protocol used by the
PPE switch driver, and enable CONFIG_NET_DSA_TAG_OOB.

Signed-off-by: John Crispin <john@phrozen.org>
Link: https://github.com/openwrt/openwrt/pull/22381
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-07-11 22:26:43 +02:00
John CrispinandFelix Fietkau d2f17ddd39 netifd: expose udhcpc timeout/retry/tryagain UCI options in dhcp.sh
proto/dhcp.sh hardcoded `-t 0` (infinite retries) with no way
for UCI / operator to tune per-retry interval (udhcpc -T),
retry count (udhcpc -t) or failure retry-loop wait (udhcpc -A).
Add three new proto config ints (timeout, retry, tryagain)
and thread them into the udhcpc command line. Unset options
preserve existing behaviour: retry defaults to 0, timeout and
tryagain are omitted so udhcpc uses its own RFC defaults.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:21:28 +02:00
John CrispinandFelix Fietkau c9945c203a lldpd: resolve bridge VLAN sub-interfaces to member ports
When bridge VLAN filtering is active, network_get_physdev resolves
UCI interface names to the VLAN sub-interface (e.g. br-lanv0) rather
than the bridge master. LLDP frames use reserved multicast
(01:80:c2:00:00:0e) which bridges trap to member ports, so lldpd
must listen on the physical ports to receive them.

Detect when the resolved device is a sub-interface of a bridge and
expand it to the list of bridge member ports instead.

Signed-off-by: John Crispin <john@phrozen.org>
2026-06-24 11:21:28 +02:00
John CrispinandFelix Fietkau 3b6050fe42 wifi-scripts: make scan output fields conditional
Only print VHT/HE/EHT center frequency and channel width fields
when they are actually populated. This avoids displaying undefined
values for non-6GHz HE results where channel info is derived from
VHT/HT Operation IEs. Also fix center_chan_2 format specifier from
%s to %d.

Signed-off-by: John Crispin <john@phrozen.org>
2026-06-24 11:21:28 +02:00
John CrispinandFelix Fietkau b8175a021b netifd: dhcp: add restart command for clean lease re-acquire
Add a proto_dhcp_restart() handler that re-acquires the DHCP lease via a
single ubus call, releasing the previous lease and triggering a fresh
DHCPDISCOVER without bouncing the interface.

The re-acquire is implemented by sending SIGHUP to udhcpc, which releases
the current lease (if any) and immediately transitions the state machine
to INIT_SELECTING so the next main-loop iteration sends a fresh
DHCPDISCOVER. A single signal thus expresses 'release this lease and get
a new one' without exiting the client, so upstream watchdogs (e.g. a
DNS-health monitor) can request a clean re-lease without tearing down the
interface.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:21:28 +02:00
John CrispinandFelix Fietkau c92ded2f6e wifi-scripts: fix EAP STA support in supplicant config generation
The supplicant config generator read eap_type and auth from UCI for
internal logic but never wrote the corresponding eap= and phase2=
directives to the wpa_supplicant config.

Fix by:
- Generating eap= and phase2= from eap_type/auth for PEAP/TTLS/FAST/TLS
- Adding eap and phase2 to the network_append_vars output list

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:21:28 +02:00
John CrispinandFelix Fietkau 87f5376eb7 busybox: enable timeout utility by default
Small cost, but can be of use for non-interactive scripts.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-06-24 11:21:28 +02:00
John CrispinandFelix Fietkau 7f2effc94d wifi-scripts: expose connected_time in iwinfo assoclist
Signed-off-by: John Crispin <john@phrozen.org>
2026-06-24 11:21:28 +02:00
John CrispinandFelix Fietkau d9c765286d wifi-scripts: fix HE Operation IE parsing in iwinfo scan
cell.he was only populated when the 6 GHz Operation Information
sub-element was parsed, making HE invisible to scan results on
2.4/5 GHz bands. Fix this by setting cell.he unconditionally when
HE Operation IE (Extension Element 36) is seen.

Gate 6 GHz channel width parsing on cell.band rather than the HE
Operation Parameters bit field, which proved unreliable on MediaTek
firmware. Fix flag byte offsets in the 6 GHz path: VHT Oper Info
Present (BIT 14) and Co-Hosted BSS (BIT 15) are in byte 1 of
he_oper_params which maps to ext[2], not ext[1].

For non-6GHz bands, derive channel width from the already-parsed
VHT/HT Operation IEs instead of leaving cell.he empty.

Signed-off-by: John Crispin <john@phrozen.org>
2026-06-24 11:21:28 +02:00
John CrispinandFelix Fietkau 5526366fea unetd: cli: convey network name from inviter to joiner
The unet CLI's join handler used the joiner's --network value as the
local network name, so an unspecified --network fell back to the
literal 'unet'. The inviter typically uses a different name (e.g.
ucoord_<venue>), so the two sides ended up keyed differently and any
upper layer subscribing to the network-named unetmsg channel never
saw each other.

The inviter now passes enroll_info={ network } to enroll_start so
the inviter's network name rides along in enroll_meta. The joiner
prefers data.enroll_meta?.network when present, falling back to its
own --network value for backwards compatibility with older inviters.

Signed-off-by: John Crispin <john@phrozen.org>
2026-06-03 11:19:06 +00:00
John CrispinandFelix Fietkau 0c2fb39c5a wifi-scripts: iwinfo scan() must not abort the interpreter on failure
Replace exit(1) on every failure path with return null so callers that
iterate over multiple radios can collect results from the radios that
did succeed instead of aborting on the first one that refuses an
off-channel scan.

Route diagnostics to stderr via warn() so stdout stays clean for
callers parsing JSON output, and include the device name in each
message to disambiguate per-radio failures.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-05-22 14:54:34 +02:00
John CrispinandFelix Fietkau cb7414055c wifi-scripts: iwinfo: guard assoclist against unknown device
Signed-off-by: John Crispin <john@phrozen.org>
2026-05-22 14:54:34 +02:00
John CrispinandRobert Marko bf81c51b51 qualcommax: ipq807x: add CMN PLL clock controller support
Add IPQ8074 support to the upstream CMN PLL driver. The CMN PLL block
is identical to IPQ6018 with the same output clocks (bias_pll_cc_clk
at 300 MHz and bias_pll_nss_noc_clk at 416.5 MHz).

Signed-off-by: John Crispin <john@phrozen.org>
2026-03-27 16:05:21 +01:00
John CrispinandRobert Marko eb769c6fc3 qualcommax: ipq60xx: add CMN PLL clock controller support
Add IPQ6018 support to the upstream CMN PLL driver. The CMN PLL at
0x9b000 generates the 12 GHz base clock feeding the networking
subsystem. Its output clocks (bias_pll_cc_clk at 300 MHz and
bias_pll_nss_noc_clk at 416.5 MHz) replace the previous fixed-clock
stubs and are found by GCC via global clock name lookup.

Signed-off-by: John Crispin <john@phrozen.org>
2026-03-27 16:05:21 +01:00
John CrispinandRobert Marko 5045085bd4 qualcommax: ipq60xx: mark gcc_xo_clk_src as CLK_IS_CRITICAL
The XO clock source is always-on in hardware and cannot be gated.
Without CLK_IS_CRITICAL, the CMN PLL runtime PM suspend cascades a
disable up to gcc_xo_clk_src, causing a branch status timeout warning.
The IPQ8074 GCC driver already marks this clock as critical.

Signed-off-by: John Crispin <john@phrozen.org>
2026-03-27 16:05:21 +01:00
John CrispinandFelix Fietkau 706c416a30 cli: add cidr6 data type
Signed-off-by: John Crispin <john@phrozen.org>
2026-02-07 10:04:18 +01:00
John CrispinandFelix Fietkau b8407e6021 cli: object-editor: merge named_args into create parameters
Allow callers of edit_create_destroy to pass additional named arguments
via info.named_args that get merged into the create command parameters.

Signed-off-by: John Crispin <john@phrozen.org>
2026-02-07 10:04:18 +01:00
John CrispinandFelix Fietkau 7fd71f2c74 unetmsg: notify subscribers when remote peer connection drops
When a remote peer's connection drops (device powered off, unetmsgd
crash, network failure), network_rx_cleanup_state silently removed
the remote publish/subscribe handles without notifying local
subscribers. This meant local clients had no way to detect that a
remote peer had disappeared.

Call handle_publish for each channel where a remote publish handle
is removed during connection cleanup, so local subscribers receive
the publisher change notification and can react accordingly.

Signed-off-by: John Crispin <john@phrozen.org>
2026-02-07 10:04:18 +01:00
John CrispinandFelix Fietkau aaa2d9f1e5 procd: reload_config: support UCI overlay directory
Check /var/run/uci/ before /etc/config/ so that overlay configs
also trigger service reload events.

The overlay directory takes precedence, and uci show already handles
merging overlay + base configuration correctly.

Signed-off-by: John Crispin <john@phrozen.org>
2026-02-07 10:04:17 +01:00
John CrispinandFelix Fietkau b44d4290fe hostapd: add raw beacon report data to ubus notification
Add the complete base64-encoded beacon report structure to the
"beacon-report" ubus notification event.

Signed-off-by: John Crispin <john@phrozen.org>
2026-01-26 17:46:16 +00:00
John CrispinandFelix Fietkau 79cd45ddee hostapd: add association frame to taxonomy data
Extend the taxonomy subsystem to capture the complete association frame
in addition to the existing probe and association IE data.

This adds a new assoc_frame_taxonomy field to struct sta_info and exposes
it via the get_sta_ies ubus method as a base64-encoded "assoc_frame" field.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-01-26 17:46:16 +00:00
John CrispinandFelix Fietkau c1492838f7 hostapd: add reporting detail support to RRM beacon request
Extend the hostapd_rrm_beacon_req ubus method to support the optional
reporting_detail parameter as defined in IEEE 802.11-2016 section 9.4.2.21.7.

Also fix missing assignment operators (=) in the beacon_req_policy array
initialisation.

Signed-off-by: John Crispin <john@phrozen.org>
2026-01-26 17:46:16 +00:00
John CrispinandFelix Fietkau 26eab84f81 wifi-scripts: refactor iwinfo.uc to support dynamic data updates
Moved interface discovery and data population into an exported update()
function that can be called on-demand to refresh wireless interface
information. This allows using iwinfo.uc as a library inside daemons.

Signed-off-by: John Crispin <john@phrozen.org>
2026-01-22 11:24:17 +01:00
John CrispinandDaniel Golle 6bfde1f0e6 uboot-mediatek: add ASUS ZenWiFi BT8 support
Add U-Boot build for the ASUS ZenWiFi BT8 intended to replace the
stock loader.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-30 02:02:58 +01:00
John CrispinandDaniel Golle e17856c9ef arm-trusted-firmware-mediatek: add MT7988 BL2 DDR4 images
Other than most boards with DDR4 the ASUS ZenWiFi BT8 cannot use the
"comb" DDR calibration option and needs only the "ddr4" option set
instead.

Build TF-A SPIM-NAND with UBI as well as to boot from RAM with
mtk_uartboot for MT7988 with DDR4 RAM.

Signed-off-by: John Crispin <john@phrozen.org>
2025-03-30 02:02:58 +01:00
John CrispinandDaniel Golle 2cd79733cc mediatek: filogic: add Asus ZenWiFi BT8
Hardware
--------
MediaTek MT7988D SoC (3x Cortex-A73 @1.8 GHz max)
1GB DDR4 RAM
128MB SPI-NAND (Winbond)
MediaTek MT7996 BE14000 Tri-Band Wi-Fi 7
3x LAN (2x 1GE MT7988 built-in, 1x 2.5GE MaxLinear GPY211C)
1x WAN (2.5GE MT7988 built-in)
LED: RGB PWM (supported as 3x PWM LED)
USB: 1x USB 3
Buttons: RESET, WPS
UART: 115200 8N1 3.3V

Installation
------------
1. Hold down RESET button and power on the device until
   LED pulses red.

2. Assign IP 192.168.1.70/24 to your computer's Ethernet port

3. Connect Ethernet to one of the 1GE LAN ports

4. Open browser and visit http://192.168.1.1

5. Upload openwrt-mediatek-filogic-asus_zenwifi-bt8-factory.bin

6. Once OpenWrt initramfs system comes up, do sysupgrade using
   openwrt-mediatek-filogic-asus_zenwifi-bt8-squashfs-sysupgrade.bin

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-30 02:02:58 +01:00
John Crispin 1375a7bae0 Revert "kernel: modules: fix led-group-multi-color patch"
This reverts commit 1cea889c96.
This reverts commit 5fd86d66c1.

The patch is causing build servers to fail. Revert it for now.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-12 15:44:30 +01:00
John Crispin 1cea889c96 kernel: modules: fix led-group-multi-color patch
Fixes: 5fd86d6 ("kernel: modules: add support for led-group-multicolor")
Signed-off-by: John Crispin <john@phrozen.org>
2024-12-12 13:53:54 +01:00
John Crispin d162fd5ed4 umdns: update to latest HEAD
93458ac dns: fix response to TYPE_PTR query
68af311 fix unicast response port and timeout
a2b4979 service: announce all services in single dns answer
4537734 display announced services in ubus call umdns browse
0b50c29 display more srv attributes in output of ubus browse function

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-11 15:41:21 +01:00
John Crispin 2bcc49aef9 procd: update to latest HEAD
e2f05de state: set_stdio: chdir back to / in case of failure
30542c9 inittab: Disable implicit controlling TTY.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-11 14:43:25 +01:00
John Crispin 60f9ec2b22 wifi-scripts: ucode: change default behaviour of the vlan_no_bridge option
Signed-off-by: John Crispin <john@phrozen.org>
2024-12-11 14:43:25 +01:00
John Crispin 3dd1c476d9 wifi-scripts: ucode: remove debug code
Signed-off-by: John Crispin <john@phrozen.org>
2024-12-11 12:28:43 +01:00
John Crispin 7e854bd943 wifi-scripts: ucode: append global options on STA interfaces
Signed-off-by: John Crispin <john@phrozen.org>
2024-12-11 12:28:43 +01:00
John Crispin 3ab1a69339 wifi-scripts: ucode: fix parsing of legacy hwmode option
Signed-off-by: John Crispin <john@phrozen.org>
2024-12-11 12:28:43 +01:00
John Crispin 4c60fba3d8 wifi-scripts: ucode: only set mbssid on ax and be radios
Signed-off-by: John Crispin <john@phrozen.org>
2024-12-11 12:28:43 +01:00
John Crispin 5bc82dede0 wifi-scripts: ucode: typo fix
Signed-off-by: John Crispin <john@phrozen.org>
2024-12-11 11:57:42 +01:00
John Crispin 3ba6737f2f wifi-scripts: various minor fixes to the new ucode scripts
* cosmetic clean up
* properly import the digest module
* typo fixes

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-03 14:26:41 +01:00
John Crispin 8349196571 fstools: update to latest HEAD
Rename jffs2reset to factoryreset. Convert all scripts to using the new command
line. Print a deprecation notice when jffs2reset is invoked.

49d36ba jffs2reset: rename to factoryreset
b135064 jffs2reset: print deprecation message

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 14:43:09 +01:00
John Crispin 5c12fe45b9 target/metadata: set OpenWrt One as the default menuconfig target/profile
Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin f342255025 mediatek: filogic: enable CONFIG_LEDS_TRIGGER_PATTERN
The boot LED on OpenWrt One is PWM driven and sets the pattern trigger as the
default inside its devicetree.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin 218f3884d2 wifi-scripts: add ucode based scripts
Add an ucode based re-implementation of the shell script based wifi code.

The new code is jsonschema driven. The code has been refactored into several
files making it easier to follow.

The new scripts are also way faster than the previous sh implementation.

The new code is currently opt-in via WIFI_SCRIPTS_UCODE and defaults to
EXPERIMENTAL.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin 0210279888 wifi-scripts: add ucode based iwinfo
Add an ucode based re-implementation of iwinfo. The tool behaves like the old
one with a few minor output differences. It is now possible to add -j to any
command resulting in JSON output.

The new code is currently opt-in via WIFI_SCRIPTS_UCODE and defaults to
EXPERIMENTAL.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin ba9cdbeea8 ucode: update to latest HEAD
b0b5d93 Merge pull request #234 from IdWV/fs
60e7a88 Merge pull request #232 from sebastianertz/lib-digest
1752779 digest: implement compile time option to exclude less common algorithms
c7268a1 ci: include libmd in MacOS CI builds
fcb6f70 lib: introduce digest library
1323a27 Merge pull request #246 from jow-/fix-upvalue-resolve
ed5ce8f types: resolve upvalue values in arrays and objects
a6e0641 vm: resolve upvalues before pushing them onto the stack
ef1baab ci: drop OpenWrt tests for now
63e18ea fs: eliminate the usage of global variables
b1bd7b5 types: add ucv_resource_create() helper
3408edf Merge pull request #244 from nbd168/nl80211
8af77e7 nl80211: add new attributes for multi-radio support
1423ad7 nl80211: cover extended feature and EHT rate info attributes
ee1d6d8 Merge pull request #237 from sebastianertz/math
4b18a9b Merge pull request #213 from jow-/improve-vector-macros
1f022c0 math: removed global variable for thread safety
e5fe6b1 treewide: refactor vector usage code
20307ee utils: improve vector utilities
aa18952 Merge pull request #241 from jow-/socket-local-fanout-decl
79ccd9c socket: provide local definition of `struct fanout_args`
402280d Merge pull request #239 from jow-/safe-insert-during-obj-iteration
07afe96 Merge pull request #240 from jow-/stricter-number-conversion
736d450 types: fix potential use after free on adding keys during iteration
4134e71 vallist: more thoroughly check for trailing garbage after numeric string
9cf53dd Merge pull request #226 from jow-/lexer-improvements
2b2e732 lexer: make api functions public
855854f lexer: emit comment and template statement block tokens
328a50f lexer: improve token position reporting
fa22732 Merge pull request #225 from jow-/compiler-fix-keyword-property-labels-after-spread
6e88c62 Merge pull request #224 from jow-/lib-fs-readline-leak
94d1211 compiler: properly treat property names after spread expressions
67cd123 fs: fix potential memory leak on i/o errors in .read()

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin 304fd40592 hostapd: expose owe_transition_ifname inside bss_info method
This allows iwinfo to match OWE interfaces.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin 6365316fab hostapd: add ubus support for wired driver
Use and alternate ubus object when the config contains "driver=wired". This
commit is in preparation of the ieee8021x-wired daemon.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin 461d9dca89 hostapd: add radius WISPr rate control AVPs
This allows a radius server to send AVPs for client rate control inside the
accept message. Further add the ratelimits to the sta-authorized ubus
notification.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin 90d0065f51 hostapd: enable CONFIG_EAP_PSK
Without this option using the eap_server in combination with wifi-station
entries will fail.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin 5af4d4f6b6 uboot-mediatek: increase USB probe delay on OpenWrt One
This solves compatibility issues with some pendrives.
Originally reported by "HIDE-r" on the forum.

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin 1af15e8a2b base-files: allow forcing all LEDs to on/off/blink state
* add a UCI option to disable all LEDs.
* add an init.d parameter to blink all LEDs
* add on/off parameters to init.d

Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
John Crispin b902284290 base-files: improve default root-passwd script
The script was not exiting cleanly causing it to not be removed from the
uci-defaults folder.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-13 07:53:47 +01:00
John Crispin 48028cd102 mediatek: set 7 MACs per wifi band in board.json on OpenWrt One
Mass production units will get 16 assigned MAC addresses. This allows each phy
to spawn up to 7 VAPs which will each have unique MAC without needing the
private bit.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-05 10:11:44 +01:00
John Crispin 6ec1477b4d mediatek: set mac increment to 7 for the 5G radio on OpenWrt One
Mass production units will get 16 assigned MAC addresses. This allows each phy
to spawn up to 7 VAPs which will each have unique MAC without needing the
private bit.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-05 10:11:44 +01:00
John Crispin a85f11f191 mediatek: filogic: add Arcadyan Mozart platform
* Mediatek MT7988A (4x Cortex-A73, up to 1.8 GHz clock speed)
* 8 GiB eMMC
* 4 GiB DDR4 RAM
* 2x 10000M + 1x 1000M  ports
* MT7996 Tri-band (2.4G, 5G, 6G) 4T4R 802.11be Wi-Fi
* 2 buttons (Reset, WPS)
* 2x LED for each GMAC
* USB-C PD power input

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-01 07:43:00 +01:00
John Crispin ddfae94a14 mediatek: add support for swapping the polarity on usxgmii interfaces
This patch comes from the MTK SDK.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-01 07:43:00 +01:00
John Crispin cfe8e6e75f mediatek: add support for Realtek RTL8261n 10G PHYs
There is no upstream driver yet. Merge the RTL SDK driver for now.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-01 07:43:00 +01:00
John Crispin 88fa1f7b1e uboot-mediatek: add support for arcadyan,mozart
Signed-off-by: John Crispin <john@phrozen.org>
2024-11-01 07:43:00 +01:00
John Crispin 859bb4dd3f base-files: set root password if present inside board.json
Add code to set plain password or put the hash into /etc/shadow.

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin 5071e842b9 base-files: add timezone to UCI during config_generate
Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin e428d7999a dropbear: add a uci-defaults script for loading authorized keys
Write the ssh authorized key to /etc/dropbear/ssh_authorized_keys if present
inside boad.json.

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin b506a305fe wifi-scripts: populate default wifi credentials and country code from board.json
Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin b89b19b854 uboot-envtools: add a board.d script to load defaults from the environment
This allows loading default wifi credentials, passwords and ssh keys on
firstboot.

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin 84577e48bc uboot-envtools: add fw_loadenv tool
This tool will load the uboot environment to /var/run/uboot-env/. This allows
more efficient use when accessing multiple variables.

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin 7a120ee72e base-files: execute uboot-env script before calling config_generate
This allows /etc/board.d/* scripts to use values from the uboot environment.

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin e7c7a3c154 base-files: uci-defaults: allow setting the number of MACs a radio can use
Introduce new uci-default functions:
	- ucidef_set_wireless_mac_count [count]

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin fa53a733ab base-files: uci-defaults: allow setting default timezone
Introduce new uci-default functions:
	- ucidef_set_timezone TZ

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin a8271b0f82 base-files: uci-defaults: allow setting default credentials and ssh keys
Introduce new uci-default functions:
     - ucidef_set_root_password_hash [hash]
     - ucidef_set_root_password_plain [plaintext]
     - ucidef_set_ssh_authorized_key [ssh key]

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:41:33 +02:00
John Crispin 3ed5f6430b hostapd: send a notification via ubus when CSA completed
Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:19:42 +02:00
John Crispin dd62f7659b hostapd: add ifname to generic ubus notify code
Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:19:34 +02:00
John Crispin 711885ad68 hostapd: add ifname and vlan_id to sta-authorized notifications
Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:19:27 +02:00
John Crispin dc48732ea7 hostapd: add the ifname to ubus events
Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:19:21 +02:00
John Crispin 8bfea41eef umdns: update to latest HEAD
fbaca4b cache: improve update call by doing a full refresh probe
93c9036 dns: reply to A/AAAA questions for additional hostnames

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:19:13 +02:00
John Crispin 92e6b84d15 ucode: update to latest HEAD
b610860 Merge pull request #223 from jow-/nl80211-add-eht-attributes
4e0456b nl80211: add EHT mac/phy capabilities
c938ee9 Merge pull request #218 from jonasjelonek/add-ioctl
56ebeec fs: add ioctl() file method
d0f423b Merge pull request #221 from mikma/fix-getenv
86f1121 lib: test if call to getenv() destroys environ
7af80d9 lib: use copy of environ pointer in getenv()
6ea37c8 ci: bump upload-artifact to v3
26d7292 Merge pull request #214 from jow-/ucode-test-runner
fbabec4 tests: replace test runner shell script with ucode implementation
e391ef5 main: prevent invalid memory access when executing empty stdin
b391fd7 Merge pull request #211 from jow-/hwsim-support
bc13278 nl80211: support the MAC80211_HWSIM netlink protocol family
f5b5a58 nl80211: drop unused structure members from connection context
f6ea6fc nl80211: support conversion from/to struct array attributes
115a84f nl80211: gracefully handle illegal netlink error code

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:12:18 +02:00
John Crispin 52e8aeabee iwinfo: update to latest HEAD
714e419 iwinfo: fix EHT mode reporting for STA interfaces
7eed433 devices: add device id for MediaTek MT7996e

Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:12:18 +02:00
John Crispin 8344ff8524 mediatek: change the the default SUBTARGET to filogic
Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:12:18 +02:00
John Crispin 0db6f9a856 uboot-mediatek: fix OpenWrt One NAND size
The final version of the PCB has 256MB NAND instead of 128MB.

Signed-off-by: John Crispin <john@phrozen.org>
2024-09-10 17:23:04 +02:00
John Crispin 28d8f33925 uboot-envtools: add support for OpenWrt One
Signed-off-by: John Crispin <john@phrozen.org>
2024-09-10 17:23:04 +02:00
John Crispin ee798653f3 mediatek: fix OpenWrt One NAND size
The final version of the PCB has 256MB NAND instead of 128MB.

Signed-off-by: John Crispin <john@phrozen.org>
2024-09-10 17:23:04 +02:00
John Crispin f5c42670d2 mediatek: fix OpenWrt One MACs
* Ignore the MACs passed by the bootloader.
* fix nvmem-cell-cells warning
* fix the node names
* add dbdc wifi MACs

Signed-off-by: John Crispin <john@phrozen.org>
2024-09-10 17:23:04 +02:00
John Crispin dd58ad968a mediatek/filogic: add OpenWrt One support
Specification:
 - MT7981 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - 1GB RAM
 - 16MB NOR
 - 128MB NAND
 - 3 LEDs (red, green, blue, white)
 - 2 buttons (reset, user defined)
 - 1 2.5Gbit WAN port (Airoha EN8811h)
 - 1 1Gbit LAN ports
 - 1 single lane M.2 SSD slot
 - 1 mikroBus socket
 - externel HW WDT (25s refresh time)
 - i2c RTC (with battery backup)

Serial Interface
 - UBS-C CDC-ACM
 - 3 Pins GND, RX, TX
 - Settings: 115200, 8N1

MAC addresses are not populated on the early samples.

Signed-off-by: John Crispin <john@phrozen.org>
2024-05-21 11:35:38 +02:00
John Crispin 47d308a46c Revert "mediatek/filogic: add OpenWrt One support"
This reverts commit 797904b3cb.

There is a stray line in the commit description

Signed-off-by: John Crispin <john@phrozen.org>
2024-05-21 11:35:28 +02:00
John Crispin 797904b3cb mediatek/filogic: add OpenWrt One support
filogic: Add support for D-Link AQUILA PRO AI M30

Specification:
 - MT7981 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - 1GB RAM
 - 16MB NOR
 - 128MB NAND
 - 3 LEDs (red, green, blue, white)
 - 2 buttons (reset, user defined)
 - 1 2.5Gbit WAN port (Airoha EN8811h)
 - 1 1Gbit LAN ports
 - 1 single lane M.2 SSD slot
 - 1 mikroBus socket
 - externel HW WDT (25s refresh time)
 - i2c RTC (with battery backup)

Serial Interface
 - UBS-C CDC-ACM
 - 3 Pins GND, RX, TX
 - Settings: 115200, 8N1

MAC addresses are not populated on the early samples.

Signed-off-by: John Crispin <john@phrozen.org>
2024-05-21 10:40:20 +02:00
John Crispin a46ebf6fc2 uboot-mediatek: add support for OpenWrt One
Signed-off-by: John Crispin <john@phrozen.org>
2024-05-21 10:26:06 +02:00
John Crispin 9746b6f1fc uboot-mediatek: add USB support to mt7981.dtsi
Signed-off-by: John Crispin <john@phrozen.org>
2024-05-21 10:26:06 +02:00
John Crispin 6e060300fc mediatek/filogic: enable led PWM driver by default
Signed-off-by: John Crispin <john@phrozen.org>
2024-05-21 10:26:06 +02:00
John Crispin 27286ed524 mediatek/filogic: fix mt7981.dtsi PCIe support
* the compatible string was wrong
* the pinmux was missing

Signed-off-by: John Crispin <john@phrozen.org>
2024-05-21 10:26:06 +02:00
John Crispin 41655c81c1 arm-trusted-firmware-mediatek: add mt7981-nor-ddr4 and mt7981-spim-nand-ubi-ddr4 builds
Signed-off-by: John Crispin <john@phrozen.org>
2024-05-21 10:26:06 +02:00
John Crispin 96e9c81aab hostapd: fix radius problem due to invalid attributes
The offending commit caused the configuration file to contain:
  radius_auth_req_attr=
  radius_acct_req_attr=
which cause hostapd to add an ATTR of type 0 into the messages.

hostapd: RADIUS message: code=4 (Accounting-Request) identifier=0 length=93
hostapd:    Attribute 40 (Acct-Status-Type) length=6
hostapd:       Value: 7
hostapd:    Attribute 30 (Called-Station-Id) length=28
hostapd:       Value: 'C4-41-1E-F5-2D-55:OpenWifi'
hostapd:    Attribute 61 (NAS-Port-Type) length=6
hostapd:       Value: 19
hostapd:    Attribute 0 (?Unknown?) length=3    <----------------
hostapd:    Attribute 55 (Event-Timestamp) length=6
hostapd:       Value: 1622726457
hostapd:    Attribute 41 (Acct-Delay-Time) length=6
hostapd:       Value: 0
hostapd:    Attribute 44 (Acct-Session-Id) length=18
hostapd:       Value: '9B5961E7235AAEC6'

Fixes: 3bd6c8c728 (hostapd: add additional radius options)
Signed-off-by: John Crispin <john@phrozen.org>
2021-06-03 16:00:51 +02:00
John CrispinandFelix Fietkau 98621c9782 hostapd: add eap_server support
This makes it possible to avoid using a RADIUS server for WPA enterprise authentication

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-06-02 09:33:12 +02:00
John CrispinandFelix Fietkau 3bd6c8c728 hostapd: add additional radius options
- add functionality to configure RADIUS NAS-Id and Operator-Name
- add functionality to configure RADIUS accounting interval
- enable RADIUS "Chargeable User Identity"

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-05-26 11:48:14 +02:00
John CrispinandFelix Fietkau 937dd79e2a hostapd: fix civic location option
Signed-off-by: John Crispin <john@phrozen.org>
2021-05-26 11:48:14 +02:00
John CrispinandDaniel Golle aa94e34c1d mediatek: add Linksys E8450 support
The Linksys E8450, also known as Belkin RT3200, is a dual-band
IEEE 802.11bgn/ac/ax router based on MediaTek MT7622BV and
MediaTek MT7915AN chips.

FCC: K7S-03571 and K7S-03572

Hardware highlights:
 - CPU: MediaTek MT7622BV (2x ARM Cortex-A53 @ 1350 MHz max.)
 - RAM: 512MB DDR3
 - Flash: 128MB SPI-NAND (2k+64)
 - Ethernet: MT7531BE switch with 5 1000Base-T ports
             CPU port connected with 2500Base-X
 - WiFi 2.4 GHz: 802.11bgn 4T4R built-in antennas
                 MT7622VB built-in
 - WiFi   5 GHz: 802.11ac/ax 4T4R built-in antennas
                 MT7915AN chip on-board via PCIe
                 MT7975AN front-end
 - Buttons: Reset and WPS
 - LEDS: 3 user controllable LEDs, 4 wired to switch
 - USB: USB2.0, single port
 - no Bluetooth (supported by SoC, not wired on board)
 - Serial: JST PH 2.0MM 6 Pin connector inside device
            ----_____________----
           [  GND RX - TX  -  -  ]
            ---------------------
 - JTAG:   unpopulated ARM JTAG 20-pin connector (works)

This commit adds support for the device in a way that is compatible
with the vendor firmware's bootloader and dual-boot flash layout, the
resulting image can directly be flashed using the vendor firmware.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-02-28 01:20:53 +00:00
John CrispinandFelix Fietkau ceb612e463 hostapd: pass respawn settings when registering the service
When hostapd gets restarted to often/quickly will cause procd to not restart it
anymore. it will think that hapd is in a crash loop.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [adjust respawn time]
2020-12-22 19:30:26 +01:00
John Crispin 9aabd934a9 realtek: fix SFP ports on the dlink 10port switch
Signed-off-by: John Crispin <john@phrozen.org>
2020-12-02 10:43:45 +01:00
John Crispin cfbda66279 realtek: add zyxel_gs1900-10hp support
Signed-off-by: John Crispin <john@phrozen.org>
2020-12-02 07:54:14 +01:00
John Crispin 1dc5d56ca0 realtek: cleanup package selection
Signed-off-by: John Crispin <john@phrozen.org>
2020-12-02 07:53:52 +01:00
John Crispin 9aa4490502 realtek: clean up board.json generation
In this new setup the switch is treated as wan, lan1.100 is used as
our mgmt vlan.

The board mac is applied to eth0, switch and switch.1

The board mac is assigned with the LA bit set to all lan ports while
incrementing it.

Signed-off-by: John Crispin <john@phrozen.org>
2020-12-02 07:53:21 +01:00