openwrt/staging/pepe2k.git
4 months agorockchip: add support for Radxa ROCK Pi E v3.0
FUKAUMI Naoki [Sun, 28 Jul 2024 23:38:25 +0000 (08:38 +0900)]
rockchip: add support for Radxa ROCK Pi E v3.0

Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the Rockchip
RK3328 SoC.

Hardware
--------
- Rockchip RK3328 SoC
- Quad A53 CPU
- 512MB/1GB/2GB DDR4 RAM
- 4/8/16/32GB eMMC
- Micro SD Card slot
- WiFi 4 and BT 4, or WiFi 5 and BT 5 (not supported yet)
- 1x 1000M Ethernet with PoE support (additional PoE HAT required)
- 1x 100M Ethernet
- 1x USB 3.0 Type-A port (Host)
- 1x 4-ring 3.5mm headphone jack
- 40 Pin GPIO header

[1] https://radxa.com/products/rockpi/pie

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/15984
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agozynq: enable 6.6 testing kernel
Mieczyslaw Nalewaj [Fri, 26 Jul 2024 00:19:46 +0000 (02:19 +0200)]
zynq: enable 6.6 testing kernel

The zynq now supports 6.6 kernel as testing.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
4 months agozynq: change location of zynq dts files
Mieczyslaw Nalewaj [Fri, 26 Jul 2024 00:17:57 +0000 (02:17 +0200)]
zynq: change location of zynq dts files

Upstream change location of zynq dts files.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
4 months agozynq: refresh config-6.6
Mieczyslaw Nalewaj [Fri, 26 Jul 2024 00:15:53 +0000 (02:15 +0200)]
zynq: refresh config-6.6

Refresh kernel config for Linux 6.6.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
4 months agokernel/zynq: Restore kernel files for v6.1
Mieczyslaw Nalewaj [Thu, 25 Jul 2024 22:23:15 +0000 (00:23 +0200)]
kernel/zynq: Restore kernel files for v6.1

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
4 months agokernel/zynq: Create kernel files for v6.6 (from v6.1)
Mieczyslaw Nalewaj [Thu, 25 Jul 2024 22:23:08 +0000 (00:23 +0200)]
kernel/zynq: Create kernel files for v6.6 (from v6.1)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
4 months agoramips: fix PCIe reset pins for MTC WR1201
Shiji Yang [Fri, 26 Jul 2024 10:19:15 +0000 (18:19 +0800)]
ramips: fix PCIe reset pins for MTC WR1201

This router has two reset pins, GPIO 8 and GPIO 19. We have to
configure them correctly to ensure that the wireless NICs work
properly.

Fixes: https://github.com/openwrt/openwrt/issues/11736
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16009
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoramips: create shared dtsi for ZBT WE1326 and WE3526
Shiji Yang [Thu, 25 Jul 2024 00:53:53 +0000 (08:53 +0800)]
ramips: create shared dtsi for ZBT WE1326 and WE3526

The hardware of these two models looks the same. This patch also
disabled unused i2c bus for WE3526.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16009
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoramips: fix WiFi LED for ZBT WE3526
Shiji Yang [Thu, 25 Jul 2024 00:56:45 +0000 (08:56 +0800)]
ramips: fix WiFi LED for ZBT WE3526

All WiFi LEDs should be triggered by low level voltage.

Fixes: https://github.com/openwrt/openwrt/issues/7485
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16009
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoramips: fix PCIe port number for ZBT WE3526
Shiji Yang [Thu, 25 Jul 2024 00:40:00 +0000 (08:40 +0800)]
ramips: fix PCIe port number for ZBT WE3526

From the kernel log, we are using PCIe port 1 and 2.

dmesg:
```
[ 0.963526] mt7621-pci 1e140000.pcie: pcie0 no card, disable it (RST & CLK)
[ 0.970432] mt7621-pci 1e140000.pcie: PCIE1 enabled
[ 0.975312] mt7621-pci 1e140000.pcie: PCIE2 enabled
[ 1.071442] pci 0000:01:00.0: [14c3:7662] type 00 class 0x028000
[ 1.130382] pci 0000:02:00.0: [14c3:7603] type 00 class 0x028000
```

Fixes: https://github.com/openwrt/openwrt/issues/16000
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16009
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agokernel: bump 6.1 to 6.1.102
Zxl hhyccc [Sat, 27 Jul 2024 15:53:12 +0000 (23:53 +0800)]
kernel: bump 6.1 to 6.1.102

https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.102

All patches automatically rebased.

Build system: Kirkwood bcm53xx

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16003
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agokernel: bump 6.1 to 6.1.101
Zxl hhyccc [Thu, 25 Jul 2024 16:20:19 +0000 (00:20 +0800)]
kernel: bump 6.1 to 6.1.101
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.101

All patches automatically rebased.

Build system: bcm53xx kirkwood

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16003
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoramips: mt7621: add support for Wodesys WD-R1802U
Rani Hod [Sat, 15 Jun 2024 14:27:42 +0000 (17:27 +0300)]
ramips: mt7621: add support for Wodesys WD-R1802U

This commit adds support for a dual-band AX1800 wall plug manufactured
by Shenzhen Century Xinyang Tech Co., Ltd.

CPU: Mediatek MT7621A (2 cores, 4 threads)
RAM: 256i MiB DDR3 (Samsung K4B2G1646F-BCNB)
ROM: 16 MiB SPI NOR (Winbond W25Q128JVPQ)
Wired: one gigabit RJ45 port (with green/yellow non-GPIO LEDs)
WiFi: Mediatek MT7905DAN + MT7975DN (DBDC 2x 2T2R)
Ant.: four 2 dBi external antennas (two 2.4GHz, two 5 GHz)
GPIO: tri-color status LED (GPIO 13, 14, 16);
reset button (GPIO 18)
Power: 12V 2-pin JST-XH on main PCB
110/220V AC to 12V1A DC on auxiliary PCB
UART: 115200 8n1, SMD pads available on the PCB as J4
pinout is [3v3] (Rx) (Tx) (Gnd)
MAC: 1C:BF:CE:xx:xx:xx (2.4 GHz, label)
1C:BF:CE:xx:xx:xx + 1 (ethernet [1])
1C:BF:CE:xx:xx:xx + 2 (5 GHz)

Original firmware is LEDE Reboot 17.01-SNAPSHOT (kernel 4.4.198)
with a few custom packages and a non-LuCI web interface.
Telnet and SSH are enabled, requiring an unknown root password [2].
Root password is also needed to access the router via UART console,
but passwordless telnet can be enabled via a trivial web exploit [3]
and then the root password can be removed by editing `/etc/shadow`.

Installation: First upload `sysupgrade` binary via web interface at
  `http://192.168.188.1/settings.shtml` and wait until getting back to
  the home screen (select network to extend). The installation fails
  since the original firmware uses `swconfig` and recent versions of
  OpenWrt use DSA. However, the sysupgrade file is uploaded correctly
  and stored at `/tmp/upgrade.bin`, so it can be written to flash via
  the web exploit [4] (both `mtd -r write` and `sysupgrade -Fn` work
  fine). Passwordless telnet/ssh is not needed for installation.
  Alternatively, use u-boot menu to load image via TFTP.

Notes:
- Device model in LEDE is "MediaTek MT7621 RFB (802.11ax,SNOR)".
- It is sold under several names, among them are Wodesys WD-R1802U,
  Fenvi F-AX1802U, and EDUP EP-2971; the Wodesys brand was selected
  since it is referenced in `/etc/banner` and `/etc/hosts`, and the
  PCB is marked "WD518A V1.0".
- Instead of a standard ethernet transformer, the PCB has a few tiny
  SMD coils.

[1] Original firmware sets ethernet MAC to 1C:BF:CE:E7:62:1D based on
    offset `0x3fff4` in the Factory partition; since this is the same
    MAC for all units, whereas WiFi MACs stored at offsets 0x6 and 0xc
    are unique, it was decided to use <label MAC + 1> for ethernet.
[2] root:$1$7rmMiPJj$91iv9LWhfkZE/t7aCBdo.0:18388:0:99999:7:::
[3] curl -X POST http://192.168.188.1/cgi-bin/adm.cgi \
    -d page=Lang -d langType="en;killall telnetd;telnetd -l /bin/sh"
[4] curl -X POST http://192.168.188.1/cgi-bin/adm.cgi \
    -d page=Lang -d langType="en;mtd -r write /tmp/upgrade.bin firmware"

Signed-off-by: Rani Hod <rani.hod@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15777
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agosunxi: backport Allwinner H616 DVFS support
Chukun Pan [Mon, 27 May 2024 15:18:01 +0000 (23:18 +0800)]
sunxi: backport Allwinner H616 DVFS support

Backport H616 DVFS support from linux-next.
Tested on the Orange Pi Zero 3 (H618 SoC).

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/15600
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agompc85xx: enable inside secure driver for PowerPC platforms
Josef Schlehofer [Tue, 30 Aug 2022 07:06:04 +0000 (09:06 +0200)]
mpc85xx: enable inside secure driver for PowerPC platforms

Freescale procesor has Securite Engine driver called Talitos. [1]
This driver is already packaged for OpenWrt since commit
bf57f33f0229564828f576b2dfb897aa0b57e85c ("kernel: Allow talitos crypto
hw module selection"), but many users don't know about it.

Let's include this kernel module package to default packages as it was
 recently done for MediaTek in commit 06c4fc6d5e1eea00e6a3ea208102407408590af8
("kernel: enable inside secure driver for MediaTek platforms")

[1] https://cateee.net/lkddb/web-lkddb/CRYPTO_DEV_TALITOS.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/10557
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agokernel: bump 6.6 to 6.6.43
John Audia [Sat, 27 Jul 2024 12:18:53 +0000 (08:18 -0400)]
kernel: bump 6.6 to 6.6.43

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.43

All patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16010
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agokernel: bump 6.6 to 6.6.42
John Audia [Fri, 26 Jul 2024 16:52:42 +0000 (12:52 -0400)]
kernel: bump 6.6 to 6.6.42

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.42

Removed upstreamed:
bcm27xx/patches-6.6/950-0490-input-ads7846-Add-missing-spi_device_id-strings.patch[1]

All patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.42&id=528466f921aa7637bca684ce2d7d62cdb2c34013

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16010
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agobuild: autoconf: Activate options for standard types
Philip Prindeville [Sun, 28 Jul 2024 01:19:46 +0000 (19:19 -0600)]
build: autoconf: Activate options for standard types

These are POSIX standard types

And therefore should be present in any POSIX compliant runtime.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Link: https://github.com/openwrt/openwrt/pull/15952
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agobuild: autoconf: set ac_cv_func_setresuid=true
Philip Prindeville [Mon, 15 Jul 2024 14:54:22 +0000 (08:54 -0600)]
build: autoconf: set ac_cv_func_setresuid=true

MUSL and eglibc provide these symbols.

Bind needs setresuid() to build properly in recent versions.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Link: https://github.com/openwrt/openwrt/pull/15952
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoocteon: ubnt-edgerouter: Disable PCIe
Jakob Haufe [Mon, 22 Jul 2024 18:53:47 +0000 (20:53 +0200)]
octeon: ubnt-edgerouter: Disable PCIe

Some devices lock up on PCIe initialization:

[   64.309697] PCIe: Port 0 in endpoint mode, skipping.
[   64.320496] PCIe: Initializing port 1
[   64.325257] PCIe: BIST FAILED for port 1 (0xffffffffffffffff)
(system hangs here)

Given the ER contains no PCIe peripherals, has no way to attach any
and the stock kernel doesn't have PCIe support either, just disable it.

Signed-off-by: Jakob Haufe <sur5r@sur5r.net>
Link: https://github.com/openwrt/openwrt/pull/15992
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agoncurses: Fix path in ncursesw.pc
Hauke Mehrtens [Sat, 27 Jul 2024 17:29:04 +0000 (19:29 +0200)]
ncurses: Fix path in ncursesw.pc

The file contains the the /usr/lib path from the toolchain directory and
not from the target directory. The /usr/lib directory for the toolchain
is empty and the shared library is not in the specified paths. On RISCV
the linker of util-linux was finding the libncursesw.so in my host
system, tried to link against it and failed. Fix the .pc file.

Fixes: #15942
Co-authored-by: Thomas Weißschuh <thomas@t-8ch.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/16018
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agomwlwifi: fix mac80211 broken after update to 6.9.9
Aleksey Vasilenko [Sat, 27 Jul 2024 17:01:00 +0000 (20:01 +0300)]
mwlwifi: fix mac80211 broken after update to 6.9.9

Port of kernel commit: https://github.com/torvalds/linux/commit/0a44dfc
Fixes: https://github.com/openwrt/openwrt/issues/15975
Fixes: 1bfcc1e ("mac80211: update to version 6.9.9")
Signed-off-by: Aleksey Vasilenko <aleksey.vasilenko@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16016
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agoarchs38: drop 6.1 support
Mieczyslaw Nalewaj [Sun, 28 Jul 2024 12:50:41 +0000 (14:50 +0200)]
archs38: drop 6.1 support

Drop config for Linux 6.1.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16021
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agoarchs38: use kernel 6.6 by default
Mieczyslaw Nalewaj [Sun, 28 Jul 2024 12:49:44 +0000 (14:49 +0200)]
archs38: use kernel 6.6 by default

Switch to Linux kernel version 6.6.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16021
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agoath79: add support for NEC Aterm WG600HP
INAGAKI Hiroshi [Wed, 24 Apr 2024 16:08:41 +0000 (01:08 +0900)]
ath79: add support for NEC Aterm WG600HP

NEC Aterm WG600HP is a 2.4/5 GHz band 11n (Wi-Fi 4) router, based on
AR9344.

Specification:

- SoC             : Atheros AR9344
- RAM             : DDR2 128 MiB (2x Hynix H5PS5162GFR-S6C)
- Flash           : SPI-NOR 8 MiB (Macronix MX25L6406EMI-12G)
- WLAN            : 2.4/5 GHz 2T2R
  - 2.4 GHz       : Atheros AR9344 (SoC)
  - 5 GHz         : Atheros AR9382
- Ethernet        : 5x 10/100/1000 Mbps
  - switch        : Atheros AR8327
- LEDs/Keys (GPIO): 10x/4x
  - note          : all LEDs are controlled by ath9k chip (AR9382)
- UART            : through-hole on PCB
  - assignment    : 3.3V, GND, NC, TX, RX from tri-angle marking
  - settings      : 9600n8
- USB             : 1x USB 2.0 Type-A
  - hub (internal): NEC uPD720114
- Power           : 12 VDC, 1.5 A (Max. 16 W)
- Stock OS        : NetBSD based

Flash instruction using initramfs-factory.bin image (StockFW WebUI):

1. Boot WG600HP with router mode normally
2. Access to the WebUI ("http://aterm.me/" or "http://192.168.0.1/") on
   the device and open firmware update page ("ファームウェア更新")
3. Select the OpenWrt initramfs-factory.bin image and click update
   ("更新") button
4. After updating, the device will be rebooted and booted with OpenWrt
   initramfs image
5. On the initramfs image, upload (or download) uboot.bin and
   sysupgrade.bin image to the device
6. Replace the bootloader with a uboot.bin image

   mtd write <uboot.bin image> bootloader

7. Perform sysupgrade with a sysupgrade.bin image

   sysupgrade <sysupgrade image>

8. Wait ~120 seconds to complete flashing

Flash instruction using initramfs-factory.bin image (bootloader CLI):

 1. Connect and open serial console
 2. Power on WG600HP and interrupt bootloader by ESC key
 3. Login to the bootloader CLI with a password "chiron"
 4. Start TFTP server by "tftpd" command
 5. Upload initramfs-factory.bin via tftp from your computer

   example (Windows): tftp -i 192.168.0.1 PUT initramfs-factory.bin

 6. Boot initramfs image by "boot" command
 7. On the initramfs image, back up the stock bootloader and firmware if
   needed
 8. Upload (or download) uboot.bin and sysupgrade.bin image to the device
 9. Replace the bootloader with a uboot.bin image
10. Perform sysupgrade with a sysupgrade.bin image
11. Wait ~120 seconds to complete flashing

Notes:

- All LEDs are connected to the GPIO controller on the ath9k chip
  (AR9382) and controlled by it. Those LEDs are probed after probing of
  ath9k chip, so they cannot be handled as status LEDs of OpenWrt while
  booting.

- A reset pin of the internal USB hub is connected to the GPIO
  controller of the ath9k chip, like LEDs above. That hub will be
  detected after probing of the ath9k chip.

- The stock bootloader requires an unknown filesystem on firmware area
  in the flash. Booting of OpenWrt from that filesystem cannot be
  handled, so the bootloader needs to be replaced to mainline U-Boot
  before OpenWrt installation.

MAC Addresses:

LAN    : A4:12:42:xx:xx:A0 (config,  0x6 (hex))
WAN    : A4:12:42:xx:xx:A1 (config,  0xc (hex))
2.4 GHz: A4:12:42:xx:xx:A2 (config,  0x0 (hex) / art, 0x1002 (hex))
5 GHz  : A4:12:42:xx:xx:A3 (config, 0x12 (hex) / art, 0x5002 (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoath79: add support for NEC Aterm WR9500N
INAGAKI Hiroshi [Wed, 24 Apr 2024 16:08:41 +0000 (01:08 +0900)]
ath79: add support for NEC Aterm WR9500N

NEC Aterm WR9500N is a 2.4/5 GHz band 11n (Wi-Fi 4) router, based on
AR9344.

Specification:

- SoC             : Atheros AR9344
- RAM             : DDR2 128 MiB (2x Nanya NT5TU32M16DG-AC)
- Flash           : SPI-NOR 16 MiB (Macronix MX25L12845EMI-10G)
- WLAN            : 2.4/5 GHz
  - 2.4 GHz       : 2T2R, Atheros AR9344 (SoC)
  - 5 GHz         : 3T3R, Atheros AR9380
- Ethernet        : 5x 10/100/1000 Mbps
  - switch        : Atheros AR8327
- LEDs/Keys (GPIO): 12x/4x
  - note          : all LEDs are controlled by ath9k chip (AR9380)
- UART            : pad on PCB (near shielded ath9k chip, white circle)
  - assignment    : 3.3V, GND, TX, RX from AR8327 side
  - settings      : 9600n8
- USB             : 1x USB 2.0 Type-A
  - hub (internal): NEC uPD720114
- Power           : 12 VDC, 1.5 A (Max. 17 W)
- Stock OS        : NetBSD based

Flash instruction using initramfs-factory.bin image (StockFW WebUI):

1. Boot WR9500N with router mode normally
2. Access to the WebUI ("http://aterm.me/" or "http://192.168.0.1/") on
   the device and open firmware update page ("ファームウェア更新")
3. Select the OpenWrt initramfs-factory.bin image and click update
   ("更新") button
4. After updating, the device will be rebooted and booted with OpenWrt
   initramfs image
5. On the initramfs image, upload (or download) uboot.bin and
   sysupgrade.bin image to the device
6. Replace the bootloader with a uboot.bin image

   mtd write <uboot.bin image> bootloader

7. Perform sysupgrade with a sysupgrade.bin image

   sysupgrade <sysupgrade image>

8. Wait ~120 seconds to complete flashing

Flash instruction using initramfs-factory.bin image (bootloader CLI):

 1. Connect and open serial console
 2. Power on WR9500N and interrupt bootloader by ESC key
 3. Login to the bootloader CLI with a password "chiron"
 4. Start TFTP server by "tftpd" command
 5. Upload initramfs-factory.bin via tftp from your computer

   example (Windows): tftp -i 192.168.0.1 PUT initramfs-factory.bin

 6. Boot initramfs image by "boot" command
 7. On the initramfs image, back up the stock bootloader and firmware if
   needed
 8. Upload (or download) uboot.bin and sysupgrade.bin image to the device
 9. Replace the bootloader with a uboot.bin image
10. Perform sysupgrade with a sysupgrade.bin image
11. Wait ~120 seconds to complete flashing

Notes:

- All LEDs are connected to the GPIO controller on the ath9k chip
  (AR9380) and controlled by it. Those LEDs are probed after probing of
  ath9k chip, so they cannot be handled as status LEDs of OpenWrt while
  booting.

- A reset pin of the internal USB hub is connected to the GPIO
  controller of the ath9k chip, like LEDs above. That hub will be
  detected after probing of the ath9k chip.

- The stock bootloader requires an unknown filesystem on firmware area
  in the flash. Booting of OpenWrt from that filesystem cannot be
  handled, so the bootloader needs to be replaced to mainline U-Boot
  before OpenWrt installation.

MAC Addresses:

LAN    : 1C:B1:7F:xx:xx:60 (config,  0x6 (hex))
WAN    : 1C:B1:7F:xx:xx:61 (config,  0xc (hex))
2.4 GHz: 1C:B1:7F:xx:xx:62 (config,  0x0 (hex) / art, 0x1002 (hex))
5 GHz  : 1C:B1:7F:xx:xx:63 (config, 0x12 (hex) / art, 0x5002 (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoath79: add support for NEC Aterm WR8750N
INAGAKI Hiroshi [Wed, 24 Apr 2024 16:08:41 +0000 (01:08 +0900)]
ath79: add support for NEC Aterm WR8750N

NEC Aterm WR8750N is a 2.4/5 GHz band 11n (Wi-Fi 4) router, based on
AR9344.

Specification:

- SoC             : Atheros AR9344
- RAM             : DDR2 128 MiB (2x Hynix H5PS5162GFR-S6C)
- Flash           : SPI-NOR 8 MiB (Macronix MX25L6406EMI-12G)
- WLAN            : 2.4/5 GHz 2T2R
  - 2.4 GHz       : Atheros AR9344 (SoC)
  - 5 GHz         : Atheros AR9382
- Ethernet        : 5x 10/100/1000 Mbps
  - switch        : Atheros AR8327
- LEDs/Keys (GPIO): 10x/4x
  - note          : all LEDs are controlled by ath9k chip (AR9382)
- UART            : through-hole on PCB
  - assignment    : 3.3V, GND, NC, TX, RX from tri-angle marking
  - settings      : 9600n8
- USB             : 1x USB 2.0 Type-A
  - hub (internal): NEC uPD720114
- Power           : 12 VDC, 1.5 A (Max. 16 W)
- Stock OS        : NetBSD based

Flash instruction using initramfs-factory.bin image (StockFW WebUI):

1. Boot WR8750N with router mode normally
2. Access to the WebUI ("http://aterm.me/" or "http://192.168.0.1/") on
   the device and open firmware update page ("ファームウェア更新")
3. Select the OpenWrt initramfs-factory.bin image and click update
   ("更新") button
4. After updating, the device will be rebooted and booted with OpenWrt
   initramfs image
5. On the initramfs image, upload (or download) uboot.bin and
   sysupgrade.bin image to the device
6. Replace the bootloader with a uboot.bin image

   mtd write <uboot.bin image> bootloader

7. Perform sysupgrade with a sysupgrade.bin image

   sysupgrade <sysupgrade image>

8. Wait ~120 seconds to complete flashing

Flash instruction using initramfs-factory.bin image (bootloader CLI):

 1. Connect and open serial console
 2. Power on WR8750N and interrupt bootloader by ESC key
 3. Login to the bootloader CLI with a password "chiron"
 4. Start TFTP server by "tftpd" command
 5. Upload initramfs-factory.bin via tftp from your computer

   example (Windows): tftp -i 192.168.0.1 PUT initramfs-factory.bin

 6. Boot initramfs image by "boot" command
 7. On the initramfs image, back up the stock bootloader and firmware if
   needed
 8. Upload (or download) uboot.bin and sysupgrade.bin image to the device
 9. Replace the bootloader with a uboot.bin image
10. Perform sysupgrade with a sysupgrade.bin image
11. Wait ~120 seconds to complete flashing

Notes:

- All LEDs are connected to the GPIO controller on the ath9k chip
  (AR9382) and controlled by it. Those LEDs are probed after probing of
  ath9k chip, so they cannot be handled as status LEDs of OpenWrt while
  booting.

- A reset pin of the internal USB hub is connected to the GPIO
  controller of the ath9k chip, like LEDs above. That hub will be
  detected after probing of the ath9k chip.

- The stock bootloader requires an unknown filesystem on firmware area
  in the flash. Booting of OpenWrt from that filesystem cannot be
  handled, so the bootloader needs to be replaced to mainline U-Boot
  before OpenWrt installation.

MAC Addresses:

LAN    : 1C:B1:7F:xx:xx:00 (config,  0x6 (hex))
WAN    : 1C:B1:7F:xx:xx:01 (config,  0xc (hex))
2.4 GHz: 1C:B1:7F:xx:xx:02 (config,  0x0 (hex) / art, 0x1002 (hex))
5 GHz  : 1C:B1:7F:xx:xx:03 (config, 0x12 (hex) / art, 0x5002 (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoath79: add missing reset de-assertion of PCIe endpoint
INAGAKI Hiroshi [Fri, 26 Apr 2024 14:54:57 +0000 (23:54 +0900)]
ath79: add missing reset de-assertion of PCIe endpoint

Fix PCIe initialization by de-assertion of PCIe endpoint reset.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoath79: fix PCIe initialization on AR934x
INAGAKI Hiroshi [Fri, 26 Apr 2024 14:53:58 +0000 (23:53 +0900)]
ath79: fix PCIe initialization on AR934x

Fix PCIe initialization on AR934x by clearing PLL_PWD bit in addition to
PPL(PLL?)_RESET bit of AR724x.

Refresh patches by `make target/linux/refresh`.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agouboot-ath79: add support for NEC Aterm series based on AR9344
INAGAKI Hiroshi [Fri, 26 Apr 2024 14:34:31 +0000 (23:34 +0900)]
uboot-ath79: add support for NEC Aterm series based on AR9344

Add support for NEC Aterm series devices based on Atheros AR9344.
The following devices have almost the same hardware, so the same U-Boot
binary can be used for them.

- NEC Aterm WR8750N
- NEC Aterm WR9500N
- NEC Aterm WG600HP

By the way, on NetBSD-based NEC Aterm devices, only 0x20000 (128KiB) is
available for a bootloader on the flash chip and that limitation is too
small for mainline U-Boot with the default options. So many
features/commands not required for booting OpenWrt and recoverying are
disabled on that devices, like the followings.

- networking support
- FIT support
- all decompression methods support

etc...

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agouboot-ath79: add new U-Boot package for Atheros/QCA devices
INAGAKI Hiroshi [Fri, 26 Apr 2024 14:33:24 +0000 (23:33 +0900)]
uboot-ath79: add new U-Boot package for Atheros/QCA devices

Add U-Boot package for the devices that based on Atheros/Qualcomm
Atheros SoCs.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoipq40xx: eth: Fix PHY access over ipqess driver
Hauke Mehrtens [Thu, 25 Jul 2024 20:13:35 +0000 (22:13 +0200)]
ipq40xx: eth: Fix PHY access over ipqess driver

.ndo_do_ioctl is not called any more. For PHY MII ioctl handling, the
kernel calls .ndo_eth_ioctl now.

See upstream Linux kernel commit:
https://git.kernel.org/linus/a76053707dbf0dc020a73b4d90cd952409ef3691

Link: https://github.com/openwrt/openwrt/pull/16005
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoramips: eth: Fix PHY access over mtk_eth_soc driver
Hauke Mehrtens [Thu, 25 Jul 2024 20:09:04 +0000 (22:09 +0200)]
ramips: eth: Fix PHY access over mtk_eth_soc driver

.ndo_do_ioctl is not called any more. For PHY MII ioctl handling, the
kernel calls .ndo_eth_ioctl now.

See upstream Linux kernel commit:
https://git.kernel.org/linus/a76053707dbf0dc020a73b4d90cd952409ef3691

Link: https://github.com/openwrt/openwrt/pull/16005
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoath79: Fix PHY access over ag71xx driver
Hauke Mehrtens [Thu, 25 Jul 2024 20:05:11 +0000 (22:05 +0200)]
ath79: Fix PHY access over ag71xx driver

.ndo_do_ioctl is not called any more. For PHY MII ioctl handling, the
kernel calls .ndo_eth_ioctl now.

The SIOCSIFHWADDR and SIOCGIFHWADDR operation are handled in the generic
code in the same way just with more input validation.

See upstream Linux kernel commit:
https://git.kernel.org/linus/a76053707dbf0dc020a73b4d90cd952409ef3691

Reported-by: Cthulhu88 in https://forum.openwrt.org/t/ethernet-leds-control-for-tp-link-tl-wr1043nd-v2-v3/202378
Link: https://github.com/openwrt/openwrt/pull/16005
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoltq-ptm: Fix netdev ioctls with kernel > 5.15
Hauke Mehrtens [Thu, 25 Jul 2024 19:51:42 +0000 (21:51 +0200)]
ltq-ptm: Fix netdev ioctls with kernel > 5.15

.ndo_do_ioctl is not called for SIOCDEVPRIVATE any more, the kernel
calls .ndo_siocdevprivate now.

The function gets the data pointer from the callback directly, make use
of it.

See upstream Linux kernel commit:
https://git.kernel.org/linus/b9067f5dc4a07c8e24e01a1b277c6722d91be39e

Link: https://github.com/openwrt/openwrt/pull/16005
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoarchs38: enable 6.6 testing kernel
Mieczyslaw Nalewaj [Thu, 25 Jul 2024 18:54:55 +0000 (20:54 +0200)]
archs38: enable 6.6 testing kernel

The archs38 now supports 6.6 kernel as testing.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16004
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agogeneric: 6.6: backport fix uninitialized variable warnings
Mieczyslaw Nalewaj [Sat, 27 Jul 2024 21:51:16 +0000 (23:51 +0200)]
generic: 6.6: backport fix uninitialized variable warnings

Fix uninitialized variable warnings in function regcache_maple_drop

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16004
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agoarchs38: refresh config-6.6
Mieczyslaw Nalewaj [Thu, 25 Jul 2024 18:42:30 +0000 (20:42 +0200)]
archs38: refresh config-6.6

Refresh kernel config for Linux 6.6.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16004
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agokernel/archs38: Restore kernel files for v6.1
Mieczyslaw Nalewaj [Thu, 25 Jul 2024 16:18:49 +0000 (18:18 +0200)]
kernel/archs38: Restore kernel files for v6.1

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16004
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agokernel/archs38: Create kernel files for v6.6 (from v6.1)
Mieczyslaw Nalewaj [Thu, 25 Jul 2024 16:18:39 +0000 (18:18 +0200)]
kernel/archs38: Create kernel files for v6.6 (from v6.1)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16004
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agotools/7z: update to 24.05
Michael Pratt [Thu, 11 Jul 2024 10:33:55 +0000 (06:33 -0400)]
tools/7z: update to 24.05

Update to a more recent stable release.

Most notably, this version includes
some fixes for building on an OS like Alpine.
This allows for the removal of hacks
that fixed building on Alpine,
but broke building on ARM archs.

Manually adjust:
- 7-zip-flags.patch
- 7-zip-musl.patch

Link: https://7-zip.org/history.txt
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/15991
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agotools/7z: cleanup Makefile
Michael Pratt [Thu, 11 Jul 2024 07:54:29 +0000 (03:54 -0400)]
tools/7z: cleanup Makefile

Define the version in one variable,
and use Make functions to use variations of it elsewhere.

Correct the CPE ID.

Override the default tar directory flag
by adding a new value to the tar options
instead of defining the entire command.

Use variables for adjusting build recipes
instead of adding custom build recipes.

Remove unnecessary lines and add spacing.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/15991
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agobuild: add support for host building in a subdirectory
Michael Pratt [Thu, 11 Jul 2024 06:36:18 +0000 (02:36 -0400)]
build: add support for host building in a subdirectory

Add HOST_MAKE_PATH and use it in order to execute Make
in a subdirectory of the build directory
and in a similar way that MAKE_PATH is used for target building.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/15991
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 months agoutil-linux: update to v2.40.2
Thomas Weißschuh [Tue, 23 Jul 2024 19:22:17 +0000 (21:22 +0200)]
util-linux: update to v2.40.2

Release Notes:
        https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40-ReleaseNotes
        https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.1-ReleaseNotes
        https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.2-ReleaseNotes

Remove upstreamed:
        0001-meson-Fix-build-python-option.patch

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Link: https://github.com/openwrt/openwrt/pull/15995
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agotools: util-linux: update to v2.40.2
Thomas Weißschuh [Tue, 23 Jul 2024 19:24:39 +0000 (21:24 +0200)]
tools: util-linux: update to v2.40.2

Also switch from .tar.gz to .tar.xz to align with
package/utils/util-linux/Makefile.
This makes synchronized updates easier.

Release Notes:
        https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40-ReleaseNotes
        https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.1-ReleaseNotes
        https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.2-ReleaseNotes

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Link: https://github.com/openwrt/openwrt/pull/15995
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agobase-files: upgrade: nand: allow custom fw extraction in nand_do_upgrade()
Rafał Miłecki [Fri, 12 Jul 2024 09:36:48 +0000 (11:36 +0200)]
base-files: upgrade: nand: allow custom fw extraction in nand_do_upgrade()

By default nand_do_upgrade() can only deal with raw and gzipped firmware
files. Vendors often use custom firmware containers. Allow passing
custom extraction command to allow using nand_do_upgrade() with vendor
firmwares.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 months agomediatek: add support for TP-Link TL-XTR8488
Chukun Pan [Tue, 18 Jun 2024 15:02:12 +0000 (23:02 +0800)]
mediatek: add support for TP-Link TL-XTR8488

Hardware specification:
  SoC: MediaTek MT7986A 4x A53
  Flash: ESMT F50L1G41LB 128MB
  RAM: MT40A512M16TB-062ER 1GB
  Ethernet: 2x 2.5G, 4x 1G Lan
  WiFi1: MT7976GN 2.4GHz 4T4R
  WiFi2: MT7976AN 5.2GHz 4T4R
  WiFi3: MT7915AN 5.8GHz 4T4R
  Button: Reset, WPS, Turbo
  USB: 1 x USB 3.0
  Power: DC 12V 5A

Flash instructions:
  1. Execute the following operation to open nc shell:
     https://openwrt.org/inbox/toh/tp-link/xdr-6086#rooting
  2. Replace the stock bootloader to OpenWrt's:
     dd bs=131072 conv=sync of=/dev/mtdblock9 if=/tmp/xxx-preloader.bin
     dd bs=131072 conv=sync of=/dev/mtdblock9 seek=28 if=/tmp/xxx-bl31-uboot.fip
  3. Connect to your PC via the Gigabit port of the router,
     set a static ip on the ethernet interface of your PC.
  4. Download the initramfs image, and restart the router,
     waiting for tftp recovery to complete.
  5. After openwrt boots up, perform sysupgrade.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/15930
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agouboot-mediatek: add TP-LINK TL-XTR8488 support
Chukun Pan [Mon, 17 Jun 2024 12:10:06 +0000 (20:10 +0800)]
uboot-mediatek: add TP-LINK TL-XTR8488 support

Same as TP-Link TL-XDR608x, this router comes with locked vendor
loader. Add U-Boot build for replacement loader for this device.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/15930
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agorockchip: add support for Radxa ROCK 3A
FUKAUMI Naoki [Wed, 24 Jul 2024 05:48:09 +0000 (14:48 +0900)]
rockchip: add support for Radxa ROCK 3A

Radxa ROCK 3A is a credit card sized SBC with rich interfaces[1] using
the Rockchip RK3328 SoC.

Hardware
--------
- Rockchip RK3568 SoC
- Quad Cortex-A55 CPU
- Mail G52 GPU
- 1 TOPs NPU
- 2/4/8GB LPDDR4 RAM
- 1x eMMC connector
- 1x M.2 M Key (2-lane PCIe 3.0) supporting NVMe SSD
- 1x Micro SD card slot
- 1x 1000M Ethernet with PoE support (additional PoE HAT required)
- 1x USB 3.0 Type-A port (Host)
- 1x USB 3.0 Type-A port (OTG)
- 2x USB 2.0 Type-A ports (Host)
- 40 pin color GPIO header

[1] https://radxa.com/products/rock3/3a

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/15985
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agotreewide: fixup models names for UniFi U6 series
Rafał Miłecki [Thu, 18 Jul 2024 08:37:38 +0000 (10:37 +0200)]
treewide: fixup models names for UniFi U6 series

Ubiquiti has a set of UniFi 802.11ax (Wi-Fi 6) AP devices. All models
include "U6" in their names and also have code names with no special
characters (including spaces).

Examples:
1. U6 Lite (codename U6-Lite)
2. U6 Long-Range (codename U6-LR)
3. U6+ (codename U6-PLUS)
4. U6 Pro (codename U6-Pro)
5. U6 Mesh (codename U6-Mesh)
6. U6 Mesh Pro (codename U6-Mesh-Pro)
7. U6 Enterprise (codename U6-Enterprise)

Use proper full names for those devices. Names in OpenWrt/DTS code may
need updating too but it can be handled later.

Cc: Elbert Mai <code@elbertmai.com>
Cc: Daniel Golle <daniel@makrotopia.org>
Cc: Henrik Riomar <henrik.riomar@gmail.com>
Cc: David Bauer <mail@david-bauer.net>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 months agorockchip: add support for Radxa ROCK Pi S
FUKAUMI Naoki [Sun, 21 Jul 2024 23:01:56 +0000 (08:01 +0900)]
rockchip: add support for Radxa ROCK Pi S

Radxa ROCK Pi S is a small in size, full in features SBC[1] using the
Rockchip RK3308B SoC.

Hardware
--------
- Rockchip RK3308B SoC
- Quad A35 CPU
- 256/512MB DDR3 RAM
- Optional 4/8GB eMMC
- Micro SD Card slot
- Optional WiFi 4 and BT 4 (not supported yet)
- 1x 100M Ethernet with PoE support (additional PoE HAT required)
- 1x USB 2.0 Type-A port (Host)
- 1x USB 2.0 Type-C port (OTG)
- 2x 26 Pin GPIO header

[1] https://radxa.com/products/rockpi/pis

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/15933
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agowifi-scripts: add missing dependency on ucode-mod-rtnl
FUKAUMI Naoki [Wed, 10 Jul 2024 21:33:41 +0000 (06:33 +0900)]
wifi-scripts: add missing dependency on ucode-mod-rtnl

rtnl is used in hostap/common.uc.

$ grep -r rtnl files
files/usr/share/hostap/common.uc:import * as rtnl from "rtnl";
files/usr/share/hostap/common.uc:      rtnl.request(rtnl.const.RTM_SETLINK, 0, { dev: reuse_ifname, ifname: name}) != false))
files/usr/share/hostap/common.uc: rtnl.request(rtnl.const.RTM_SETLINK, 0, { dev: name, change: 1, flags: up ? 1 : 0 });

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/15922
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agosunxi: add csi video support for nanopi-neo-air
Michel Promonet [Sun, 23 Jun 2024 19:46:46 +0000 (21:46 +0200)]
sunxi: add csi video support for nanopi-neo-air

add dtc configuration that declare CSI connection with ov5640

Signed-off-by: Michel Promonet <michel.promonet@free.fr>
Link: https://github.com/openwrt/openwrt/pull/15967
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agofirmware: add Intel/Lantiq VRX518 DSL firmware package
Martin Schiller [Wed, 21 Aug 2019 07:04:15 +0000 (09:04 +0200)]
firmware: add Intel/Lantiq VRX518 DSL firmware package

This is required by the DSL CPE API driver.

Signed-off-by: Martin Schiller <ms.3headeddevs@gmail.com>
[update for new license]
Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15550
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agofirmware: add Intel/Lantiq VRX518 PPE firmware package
Martin Schiller [Wed, 21 Aug 2019 06:32:09 +0000 (08:32 +0200)]
firmware: add Intel/Lantiq VRX518 PPE firmware package

This firmware is used by the vrx518 tc driver.

Signed-off-by: Martin Schiller <ms.3headeddevs@gmail.com>
[update for new license]
Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15550
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agofirmware: add Intel/Lantiq VRX518 ACA firmware package
Martin Schiller [Wed, 21 Aug 2019 06:05:06 +0000 (08:05 +0200)]
firmware: add Intel/Lantiq VRX518 ACA firmware package

This firmware is used by the vrx518 ep driver.

Signed-off-by: Martin Schiller <ms.3headeddevs@gmail.com>
[update for new license]
Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15550
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoramips: add support for Keenetic KN-3510
Maxim Anisimov [Tue, 18 Jun 2024 13:09:35 +0000 (16:09 +0300)]
ramips: add support for Keenetic KN-3510

Keenetic KN-3510 is a 2.4/5 Ghz band 11ax access point

Specification:
- System-On-Chip: MT7621AT
- CPU/Speed: 880 MHz
- Flash-Chip: Macronix MX30LF1G28AD-TI
- Flash size: 128 MiB
- RAM: 256 MiB
- 2x 10/100/1000 Mbps Ethernet
- PoE, 802.3af/at
- 4x internal antennas
- UART (J1) header on PCB (115200 8n1)
- WiFi: MT7915 2x2 2.4G 573.5Mbps + 2x2 5G 1201Mbps
- 2x LED, 2x button, 1x mode switch

Notes:
- The device supports dual boot mode
- The firmware partitions were concatinated into one

Flash instruction:
The only way to flash OpenWrt image is to use tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24 and tftp server.
2. Rename "openwrt-ramips-mt7621-keenetic_kn-3510-squashfs-factory.bin"
   to "KN-3510_recovery.bin" and place it in tftp server directory.
3. Connect PC with one of LAN ports, press the reset button, power up
   the router and keep button pressed until power led start blinking.
4. Router will download file from server, write it to flash and reboot

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoramips: add support for Netgear WAX214v2
Borys Zhukov [Sun, 7 Jul 2024 22:54:07 +0000 (18:54 -0400)]
ramips: add support for Netgear WAX214v2

Netgear WAX214v2 is an 802.11ax (Wi-Fi 6) wireless access point.

Specifications:
* SoC: MediaTek MT7621AT
* RAM: 512 MiB
* Flash: NAND 128 MiB (ESMT PSU1GA30DT)
* Wi-Fi: 2.4/5 GHz 4T4R (MediaTek MT7915E)
* Ethernet: 1x 10/100/1000 Mbps LAN
* Switch: MediaTek MT7530 (SoC built-in)
* LEDs/Keys
  * Power (green, blue, amber)
  * LAN (green, amber)
  * WLAN 2.4GHz (green, blue)
  * WLAN 5GHz (green, blue)
  * Reset button
* USB: None
* UART: Marked J1 on board, 115200 8N1
* Power
  * 12 VDC, 1.5 A
  * IEEE 802.3at (PoE+)

Load addresses (same as Netgear WAX202):
* stock
  * 0x80010000: FIT image
  * 0x81001000: kernel image -> entry
* OpenWrt
  * 0x80010000: FIT image
  * 0x82000000: uncompressed kernel+relocate image
  * 0x80001000: relocated kernel image -> entry

MAC addresses as verified by OEM firmware:

vendor   OpenWrt   address
eth0     lan       label
ra0      phy0      label + 2
rax0     phy1      label + 3

Installation:
* Flash the factory image by TFTP to the bootloader.
  NMRP can be used to TFTP without opening the case.

Revert to stock firmware:
* Flash the stock firmware to the bootloader using TFTP/NMRP.

References to WAX214v2 GPL source:
https://www.downloads.netgear.com/files/GPL/WAX214v2-V1.0.1.5-gpl-src.tar.gz

* openwrt/target/linux/ramips/dts/mt7621-ax-nand-wax214v2.dts
  DTS file for this device.

Signed-off-by: Borys Zhukov <borys@zhukov.org>
Link: https://github.com/openwrt/openwrt/pull/14401
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agokernel: modules: video: add kmod-video-gspca-pac7302
Luiz Angelo Daros de Luca [Sat, 6 Jul 2024 07:37:42 +0000 (04:37 -0300)]
kernel: modules: video: add kmod-video-gspca-pac7302

Add the package for the Pixart PAC7302 USB Camera Driver kernel module.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15886
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoramips: add support for Wavlink WL-WN531G3-A2
Eros Brigmann [Thu, 4 Jul 2024 18:10:25 +0000 (20:10 +0200)]
ramips: add support for Wavlink WL-WN531G3-A2

This device is exactly the same as WL-WN531G3 but with different partition layout and different MAC layout. Labeled as Quantum D4G Rev.: A2.

Hardware
--------
SoC:   Mediatek MT7620A
RAM:   64MB
FLASH: 8MB NOR (GigaDevice GD25Q64CS)
ETH:
  - 2x 10/100/1000 Mbps Ethernet (RTL8211F)
  - 3x 10/100 Mbps Ethernet (integrated in SOC)
WIFI:
  - 2.4GHz: 1x (integrated in SOC) (2x2:2)
  - 5GHz:   1x MT7612E (2x2:2)
  - 4 external antennas
BTN:
  - 1x Reset button
  - 1x Touchlink button
  - 1x Turbo button
  - 1x Wps button
  - 1x ON/OFF switch
LEDS:
  - 1x Red led (system status)
  - 1x Blue led (system status)
  - 5x Blue leds (ethernet ports)
  - 1x Power led
  - 1x Wifi led
UART:
  - 57600-8-N-1
Everything works correctly.

Installation
------------
Flash the initramfs image in the OEM firmware interface
When Openwrt boots, flash the sysupgrade image otherwise you won't be
able to keep configuration between reboots.

Notes
-----
1) Router mac addresses:
   LAN XX:XX:XX:XX:XX:0F (factory @ 0x28)
   WAN XX:XX:XX:XX:XX:10 (factory @ 0x2e)
   WIFI 2G XX:XX:XX:XX:XX:11 (factory @ 0x04)
   WIFI 5G XX:XX:XX:XX:XX:12 (factory @ 0x8004)

   LABEL XX:XX:XX:XX:XX:11

Signed-off-by: Eros Brigmann <erosbrigmann@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15876
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agorockchip: make SATA(AHCI) really work on Radxa E25
FUKAUMI Naoki [Wed, 10 Jul 2024 21:20:21 +0000 (06:20 +0900)]
rockchip: make SATA(AHCI) really work on Radxa E25

kmod-ahci-dwc is required to use SATA(AHCI) on Radxa E25.

Fixes: f7c732bf9e ("rockchip: add Radxa E25 board support")
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/15923
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agotreewide: match the COMFAST brand name across supported devices
Luca Piccirillo [Wed, 10 Jul 2024 16:48:39 +0000 (18:48 +0200)]
treewide: match the COMFAST brand name across supported devices

COMFAST CF-E393AX
COMFAST CF-E390AX & CF-EW72 V2
COMFAST CF-WR617AC

Signed-off-by: Luca Piccirillo <luca.piccirillo@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14690
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoath79: qca9563: Amplifi Router HD: add DEVICE_VENDOR Ubiquiti
Kristian Skramstad [Fri, 12 Jul 2024 06:47:23 +0000 (08:47 +0200)]
ath79: qca9563: Amplifi Router HD: add DEVICE_VENDOR Ubiquiti

In make menuconfig the name is [Amplifi Router HD], and
is missing Ubiquiti. Lets fix that by adding
DEVICE_VENDOR := Ubiquiti to generic-ubnt.mk so the name is:
[Ubiquiti Amplifi Router HD].

Signed-off-by: Kristian Skramstad <kristian+github@83.no>
Link: https://github.com/openwrt/openwrt/pull/15932
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agobase-files: ipcalc.sh handle start and range being empty strings
Philip Prindeville [Sun, 14 Jul 2024 20:07:53 +0000 (14:07 -0600)]
base-files: ipcalc.sh handle start and range being empty strings

If we're being paranoid and quote all the arguments to ipcalc.sh,
it's possible to pass in empty start and range arguments.  This
should be handled the same as their being absent.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Link: https://github.com/openwrt/openwrt/pull/15946
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoath79: add support for Huawei AP6010DN
Marco von Rosenberg [Sun, 31 Mar 2024 15:07:13 +0000 (17:07 +0200)]
ath79: add support for Huawei AP6010DN

Huawei AP6010DN is a dual-band, dual-radio 802.11a/b/g/n 2x2 MIMO
enterprise access point with one Gigabit Ethernet port and PoE
support.

Hardware highlights:
- CPU: AR9344 SoC at 480MHz
- RAM: 128MB DDR2
- Flash: 32MB SPI-NOR
- Wi-Fi 2.4GHz: AR9344-internal radio
- Wi-Fi 5GHz: AR9580 PCIe WLAN SoC
- Ethernet: 10/100/1000 Mbps Ethernet through Atheros AR8035 PHY
- PoE: yes
- Standalone 12V/2A power input
- Serial console externally available through RJ45 port
- External watchdog: CAT706SVI (1.6s timeout)

Serial console:
  9600n8 (9600 baud, no stop bits, no parity, 8 data bits)

MAC addresses:
  Each device has 32 consecutive MAC addresses allocated by
  the vendor, which don't overlap between devices.
  This was confirmed with multiple devices with consecutive
  serial numbers.
  The MAC address range starts with the address on the label.
  To be able to distinguish between the interfaces,
  the following MAC address scheme is used:
    - eth0 = label MAC
    - radio0 (Wi-Fi 2.4GHz) = label MAC + 1
    - radio1 (Wi-Fi 5GHz) = label MAC + 2

Installation:
0. Connect some sort of RJ45-to-USB adapter to "Console" port of the AP

1. Power up the AP

2. At prompt "Press f or F  to stop Auto-Boot in 3 seconds",
   do what they say.
   Log in with default admin password "admin@huawei.com".

3. Boot the OpenWrt initramfs from TFTP using the hidden script "run ramboot".
   Replace IP address as needed:

   > setenv serverip 192.168.1.10
   > setenv ipaddr 192.168.1.1
   > setenv rambootfile openwrt-ath79-generic-huawei_ap6010dn-initramfs-kernel.bin
   > saveenv
   > run ramboot

4. Optional but recommended as the factory firmware cannot be downloaded publicly:
   Back up contents of "firmware" partition using the web interface or ssh:

   $ ssh root@192.168.1.1 cat /dev/mtd11 > huawei_ap6010dn_fw_backup.bin

5. Run sysupgrade using sysupgrade image. OpenWrt
   shall boot from flash afterwards.

Return to factory firmware (using firmware upgrade package downloaded from non-public Huawei website):
1. Start a TFTP server in the directory where
   the firmware upgrade package is located

2. Boot to u-boot as described above

3. Install firmware upgrade package and format the config partitions:

   > update system FatAP6X10XN_SOMEVERSION.bin
   > format_fs

Return to factory firmware (from previously created backup):
1. Copy over the firmware partition backup to /tmp,
   for example using scp

2. Use sysupgrade with force to restore the backup:
   sysupgrade -F huawei_ap6010dn_fw_backup.bin

3. Boot AP to U-Boot as described above

Quirks and known issues:
- The stock firmware has a semi dual boot concept where the primary
kernel uses a squashfs as root partition and the secondary kernel uses
an initramfs. This dual boot concept is circumvented on purpose to gain
more flash space and since the stock firmware's flash layout isn't
compatible with mtdsplit.
- The external watchdog's timeout of 1.6s is very hard to satisfy
during bootup. This is why the GPIO15 pin connected to the watchdog input
is configured directly in the LZMA loader to output the AHB_CLK/2 signal
which keeps the watchdog happy until the wdt-gpio kernel driver takes
over. Because it would also take too long to read the whole kernel image
from flash, the uImage header only includes the loader which then reads
the kernel image from flash after GPIO15 is configured.

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
Link: https://github.com/openwrt/openwrt/pull/15941
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agomediatek: add ABT ASR3000 support
Tianling Shen [Sat, 6 Jul 2024 07:30:31 +0000 (15:30 +0800)]
mediatek: add ABT ASR3000 support

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 128 MB SPI-NAND
  RAM: 256MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, Mesh
  Power: DC 12V 1A

Gain telnet access:
1. Login into web interface, and download the configuration.
2. Decode and uncompress the configuration:
     * Enter fakeroot if you are not login as root.
   base64 -d e-xxxxxxxxxxxx-cfg.tar.gz | tar -zx
3. Edit 'etc/passwd', remove root password: 'root::1:0:99999:7:::'.
4. Edit 'etc/rc.local', insert telnetd command before 'exit 0':
   ( sleep 3s; /usr/sbin/telnetd; ) &
5. Repack the configuration:
   tar -zc etc/ | base64 > e-xxxxxxxxxxxx-cfg.tar.gz
6. Upload new configuration via web interface, now you can connect to
   ASR3000 via telnet.

Flash instructions:
1. Connect to ASR3000, backup everything, especially 'Factory' part.
2. Write new BL2:
   mtd write openwrt-mediatek-filogic-abt_asr3000-preloader.bin BL2
3. Write new FIP:
   mtd write openwrt-mediatek-filogic-abt_asr3000-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/15887
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoramips: mt7620: remove kmod-switch-rtl8366-smi from package list
Mieczyslaw Nalewaj [Wed, 19 Jun 2024 12:49:44 +0000 (14:49 +0200)]
ramips: mt7620: remove kmod-switch-rtl8366-smi from package list

Remove kmod-switch-rtl8366-smi from the package list, as it is still loaded
because kmod-switch-rtl8367b depends on it

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/15757
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agolantiq: fix checkpatch warnings in etop driver
Aleksander Jan Bajkowski [Sat, 13 Jul 2024 10:36:02 +0000 (12:36 +0200)]
lantiq: fix checkpatch warnings in etop driver

This commit fixes all errors reported by the checkpatch script. This
should make it easier to accept upstream this patch.

There should be no functional changes.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/15939
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agolantiq: properly release descriptors in etop driver detach
Aleksander Jan Bajkowski [Sat, 13 Jul 2024 10:11:34 +0000 (12:11 +0200)]
lantiq: properly release descriptors in etop driver detach

This patch fixes two issues in the driver detach:
* double free of the same descriptor (upstream bug, backported in 66177c081f1b05e4eb7f6c23d97954e8172c4336),
* releasing tx descriptor instead of rx (downstream bug).

The driver is compiled into the kernel that is why the error
is not visible in normal use.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/15939
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agomac80211: fix kconf build warnings
Sean Khan [Sat, 13 Jul 2024 20:40:30 +0000 (16:40 -0400)]
mac80211: fix kconf build warnings

This patch cleans up the following warnings during build:

"warning: format not a string literal"

```
conf.c: In function 'conf_askvalue':
conf.c:89:17: warning: format not a string literal and no format arguments [-Wformat-security]
    89 |                 printf(_("(NEW) "));
      |                 ^~~~~~
conf.c: In function 'conf_choice':
conf.c:285:33: warning: format not a string literal and no format arguments [-Wformat-security]
  285 |                                 printf(_(" (NEW)"));
      |                                 ^~~~~~
conf.c: In function 'check_conf':
conf.c:440:41: warning: format not a string literal and no format arguments [-Wformat-security]
  440 |                                         printf(_("*\n* Restart config...\n*\n"));
      |                                         ^~~~~~
conf.c: In function 'main':
conf.c:617:41: warning: format not a string literal and no format arguments [-Wformat-security]
  617 |                                         _("\n*** The configuration requires explicit update.\n\n"));
      |                                         ^
conf.c:669:25: warning: format not a string literal and no format arguments [-Wformat-security]
  669 |                         fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n"));
      |                         ^~~~~~~
conf.c:673:25: warning: format not a string literal and no format arguments [-Wformat-security]
  673 |                         fprintf(stderr, _("\n*** Error during update of the configuration.\n\n"));
      |                         ^~~~~~~
conf.c:684:25: warning: format not a string literal and no format arguments [-Wformat-security]
  684 |                         fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n"));
      |                         ^~~~~~~
```

And POSIX Yacc warnings
```
lex -ozconf.lex.c -L zconf.l
yacc -ozconf.tab.c -t -l zconf.y
zconf.y:34.1-7: warning: POSIX Yacc does not support %expect [-Wyacc]
    34 | %expect 32
      | ^~~~~~~
zconf.y:97.1-11: warning: POSIX Yacc does not support %destructor [-Wyacc]
    97 | %destructor {
      | ^~~~~~~~~~~
gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DKBUILD_NO_NLS   -c -o zconf.tab.o zconf.tab.c
gcc   conf.o zconf.tab.o   -o conf
```

After:

gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DKBUILD_NO_NLS   -c -o conf.o conf.c
yacc -Wno-yacc -ozconf.tab.c -t -l zconf.y
gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DKBUILD_NO_NLS   -c -o zconf.tab.o zconf.tab.c
gcc   conf.o zconf.tab.o   -o conf

Signed-off-by: Sean Khan <datapronix@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/15953
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agolibbpf: Update to v1.4.5
Tony Ambardar [Mon, 15 Jul 2024 05:21:52 +0000 (22:21 -0700)]
libbpf: Update to v1.4.5

Update to the latest upstream release to include recent improvements and
bugfixes.

Link: https://github.com/libbpf/libbpf/releases/tag/v1.4.5
Link: https://github.com/libbpf/libbpf/releases/tag/v1.4.4
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
4 months agokernel: bump 6.6 to 6.6.41
John Audia [Thu, 18 Jul 2024 20:15:36 +0000 (16:15 -0400)]
kernel: bump 6.6 to 6.6.41

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.41

Manually rebased:
lantiq/patches-6.6/0028-NET-lantiq-various-etop-fixes.patch

All other patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
4 months agokernel: bump 6.1 to 6.1.100
Zxl hhyccc [Thu, 18 Jul 2024 16:45:20 +0000 (00:45 +0800)]
kernel: bump 6.1 to 6.1.100
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.100

All patches automatically rebased.

Build system: bcm53xx ath79

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
4 months agobase-files: upgrade: nand: use "cmd" argument for extracting command
Rafał Miłecki [Fri, 12 Jul 2024 09:36:47 +0000 (11:36 +0200)]
base-files: upgrade: nand: use "cmd" argument for extracting command

NAND code uses either "cat" or "zcat" for getting firmware image
content. Code was full of duplicated ${gz}cat calls. Use "cmd" variable
that is determined by a caller and passed to lower level functions. This
avoids code duplication and allows adding support for more formats.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 months agobase-files: upgrade: nand: document nand_do_upgrade()
Rafał Miłecki [Fri, 12 Jul 2024 09:36:46 +0000 (11:36 +0200)]
base-files: upgrade: nand: document nand_do_upgrade()

Describe what firmware files are supported.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
4 months agomediatek: switch to fitblk for cmcc rax3000m
Tianling Shen [Tue, 2 Apr 2024 12:26:45 +0000 (20:26 +0800)]
mediatek: switch to fitblk for cmcc rax3000m

Use the new fitblk driver.

Tested-by: Yangyu Chen <cyy@cyyself.name>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
4 months agomediatek: convert eeprom/macaddr to nvmem format for cmcc rax3000m
Tianling Shen [Tue, 2 Apr 2024 12:26:45 +0000 (20:26 +0800)]
mediatek: convert eeprom/macaddr to nvmem format for cmcc rax3000m

Switch to new nvmem binding.

Also fixes a issue that the MAC address assigned to lan/wan was
reversed on eMMC boards.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
4 months agotarget.mk: init default configs if they are missing in the .config
Martin Schiller [Thu, 18 Jul 2024 11:53:37 +0000 (13:53 +0200)]
target.mk: init default configs if they are missing in the .config

The config options that are enabled by default and where other default
packages depends on should not only be set if there is no .config file,
but also if the .config exists but the config option (e.g.
CONFIG_SECCOMP) is missing in the file.

This is relevant, for example, if you are working with .config templates
and then want to complete the configuration using make defconfig.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
4 months agotarget.mk: further improve handling of default enabled SECCOMP
Martin Schiller [Wed, 17 Jul 2024 11:00:38 +0000 (13:00 +0200)]
target.mk: further improve handling of default enabled SECCOMP

The fix in commit 847fad476f3d ("target.mk: improve handling of default
enabled SECCOMP") unfortunately does not work for targets where the ARCH
variable is set in ./$(SUBTARGET)/target.mk.

To get this working, the ./$(SUBTARGET)/target.mk must be included
before the check.

Fixes: 847fad476f3d ("target.mk: improve handling of default enabled SECCOMP")
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
4 months agomediatek: fix platform_copy_config()
Daniel Golle [Thu, 18 Jul 2024 10:56:13 +0000 (11:56 +0100)]
mediatek: fix platform_copy_config()

Also use env variables exported by export_fitblk_rootdev() in
platform_copy_config().

Fixes: 4448d6325f ("mediatek: make use of common uImage.FIT upgrade functions")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agobase-files: remove fitblk_get_bootdev() from /lib/upgrade/common.sh
Daniel Golle [Wed, 17 Jul 2024 15:25:59 +0000 (16:25 +0100)]
base-files: remove fitblk_get_bootdev() from /lib/upgrade/common.sh

The function was moved to /lib/upgrade/fit.sh which is part of the fitblk
package. Remove it from /lib/upgrade/common.sh to safe space on boards
not using unified uImage.FIT images.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agouboot-envtools: use /lib/upgrade/fit.sh
Daniel Golle [Wed, 17 Jul 2024 15:25:05 +0000 (16:25 +0100)]
uboot-envtools: use /lib/upgrade/fit.sh

Use export_fitblk_bootdev() in /lib/upgrade/fit.sh instead of now
deprecated fitblk_get_bootdev() function. Include /lib/upgrade/fit.sh
instead of /lib/upgrade/common.sh to allow removing the function there.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agomediatek: make use of common uImage.FIT upgrade functions
Daniel Golle [Wed, 17 Jul 2024 15:24:03 +0000 (16:24 +0100)]
mediatek: make use of common uImage.FIT upgrade functions

Use newly introduced fit_do_upgrade() function in /lib/upgrade/platform.sh.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agofitblk: move shell functions to common file
Daniel Golle [Wed, 17 Jul 2024 15:22:10 +0000 (16:22 +0100)]
fitblk: move shell functions to common file

Move shell functions used for sysupgrade into /lib/upgrade/fit.sh.
Introduce improved fitblk boot device detection function which
works also in case ubiblock devices have not yet been created or
even UBI itself not yet being attached.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agoomap: re-enable target
Jan Hoffmann [Sat, 13 Jul 2024 12:49:09 +0000 (14:49 +0200)]
omap: re-enable target

The target was marked source-only due do the broken Ethernet port on
some devices. With that fixed, it can be enabled again.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
4 months agoomap: switch back to old cpsw ethernet driver
Jan Hoffmann [Sat, 13 Jul 2024 12:49:08 +0000 (14:49 +0200)]
omap: switch back to old cpsw ethernet driver

The new cpsw-switch driver reserves VLAN 1 for internal use, which
conflicts with the default network configuration of OpenWrt.

Switch back to the older cpsw driver to make the network connection on
the affected devices (BeagleBone Black and AM335x EVM) usable again.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
4 months agokernel: bump 6.1 to 6.1.99
Zxl hhyccc [Tue, 16 Jul 2024 06:14:08 +0000 (14:14 +0800)]
kernel: bump 6.1 to 6.1.99

https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.99

All patches automatically rebased.

Build system: Kirkwood bcm53xx

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
4 months agoimagebuilder: remove initramfs image files
Christian Marangi [Tue, 16 Jul 2024 17:00:29 +0000 (19:00 +0200)]
imagebuilder: remove initramfs image files

Initramfs images are not supported by imagebuilder. With recent changes
to support Per Device Rootfs, we now generate an image and a vmlinux for
each Rootfs and these additional files are all shipped in the
imagebuilder tar.

Drop these new file and any vmlinux-initramfs as they are not used and
increase the final size of the imagebuilder archive.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 months agokernel: bump 6.6 to 6.6.40
John Audia [Mon, 15 Jul 2024 19:37:46 +0000 (15:37 -0400)]
kernel: bump 6.6 to 6.6.40

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.40

All patches (one in this case) automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/15956
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agowolfssl: Update to version 5.7.2
Hauke Mehrtens [Sun, 14 Jul 2024 23:06:38 +0000 (01:06 +0200)]
wolfssl: Update to version 5.7.2

This fixes multiple security problems:
 * [Medium] CVE-2024-1544
   Potential ECDSA nonce side channel attack in versions of wolfSSL before 5.6.6 with wc_ecc_sign_hash calls.

 * [Medium] CVE-2024-5288
   A private key blinding operation, enabled by defining the macro WOLFSSL_BLIND_PRIVATE_KEY, was added to mitigate a potential row hammer attack on ECC operations.

 * [Low] When parsing a provided maliciously crafted certificate directly using wolfSSL API, outside of a TLS connection, a certificate with an excessively large number of extensions could lead to a potential DoS.

 * [Low] CVE-2024-5991
   In the function MatchDomainName(), input param str is treated as a NULL terminated string despite being user provided and unchecked.

 * [Medium] CVE-2024-5814
   A malicious TLS1.2 server can force a TLS1.3 client with downgrade capability to use a ciphersuite that it did not agree to and achieve a successful connection.

 * [Medium] OCSP stapling version 2 response verification bypass issue when a crafted response of length 0 is received.

 * [Medium] OCSP stapling version 2 revocation bypass with a retry of a TLS connection attempt.

Unset DISABLE_NLS to prevent setting the unsupported configuration
option --disable-nls which breaks the build now.

Link: https://github.com/openwrt/openwrt/pull/15948
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agomediatek: filogic: disable eMMC HS400 mode for Mount Stuart series
Chad Monroe [Mon, 15 Jul 2024 17:37:55 +0000 (10:37 -0700)]
mediatek: filogic: disable eMMC HS400 mode for Mount Stuart series

The eMMC chip used in a small batch of these devices has issues operating
in HS400 mode. Reducing to HS200 mode works around the problem and does
not cause any noticeable performance penalties as smaller chips are not fast
enough to saturate the bus. Root cause analysis is pending.

Signed-off-by: Chad Monroe <chad@monroe.io>
4 months agouboot-mediatek: fix build error on mt7988-rfb
Felix Fietkau [Mon, 15 Jul 2024 09:55:20 +0000 (11:55 +0200)]
uboot-mediatek: fix build error on mt7988-rfb

Remove an unnecessary config option that was breaking the build

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 months agokernel: bump 6.1 to 6.1.98
Zxl hhyccc [Fri, 12 Jul 2024 17:37:10 +0000 (01:37 +0800)]
kernel: bump 6.1 to 6.1.98
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.98

All patches automatically rebased.

Build system: bcm53xx ath79

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15935
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agokernel: bump 6.6 to 6.6.39
John Audia [Thu, 11 Jul 2024 20:00:56 +0000 (16:00 -0400)]
kernel: bump 6.6 to 6.6.39

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.39

Manually rebased:
generic/backport-6.6/0080-v6.9-smp-Avoid-setup_max_cpus_namespace_collision_shadowing.patch

Removed upstreamed:
generic/backport-6.6/801-v6.11-gpio-mmio-do-not-calculate-bgpio_bits-via-ngpios.patch[1]
generic/backport-6.6/0081-v6.10-cpu-Fix-broken-cmdline-nosmp-and-maxcpus-0.patch[2]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.39&id=dee87316b5f5f167a201491a774bbd6e10c8dd94
2. https://github.com/gregkh/linux/commit/69787793e7f0673465c89714d1522fde978bbfa8

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/15928
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agofstools: update to git HEAD
Daniel Golle [Sun, 14 Jul 2024 18:44:26 +0000 (19:44 +0100)]
fstools: update to git HEAD

 408c2cc libfstools: skip JFFS2 padding when BLOCKSIZE was given
 013050f fstools: remove redundant F2FS_MINSIZE definition

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agomediatek: add BPi-R3 mini to platform_check_image()
Daniel Golle [Sun, 14 Jul 2024 15:28:42 +0000 (16:28 +0100)]
mediatek: add BPi-R3 mini to platform_check_image()

Add entry for the BananaPi R3 mini to the platform_check_image()
function where it has been missing.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agouboot-mediatek: remove hard-coded UBI volume numbers
Daniel Golle [Tue, 9 Jul 2024 16:01:41 +0000 (17:01 +0100)]
uboot-mediatek: remove hard-coded UBI volume numbers

There is no point in hard-coding the UBI volume numbers as we are
dynamically looking up the volume by volume name in all cases by now.

Remove this relict as it causes problems without being useful for
anything.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 months agouboot-mediatek: refresh device defconfig files
Shiji Yang [Fri, 5 Jul 2024 05:52:06 +0000 (13:52 +0800)]
uboot-mediatek: refresh device defconfig files

It seems that most of them are manually modified. However, we can
use `make savedefconfig` to generate a clean defconfig file.

Refreshed by:
```
Boards=(
mt7623n_bpir2_defconfig \
mt7623a_unielec_u7623_02_defconfig \
mt7622_bananapi_bpi-r64-sdmmc_defconfig \
mt7622_bananapi_bpi-r64-emmc_defconfig \
mt7622_bananapi_bpi-r64-snand_defconfig \
mt7622_linksys_e8450_defconfig \
mt7622_ubnt_unifi-6-lr-v1_defconfig \
mt7622_ubnt_unifi-6-lr-v2_defconfig \
mt7622_ubnt_unifi-6-lr-v3_defconfig \
ravpower-rp-wd009-ram_defconfig \
mt7621_zbtlink_zbt-wg3526-16m_defconfig \
mt7986_netcore_n60_defconfig \
mt7986a_bpi-r3-emmc_defconfig \
mt7986a_bpi-r3-nor_defconfig \
mt7986a_bpi-r3-sd_defconfig \
mt7986a_bpi-r3-snand_defconfig \
mt7986_xiaomi_redmi-ax6000_defconfig \
mt7986_tplink_tl-xdr4288_defconfig \
mt7986_tplink_tl-xdr6086_defconfig \
mt7986_tplink_tl-xdr6088_defconfig \
mt7981_qihoo-360t7_defconfig \
mt7981_xiaomi_mi-router-wr30u_defconfig \
mt7981_h3c_magic-nx30-pro_defconfig \
mt7986a_glinet_gl-mt6000_defconfig \
mt7981_cmcc_rax3000m-emmc_defconfig \
mt7981_cmcc_rax3000m-nand_defconfig \
mt7981_jcg_q30-pro_defconfig \
mt7986_zyxel_ex5601-t0_defconfig \
mt7981_xiaomi_mi-router-ax3000t_defconfig \
mt7986a_jdcloud_re-cp-03_defconfig \
mt7986a_bpi-r3-mini-emmc_defconfig \
mt7986a_bpi-r3-mini-snand_defconfig \
mt7981_nokia_ea0326gmp_defconfig \
mt7988a_bananapi_bpi-r4-emmc_defconfig \
mt7988a_bananapi_bpi-r4-sdmmc_defconfig \
mt7988a_bananapi_bpi-r4-snand_defconfig \
mt7988a_bananapi_bpi-r4-poe-emmc_defconfig \
mt7988a_bananapi_bpi-r4-poe-sdmmc_defconfig \
mt7988a_bananapi_bpi-r4-poe-snand_defconfig \
mt7622_xiaomi_redmi-router-ax6s-ubi-loader_defconfig \
mt7981_openwrt-one-nor_defconfig \
mt7981_openwrt-one-spi-nand_defconfig \
)

for Board in ${Boards[@]}
do
echo "Refresh board ${Board}"
make ${Board}
make savedefconfig
cat ./defconfig > ./configs/${Board}
done
```

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
4 months agouboot-mediatek: update to U-Boot release v2024.07
Shiji Yang [Fri, 5 Jul 2024 05:52:06 +0000 (13:52 +0800)]
uboot-mediatek: update to U-Boot release v2024.07

1. Rename function _do_env_set() to env_do_env_set().
2. Replace kwbimage hack with UBOOT_CUSTOMIZE_CONFIG:
   "--disable TOOLS_KWBIMAGE" and "--disable TOOLS_LIBCRYPTO".
3. Disable CONFIG_CMD_BOOTEFI_BOOTMGR for all supported devices
   because the newly added UEFI bootmenu entries doesn't work.
4. Enable CONFIG_VERSION_VARIABLE for the OpenWrt One.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Co-authored-by: Daniel Golle <daniel@makrotopia.org>
4 months agomt76: update to Git HEAD (2024-07-13)
Felix Fietkau [Sat, 13 Jul 2024 13:31:11 +0000 (15:31 +0200)]
mt76: update to Git HEAD (2024-07-13)

564cd93961fc mt76: sync with upstream changes
3b47d9df427c wifi: mt76: mt7915: fix oops on non-dbdc mt7986

Signed-off-by: Felix Fietkau <nbd@nbd.name>