aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* lua: fix integer overflow in LNUM patchAdam Bailey2023-08-112-16/+16
| | | | | | | | | | | Safely detect integer overflow in try_addint() and try_subint(). Old code relied on undefined behavior, and recent versions of GCC on x86 optimized away the if-statements. This caused integer overflow in Lua code instead of falling back to floating-point numbers. Signed-off-by: Adam Bailey <aebailey@gmail.com> (cherry picked from commit 3a2e7c30d3e6a187ba1df740cdb24c8ad84dfe48)
* e2fsprogs: do not symlink tune2fs to findfsMartin Schiller2023-08-111-1/+0
| | | | | | | | | | | | | | | commit c0611b45a998 ("e2fsprogs: symlink e2fsck to fsck.ext{2, 3, 4}, and tune2fs to findfs") introduced a symlink from tune2fs to findfs. This only works when the included private libblkid library is used, but commit 5b1660a5387b ("utils/e2fsprogs: Update to 1.43.6") disabled the usage of this private lib and enabled the shared lib support. Removing this symlink makes it possible to install tune2fs and findfs package. Signed-off-by: Martin Schiller <ms@dev.tdt.de> (cherry picked from commit 0b80c5725fd70bfd23701cd49fa9f252f6835506)
* rpcd: update to latest git HEADHauke Mehrtens2023-08-111-3/+3
| | | | | | | c07ab2f iwinfo: update byte counter to 64bit Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 2486841c1bc7c3267e409b510e142e04cc5f0a5b)
* rpcd: update to latest git HEADHauke Mehrtens2023-08-111-3/+3
| | | | | | | 31c3907 file: strengthen exec access control Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 9d8d65322ce7d82ee20cc6dcca07506e7405c5f5)
* iwinfo: update to latest git HEADHauke Mehrtens2023-08-111-4/+4
| | | | | | | | | | | d1f07cf devices: add device id for Atheros AR9287 and AR9380 65ea345 nl80211: constify a few arrays ca79f64 lib: report byte counters as 64 bit values This contains an ABI change, increase the ABI version too. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit a226153067766db6d733aa3e330742c9da40c4f6)
* procd: update to latest git HEADHauke Mehrtens2023-08-111-3/+3
| | | | | | | | 122a5e3 Revert "sysupgrade: print errno on failure" 2db8365 system: add RISC-V CPU info Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 359638098742d7573ff422f6dc7125c89086072b)
* kernel: bump 5.15 to 5.15.125John Audia2023-08-1027-39/+41
| | | | | | | | | | | | | 1. Add new symbols to generic config 2. Bump kernel Changelog: https://lore.kernel.org/stable/2023080818-groin-gradient-a031@gregkh/ All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me> [Refreshed on top of OpenWrt 23.05] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit daed3322d347cae5fa538907b5f1fa5d5cfc08c6)
* kernel: bump 5.15 to 5.15.124John Audia2023-08-1026-41/+46
| | | | | | | | | | | | | | | | Changelog: https://lore.kernel.org/stable/2023080341-curliness-salary-4158@gregkh/ 1. Needed to make a change to to package/kernel/linux/modules/netsupport.mk due to upstream moving vxlan to its own directory[1]. @john-tho suggested using the the 6.1 xvlan FILES to circumvent. 2. All patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.124&id=77396fa9096abdbfbb87d63e73ad44d5621cf103 Signed-off-by: John Audia <therealgraysky@proton.me> [Refreshed on top of OpenWrt 23.05] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 81c1172c3626157ff9a146430cd14e32c9c80a5a)
* openssl: update to 3.0.10Ivan Pavlov2023-08-092-4/+4
| | | | | | | | | | Changes between 3.0.9 and 3.0.10 [1 Aug 2023] * Fix excessive time spent checking DH q parameter value ([CVE-2023-3817]) * Fix DH_check() excessive time with over sized modulus ([CVE-2023-3446]) * Do not ignore empty associated data entries with AES-SIV ([CVE-2023-2975]) Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com> (cherry picked from commit 92602f823a5f29fee41209ccef53ddddb2e89222)
* openssl: opt-out of lto usageChristophe Sokol2023-08-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes building with USE_LTO enabled: aarch64-openwrt-linux-musl-gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -Os -pipe -mcpu=cortex-a53 -fno-caller-saves -fno-plt -fhonour-copts -fmacro-prefix-map=/build_dir/target-aarch64_cortex-a53_musl/openssl-3.0.9=openssl-3.0.9 -ffunction-sections -fdata-sections -flto=auto -fno-fat-lto-objects -Wformat -Werror=format-security -DPIC -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -DPIC -fPIC -Os -pipe -mcpu=cortex-a53 -fno-caller-saves -fno-plt -fhonour-copts -fmacro-prefix-map=/build_dir/target-aarch64_cortex-a53_musl/openssl-3.0.9=openssl-3.0.9 -ffunction-sections -fdata-sections -flto=auto -fno-fat-lto-objects -Wformat -Werror=format-security -fPIC -fstack-protector-strong -fPIC -fuse-ld=bfd -flto=auto -fuse-linker-plugin -fPIC -specs=/include/hardened-ld-pie.specs -znow -zrelro -L. -Wl,-z,defs -Wl,-znodelete -shared -Wl,-Bsymbolic -Wl,-z,now -Wl,-z,relro -L/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.1.0_musl/usr/lib -L/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.1.0_musl/lib -Wl,--gc-sections \ -o providers/legacy.so -Wl,--version-script=providers/legacy.ld \ providers/legacy-dso-legacyprov.o \ providers/liblegacy.a providers/libcommon.a -lcrypto -ldl -pthread ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o: in function `legacy_get_params': <artificial>:(.text.legacy_get_params+0xd4): undefined reference to `ossl_prov_is_running' ld.bfd: <artificial>:(.text.legacy_get_params+0xd8): undefined reference to `ossl_prov_is_running' ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o: in function `legacy_teardown': <artificial>:(.text.legacy_teardown+0x4): undefined reference to `ossl_prov_ctx_get0_libctx' ld.bfd: <artificial>:(.text.legacy_teardown+0x8): undefined reference to `ossl_prov_ctx_get0_libctx' ld.bfd: <artificial>:(.text.legacy_teardown+0x34): undefined reference to `ossl_prov_ctx_free' ld.bfd: <artificial>:(.text.legacy_teardown+0x38): undefined reference to `ossl_prov_ctx_free' ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o: in function `OSSL_provider_init': <artificial>:(.text.OSSL_provider_init+0x14): undefined reference to `ossl_prov_ctx_new' ld.bfd: <artificial>:(.text.OSSL_provider_init+0x18): undefined reference to `ossl_prov_ctx_new' ld.bfd: <artificial>:(.text.OSSL_provider_init+0x84): undefined reference to `ossl_prov_ctx_set0_libctx' ld.bfd: <artificial>:(.text.OSSL_provider_init+0x88): undefined reference to `ossl_prov_ctx_set0_libctx' ld.bfd: <artificial>:(.text.OSSL_provider_init+0x98): undefined reference to `ossl_prov_ctx_set0_handle' ld.bfd: <artificial>:(.text.OSSL_provider_init+0x9c): undefined reference to `ossl_prov_ctx_set0_handle' ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_kdfs+0x10): undefined reference to `ossl_kdf_pbkdf1_functions' ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_ciphers+0x10): undefined reference to `ossl_cast5128ecb_functions' ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_ciphers+0x30): undefined reference to `ossl_cast5128cbc_functions' [...] ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_digests+0x10): undefined reference to `ossl_md4_functions' ld.bfd: /tmp/ccdWw6Lo.ltrans0.ltrans.o:(.data.rel.ro.legacy_digests+0x30): undefined reference to `ossl_ripemd160_functions' collect2: error: ld returned 1 exit status Signed-off-by: Christophe Sokol <christophe@wk3.org> (cherry picked from commit 906616d20183bb7be4eb71812ef5e76cb3af56a0)
* realtek: add support for HPE 1920-8g-poe+Pawel Dembicki2023-08-096-108/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware information: --------------------- - RTL8380 SoC - 8 Gigabit RJ45 PoE ports (built-in RTL8218B) - 2 SFP ports (built-in SerDes) - RJ45 RS232 port on front panel - 32 MiB NOR Flash - 128 MiB DDR3 DRAM - PT7A7514 watchdog - PoE chips: Nuvoton M0516LDE + BCM59121 Known issues: --------------------- - PoE LEDs are uncontrolled. (Manual taken from f2f09bc00280) Booting initramfs image: ------------------------ - Prepare a FTP or TFTP server serving the OpenWrt initramfs image and connect the server to a switch port. - Connect to the console port of the device and enter the extended boot menu by typing Ctrl+B when prompted. - Choose the menu option "<3> Enter Ethernet SubMenu". - Set network parameters via the option "<5> Modify Ethernet Parameter". Enter the FTP/TFTP filename as "Load File Name" ("Target File Name" can be left blank, it is not required for booting from RAM). Note that the configuration is saved on flash, so it only needs to be done once. - Select "<1> Download Application Program To SDRAM And Run". Initial installation: --------------------- - Boot an initramfs image as described above, then use sysupgrade to install OpenWrt permanently. After initial installation, the bootloader needs to be configured to load the correct image file - Enter the extended boot menu again and choose "<4> File Control", then select "<2> Set Application File type". - Enter the number of the file "openwrt-kernel.bin" (should be 1), and use the option "<1> +Main" to select it as boot image. - Choose "<0> Exit To Main Menu" and then "<1> Boot System". NOTE: The bootloader on these devices can only boot from the VFS filesystem which normally spans most of the flash. With OpenWrt, only the first part of the firmware partition contains a valid filesystem, the rest is used for rootfs. As the bootloader does not know about this, you must not do any file operations in the bootloader, as this may corrupt the OpenWrt installation (selecting the boot image is an exception, as it only stores a flag in the bootloader data, but doesn't write to the filesystem). Example PoE config file (/etc/config/poe): --------------------- config global option budget '180' config port option enable '1' option id '1' option name 'lan8' option poe_plus '1' option priority '2' config port option enable '1' option id '2' option name 'lan7' option poe_plus '1' option priority '2' config port option enable '1' option id '3' option name 'lan6' option poe_plus '1' option priority '2' config port option enable '1' option id '4' option name 'lan5' option poe_plus '1' option priority '2' config port option enable '1' option id '5' option name 'lan4' option poe_plus '1' option priority '2' config port option enable '1' option id '6' option name 'lan3' option poe_plus '1' option priority '2' config port option enable '1' option id '7' option name 'lan2' option poe_plus '1' option priority '2' config port option enable '1' option id '8' option name 'lan1' option poe_plus '1' option priority '2' Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> (cherry picked from commit b370753fc409eb2220af7caed9ffd66beed2d041)
* mediatek: filogic: restore non-const type in pinctrl-mt7988 driverDaniel Golle2023-08-071-17/+17
| | | | | | | | | When building with Linux 5.15 the 'const' type results in warnings. Restore the original non-const type in those cases. Fixes: 36d0aa9c2d ("mediatek: filogic: sync pinctrl-mt7988 with MediaTek SDK") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 1eb67cb0704a61f49d9be9f88aecbce1d881f8c9)
* mediatek: filogic: update MT7988 device treeDaniel Golle2023-08-072-166/+394
| | | | | | | | | * move ethernet to mt7988a.dtsi * move switch definition to mt7988a.dtsi * add PHY LEDs Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 64b99802a61a477ed23fc1f3426fb19d1bc0c6f3)
* mediatek: filogic: sync pinctrl-mt7988 with MediaTek SDKDaniel Golle2023-08-071-115/+300
| | | | | | | Update pinctrl driver for the MT7988 with driver from mtk-openwrt-feeds. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 36d0aa9c2db0f74614b04a152fb092bcc74afb8e)
* mediatek: filogic: enable driver for MediaTek XS-PHYDaniel Golle2023-08-071-1/+1
| | | | | | | | Enable driver for MediaTek SuperSpeedPlus XS-PHY transceiver for the USB3.1 GEN2 controllers found in the MT7988 SoC. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit dc4aafb30939316a163c2eaede6811d871cace2f)
* kernel: netdevices: add driver for Marvell 10G Ethernet PHYsDaniel Golle2023-08-071-0/+18
| | | | | | | | Package kernel module for Marvell 10G Ethernet PHYs found also in many 10G/1G/100M/10M RJ-45 SFP+ modules. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 2a5c7bf6213cc12d4ae6b7bce5d777b3518a89c1)
* uboot-mediatek: fix build for MT7629Daniel Golle2023-08-071-0/+47
| | | | | | | | Add patch to fix build failure caused by a missing header which had previously been implicitely included. Fixes: 6ddb5f5a65 ("uboot-mediatek: update to version 2023.07.02") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: add missing 'memory' nodes to downstream boardsDaniel Golle2023-08-076-6/+36
| | | | | | | | | | Among the patches adding support for MT7988 also came the switch to use fdtdec_setup_mem_size_base() and no longer rely on CFG_SYS_SDRAM_BASE. Take care of our downstream boards which did not have a 'memory' node in their device trees. Fixes: 572ea68070 ("uboot-mediatek: add patches for MT7988 and builds for RFB") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: add patches for MT7988 and builds for RFBDaniel Golle2023-08-0736-13/+9011
| | | | | | | Import pending patches adding support for MT7988 and provide builds for the reference board for all possible boot media. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: update to version 2023.07.02Daniel Golle2023-08-0728-459/+117
| | | | | | | | | | Release 2023.07 got tagged wrongly and replaced by follow-up release 2023.07.02. Now using upstream DTS for BPi-R3. Removed two patches which made it upstream, refreshed the rest. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-mediatek: fix PKG_MIRROR_HASHDaniel Golle2023-08-071-1/+1
| | | | | | | | | | Instead of using the hash of the Github-generated tarball use the hash of the tarball generated by the OpenWrt build system (in this case they are different, unfortunately). Reported-by: Chen Minqiang <ptpt52@gmail.com> Fixes: 07dbeb430e ("arm-trusted-firmware-mediatek: update to sources of 2023-07-24") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-mediatek: update to sources of 2023-07-24Daniel Golle2023-08-071-5/+142
| | | | | | | | Use updated Trusted Firmware-A sources from MediaTek, now stacked on top of the ARM Trusted Firmware-A v2.9 release. Add builds for the newly added MT7988 SoC. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-tools: update to version 2.9Daniel Golle2023-08-071-2/+2
| | | | | | | | | | | | | | | | | | 147f52f3e feat(fiptool): add cca, core_swd, plat cert in FIP 0aaa382fe fix(sptool): fix concurrency issue for SP packages cb666b39d Merge "fix(sptool): fix concurrency issue for SP packages" into integration 0be2475f6 fix: 'sp_mk_generator.py' reference to undef var 1a28f290b fix(sptool): operators "is/is not" in sp_mk_gen.py cf2dd17dd refactor(security): add OpenSSL 1.x compatibility 4daeaf341 fix(sptool): add dependency to SP image 06e69f7c9 feat(fiptool): handle FIP in a disk partition 5a53c6c66 Merge "feat(fiptool): handle FIP in a disk partition" into integration 034a2e3ef refactor(fiptool): move plat_fiptool.mk to tools 0165ddd7c build(fiptool): add object dependency generation c89fdb4a5 Merge "refactor(fiptool): move plat_fiptool.mk to tools" into integration 1b491eead fix(tree): correct some typos Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: fix broken sysupgrade scriptPetr Štetiar2023-08-071-0/+1
| | | | | | | | | Changes introduced in commit 54dc1cde48a4 ("mediatek: filogic: add support for Xiaomi WR30U") missed to end the case item with mandatory `;;` which lead to a broken sysupgrade. Fixes: 54dc1cde48a4 ("mediatek: filogic: add support for Xiaomi WR30U") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mediatek: filogic: add specific layout for WR30UHank Moretti2023-08-076-0/+44
| | | | | | | | | Because this device enable NMBM by default, most users use custom U-Boot with NMBM-Enabled in Chinese forums. This layout is the same as the ubootmod layout but enabling NMBM. Signed-off-by: Hank Moretti <mchank9999@gmail.com>
* mediatek: filogic: add support for Xiaomi WR30UHank Moretti2023-08-077-3/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification: SoC: MediaTek MT7981B 2x A53 Flash: ESMT F50L1G41LB 128MB RAM: NT52B128M16JR-FL 256MB Ethernet: 4x 10/100/1000 Mbps Switch: MediaTek MT7531AE WiFi: MediaTek MT7976C Button: Reset, Mesh Power: DC 12V 1A Flash instructions: 1. Get ssh access Check this link: https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax3000ne/153769/22 2. Backup import partitions ``` dev: size erasesize name mtd1: 00100000 00020000 "BL2" mtd2: 00040000 00020000 "Nvram" mtd3: 00040000 00020000 "Bdata" mtd4: 00200000 00020000 "Factory" mtd5: 00200000 00020000 "FIP" mtd8: 02200000 00020000 "ubi" mtd9: 02200000 00020000 "ubi1" mtd12: 00040000 00020000 "KF" ``` Use these commands blow to backup your stock partitions. ``` nanddump -f /tmp/BL2.bin /dev/mtd1 nanddump -f /tmp/Nvram.bin /dev/mtd2 nanddump -f /tmp/Bdata.bin /dev/mtd3 nanddump -f /tmp/Factory.bin /dev/mtd4 nanddump -f /tmp/FIP.bin /dev/mtd5 nanddump -f /tmp/ubi.bin /dev/mtd8 nanddump -f /tmp/KF.bin /dev/mtd12 ``` Then, transfer them to your computer via scp, netcat, tftp or others and keep them in a safe place. 3. Setup Nvram Get the current stock: `cat /proc/cmdline` If you find `firmware=0` or `mtd=ubi`, use these commands: ``` nvram set boot_wait=on nvram set uart_en=1 nvram set flag_boot_rootfs=1 nvram set flag_last_success=1 nvram set flag_boot_success=1 nvram set flag_try_sys1_failed=0 nvram set flag_try_sys2_failed=0 nvram commit ``` If you find `firmware=1` or `mtd=ubi1`, use these commands: ``` nvram set boot_wait=on nvram set uart_en=1 nvram set flag_boot_rootfs=0 nvram set flag_last_success=0 nvram set flag_boot_success=1 nvram set flag_try_sys1_failed=0 nvram set flag_try_sys2_failed=0 nvram commit ``` 4. Flash stock-initramfs-factory.ubi If you find `firmware=0` or `mtd=ubi`: `ubiformat /dev/mtd9 -y -f /tmp/stock-initramfs-factory.ubi` If you find `firmware=1` or `mtd=ubi1`: `ubiformat /dev/mtd8 -y -f /tmp/stock-initramfs-factory.ubi` Then reboot your router, it should boot to the openwrt initramfs system now. 5. Setup uboot-env Now it will be setup automatically in upgrade process, you can skip this step. If your `fw_setenv` did not work, you need run this command: `echo "/dev/mtd1 0x0 0x10000 0x20000" > /etc/fw_env.config` Then setup uboot-env: ``` fw_setenv boot_wait on fw_setenv uart_en 1 fw_setenv flag_boot_rootfs 0 fw_setenv flag_last_success 1 fw_setenv flag_boot_success 1 fw_setenv flag_try_sys1_failed 8 fw_setenv flag_try_sys2_failed 8 fw_setenv mtdparts "nmbm0:1024k(bl2),256k(Nvram),256k(Bdata), 2048k(factory),2048k(fip),256k(crash),256k(crash_log), 34816k(ubi),34816k(ubi1),32768k(overlay),12288k(data),256k(KF)" ``` 6. Flash stock-squashfs-sysupgrade.bin Use shell command: `sysupgrade -n /tmp/stock-squashfs-sysupgrade.bin` Or go to luci web. If you need to change to Openwrt U-Boot layout, do next. If you do not need, please ignore it. Change to OpenWrt U-Boot: 1. Flash ubootmod-initramfs-factory.ubi Check mtd partitions: `cat /proc/mtd` ``` mtd7: 00040000 00020000 "KF" mtd8: 02200000 00020000 "ubi_kernel" mtd9: 04e00000 00020000 "ubi" ``` Run following command: `ubiformat /dev/mtd8 -y -f /tmp/ubootmod-initramfs-factory.ubi` Then reboot your router, it should boot to the openwrt initramfs system now. 2. Check mtd again ``` mtd7: 00040000 00020000 "KF" mtd8: 07000000 00020000 "ubi" ``` Make sure mtd8 is ubi. 3. Install kmod-mtd-rw Run command: `opkg update && opkg install kmod-mtd-rw` Or get it in openwrt server, or build it yourself, then install it manually Then run this command: `insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1` 4. Clean up pstore Run Command: `rm -f /sys/fs/pstore/*` 5. Format ubi and create new ubootenv volume ``` ubidetach -p /dev/mtd8; ubiformat /dev/mtd8 -y; ubiattach -p /dev/mtd8 ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB ``` 6. (Optional) Add recovery boot feature. ``` ubimkvol /dev/ubi0 -n 2 -N recovery -s 10MiB ubiupdatevol /dev/ubi0_2 /tmp/ubootmod-initramfs-recovery.itb ``` 7. Flash Openwrt U-Boot ``` mtd write /tmp/ubootmod-preloader.bin BL2 mtd write /tmp/ubootmod-bl31-uboot.fip FIP ``` 6. Flash ubootmod-squashfs-sysupgrade.itb Use shell command: `sysupgrade -n /tmp/ubootmod-squashfs-sysupgrade.itb` Or go to luci web. Now everything is done, Enjoy! Go Back to stock from Openwrt U-Boot: 1. Force flash ubootmod-initramfs-recovery.itb Use shell command: `sysupgrade -F -n /tmp/ubootmod-initramfs-recovery.itb` Or go to luci web. Then it should boot to the openwrt initramfs system now. 2. Format ubi and Nvram ``` ubidetach -p /dev/mtd8; ubiformat /dev/mtd8 -y; ubiattach -p /dev/mtd8 mtd erase Nvram ``` 3. Install kmod-mtd-rw Run command: `opkg update && opkg install kmod-mtd-rw` Or get it in openwrt server, or build it yourself, then install it manually Then run this command: `insmod /lib/modules/$(uname -r)/mtd-rw.ko i_want_a_brick=1` 4. Flash stock U-Boot and ubi ``` mtd write /tmp/BL2.bin BL2 mtd write /tmp/FIP.bin FIP mtd write /tmp/ubi.bin ubi ``` Then reboot your router, waiting it finished rollback in minutes. Go Back to stock from stock layout Openwrt: Just run command: `ubiformat /dev/mtd8 -y -f /tmp/ubi.bin` Then reboot your router, waiting it finished rollback in minutes. Notes: 1. Openwrt U-Boot and ubootmod openwrt did not enable NMBM. Please make your backup safe. Signed-off-by: Hank Moretti <mchank9999@gmail.com>
* uboot-mediatek: add support for Xiaomi WR30UHank Moretti2023-08-073-0/+471
| | | | | | Add a custom uboot build to support openwrt uboot layout. Signed-off-by: Hank Moretti <mchank9999@gmail.com>
* mediatek: add support for Acer Predator W6David Bauer2023-08-058-0/+579
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SOC: MediaTek MT7986A RAM: 1GB DDR4 FLASH: 4GB eMMC WiFi: 2x2 2.4 GHz 802.11 b/g/n/ax MT7916 DBDC 4x4 5 GHz 802.11 a/n/ac/ax MT7986 2x2 6 GHz 802.11ax MT7916 DBDC ETH: 4x LAN 1Gbit/s (MT7531) 1x WAN 2.5Gbit/s (GPY211) BTN: RESET, WPS LED: Antenna LEDs (GPIO) Mood-LED (Kinetic KTD2601) - unsupported UART: Header nest to USB port - 3V3 115200 8N1 [BUTTON] GND - RX - TX [USB] Installation ------------ 1. Connect to the device using serial console. 2. Interrupt the Autoboot process when promted by sending '0' twice. 3. Serve the OpenWrt initramfs image using TFTP at 192.168.1.66. Name the image "predator.bin" and conenct the TFTP server to the routers LAN port. 4. Configure U-Boot to allow loading unsigned images from MMC $ setenv bootcmd 'mmc read 0x40000000 0x00004400 0x0010000; fdt addr $(fdtcontroladdr); fdt rm /signature; bootm 0x40000000'; saveenv 5. Transfer the image from U-Boot $ setenv serverip 192.168.1.66; setenv ipaddr 192.168.1.1; tftpboot 0x46000000 predator.bin; fdt addr $(fdtcontroladdr); fdt rm /signature; bootm 6. Wait for OpenWrt to boot 7. Transfer the OpenWrt sysupgrade image to the router using scp. 8. Install OpenWrt using sysupgrade. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 7e7eb5312d7810084547bb54a4b6867c2da08182)
* kernel: bump 5.15 to 5.15.123John Audia2023-07-3195-571/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually rebased: bcm4908/patches-5.15/071-v6.1-0001-net-broadcom-bcm4908_enet-handle-EPROBE_DEFER-when-g.patch bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch ipq40xx/patches-5.15/902-dts-ipq4019-ap-dk04.1.patch[*] bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch Removed upstreamed: backport-5.15/735-v6.5-net-bgmac-postpone-turning-IRQs-off-to-avoid-SoC-han.patch[1] backport-5.15/817-v6.5-01-leds-trigger-netdev-Recheck-NETDEV_LED_MODE_LINKUP-o.patch[2] pending-5.15/143-jffs2-reduce-stack-usage-in-jffs2_build_xattr_subsys.patch[3] pending-5.15/160-workqueue-fix-enum-type-for-gcc-13.patch[4] bcm53xx/patches-5.15/036-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch[5] bcm53xx/patches-5.15/036-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch[6] ipq807x/patches-5.15/0048-v6.1-clk-qcom-reset-Allow-specifying-custom-reset-delay.patch[7] ipq807x/patches-5.15/0049-v6.2-clk-qcom-reset-support-resetting-multiple-bits.patch[8] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=02474292a44205c1eb5a03634ead155a3c9134f4 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=86b93cbfe104e99fd3d25a49748b99fb88101573 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=79b9ab357b6f5675007f4c02ff8765cbd8dc06a2 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=d528faa9e828b9fc46dfb684a2a9fd8c2e860ed8 5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=5899bc4058e89d5110a23797ff94439c53b77c25 6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=95afd2c7c7d26087730dc938709e025a303e5499 7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=40844343a8853a08b049d50c967e2a1e28f0ece6 8. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=6ad5ded420f5d96f7c65b68135f5787a1c7e58d7 Build system: x86/64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John Audia <therealgraysky@proton.me> [rebased ipq40xx/patches-5.15/902-dts-ipq4019-ap-dk04.1.patch ] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 8590531048f138ff719c8b317c443a6a7538a762) [Refreshed on top of openwrt-23.05] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-mvebu: update to version 2023.07.02Oli Ze2023-07-301-2/+2
| | | | | | | | | | | | | Since 2021.07 multiple bugs were introduced that made it impossible to create a bootable target for mvebu. Those issues should be now fixed since 2023.07-rc1. References: #11661 Signed-off-by: Oli Ze <olze@trustserv.de> Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Andre Heider <a.heider@gmail.com> # espressobin-v3-v5-1gb-2cs Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift] (cherry picked from commit ba7d6dddc7d20222c1703b173ef50befefb3fb52)
* bcm53xx: backport more DT changes queued for v6.6Rafał Miłecki2023-07-298-28/+290
| | | | | | | Those sort out BCM53573 Ethernet info finally. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit ca8868a51127f6081a524d47eab937b90af0bf05)
* bcm53xx: add BCM53573 Ethernet fix sent upstream for v6.6Rafał Miłecki2023-07-291-0/+28
| | | | | | | | | | | | | | It seems that DSA-based b53 driver never worked with BCM53573 SoCs and BCM53125. In case of swconfig-based b53 this fixes a regression. Switching bgmac from using mdiobus_register() to of_mdiobus_register() resulted in MDIO device (BCM53125) having of_node set (see of_mdiobus_register_phy()). That made downstream b53 driver read invalid data from DT and broke Ethernet support. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 79fd3e62b4910731c13692b2daa2083e0f95c023)
* ipq4019: fix support for AVM FRITZ!Repeater 3000Alexander Friese2023-07-271-0/+3
| | | | | | | | | new versions of the device have NAND with 8bit ECC which was not yet supported before. This change removes ECC restrictions. Signed-off-by: Alexander Friese <af944580@googlemail.com> (cherry picked from commit 6b11f0ec83ceb9747dcbb0ffca0882b90da46b59)
* libnl-tiny: update to latest Git HEADJo-Philipp Wich2023-07-271-6/+6
| | | | | | | | | | | | 8667347 build: allow passing SOVERSION value for dynamic library Also adjust packaging of the library to only ship the SOVERSION suffixed library object, to allow for concurrent installation of ABI-incompible versions in the future. Fixes: #13082 Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit 4af0a72a65d7c92ed4e7c2455090f695f424903d)
* scripts: use sep-char for hash nodesDavid Bauer2023-07-261-10/+10
| | | | | | | | | | U-Boot with enabled secure-boot will not boot images with the @-character used for hash node-names. Use the existing separation character configurable for each device. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 2b133ab19cd5d741f3191f917c607667943f5f58)
* ipq40xx: add support for Teltonika RUTX50David Bauer2023-07-265-2/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Qualcomm IPQ4018 RAM: 256M Flash: 16MB SPI-NOR (W25Q128) 128MB SPI-NAND (XTX) WiFi: 2T2R (2GHz 802.11n ; 5 GHz 802.11ac) ETH: 4x LAN ; 1x WAN (Gigabit) CELL: Quectel RG501Q 3G/4G/5G UART: Available on the goldfinger connector (Pinout silkscreened) 115200 8N1 3V3 - Only connect RX / TX / GND Installation ------------ 1. Enable SSH in the Teltonika UI (System --> Administration --> Access Control) 2. Check from which partition set the device is currently running from. $ cat /proc/boot_info/rootfs/primaryboot In case this output reads 0, install a Software update from Teltonika first. After upgrade completion, check this file now reads 1 before continuing. 2. Transfer the OpenWrt factory image to the device using scp. Use the same password (user root!) as used for the Web-UI. $ scp -O openwrt-factory.bin root@192.168.1.1:/tmp 3. Connect to the device using ssh as the root user. 4. Install OpenWrt by writing the factory image to flash. $ ubiformat /dev/mtd16 -y -f /tmp/openwrt-factory.bin 5. Instruct the bootloaer to boot from the first partition set. $ echo 0 > /proc/boot_info/rootfs/primaryboot $ cat /proc/boot_info/getbinary_bootconfig > /tmp/bootconfig.bin $ cat /proc/boot_info/getbinary_bootconfig1 > /tmp/bootconfig1.bin $ mtd write /tmp/bootconfig.bin /dev/mtd2 $ mtd write /tmp/bootconfig1.bin /dev/mtd3 6. Reboot the device. $ reboot Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 844bb4bfad84cc6267f9b138d1f63b07ed3b77d0)
* ipq40xx: move Teltonika RUT STM32 IO to specific DTSDavid Bauer2023-07-262-37/+37
| | | | | | | Prepare to re-use the DTS for the RUTX50. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit dbc4be142e206e681ac53afa3fd1e4018e7843b7)
* dropbear: add ed25519 for failsafe keyEtienne Champetier2023-07-261-2/+3
| | | | | | | | | | | | At least Fedora and RHEL 9 set RSAMinSize=2048, so when trying to use failsafe, we get 'Bad server host key: Invalid key length' To workaround the issue, we can use: ssh -o RSAMinSize=1024 ... Generating 2048 bits RSA is extremely slow, so add ed25519. We keep RSA 1024 to be as compatible as possible. Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com> (cherry picked from commit 6ac61dead99ff6b9df00c29b7a858772449718b2)
* ath11k-firmware: update to stable WLAN.HK.2.9.0.1-01837Michał Kwiatek2023-07-261-5/+5
| | | | | | | | | | | | | | Changelog from quic: Bug fixes, stability improvements from previous releases are present. There are no backward comatibility issues with this release. Tested-by: Michał Kwiatek <michal@kwiatek.it> # Xiaomi AX3600 Signed-off-by: Michał Kwiatek <michal@kwiatek.it> [ improve commit description ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 1c56801dd2e696cac7da45912b5e3ea1165549d5)
* kernel: move NXP DPAA2 SFP patches to generic patchesMathew McBride2023-07-262-2/+2
| | | | | | | | | | | | | These are used by both the armsr (EFI boot) and layerscape targets for phylink-controlled SFP support on NXP DPAA2 platforms (LS1088,LS2088,LX2160). This is in place of commit a7bd96c98f8f ("layerscape: add patches for SFP support on DPAA2 platforms") in the main branch. armsr in main started at kernel 6.1 so there is not an equivalent 5.15 commit to cherry pick. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* layerscape: base-files: remove redundant RAMFS_COPY_* additionsMathew McBride2023-07-261-2/+2
| | | | | | | | All the tools (e.g fw_setenv, ubiupdatevol) and config (fw_env.config) needed for sysupgrade are already included in /lib/upgrade/stage2 Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 094c37708ace9040e294c5aa7be34bc9e7a8dcc1)
* layerscape: remove Traverse LS1043 boardsMathew McBride2023-07-2611-739/+0
| | | | | | | | | | | | | | | | | The Traverse LS1043 boards were not publicly released, all the production has been going to OEM customers who do not use the image format defined in the OpenWrt tree. Only a few samples were circulated outside Traverse and our OEM customers. The public release (then called Five64) of this series was cancelled in favour of our LS1088A based design (Ten64). It is best to remove these boards to avoid wasting OpenWrt project and contributor resources. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 8e7ba6fbae80838c2219ee38307af9c883606c2c)
* layerscape: armv8_64b: add Traverse Ten64 NAND variantMathew McBride2023-07-268-1/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ten64 board[1] is based around NXP's Layerscape LS1088A SoC. It is capable of booting both standard Linux distributions from disk devices, using EFI, and booting OpenWrt from NAND. See the online manual for more information, including the flash layout[2]. This patchset adds support for generating Ten64 images for NAND boot. For disk boot, one can use the EFI support that was recently added to the armvirt target. We previously supported NAND users by building inside our armvirt/EFI target[3], but this approach is not suitable for OpenWrt upstream. Users who used our supplied NAND images will be able to upgrade to this via sysupgrade. Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - https://www.traverse.com.au/hardware/ten64 [2] - https://ten64doc.traverse.com.au/hardware/flash/ [3] - Example: https://gitlab.com/traversetech/ls1088firmware/openwrt/-/commit/285e4360e1604eb466880d245d48efd9962143a5 (cherry picked from commit af0546da3440dba24217949527e503820350ff05)
* uqmi: do not start 464xlat for dual-stack configurationsLech Perczak2023-07-261-0/+1
| | | | | | | | | If dual-stack configuration is in use, and dhcpv6 option is set, do not start 464xlat sub-interface for dhcpv6 sub-interace , as the configuration already provides IPv4 connectivty, be it through single or dual APN configuration. Signed-off-by: Lech Perczak <lech.perczak@gmail.com> (cherry picked from commit a9237c1af9c2eee0a49d96f2588be85d24489f20)
* uqmi: support split-APN IPv4 and IPv6 dual-stackLech Perczak2023-07-261-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add two new "v6apn" and "v6profile" properties, to support split-APN dual-stack onfiguration. This extends the existing ipv4v6 PDP type, allowing simultaneous connection to two distinct APNs, one for IPv4 and one for IPv6. The parameters override existing 'apn' and 'profile' respectively, if set, but only for IPv6 part of the connection. If unset, they default to their original values, constituting a standard IPv4v6 setup. If a different APN is set for IPv6, a corresponding profile MUST also be configured, with a different ID, than the IPv4 profile, for example, profile 2. Both APNs must match ones configured through QMI or through 'AT+CGDCONT' command. Example configuration in UCI: config interface 'wan' option proto 'qmi' option device '/dev/cdc-wdm0' option autoconnect '1' option pdptype 'ipv4v6' option apn 'internet' option v6apn 'internetipv6' option profile '1' option v6profile '2' Corresponding profile configuration: AT+CGDCONT? +CGDCONT: 1,"IP","internet","0.0.0.0",0,0,0,0 +CGDCONT: 2,"IPV6","internetipv6","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0 Signed-off-by: Lech Perczak <lech.perczak@gmail.com> (cherry picked from commit 48e8bf1b8f3d2750f215765f583c847ff02deca2)
* mac80211: partly revert force-mac80211 loss detectionDavid Bauer2023-07-263-36/+56
| | | | | | | | | | | | This patch will only force mac80211 loss detection upon ath10k by masking the driver-specific loss-detection bit. Ref: commit ed816f6ba8b5 ("mac80211: always use mac80211 loss detection") Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit d9070f8d23621931c4869980f6e5ae17abbe3e58) [felix.bau@gmx.de: replace path 6.2 with 5.15, refresh patches] Signed-off-by: Felix Baumann <felix.bau@gmx.de>
* ramips: do not print error log when mdio bus is disabledShiji Yang2023-07-261-1/+1
| | | | | | | | | | The mdio bus is used to control externel switch. In most cases, they are disabled, which is the normal behavior. Treating this as an error makes no sense, so we need to change the notification level from error to info. Fixes: a2acdf960704 ("ramips: mt7620: remove useless GMAC nodes") Signed-off-by: Shiji Yang <yangshiji66@qq.com> (cherry picked from commit 285f0668f4058a935389985eb80353c8a5adbc7d)
* ramips: backport upstream mt762x PCIe driver error log fixesShiji Yang2023-07-263-0/+102
| | | | | | | | | | | | | | | | | | | | | These patches silence some mt762x PCIe driver error messeges by removing the useless debugging codes and replacing incorrectly used 'dev_err()' with 'dev_info()': PCI: mt7621: Use dev_info() to log PCIe card detection [1] mips: pci-mt7620: do not print NFTS register value as error log [2] mips: pci-mt7620: use dev_info() to log PCIe device detection result [3] Patch [1] has already been merged into the Linux 6.3 branch. Patches [2] and [3] have been merged into the "mips-next" tree, and they will be part of the upcoming Linux 6.5. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.4-rc7&id=50233e105a0332ec0f3bc83180c416e6b200471e [2] https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=9f9a035e6156a57d9da062b26d2a48d031744a1e [3] https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=89ec9bbe60b61cc6ae3eddd6d4f43e128f8a88de Signed-off-by: Shiji Yang <yangshiji66@qq.com> (cherry picked from commit 4e74777fa8111a2bdf63164a4920a42917faec28)
* lantiq: add patches headersAleksander Jan Bajkowski2023-07-269-32/+129
| | | | | | | | This commit adds headers to the patches, so they can be applied with the git am command. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> (cherry picked from commit 5d51079fd064a86119c6f44920e737cf5e25d3a0)
* kernel: update patches for mediatek filogicFelix Baumann2023-07-261-1/+1
| | | | | | | | Fix complaint from actions Check Kernel patches (mediatek, filogic) https://github.com/openwrt/openwrt/actions/runs/5569719763/job/15081672586?pr=13072 Signed-off-by: Felix Baumann <felix.bau@gmx.de>