aboutsummaryrefslogtreecommitdiff
path: root/target
Commit message (Collapse)AuthorAge
...
* ipq60xx: define common Linksys MR devices configurationWeikai Kong2025-03-28
| | | | | | | | | ipq60xx series MR devices share some common attributes such as LED for USB port. Signed-off-by: Weikai Kong <priv@pppig236.com> Link: https://github.com/openwrt/openwrt/pull/18185 Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq6018-ess: Add dp5-syn nodeWeikai Kong2025-03-28
| | | | | | | | Linksys MR7500 features 4x QSGMII QCA8075 and 1x USXGMII (1/2.5/5 GbE) Signed-off-by: Weikai Kong <priv@pppig236.com> Link: https://github.com/openwrt/openwrt/pull/18185 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: Create working factory images for EAP620 HD v1 and ↵Shymon Samsel2025-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EAP660 HD v1 Create factory tar for EAP620 HD v1 and EAP660 HD v1 which is accepted by the stock UI. Fix bug in ipq807x and ipq60xx makefiles so TPLINK_SUPPORT_STRING is handled properly. Modify tplink-mkimage-2022 script and relevant makefiles to allow spaces in support strings (required for EAP620 HD v1 and EAP660 HD v1). Installation steps are identical to EAP610-Outdoor: Web UI method ------------- Set up the device using the vendor's web UI. After that go to Management->SSH and enable the "SSH Login" checkbox. Select "Save". The connect to the machine via SSH: ssh -o hostkeyalgorithms=ssh-rsa <ip_of_device> Disable signature verification: cliclientd stopcs Rename the "-web-ui-factory" image to something less than 63 characters, maintaining the ".bin" suffix. * Go to System -> Firmware Update. * Under "New Firmware File", click "Browse" and select the image * Select "Update" and confirm by clicking "OK". If the update fails, the web UI should show an error message. Otherwise, the device should reboot into OpenWRT. Signed-off-by: Shymon Samsel <ssamsel@umass.edu> Link: https://github.com/openwrt/openwrt/pull/18340 Signed-off-by: Robert Marko <robimarko@gmail.com>
* generic: reorder settingsMieczyslaw Nalewaj2025-03-27
| | | | | | | | Move "# CONFIG_NVMEM_LAYOUT_ASCII_ENV is not set" to the correct location. Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/18335 Signed-off-by: Nick Hainke <vincent@systemli.org>
* rampis: fix tplink_mr200v1 wan interfaceMarius Durbaca2025-03-26
| | | | | | | | RNDIS interface name change from usb0 to eth1 Signed-off-by: Marius Durbaca <mariusd84@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18298 Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: bump 6.6 to 6.6.84John Audia2025-03-26
| | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.84 All patches automatically rebased. Build system: x86/64 Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, x86/64 Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, x86/64 Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/18326 Signed-off-by: Nick Hainke <vincent@systemli.org>
* qualcommax: mr7350: switch to ascii-eq-delim-envWeikai Kong2025-03-26
| | | | | | | | | | | | | | Using the pending ascii-eq-delim-env4 driver is a better way to read mac addresses since no extra config is required The change is like eacc4d8c9b31ac17df034d2140558bdaaa56c16b, except for using smem for devinfo thanks to @musashino205 for pointing out the simplification that removes the extra partition Signed-off-by: Weikai Kong <priv@pppig236.com> Link: https://github.com/openwrt/openwrt/pull/18186 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mediatek: filogic: fix device sortingChristoph Krapp2025-03-26
| | | | | | | | arcadyan_mozart was incorrectly placed below asus devices Signed-off-by: Christoph Krapp <achterin@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18331 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq807x: Create working factory tar for WAX620 and WAX630.Erik Servili2025-03-26
| | | | | | | | | Create factory tar for WAX620 and WAX630 which is accepted by the stock UI. Must use 'Boot up Backup Firmware' button on stock upgrade page after install and reboot to swap partitions. Signed-off-by: Erik Servili <serverror@serverror.com> Link: https://github.com/openwrt/openwrt/pull/18334 Signed-off-by: Robert Marko <robimarko@gmail.com>
* ramips: dts: remove redundant console bootargsShiji Yang2025-03-26
| | | | | | | | | | `bootargs = "console=ttyS0,57600";` is already defined on all ramips target SoCs' dtsi. We don't need to override it with the same value. Signed-off-by: Shiji Yang <yangshiji66@qq.com> Link: https://github.com/openwrt/openwrt/pull/18303 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mediatek: filogic: bpi-r3-mini: add kmod-eeprom-at24Martin Schiller2025-03-25
| | | | | | | The bpi-r3-mini has an eeprom onboard. Add the related driver to be able to access this memory. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* qualcommax: ipq60xx: add GL.iNet GL-AX1800/AXT1800 supportChukun Pan2025-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SoC: Qualcomm IPQ6000 RAM: 512 MiB Flash: 128 MiB NAND ETH: Qualcomm QCA8075 WLAN1: 2.4GHz 802.11b/g/n/ax 2x2 WLAN2: 5GHz 802.11a/n/ac/ax 2x2 Button: Reset, Switch USB: 1x 3.0 SD slot: 1 in GL-AXT1800 Install via stock firmware: Upload factory.bin in stock firmware's upgrade page, do not preserve settings. Install via uboot web failsafe: Push the reset button for 5 seconds, then use broswer to access http://192.168.1.1, and upload factory.ubi. Afterwards upgrade can use sysupgrade image. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/14950 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: backport cpufreq patch for ipq60xxChukun Pan2025-03-24
| | | | | | | | | Make cpufreq work on different IPQ60xx SoC. Also rebase ipq6018-cp-cpu.dtsi for mp5496. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/14950 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: backport sdhci patches for ipq60xxChukun Pan2025-03-24
| | | | | | | | Refresh device tree, remove the useless sdhc2 aliases. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/14950 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: backport some upstream dts changesChukun Pan2025-03-24
| | | | | | | | | This is the minimal change for the upcoming patches. Refresh the device tree of ipq807x at the same time. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/14950 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: backport unmerged ipq60xx pwm supportChukun Pan2025-03-24
| | | | | | | | | Because of the dt-bindings error, these patches have not been merged yet, and the driver part is fine. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/14950 Signed-off-by: Robert Marko <robimarko@gmail.com>
* filogic: move append-gl-metadata to image-commands.mkChukun Pan2025-03-24
| | | | | | | | This can be used by GL.iNet devices from other target. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/14950 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mediatek: filogic: fix case statement in 01_ledsDaniel Golle2025-03-21
| | | | | | | | | Remove a stray '|' character from 01_leds which has accidentally been added. Reported-by: Chukun Pan <amadeus@jmu.edu.cn> Fixes: 63d56af6c6 ("mediatek: filogic: migrate Netgate N60 to upstream PHY LED control") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: igc: enable HW vlan tag insertion/stripping by defaultRui Salvaterra2025-03-21
| | | | | | | | | Add a pending patch [1] in order to do so. This will be moved to the backports section as soon as we know on which Linux version it will be merged. [1] https://lore.kernel.org/netdev/20250313093615.8037-1-rsalvaterra@gmail.com/ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* mediatek: filogic: PHY LEDs do have an address, gpio-leds don'tDaniel Golle2025-03-21
| | | | | | | | | | | | | | | | | | | | | | Other than GPIO LEDs, PHY LEDs do have an address. Fix node names such that all gpio-leds do *not* contain an '@' sign and PHY leds which do have an address also do contain the '@' sign. This is done to prevent more copy&paste'ry of non-complaint DT fragments. Fixes: 7cbe34170e ("mediatek: add support for the GL.iNet GL-MT3000") Fixes: fe10f97439 ("filogic: add support for GL.iNet GL-MT6000") Fixes: e8f7597317 ("mediatek: filogic: add support for Cudy RE3000 v1") Fixes: c9cb6411c1 ("mediatek: add support for Cudy WR3000 v1") Fixes: 7560af7647 ("mediatek: filogic: migrate ASUS TUF AX6000 to upstream PHY LED control") Fixes: 25ea7ff393 ("mediatek: filogic: migrate Acer W6/W6d to upstream PHY LED control") Fixes: d50d51d74e ("mediatek: filogic: migrate Zyxel NWA50AX Pro to upstream PHY LED control") Fixes: b88de5d507 ("mediatek: filogic: migrate Zyxel EX5700 to upstream PHY LED control") Fixes: 63d56af6c6 ("mediatek: filogic: migrate Netgate N60 to upstream PHY LED control") Fixes: fd76a38190 ("mediatek: filogic: migrate SmartRG Bonanza to upstream PHY LED control") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* Revert "mediatek: rename PHY LEDs to match upstream bindings"Daniel Golle2025-03-21
| | | | | | | This reverts commit 7103a1554aedbccc16a8beab759fcbd3b9d8e422. It was merged by accident. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: rename PHY LEDs to match upstream bindingsAleksander Jan Bajkowski2025-03-21
| | | | | | | | Kernel docs recommends the following pattern "(^led-[0-9a-f]$|led)"[1]. 1. https://elixir.bootlin.com/linux/v6.14-rc6/source/Documentation/devicetree/bindings/leds/leds-gpio.yaml#L24 Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* kernel: drop Maxlinear PHY LED control hackAleksander Jan Bajkowski2025-03-21
| | | | | | | All devices have already been migrated to the upstream PHY LED API. This prevents users from adding new devices using this hack. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mediatek: filogic: migrate SmartRG Bonanza to upstream PHY LED controlAleksander Jan Bajkowski2025-03-21
| | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. There should be no functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mediatek: filogic: migrate Netgate N60 to upstream PHY LED controlAleksander Jan Bajkowski2025-03-21
| | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. There should be no functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mediatek: filogic: migrate Zyxel EX5700 to upstream PHY LED controlAleksander Jan Bajkowski2025-03-21
| | | | | | | This commit switches the control of the leds connected to the Maxlinear GPY211C PHY to an upstream solution. There should be no functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* kernel: move accepted patch from pending-6.6 to backport-6.6Daniel Golle2025-03-18
| | | | | | | | 742-net-phy-air_en8811h-reset-netdev-rules-when-LED-is-s.patch has been accepted a while ago as https://git.kernel.org/torvalds/linux/c/87bfdbbb1992 Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* rockchip: fix missing ".patch" file extensionTomas Lara2025-03-18
| | | | | | | | | | Fixes missing .patch file extension in: - https://github.com/openwrt/openwrt/commit/de9ad11dac094b6074c9b23341acbc28806404ae - https://github.com/openwrt/openwrt/commit/2e7d060fd1ba6160067df1a2ba303c7c2efe2a7e Signed-off-by: Tomas Lara <tl849670@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18281 Signed-off-by: Robert Marko <robimarko@gmail.com>
* ath79: om2p-v1: fix compatible stringRosen Penev2025-03-17
| | | | | | | | This device uses AR9285, and not AR9280. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18271 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: Fix Hongdian H8922 v30 pinctrl default stateCoia Prant2025-03-17
| | | | | | | | | | According to the MT7620A hardware datasheet, GPIO/14 was originally used for RIN of UARTF, but is now used as the WPS LED. Corrected pinctrl to ensure it works properly in the future. Signed-off-by: Coia Prant <coiaprant@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18278 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: support switch LEDs on TL-WR1043ND v2/v3Lech Perczak2025-03-17
| | | | | | | | | | Add switch LED definitions for TP-Link TL-WR1043ND family, based on data extracted from ar71xx board file. Update the LED labels to match current pattern, i.e. drop the "tp-link:" prefix. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/12487 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: TP-link TL-WR1043ND v2/v3: use fixed-link for AR8327 switch connectionLech Perczak2025-03-17
| | | | | | | | | | | | | | Attaching PHY driver to the switch, while adding LEDs binding causes the PHY driver to create additional LED instances, handled incorrectly by the PHY driver, which are non-functional. Use fixed-link to attach the switch driver, instead of PHY driver, to prevent that. This has a side effect of not logging switch port up/down events in the kernel log. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/12487 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: support switch LEDs on Archer C7 familyLech Perczak2025-03-17
| | | | | | | | | | Add switch LED definitions for TP-Link Archer C7 v1/2/3 family, based on data extracted from ar71xx board file. Update the LED labels to match current pattern, i.e. drop the "tp-link:" prefix. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/12487 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: TP-link Archer C7v2: use fixed-link for AR8327 switch connectionLech Perczak2025-03-17
| | | | | | | | | | | | | | Attaching PHY driver to the switch, while adding LEDs binding causes the PHY driver to create additional LED instances, handled incorrectly by the PHY driver, which are non-functional. Use fixed-link to attach the switch driver, instead of PHY driver, to prevent that. This has a side effect of not logging switch port up/down events in the kernel log. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/12487 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: support switch LEDs on TL-WDR4300 familyLech Perczak2025-03-17
| | | | | | | | | | Add switch LED definitions for TP-Link TL-WDR4300 family, based on data extracted from ar71xx board file. Update the LED labels to match current pattern, i.e. drop the "tp-link:" prefix. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/12487 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: TP-link TL-WDR4300: use fixed-link for AR8327 switch connectionLech Perczak2025-03-17
| | | | | | | | | | | | | | Attaching PHY driver to the switch, while adding LEDs binding causes the PHY driver to create additional LED instances, handled incorrectly by the PHY driver, which are non-functional. Use fixed-link to attach the switch driver, instead of PHY driver, to prevent that. This has a side effect of not logging switch port up/down events in the kernel log. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/12487 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: ar8327: support LED device tree bindingsLech Perczak2025-03-17
| | | | | | | | | | | | | | | | | | | The ar8216 switch driver supports exposing configuration of AR8327 and AR8337 switch LEDs to the userspace, however it is only configurable through platform data, causing the devices ported from ar71xx target to lack the support. Since there is still a long way to go until we can migrate the target to qca8k, an interim solution is needed. Extend ar8327_hw_config_of function to parse a "leds" subnode, which will populate the missing platform data based on device tree contents, and restore the existing support for the LEDs. Standard bindings apply, mapping "reg" property to LED index, with addition of "qca,led-mode" property, which selects HW (0) or SW (1) mode, defaulting to HW mode. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/12487 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: ar8327: fix active-low LED initializationLech Perczak2025-03-17
| | | | | | | | | | | | | | | | Switch LEDs configured as active-low remain low instead of high upon initialization, because in ar8327_leds_init, no distinction is made with regards to LED pattern based on active_low property - only whether HW mode is active. Select the proper initial pattern based also on active_low to fix that. While at that, simplify the equation ruling pattern selection for setting brightness, avoiding unnecessary binary XOR operation, not really valid for 'bool' type. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/12487 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: fix chipidea usb controller detectionSimonas Tamošaitis2025-03-17
| | | | | | | | | | Devices with chipidea usb controller does not detect usb hub after phy-names change to "usb", revert it back to "usb-phy" Fixes: 787cb9d87edb ("ath79: change phy-names to only usb") Signed-off-by: Simonas Tamošaitis <simsasss@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18230 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: add missing LEDs and modem control for ASUS 4G-AX56Henrik Ginstmark2025-03-17
| | | | | | | | | | | | | | | | | | | | | | | | Add missing LEDs and modem control for ASUS 4G-AX56 - wifi2.4G white - wifi5G white - wan two-coloured, white and red - modem four-coloured white, blue, yellow and red change label = "xxxx:modem"; to color = <LED_COLOR_ID_xxxx>; function = LED_FUNCTION_MOBILE; - rssi-1 white - rssi-2 white - rssi-3 white and modem reboot and reset Combined into one commit Signed-off-by: Henrik Ginstmark <henrik@ginstmark.se> Link: https://github.com/openwrt/openwrt/pull/17927 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: u7623: fix network switch enumerationTomasz Maciej Nowak2025-03-16
| | | | | | | | | | | | | | With upstream changes hitting kernel 6.4 the dtb for u7623 ends up with both mac (gmac) disabled, since this is now the default status in mt7623.dtsi. Fix this by including mt7623a.dtsi (which already has all necessary bits) and enabling all revlevant ports. This will also do a side hustle of assigning proper clocks for power controller and specifying proper power domain for few devices. Link: https://lore.kernel.org/all/20230210182505.24597-1-arinc.unal@arinc9.com Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250304164507.60511-2-tmn505@terefe.re/ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: use openwrt,netdev-name to fix port name conflict on TP-Link Deco M4R v4J. S. Seldenthuis2025-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 24.10.0, eth0, used for the WAN interface, does not work. From dmesg: ... [ 1.831126] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module [ 1.846204] mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 19 ... [ 1.933969] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module [ 1.967668] mt7530-mdio mdio-bus:1f: configuring for fixed/rgmii link mode [ 1.975999] mt7530-mdio mdio-bus:1f eth0 (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7530 PHY] (irq=21) [ 1.986907] mt7530-mdio mdio-bus:1f: Link is Up - 1Gbps/Full - flow control rx/tx [ 1.987149] mtk_soc_eth 1e100000.ethernet eth0: error -17 registering interface eth0 [ 2.004157] mt7530-mdio mdio-bus:1f eth1 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7530 PHY] (irq=22) [ 2.017698] mtk_soc_eth 1e100000.ethernet eth0: entered promiscuous mode [ 2.024849] DSA: tree 0 setup ... [ 4.249680] mtk_soc_eth 1e100000.ethernet dsa: renamed from eth0 ... Like #15865, it seems that gmac0 does not rename eth0 to dsa until after the switch ports are initialized, leading to a name collision (error -17 = EEXIST). This patch follows #17062 by using openwrt,netdev-name to fix the collision. Signed-off-by: J. S. Seldenthuis <jseldenthuis@lely.com> Link: https://github.com/openwrt/openwrt/pull/18082 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq806x: use nvmem for wifi macRosen Penev2025-03-16
| | | | | | | | Userspace handling is deprecated. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16229 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* x86: add Supermicro SuperServer E302-9DTil Kaiser2025-03-16
| | | | | | | | | | | | | | | | | | | | This adds a default network configuration for the Supermicro SuperServer SYS-E302-9D by adding all onboard network ports to the default `lan` interface. The network ports `eth0` till `eth3` use the `igb` driver, whereas `eth4` till `eth7` use `i40e`. --- Hardware Highlights --- CPU: Intel Xeon D-2123IT, 2.20GHz, 4 cores RAM: Up to 256GB in 4 DIMM Slots Ports: 4x 1GbE, 2x 10GBase-T, 2x 10G SFP+, 1x IPMI 2.0 Video: 1x VGA USB: 2x 3.0 Signed-off-by: Til Kaiser <mail@tk154.de> Link: https://github.com/openwrt/openwrt/pull/17990 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: ZTE MF281: use specific board definition file for qca9888Lech Perczak2025-03-16
| | | | | | | | | | | | Using board definition file extracted from stock firmware yields 50% throughput improvement in RX direction under iperf3 test. Make the device use temporary files from firmware_qca-wireless.git temporarily, as well as select the specific variant in the device tree files. The device uses same board file as the MF286C. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17620 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: support ZTE MF286CLech Perczak2025-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZTE MF286 is an indoor LTE category 12 CPE router with simultaneous dual-band 802.11ac plus 802.11n Wi-Fi radios and quad-port gigabit Ethernet switch, FXS and external USB 2.0 port. Software-wise it's compatible with previous MF286A, save for different 5GHz Wi-Fi board definition file, requiring a separate image. Hardware highlights: - CPU: QCA9563 SoC at 775MHz, - RAM: 128MB DDR2, - NOR Flash: MX25L1606E 2MB SPI Flash, for U-boot only, - NAND Flash: W25N01GV 128MB SPI NAND-Flash, for all other data, - Wi-Fi 5GHz: QCA9886 2x2 MIMO 802.11ac Wave2 radio, - WI-Fi 2.4GHz: QCA9563 3x3 MIMO 802.11n radio, - Switch: QCA8337v2 4-port gigabit Ethernet, with single SGMII CPU port, - WWAN: MDM9250-based category 12 internal LTE modem in extended mini-PCIE form factor, with 5 internal antennas and 2 external antenna connections, single mini-SIM slot. - FXS: one external ATA port (handled entirely by modem part) with two physical connections in parallel, - USB: Single external USB 2.0 port, - Switches: power switch, WPS, Wi-Fi and reset buttons, - LEDs: Wi-Fi, Test (internal). Rest of LEDs (Phone, WWAN, Battery, Signal state) handled entirely by modem. 4 link status LEDs handled by the switch on the backside. - Label MAC device: eth0 Internal modem of MF286C is supported via uqmi. Console connection: connector X2 is the console port, with the following pinout, starting from pin 1, which is the topmost pin when the board is upright: - VCC (3.3V). Do not use unless you need to source power for the converer from it. - TX - RX - GND Default port configuration in U-boot as well as in stock firmware is 115200-8-N-1. Installation: Due to different flash layout from stock firmware, sysupgrade from within stock firmware is impossible, despite it's based on QSDK which itself is based on OpenWrt. STEP 0: Stock firmware update: As installing OpenWrt cuts you off from official firmware updates for the modem part, it is recommended to update the stock firmware to latest ath79: support ZTE MF286C STEP 1: Booting initramfs image: Method 1: using serial console (RECOMMENDED): - Have TFTP server running, exposing the OpenWrt initramfs image, and set your computer's IP address as 192.168.0.22. This is the default expected by U-boot. You may wish to change that, and alter later commands accordingly. - Connect the serial console if you haven't done so already, - Interrupt boot sequence by pressing any key in U-boot when prompted - Use the following commands to boot OpenWrt initramfs through TFTP: setenv serverip 192.168.0.22 setenv ipaddr 192.168.0.1 tftpboot 0x81000000 openwrt-ath79-nand-zte_mf286c-initramfs-kernel.bin bootm 0x81000000 (Replace server IP and router IP as needed). There is no emergency TFTP boot sequence triggered by buttons, contrary to MF283+. - When OpenWrt initramfs finishes booting, proceed to actual installation. STEP 2: Backing up original software: As the stock firmware may be customized by the carrier and is not officially available in the Internet, IT IS IMPERATIVE to back up the stock firmware, if you ever plan to returning to stock firmware. It is highly recommended to perform backup using both methods, to avoid hassle of reassembling firmware images in future, if a restore is needed. Method 1: after booting OpenWrt initramfs image via TFTP: - Connect your USB-UART adapter - Dump stock firmware located on stock kernel and ubi partitions: ssh root@192.168.1.1: cat /dev/mtd9 > mtd3_ubiconcat0.bin ssh root@192.168.1.1: cat /dev/mtd4 > mtd4_kernel.bin ssh root@192.168.1.1: cat /dev/mtd9 > mtd5_ubiconcat1.bin And keep them in a safe place, should a restore be needed in future. Method 2: using stock firmware: - Connect an external USB drive formatted with FAT or ext4 to the USB port. - The drive will be auto-mounted to /var/usb_disk - Check the flash layout of the device: cat /proc/mtd It should show the following: mtd0: 000a0000 00010000 "u-boot" mtd1: 00020000 00010000 "u-boot-env" mtd2: 00140000 00010000 "reserved1" mtd3: 000a0000 00020000 "fota-flag" mtd4: 00080000 00020000 "art" mtd5: 00080000 00020000 "mac" mtd6: 000c0000 00020000 "reserved2" mtd7: 00400000 00020000 "cfg-param" mtd8: 00400000 00020000 "log" mtd9: 000a0000 00020000 "oops" mtd10: 00500000 00020000 "reserved3" mtd11: 00800000 00020000 "web" mtd12: 00300000 00020000 "kernel" mtd13: 01a00000 00020000 "rootfs" mtd14: 01900000 00020000 "data" mtd15: 03200000 00020000 "fota" mtd16: 01d00000 00020000 "firmware" Differences might indicate that this is NOT a MF286C device but one of other variants. - Copy over all MTD partitions, for example by executing the following: for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do cat /dev/mtd$i > \ /var/usb_disk/mtd$i; done "Firmware" partition can be skipped, it is a concatenation of "kernel" and "rootfs". - If the count of MTD partitions is different, this might indicate that this is not a MF286C device, but one of its other variants. - (optionally) rename the files according to MTD partition names from /proc/mtd - Unmount the filesystem: umount /var/usb_disk; sync and then remove the drive. - Store the files in safe place if you ever plan to return to stock firmware. This is especially important, because stock firmware for this device is not available officially, and is usually customized by the mobile providers. STEP 3: Actual installation: - Set your computer IP to 192.168.1.22/24 - scp the sysupgrade image to the device: scp -O openwrt-ath79-nand-zte_mf286a-squashfs-sysupgrade.bin \ root@192.168.1.1:/tmp/ - ssh into the device and execute sysupgrade: sysupgrade -n /tmp/openwrt-ath79-nand-zte_mf286a-squashfs-sysupgrade.bin - Wait for router to reboot to full OpenWrt. STEP 4: WAN connection establishment Since the router is equipped with LTE modem as its main WAN interface, it might be useful to connect to the Internet right away after installation. To do so, please put the following entries in /etc/config/network, replacing the specific configuration entries with one needed for your ISP: config interface 'wan' option proto 'qmi' option device '/dev/cdc-wdm0' option auth '<auth>' # As required, usually 'none' option pincode '<pin>' # If required by SIM option apn '<apn>' # As required by ISP option pdptype '<pdp>' # Typically 'ipv4', or 'ipv4v6' or 'ipv6' For example, the following works for most polish ISPs config interface 'wan' option proto 'qmi' option device '/dev/cdc-wdm0' option auth 'none' option apn 'internet' option pdptype 'ipv4' The required minimum is: config interface 'wan' option proto 'qmi' option device '/dev/cdc-wdm0' In this case, the modem will use last configured APN from stock firmware - this should work out of the box, unless your SIM requires PIN which can't be switched off. If you have build with LuCI, installing luci-proto-qmi helps with this task. Restoring the stock firmware: - Boot to initramfs as in step 3: - Completely detach ubi0 partition using ubidetach /dev/ubi0_0 - Copy over the stock kernel image using scp to /tmp - Erase kernel and restore stock kernel: (scp mtd4_kernel.bin root@192.168.1.1:/tmp/) mtd write kernel /tmp/mtd4_kernel.bin rm /tmp/mtd4_kernel.bin - Copy over the stock partition backups one-by-one using scp to /tmp, and restore them individually. Otherwise you might run out of space in tmpfs: (scp -O mtd3_ubiconcat0.bin root@192.168.1.1:/tmp/) mtd write ubiconcat0 /tmp/mtd3_ubiconcat0.bin rm /tmp/mtd3_ubiconcat0.bin (scp -O mtd5_ubiconcat1.bin root@192.168.1.1:/tmp/) mtd write ubiconcat1 /tmp/mtd5_ubiconcat1.bin rm /tmp/mtd5_ubiconcat1.bin - If the write was correct, force a device reboot with reboot -f Quirks and known issues - It was observed, that CH340-based USB-UART converters output garbage during U-boot phase of system boot. At least CP2102 is known to work properly. - Kernel partition size is increased to 4MB compared to stock 3MB, to accomodate future kernel updates - at this moment OpenWrt 5.10 kernel image is at 2.5MB which is dangerously close to the limit. This has no effect on booting the system - but keep that in mind when reassembling an image to restore stock firmware. - uqmi seems to be unable to change APN manually, so please use the one you used before in stock firmware first. If you need to change it, please use protocok '3g' to establish connection once, or use the following command to change APN (and optionally IP type) manually: echo -ne 'AT+CGDCONT=1,"IP","<apn>' > /dev/ttyUSB0 - The only usable LED as a "system LED" is the blue debug LED hidden inside the case. All other LEDs are controlled by modem, on which the router part has some influence only on Wi-Fi LED. - GPIO5 used for modem reset is a suicide switch, causing a hardware reset of whole board, not only the modem. It is attached to gpio-restart driver, to restart the modem on reboot as well, to ensure QMI connectivity after reboot, which tends to fail otherwise. - Modem, as in MF283+, exposes root shell over ADB - while not needed for OpenWrt operation at all - have fun lurking around. The same modem module is used as in older MF286. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17620 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: ZTE MF286A: use specific board definition file for qca9888Lech Perczak2025-03-16
| | | | | | | | | | | | Using board definition file extracted from stock firmware yields 50% throughput improvement in RX direction under iperf3 test. Make the device use temporary files from firmware_qca-wireless.git temporarily, as well as select the specific variant in the device tree files. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17620 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: silence led set_brightness error messageChukun Pan2025-03-16
| | | | | | | | | | | | | Currently, if the phy driver does not implement the led_brightness_set function, setting the LED will result in the following error message: leds mdio-bus:*:green:lan: Setting an LED's brightness failed (-524) Backport a patch to silence this error message. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/18080 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: Xiaomi AX3000t: enable SPI calibrationMikhail Zhilkin2025-03-16
| | | | | | | | | | | | | Xiaomi enabled SPI calibration in new firmware: - 1.0.84 and newer (rd03 model) - 1.0.76 and newer (rd23 model) This enables SPI calibration routines in OpenWrt too. Tested-by: Aleksandr Danilov <sc16me@gmail.com> Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17976 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: import rtl8261n patches from mediatekAndrew LaMarche2025-03-16
| | | | | | | | | RTL8261N is used on some Airoha and Realtek devices. Move the driver from Mediatek to generic so it can be used everywhere. Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18163 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>