aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* vrx518_tc: fix compilation error with kernel 6.1Andre Heider2023-08-27
| | | | | | | Define the old PDE_DATA marco to the new pde_data function and conditionally use the newer APIs. Signed-off-by: Andre Heider <a.heider@gmail.com>
* vrx518_ep: fix compilation error with kernel 6.1Andre Heider2023-08-27
| | | | | | | Unconditionally use the newer APIs, since our oldest supported kernel contains them too. Signed-off-by: Andre Heider <a.heider@gmail.com>
* ltq-ifxos: fix compilation error with kernel 6.1Andre Heider2023-08-27
| | | | | | Conditionally use the newer APIs. Signed-off-by: Andre Heider <a.heider@gmail.com>
* rockchip: add support for PINE64 ROCK64Antonio Flores2023-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This add support for PINE64 ROCK64, rockchip rk3328 board. Specifications: 4 x ARM Cortex A53 cores @ 1.5 GHz ARM Mali 450 MP2 GPU LPDDR3 RAM (up to 4GB) Gigabit Ethernet Micro SD Slot eMMC module slot SPI Flash 128Mbit 4K digital video out 2x USB 2.0 Host 1x USB 3.0 Host PI-2 bus PI-P5+ bus IR R/X port Real Time Clock (RTC) port Power Over Ethernet (POE) (when using optional HAT module) A/V jack Power, Reset and Recovery buttons 3.5mm barrel power (5V 3A) port To install write image to the sd using dd (dd if=*.img of=/*) Signed-off-by: Antonio Flores <antflores627@gmail.com>
* uboot-rockchip: fix swig dependency for ROCK64Antonio Flores2023-08-27
| | | | | | Pre build files to fix swig dependency. Signed-off-by: Antonio Flores <antflores627@gmail.com>
* uboot-rockchip: add support for PINE64 ROCK64Antonio Flores2023-08-27
| | | | | | Add uboot support for PINE64 ROCK64, rockchip rk3328 board. Signed-off-by: Antonio Flores <antflores627@gmail.com>
* ramips: add support for D-Link DRA-1360Rani Hod2023-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DRA-1360 rev A is a wall-plug AC1300 repeater. Hardware is identical (same FCC ID, black case instead of white) to D-Link DAP-1620 rev B, which is already supported, but a different model name, revision, and hardware ID are needed. Thus, the bulk of the DAP-1620 device tree is extracted to a common dtsi included by the two models' device trees. Repeating specs and installation instructions from e4c7703: (note that the RAM size mentioned there was incorrect, oops) Specs: - SoC: MT7621AT (880MHz dual-core MIPS1004Kc) - Memory: 128 MiB RAM, 16 MiB NOR SPI - WiFi: MT7615DN 2x2 802.11n + 2x2 802.11ac (DBDC) - Ethernet: 1 RJ45 port 10/100/1000 - Power/status LED: red+green - LED RSSI bargraph: 2x green, 1x red+green Installation: - Keep reset button pressed during plug-in - Web Recovery Updater is at 192.168.0.50 (pings are ignored, it listens only for http) - Upload factory.bin, confirm flashing (seems to work best with Chromium-based browsers) Revert to OEM firmware: - tail -c+117 DRA1360A1_FW112B03.bin | \ openssl aes-256-cbc -d -md md5 -out decrypted.bin \ -k c471706398cb147c6619f8a04a18d53e9c17ede8 - flash decrypted.bin via D-Link Web Recovery Signed-off-by: Rani Hod <rani.hod@gmail.com>
* kernel: bump 5.15 to 5.15.128John Audia2023-08-27
| | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.128 All patches automatically rebased. Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 6.1 to 6.1.48John Audia2023-08-27
| | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.48 No patches changed in this bump, only update was to checksum. Build system: x86/64 Build-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
* ipq40xx: re-add label MAC address for FritzBox 4040Fabian Bläse2023-08-27
| | | | | | | | | | | | | | The MAC address of the GMAC is contained inside the CWMP-Account number on the label. The label MAC address alias was defined previously, but it has been removed with the switch to IPQESS / DSA. Restore the label MAC address alias. Fixes: 27b441cbaf42 ("ipq40xx: drop ESSEDMA + AR40xx DTS nodes") Signed-off-by: Fabian Bläse <fabian@blaese.de> Reviewed-by: Robert Marko <robimarko@gmail.com>
* uboot-sunxi: bump to 2023.04Zoltan HERPAI2023-08-26
| | | | | | | | | | | | | | | | | Compile-tested: all boards Runtime-tested: - Cortex-A8: pcDuino - Cortex-A7: Bananapro, Bananapi M3 - Cortex-A53:Pine64+ Notes: - binman tries to add firmware for the SCP (system control processor), which we don't build, and is optional for the boot process on 64-bit. Disable this via setting the SCP envvar to /dev/null. For further info, see [1] . [1] https://github.com/u-boot/u-boot/blob/master/board/sunxi/README.sunxi64 Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* x86: remove built-in vhost-net driverMathew McBride2023-08-26
| | | | | | This is now available as a kmod package (kmod-vhost-net). Signed-off-by: Mathew McBride <matt@traverse.com.au>
* kernel: add vhost-net moduleMathew McBride2023-08-26
| | | | | | | | | | | | | | | | vhost-net is used to accelerate traffic to virtualisation guests that use the virtio-net network card in QEMU. Generally it is invoked by specifying "vhost=on" to a QEMU -netdev device: qemu-system-aarch64 -nographic -M virt -cpu host \ --enable-kvm -bios u-boot.bin -smp 1 -m 2048 \ -drive file=openwrt-armsr-armv8.img,format=raw,index=0,media=disk \ -device "virtio-net,netdev=landev,disable-legacy=off,disable-modern=off" \ -netdev "tap,id=landev,helper=/usr/lib/qemu-bridge-helper --br=br-lan,vhost=on" Signed-off-by: Mathew McBride <matt@traverse.com.au>
* prereq: merge common cases in SetupHostCommandJonas Gorski2023-08-26
| | | | | | | | | | | | | | | | | | | Now that most cases do the same thing in SetupHostCommand, merge them together into one. To allow moving the generic symlink check, invert the check and let it check for relative links by matching on link targets that do not start with a slash. This then allows us to also drop the absolute link case, shortening the case statement further. This reorders the check to * if it is not a symlink, do not change it * if it is a symlink and it points to the found command, do not change it * if it is a symlink with a relative path, do not change it * else, update/replace it Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* prereq: make existing binary check work for sdk as wellJonas Gorski2023-08-26
| | | | | | | | | | | | | | | | | | To avoid replacing host built binaries with symlinks again, a check for an appropriate stamp was added in 729909c07f ("prereq-build: do not replace binaries with symlinks"). Unfortunately the stamp directory does not exist in the SDK, so the fix was ineffective there. This caused the packages builders to e.g. use the host tar again, which in turn made the tarballs created different since it may lack reproducibility fixes, or implement these differently, causing spurious hash failures on source repository based packages. Fix this by dropping the stamp dir check, and just check that the file is usable. Fixes: 729909c07f ("prereq-build: do not replace binaries with symlinks") Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* arm-trusted-firmware-mvebu: bump to v2.9Robert Marko2023-08-26
| | | | | | We are using the outdated 2.7 TF-A, so lets update to current v2.9 version. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* arm-trusted-firmware-mvebu: update CM3 GCC to 12.3rel1Robert Marko2023-08-26
| | | | | | | | | We are using the outdated 11.2 GCC for CM3, lets update to the current 12.3rel1 version from ARM [1]. [1] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* arm-trusted-firmware-mvebu: bump cryptopp to version 8.8Robert Marko2023-08-26
| | | | | | | We are using the outdated Crypto++ version 8.5, so lets update to the current version 8.8. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* arm-trusted-firmware-mvebu: bump mox-boot-builder to current versionRobert Marko2023-08-26
| | | | | | | | | | | | | | | | | We have to move to use git clone as there are no newer tagged releases. Changes: 604f8f5 Default CROSS_CM3 to arm-none-eabi- instead of armv7m-softfloat-eabi- b9b9419 Tidy up license information 0290b2c wtmi: Fix typo a10b8e9 Makefile: fix a53-firmware.bin generation (maximum size is not optimal) f654082 wtmi: Add const qualifier to isr_vector 4a43a3b wtmi: Improve detection of ESPRESSObin boards with Topaz 189e629 wtmi: Improve detection of boards with insufficient MDIO pull-up 3dac4fe wtmi: Fix detection of Armada 3720 Devel Board 3ca4dfa Bump mox-imager commit Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* arm-trusted-firmware-mvebu: bump mv-ddr-marvell to current versionRobert Marko2023-08-26
| | | | | | | | Changes: 1de442d Convert floating point operations to integer operations ce6770d Modify mv_ddr4_calibration_validate function body to match function header Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* arm-trusted-firmware-mvebu: bump a3700-utils to current versionRobert Marko2023-08-26
| | | | | | | | Changes: a3e1c67 wtmi: Fix linker output sections f65e3bf wtmi: Remove usage of non-existant string.h file and memcpy() function Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* kernel: bump 6.1 to 6.1.47John Audia2023-08-26
| | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.47 All patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne Run-tested: x86/64/AMD Cezanne Signed-off-by: John Audia <therealgraysky@proton.me>
* mac80211: Add ath11k to the help text of ATH_DEBUGJacob Aharon2023-08-25
| | | | | | | ATH_DEBUG package is required to debug ath11k. Fixes: 93ae4353cdf6 ("mac80211: add ath11k PCI support") Signed-off-by: Jacob Aharon <ah.jacob@gmail.com>
* uboot-envtools: fix parallel buildingRobert Marko2023-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent envtools update to 2023.07.02 has introduced a breakage when trying to parallel build with the following error: /bin/sh: line 1: scripts/basic/fixdep: No such file or directory Luckily it can easily be reproduced locally via a simple script so it was not hard to bisect it down to upstream commit [1]. However, its not that commits fault, it just uncovered an issue with the way we have been building envtools for a long time, maybe even from the package introduction. The issue is that we are trying to build envtools as one of the U-Boot no-dot-config-targets but envtools was newer a valid target for it but since we were creating the config headers that were not actually used it was actually building all this time. Since the blamed commit [1] a tool called printinitialenv is built and now a proper config is actually required in order for prerequisites to get built properly. So, in order to properly fix this (Hopefully for good) lets stop pretending that envtools are a valid no-dot-config-targets target and use the tools-only defconfig which is meant exactly for just building the tools. This will make a minimal config for the U-Boot sandbox target and then envtools will build just fine in parallel mode (I tested with 32 threads). We do hovewer need to override the ARCH passed by OpenWrt and set it to sandbox as otherwise U-Boot will not find the required headers because the ARCH is being overriden to an incorrect one. [1] https://source.denx.de/u-boot/u-boot/-/commit/40b77f2a3ac13a7547c1b7c9c51a4090869de8f4 Fixes: 9db033005210 ("uboot-envtools: update to 2023.07.02") Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* mediatek: enable NMBM remapping for NWA50AX Pro UBIDavid Bauer2023-08-25
| | | | | | | | | Don't skip remapping of the UBI area for the ZyXEL NWA50AX Pro. This is due to the kernel being loaded from the UBI partition by U-Boot. Link: https://github.com/openwrt/openwrt/pull/13335 Signed-off-by: David Bauer <mail@david-bauer.net>
* mt76: update to the latest versionFelix Fietkau2023-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bdf7ca5db707 wifi: mt76: mt7921: move common register definition in mt792x_regs.h ae15d5c6b567 wifi: mt76: mt7921: convert acpisar and clc pointers to void 02515b6b90f0 wifi: mt76: mt7921: rename mt7921_vif in mt792x_vif 6ed8a8bdc7b6 wifi: mt76: mt7921: rename mt7921_sta in mt792x_sta 80234e64e7c5 wifi: mt76: mt7921: rename mt7921_phy in mt792x_phy 2485b4222d3d wifi: mt76: mt7921: rename mt7921_dev in mt792x_dev c6fd7cde77e0 wifi: mt76: mt7921: rename mt7921_hif_ops in mt792x_hif_ops 1a1a57b5f8c4 wifi: mt76: mt792x: move shared structure definition in mt792x.h 68508aab4241 wifi: mt76: mt7921: move mt792x_mutex_{acquire/release} in mt792x.h ff306af07e65 wifi: mt76: mt7921: move mt792x_hw_dev in mt792x.h 4b49d659acab wifi: mt76: mt7921: Replace fake flex-arrays with flexible-array members 93f821cce8f5 wifi: mt76: mt792x: introduce mt792x-lib module de7b90721280 wifi: mt76: mt7921: move mac shared code in mt792x-lib module c68ee8a64bef wifi: mt76: mt7921: move dma shared code in mt792x-lib module 8d561811f271 wifi: mt76: mt7921: move debugfs shared code in mt792x-lib module 0034ae289046 wifi: mt76: mt7921: move init shared code in mt792x-lib module 8419c4e793a7 wifi: mt76: mt792x: introduce mt792x_irq_map b7c7fadf228c wifi: mt76: mt792x: move more dma shared code in mt792x_dma 0b1603ce707c wifi: mt76: mt7921: move hif_ops macro in mt792x.h e07540abe87a wifi: mt76: mt7921: move shared runtime-pm code on mt792x-lib 3d65cd7a8dad wifi: mt76: mt7921: move runtime-pm pci code in mt792x-lib 4551f8c838e6 wifi: mt76: mt7921: move acpi_sar code in mt792x-lib module bd84b8ebaff8 wifi: mt76: mt792x: introduce mt792x-usb module 7067ea0f1bab wifi: mt76: mt792x: move mt7921_load_firmware in mt792x-lib module cf752af84c35 wifi: mt76: mt76_connac3: move lmac queue enumeration in mt76_connac3_mac.h 700041dcf773 wifi: mt76: mt792x: move MT7921_PM_TIMEOUT and MT7921_HW_SCAN_TIMEOUT in common code 58b2b90ad89b wifi: mt76: mt7921: move mt7921_dma_init in pci.c 9e4cb87a04cf wifi: mt76: mt7921: move mt7921u_disconnect mt792x-lib c19b62fe6b68 wifi: mt76: testmode: add nla_policy for MT76_TM_ATTR_TX_LENGTH 4904ab2f87cd wifi: mt76: fix return value check in mt76x02_mac_process_rx 1f0fbbee359c wifi: mt76: mt7915: fix tlv length of mt7915_mcu_get_chan_mib_info 24a54ee3a5ec wifi: mt76: mt7915: fix power-limits while chan_switch 80b8bcf0e3ea wifi: mt76: mt7603: rework/fix rx pse hang check a8d9553d8fc4 wifi: mt76: mt7603: improve watchdog reset reliablity c03d84c0d018 wifi: mt76: mt7603: improve stuck beacon handling 85cc58378d25 wifi: mt76: mt7603: add missing register initialization for MT7628 b14c2351ddb8 wifi: mt76: mt7603: disable A-MSDU tx support on MT7628 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* uboot-mediatek: increase max. memory regions on mt7988-rfbDaniel Golle2023-08-24
| | | | | | | | | | | WED requires a bunch of additional reserved memory regions. As U-Boot's LMB allocator defaults to a maximum of only 8 regions, this currently makes using WED impossible. Raise LMB_MAX_REGIONS to 64 just like for all other MediaTek boards with a SoC supporting WED. Fixes: 572ea68070 ("uboot-mediatek: add patches for MT7988 and builds for RFB") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* sunxi: add testing kernel 6.1Zoltan HERPAI2023-08-24
| | | | | | | | | | | | Compile-tested: all targets Runtime-tested: - Cortex-A53: Pine64+ - Cortex-A7: Bananapro, Orange Pi 2 - Cortex-A8: pcDuino v2 Patches refreshed. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* sunxi: copy patches from 5.15 to 6.1Zoltan HERPAI2023-08-24
| | | | | | To start the migration, we copy the patches from 5.15 to 6.1. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* hostapd: fix bringing up AP+STA when the new channel is on a DFS channelFelix Fietkau2023-08-24
| | | | | | | If a CAC is needed because the channel is not available yet, a full AP interface restart is needed Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ath79: fix first reboot issue on Netgear WNDR4300 v2 and WNDR4500 v3Shiji Yang2023-08-24
| | | | | | | | | | | | | | | From the Netgear u-boot GPL code[1]. Bootloader always unconditionally marks block 768, 1020 - 1023 as bad blocks on each boot. This may lead to conflicts with the OpenWrt nand driver since these blocks may be good blocks. In this case, U-boot will override the oob of these blocks so that break the ubi volume. The system will be damaged after first reboot. To avoid this issue, manually skip these blocks by using "mtd-concat". [1] https://www.downloads.netgear.com/files/GPL/EX7300v2series-V1.0.0.146_gpl_src.tar.bz2.zip Fixes: https://github.com/openwrt/openwrt/issues/8878 Tested-by: Yousaf <yousaf465@gmail.com> Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ath79: rework Netgear nand devices image recipeShiji Yang2023-08-24
| | | | | | | | | | | | | | | | | | In Netgear u-boot GPL code, nand devices uses this formula to locate the rootfs offset. offset = (((128 + KERNEL_SIZE) / BLOCK_SIZE) + 1) * BLOCK_SIZE; Howerver, WNDR4500 source code incorrectly define the nand block size to 64k. In some cases, it causes u-boot can't get the correct rootfs offset, which result in boot failure. This patch workaround it by padding kernel size to (128k * n - 128 - 1). The additional char '\0' is used to ensure the (128 + KERNEL_SIZE) can't be divided by the BLOCK_SIZE. Fixes: https://github.com/openwrt/openwrt/issues/13050 Fixes: 3c1512a25d92 ("ath79: optimize the firmware recipe for Netgear NAND devices") Tested-by: Yousaf <yousaf465@gmail.com> Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* hostapd: in AP/STA, shut down AP interfaces when STA enters scanning stateFelix Fietkau2023-08-23
| | | | | | | | When the STA is brought up, it is set to DISABLED before adding the bss to ucode, so the first trigger to disable the AP is missed. Reported-by: Michael-cy Lee (李峻宇) <Michael-cy.Lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* hostapd: remove obsolete patchFelix Fietkau2023-08-23
| | | | | | It was only needed when hostapd was being started with one instance per PHY Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix MT7620 Wi-Fi channel scanning functionShiji Yang2023-08-22
| | | | | | | | | | | | During the channel scanning process, the driver will continuously switch channels. It seems that the full RF calibration step in rt2800_config_channel() caused the channel scanning function to timeout. To fix it, move the RF calibration to rt2800_enable_radio() so that it is only executed once. This commit also includes some coding format adjustments to follow the Linux recommended style. Fixes: 2824fa6963cf ("mac80211: rework MT7620 PA/LNA RF calibration") Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* mediatek: enable NWA50AX Pro eth LEDsDavid Bauer2023-08-22
| | | | | | | | | | | | | Enable the ethernet LED's on the ZyXEL NWA50AX Pro to show link-state as well as activity. Both LED's are configured pulsing. AMBER | 10/100 GREEN | 1000 A+G | 2500 Signed-off-by: David Bauer <mail@david-bauer.net>
* mediatek: filogic: wax220: cleanup device treeStefan Agner2023-08-22
| | | | | | | Fix compatible string to match what is supported upstream, fix alignment and order MTD partitions according to offset. Signed-off-by: Stefan Agner <stefan@agner.ch>
* mediatek: filogic: wax220: support factory imageStefan Agner2023-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable building a factory image which can be flashed through the OEM firmware's web interface. It seems that the web interface requires a minimum file size of 10MiB, otherwise it will not accept the image. The update image is a regular sysupgrade tarball packed in a Netgear encrypted image. The Netgear encrypted image is the same as used in WAX202 or WAX206, including the encryption keys and IV. This adds a script which creates the rootfs_data volume on first startup. This is required since the OEM firmware's sysupgrade scripts do not create such a paritition. Note that any script ordered after 70_initramfs_test will not get executed on initramfs. Hence this new script 75_rootfs_prepare won't create the rootfs_data volume when using the recovery initramfs. Also, this deletes the kernel_backup and rootfs_backup volumes in case we have to create the rootfs_data volumes. This makes sure that OpenWrt is the actual backup firmware instead of the stock firmware. References in WAX220 GPL source: https://www.downloads.netgear.com/files/GPL/WAX220-V1.0.2.8-gpl-src.tar.gz * package/base-files/files/lib/upgrade/nand.sh:186 Creation of rootfs_data is disabled * Uboot-upstream/board/mediatek/common/ubi_helper.c Automatic creation of UBI backup volumes Signed-off-by: Stefan Agner <stefan@agner.ch>
* hostapd: allow reduced neighbor report configurationDavid Bauer2023-08-22
| | | | | | | Reduced neighbor reports can be enabled by setting the "rnr" uci option to 1. Signed-off-by: David Bauer <mail@david-bauer.net>
* mediatek: add missing packages for Acer Predator W6David Bauer2023-08-22
| | | | | | Add missing packages for creating the overlay filesystem. Signed-off-by: David Bauer <mail@david-bauer.net>
* uboot-bcm53xx: Add U-Boot for NorthStar BCM53xxLinus Walleij2023-08-20
| | | | | | | | | | | | | | I recently added support for the NorthStar ARM BCM53xx SoCs to the upstream U-Boot. This is a back port on top of the 2023.04 version already imported to OpenWrt with the 5 necessary upstream patches. This is needed to create a small U-Boot for the BCM53xx-based D-Link DIR-890L and I think also the DIR-885L, so that a recent (bigger) kernel can be loaded and executed from the SEAMA partitions on these devices. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* ramips: add support for I-O DATA WN-DEAX1800GRINAGAKI Hiroshi2023-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I-O DATA WN-DEAX1800GR is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 256 MiB (Nanya NT5CC128M16JR-EK) - Flash : RAW NAND 128 MiB (Winbond W29N01HVSINF) - WLAN : 2.4/5 GHz (MediaTek MT7915) - Ethernet : 5x 10/100/1000 Mbps - Switch : MT7530 (SoC) - LEDs/Keys : 6x/3x - UART : through-hole on PCB (J2) - assignment: 3.3V, GND, TX, RX from "1" marking - settings : 115200n8 - Power : 12 VDC, 1 A Flash instruction using initramfs-factory image: 1. Boot WN-DEAX1800GR normally 2. Access to "http://192.168.0.1/" and open firmware update page ("ファームウェア") 3. Select the OpenWrt initramfs-factory.bin image and click update ("更新") button to perform firmware update 4. On the initramfs image, perform sysupgrade with the squashfs-sysupgrade.bin image 5. Wait ~120 seconds to complete flashing Note: - This device has 2x OS images on the flash storage. In this support, the first one will be used. Warning: - Do not use "saveenv" command on U-Boot CLI. This device has wrong u-boot-env data. The actual length of individual env data installed to the device is 0x1000 (4 KiB), but installed U-Boot requires 0x20000 (128 KiB). So U-Boot determines the data is invalid. Then, if you perform saving environment data with saveenv on U-Boot CLI, installed env data will be overwritten with too few default values without individual values (SSID, password, MAC addresses, etc...). MAC addresses: LAN : 50:41:B9:xx:xx:F4 (Config, ethaddr (text)) WAN : 50:41:B9:xx:xx:F6 (Config, wanaddr (text)) 2.4 GHz: 50:41:B9:xx:xx:F4 (Config, rmac (text) / Factory, 0x4 (hex)) 5 GHz : 50:41:B9:xx:xx:F5 (none) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: improve sysupgrade helpers for I-O DATA devicesINAGAKI Hiroshi2023-08-20
| | | | | | | | | | | | | | | | | | | | I-O DATA devices manufactured by MSTC (MitraStar Technology Corp.) have some important flags for booting, "bootnum" and "debugflag". The almost devices have both flags but some devices have only "bootnum" flag. So optimize helper functions in iodata.sh to set each flags. - both: - WN-AX1167GR2 - WN-AX2033GR - WN-DX1167R - WN-DX1200GR - WN-DX2033GR - "bootnum" only - WN-DEAX1800GR Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* filogic: support Telenor branded ZyXEL EX5700Bjørn Mork2023-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Telenor quirks -------------- The operator specific firmware running on the Telenor branded ZyXEL EX5700 includes U-Boot modifications affecting the OpenWrt installation. Notable changes to U-Boot include - environment is stored in RAM and reset to defaults when power cycled - dual partition scheme with "nomimal" or "rescue" systems, falling back to "rescue" unless the OS signals success in 3 attempts - several runtime additions to the device-tree Some of these modifications have side effects requiring workarounds - U-Boot modifies /chosen/bootargs in an unsafe manner, and will crash unless this node exists - U-Boot verifies that the selected rootfs UBI volume exists, and refuses to boot if it doesn't. The chosen "rootfs" volume must contain a squashfs signature even for tftp or initramfs booting. - U-Boot parses the "factoryparams" UBI volume, setting the "ethaddr" variable to the label mac. But "factoryparams" does not always exist. Instead there is a "RIP" volume containing all the factory data. Copying the "RIP" volume to "factoryparams" will fix this Hardware -------- SOC: MediaTek MT7986 RAM: 1GB DDR4 FLASH: 512MB SPI-NAND (Mikron xxx) WIFI: Mediatek MT7986 802.11ax 5 GHz Mediatek MT7916 DBDC 802.11ax 2.4 + 6 GHz ETH: MediaTek MT7531 Switch + SoC 3 x builtin 1G phy (lan1, lan2, lan3) 2 x MaxLinear GPY211C 2.5 N-Base-T phy (lan4, wan) USB: 1 x USB 3.2 Enhanced SuperSpeed port UART: 3V3 115200 8N1 (Pinout: GND KEY RX TX VCC) Installation ------------ 1. Download the OpenWrt initramfs image. Copy the image to a TFTP server reachable at 192.168.1.2/24. Rename the image to C0A80101.img. 2. Connect the TFTP server to lan1, lan2 or lan3. Connect to the serial console, Interrupt the autoboot process by pressing ESC when prompted. 3. Download and boot the OpenWrt initramfs image. $ env set uboot_bootcount 0 $ env set firmware nominal $ tftpboot $ bootm 4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device using scp and install using sysupgrade. $ sysupgrade -n <path-to-sysupgrade.bin> Missing features ---------------- - The "lan1", "lan2" and "lan3" port LEDs are driven by the switch but OpenWrt does not correctly configure the output. - The "lan4" and "wan" port LEDs are driven by the GPH211C phys and not configured by OpenWrt. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* mediatek: filogic: set wan label in preinitBjørn Mork2023-08-20
| | | | | | | | | Implement the functionality of target/linux/ramips/patches-5.15/700-net-ethernet-mediatek-support-net-labels.patch in userspace, since the driver patch has been rejected as a generic solution: https://github.com/openwrt/openwrt/pull/11435 Signed-off-by: Bjørn Mork <bjorn@mork.no>
* kernel: ubootenv-nvram: driver for RAM backed environmentsBjørn Mork2023-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vendor U-Boot implementaion on Telenor branded ZyXEL EX5700 devices does not store its environment on flash. It is instead kept in a memory region. This is persistent over reboots, but not over power cycling. The dual partition failsafe system used by the vendor U-Boot requires the OS to modify a variable in this memory environment. This driver allows the ordinary uboot-envtools to access a memory region like it was a partition on NOR flash. The specific vendor U-Boot adds a "no-map" /reserved-memory section and a top level /ubootenv node pointing to the memory environment. The driver uses this device specific fact to locate the region. The matching and probing code will likely have to be adjusted for any other devices to be supported. Example partial device tree: / { .. ubootenv { memory-region = <&uenv>; compatible = "ubootenv"; }; .. reserved-memory { .. uenv: ubootenv@7ffe8000 { no-map; reg = <0 0x7ffe8000 0 0x4000>; }; Signed-off-by: Bjørn Mork <bjorn@mork.no>
* ipq807x: add support for Netgear RAX120v2Thomas Kupper2023-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear Nighthawk RAX120v2 AX WIFI router with 5 1G and 1 5G ports. The majority of the code is based on @jewwest's PR #11830. Specifications: * CPU: Qualcomm IPQ8074 Quad core Cortex-A53 2.2GHz * RAM: 1024MB of DDR3 (Nanya NT5CC256M16EP-EK × 2) * Flash: SPI-NAND 512 MiB (Winbond W29N04GZBIBA) * Ethernet: 4x 10/100/1000 Mbps LAN, 1x 10/100/1000 Mbps WAN (Qualcomm QCA8075), 1x 10/100/1000/2500/5000 Mbps LAN/WAN (Aquantia AQR111B0 PHY) * Wi-Fi: * 2.4 GHz: Qualcomm QCN5024 4x4 * 2x 5 GHz: Qualcomm QCN5054 4x4 * USB: 2x USB 3.0 * LEDs: Power, 2.4GHz & 5GHz Radio, WPS, WAN, USB1 & USB2, 5G LAN * Keys: LEDs On/Off, Power, Reset, RFKILL, WPS * UART: Marked J9003 VCC TX RX GND, beginning from "1". 3.3v, 115200n8 * Power: 19 VDC, 3.1 A Installation: * Flashing OpenWrt is done in two steps: a) Flash *-squashfs-web-ui-factory.img from stock UI (thanks to @wangyu-). This writes an initramfs based OpenWrt image onto the RAX120v2 b) From OpenWrt flash the *-squashfs-sysupgrade.bin using LuCI or the commandline * U-Boot allows booting an initramfs image via TFTP: - Set ip of your PC to 192.168.1.100 - At the serial console interrupt boot at "Hit any key to stop autoboot:" - In u-boot run `tftpsrv` - On your PC send the OpenWrt initramfs image: tftp 192.168.1.1 -m binary -c put openwrt-ipq807x-generic-netgear_rax120v2-initramfs-uImage.itb Make 5G Aquantia phy work: For the 5G port labeled 'lan5' to work a firmware is needed. This can be loaded in u-boot by writing the firmware to the correct mtd partition. The firmware file found in the Netgear stock firmware under /lib/firmware/ named 'AQR-G3_v4.3.C-AQR_DNI_DR-EQ35AX8-R-prov1_ID23888_VER1311.cld' is needed and has to be converted to a MBN file. The `mkheader.py` script used here can be found in the Netgear V1.2.8.40 GPL source, under 'git_home/u-boot.git/tools/mkheader.py' Convert the CLD file to MBN using: $ python2 mkheader.py 0x44000000 0x13 <*.cld file> aqr_4.3.C.mbn This MBN file can then be flashed to the MTD partition to be used by u-boot. The necessary files can also be found in https://github.com/boretom/openwrt-fork/tree/rax120v2/aquantia-firmware * Write MBN file to MTD partition to be loaded automatically by u-boot: U-boot automatically tries to load the firmware from nand at address 0x7e00000 which corresponds to `/dev/mtd25` in OpenWrt. - find ETHPHYFW partition while running OpenWrt (expected: /dev/mtd25) $ fgrep -i 'ethphyfw' /proc/mtd mtd25: 00080000 00020000 "ethphyfw - copy mbn file to /tmp/ folder of the router $ scp aqr-v4.3.C.mbn 192.168.1.1:/tmp/ - write mbn file to ethphyfw partition $ mtd write /tmp/aqr_v4.3.C.mbn /dev/mtd25 Revert to stock firmware: * Flash the stock firmware to the bootloader using TFTP/NMRP. References to RAX120v2 GPL source: https://www.downloads.netgear.com/files/GPL/RAX120-V1.2.8.40_gpl_src.zip Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Thomas Kupper <thomas.kupper@gmail.com>
* ipq40xx: qca8k: add ageing setting supportRobert Marko2023-08-19
| | | | | | | | qca8k driver we are currently based of is rather out of date and is lacking support for setting the ageing time or fast ageing so until we update the driver lets just backport support for those from qca8k. Signed-off-by: Robert Marko <robimarko@gmail.com>
* rtl8812au-ct: bump to fix kernel 6.1 compileJohn Thomson2023-08-19
| | | | | | | | | | | | | | | | | | | | | | 9b2b203 fix usb_recv_tasklet -Wcast-function-type a027da5 fix kernel 6.1 80211 link_id 7a9c802 fix build for kernel 6.1 prandom 3a3eb24 fix build for kernel 5.17 PDE_DATA fe2afbd fix build for kernel 5.17 const netdev->dev_addr 7275bae fix build for 5.17 kernel complete_and_exit c9c2aa7 Update usb_intf.c revert the upstream 6.1 link_id (depend on kernel version) changes and force 6.1 link_id The downstream patch casting const off the direct dev_addr writes triggers the runtime check from Linux d07b26f5bbea ("dev_addr: add a modification check") Fixes: #13261 Fixes: a07566ead82a ("rtl8812au-ct: fix even more compilation error with kernel 6.1") Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
* ipq4019: add support for ZTE MF287 Pro aka DreiNeo ProAndreas Böhler2023-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZTE MF287 Pro is a LTE router used (exclusively?) by the network operator "3". It is very similar to the MF287+, but the hardware layout and partition layout have changed quite a bit. Specifications ============== SoC: IPQ4018 RAM: 256MiB Flash: 8MiB SPI-NOR + 128MiB SPI-NAND LAN: 4x GBit LAN LTE: ZTE Cat12 WiFi: 802.11a/b/g/n/ac SoC-integrated USB: 1x 2.0 MAC addresses ============= LAN: from config + 2 WiFi 1: from config WiFi 2: from config + 1 Installation ============ Option 1 - TFTP --------------- TFTP installation using UART is preferred. Disassemble the device and connect serial. Put the initramfs image as openwrt.bin to your TFTP server and configure a static IP of 192.168.1.100. Load the initramfs image by typing: setenv serverip 192.168.1.100 setenv ipaddr 192.168.1.1 tftpboot 0x82000000 openwrt.bin bootm 0x82000000 From this intiramfs boot you can take a backup of the currently installed partitions as no vendor firmware is available for download: ubiattach -m17 cat /dev/ubi0_0 > /tmp/ubi0_0 cat /dev/ubi0_1 > /tmp/ubi0_1 Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save. Once booted, transfer the sysupgrade image and run sysupgrade. You might have to delete the stock volumes first: ubirmvol /dev/ubi0 -N ubi_rootfs ubirmvol /dev/ubi0 -N kernel Option 2 - From stock firmware ------------------------------ The installation from stock requires an exploit first. The exploit consists of a backup file that forces the firmware to download telnetd via TFTP from 192.168.0.22 and run it. Once exploited, you can connect via telnet and login as admin:admin. The exploit will be available at the device wiki page. Once inside the stock firmware, you can transfer the -factory.bin file to /tmp by using "scp" from the stock frmware or "tftp". ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write access - you need to read from one file in /proc. Once done, you need to erase the UBI partition and flash OpenWrt. Before performing the operation, make sure that mtd13 is the partition labelled "rootfs" by calling "cat /proc/mtd". Complete commands: cd /tmp tftp -g -r factory.bin 192.168.0.22 cat /proc/driver/sensor_id flash_erase /dev/mtd17 0 0 dd if=/tmp/factory.bin of=/dev/mtdblock17 bs=131072 Afterwards, reboot your device and you should have a working OpenWrt installation. Restore Stock ============= Option 1 - via UART ------------------- Boot an OpenWrt initramfs image via TFTP as for the initial installation. Transfer the two backed-up files to your box to /tmp. Then, run the following commands - replace $kernel_length and $rootfs_size by the size of ubi0_0 and ubi0_1 in bytes. ubiattach -m 17 ubirmvol /dev/ubi0 -N kernel ubirmvol /dev/ubi0 -N rootfs ubirmvol /dev/ubi0 -N rootfs_data ubimkvol /dev/ubi0 -N kernel -s $kernel_length ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0 ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1 Option 2 - from within OpenWrt ------------------------------ This option requires to flash an initramfs version first so that access to the flash is possible. This can be achieved by sysupgrading to the recovery.bin version and rebooting. Once rebooted, you are again in a default OpenWrt installation, but no partition is mounted. Follow the commands from Option 1 to flash back to stock. LTE Modem ========= The LTE modem is similar to other ZTE devices and controls some more LEDs and battery management. Configuring the connection using uqmi works properly, the modem provides three serial ports and a QMI CDC ethernet interface. Other Notes =========== Contrary to the stock firmware, the USB port on the back can be used. There is one GPIO Switch "Power button blocker" which, if enabled, does not trigger a reset of the SoC if the modem reboots. If disabled, the SoC is rebooted along with the modem. The modem can be rebooted via the exported GPIO "modem-reset" in /sys/class/gpio. Signed-off-by: Andreas Böhler <dev@aboehler.at>