openwrt/openwrt.git
2 months agokernel: gpio-cascade: use gpiochip_get_data
Rosen Penev [Sat, 19 Oct 2024 23:04:26 +0000 (16:04 -0700)]
kernel: gpio-cascade: use gpiochip_get_data

Instead of passing NULL to gpiochip_add_data, we can populate the
parameter and use gpiochip_get_data instead of a custom function.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16739
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agotreewide: remove platform_get_resoruce
Rosen Penev [Thu, 26 Sep 2024 23:36:35 +0000 (16:36 -0700)]
treewide: remove platform_get_resoruce

Easier to just use devm_platform_ioremap_resource.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16701
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobcm53xx: add support for Cisco Meraki MX64/MX65
Matthew Hagan [Mon, 6 Sep 2021 22:42:35 +0000 (22:42 +0000)]
bcm53xx: add support for Cisco Meraki MX64/MX65

This commit adds support for the Cisco Meraki MX64 and MX65 devices which
use the Broadcom NSP SoC, which is compatible with the bcm53xx platform.

MX64 Hardware info:
  - CPU: Broadcom BCM58625 Cortex A9 @ 1200Mhz
  - RAM: 2 GB (4 x 4Gb SK Hynix H5TC4G83CFR)
  - Storage: 1 GB (Micron MT29F8G08ABACA)
  - Networking: BCM58625 internal switch (5x 1GbE ports)
  - USB: 1x USB2.0
  - Serial: Internal header

MX65 Hardware info:
  - CPU: Broadcom BCM58625 Cortex A9 @ 1200Mhz
  - RAM: 2 GB (4 x 4Gb SK Hynix H5TC4G83CFR)
  - Storage: 1 GB (Micron MT29F8G08ABACA)
  - Networking: BCM58625 switch (2x 1GbE ports, used for WAN ports 1 & 2)
    2x Qualcomm QCA8337 switches (10x 1GbE ports, used for LAN ports 3-12)
  - PSE: Broadcom BCM59111KMLG connected to LAN ports 11 & 12
  - USB: 1x USB2.0
  - Serial: Internal header

Notes:
  - The Meraki provided GPL source are available at [2].
  - Wireless capability on the MX64W and MX65W exists in the form of 2x
    Broadcom BCM43520KMLG, which is not supported. These devices will work
    otherwise as standard MX64 or MX65 devices.
  - Early MX64 units use an A0 variant of the BCM958625 SoC which lacks
    cache coherency and uses a different "secondary-boot-reg". As a
    consequence a different device tree is needed.
  - Installation of OpenWrt requires changing u-boot to a custom version.
    This is due to the stock u-boot "nand read" command being limited to
    load only 2MB, in spite of the bootkernel1 and bootkernel2 partitions
    both being 3MB in the stock layout. It is also required to allow
    booting via USB, enabling cache coherency and setting up the QCA
    switches and Serdes link on the MX65. The modified sources for U-boot
    are available for the MX64[3] and MX65[4].
  - Initial work on this device used a small bootloader within the OEM
    partition scheme. To allow booting of larger kernels, UBI and bootm
    support has been added, along with ability to store env variables to
    the NAND. The Shmoo and newly created env partitions have been moved
    to the extra space available after the nvram data.
  - Users who installed the previous non-UBI supporting bootloader will
    need to convert to the new one before flashing a compatible image.
    These steps are detailed below.

References:

[1] https://www.broadcom.com/products/embedded-and-networking-processors/c
ommunications/bcm5862x
[2] https://dl.meraki.net/wired-14-39-mx64-20190426.tar.bz2
[3] https://github.com/clayface/U-boot-MX64-20190430_MX64
[4] https://github.com/clayface/U-boot-MX64-20190430_MX65

Installation guide:

Initial installation steps:
  1. Compile or obtain OpenWrt files for the MX64 or MX65, including
     u-boot[3][4], initramfs and sysupgrade images.
  2. A USB disk with DOS partition scheme and primary FAT partition is
     required.
  3. If installing onto an MX64, set up a local web server.
  4. On the device, boot into diagnostic mode by holding reset when
     powering on the device. Continue to hold reset until the orange LED
     begins to flash white. On used units the white flash may be difficult
     to see.
  5. Plug an Ethernet cable into the first LAN port, set the host to
     192.168.1.2 and confirm telnet connectivity to 192.168.1.1.

U-boot installation - MX64 Only:
  1. Newer fw versions require extra steps to support OpenWrt. To check,
     please connect via telnet and run:
        `cat /sys/block/mtdblock0/ro`
     If the result is 1, your mtd0 is locked will need to perform extra
     steps 4 and 5 in this section. If the result is 0 then skip these.

  2. Check which SoC is in use by running the following command:
        `devmem 0x18000000`
     If devmem is not found then try:
        `devmem2 0x18000000`
     If the output begins with anything between "0x3F00-0x3F03" you will
     need to use the A0 release. For any other output, eg "0x3F04" or
     higher, use the regular MX64 image.

  3  Confirm the size of the device's boot(mtd0) partition. In most
     cases it should be 0x100000 or larger. If this is the case, please
     proceed to use the uboot_mx64 image. If the reported size is
     0x80000, please use the uboot_mx64_small image, then follow the
     later guide to change to the larger image.
        `cat /proc/mtd`
     Example output:
        `# cat /proc/mtd
        cat /proc/mtd
        dev:    size   erasesize  name
        mtd0: 00100000 00040000 "boot"
        mtd1: 00080000 00040000 "shmoo"
        mtd2: 00300000 00040000 "bootkernel1"
        mtd3: 00100000 00040000 "nvram"
        mtd4: 00300000 00040000 "bootkernel2"
        mtd5: 3f700000 00040000 "ubi"
        mtd6: 40000000 00040000 "all"`

  4. Set up a webserver to serve the appropriate uboot_mx64 from the
     following location and verify the SHA512:
     https://github.com/clayface/U-boot-MX64-20190430_MX64

  5. (Only if mtd0 is locked) You will also need the mtd-rw.ko kernel
     module to unlock the partition from the same repo. An mtd executable
     is also needed to write the mtd block. Place these on the web server
     as well.

  6. (Only if mtd0 is locked) Use wget to retrieve the files on the MX64:
        `wget http://192.168.1.2/mtd-rw.ko`
        `insmod mtd-rw.ko i_want_a_brick=1`
     and confirm the unlock is set with dmesg
        `mtd-rw: mtd0: setting writeable flag`

  7. Download the appropriate u-boot image according to step 3. If you
     did not need to unlock the mtd0 partition then use dd to write the
     file, with caution:
        `wget http://192.168.1.2/uboot_mx64`
        `dd if=uboot_mx64 of=/dev/mtdblock0`
     If you needed to unlock the mtd0 partition using the mtd-rw module,
     run these commands instead to install u-boot instead:
        `wget http://192.168.1.2/mtd`
        `chmod +x mtd`
        `wget http://192.168.1.2/uboot_mx64`
        `./mtd write uboot_mx64 /dev/mtd0`

  8. Once this has successfully completed, power off the device. If you
     did not need to install the small u-boot image, proceed to
     "OpenWrt Installation". Otherwise proceed to "UBI supporting
     bootloader installation".

U-boot installation - MX65 Only:
  1. Obtain telnet access to the MX65.

  2. Confirm the size of the device's boot(mtd0) partition. In most
     cases it should be 0x100000 or larger. If this is the case, please
     proceed to use the uboot_mx65 image. If the reported size is
     0x80000, please use the uboot_mx65_small image, then follow the
     later guide to change to the larger image.
`cat /proc/mtd`

  3. Prepare a USB drive formatted to FAT. Download the appropriate
     uboot_mx65 to the USB drive from the following location and verify
     the SHA512:
        https://github.com/clayface/U-boot-MX64-20190430_MX65

  3. Once you have telnet access to the MX65, plug in the USB disk and
     run the following commands, with caution. The USB disk should
     automount but if it does not, you will need to power off and on
     again with reset held. Depending on step 2, use the uboot_mx65 or
     uboot_mx65_small image accordingly:
        `cd /tmp/media/sda1`
        `dd if=uboot_mx65 of=/dev/mtdblock0`

  4. Once this has successfully completed, power off the device. If you
     did not need to install the small u-boot image, proceed to
     "OpenWrt Installation". Otherwise proceed to "UBI supporting
     bootloader installation".

UBI supporting bootloader installation:
  These steps need to be followed if the older u-boot image was
  installed, either because the Meraki diagnostic partition scheme used
  0x80000 as the mtd0 size, or because you installed the u-boot provided
  while OpenWrt support was still under development. If using OpenWrt,
  please make a backup before proceeding.

  1. Obtain the relevant image from the MX64(A0) or MX65 u-boot repo:
        `openwrt-bcm5862x-generic-meraki_XXXX-initramfs-kernel.bin`

  2. With the USB drive already inserted, power on the device while
     holding the reset button. A white/orange flashing pattern will
     occur shortly after power on. Let go of the reset button. The
     device is now booting into OpenWrt initramfs stored on the USB
     disk.

  3. Connect by SSH to 192.168.1.1 and flash the embedded u-boot image,
     changing X as appropriate:
        `mtd write /root/uboot_mx6X /dev/mtd0`
     You do not need to reboot as this image can handle "Kernel-in-UBI"
     OpenWrt installation.

  4. You can proceed to obtain and flash the appropriate OpenWrt image
     at "OpenWrt Installation" Step 3.

  5. Reboot will take significantly longer due to Shmoo calibration. In
     case the device does not come online after several minute, power-
     cycle the device and see if it boots. If you see an orange/white
     flashing pattern, this indicates UBI booting was not successful and
     you will need to copy a new bcm53xx image to a USB disk before
     booting it and attempting to install OpenWrt again - refer to
     "OpenWrt Installation" step 1. Do not attempt to reflash u-boot in
     this scenario.

OpenWrt Installation:
  1. Having obtained an OpenWrt image, please copy the file
        `openwrt-bcm53xx-generic-meraki_XXXX-initramfs.bin`
     to the base directory of a FAT formatted USB drive using DOS
     partition scheme ,where XXXX is mx64, mx64_a0 or mx65 depending on
     which device you have.

  2. With the USB drive already inserted, power on the device. Boot time
     will be longer than usual while Shmoo calibration takes place. A
     different white/orange flashing pattern will eventually occur to
     indicate device is now booting into OpenWrt initramfs stored on the
     USB disk.

  3. Ensuring Ethernet is plugged into a LAN port with IP set in the
     192.168.1.0/24 subnet excluding 192.168.1.1, use SCP to copy the
     sysupgrade file to 192.168.1.1:/tmp, eg:
        `scp openwrt-bcm53xx-generic-meraki_XXXX-squashfs.sysupgrade.bin\
        192.168.1.1:/tmp`

  4. Connect by SSH to 192.168.1.1 and run sysupgrade:
        `sysupgrade \
        /tmp/openwrt-bcm53xx-generic-meraki_XXXX-squashfs.sysupgrade.bin`

  5. OpenWrt should now be installed on the device.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
[ Rebase kernel configuration for 6.6,
  fix failsafe by making kmod-eeprom-at24 and kmod-dsa-qca8k built-in,
  resolve conflicts,
  add LED aliases,
  fix eth0 MAC address at probe ]

TODO:
- fix multiple LED colors not applied despite aliases - due to custom
  /etc/diag.sh
- fix race condition between preinit and probing of the DSA tree,
  causing no network interface available in failsafe mode (in general
  case - to allow moving drivers back to modules)

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobcm53xx: enable CONFIG_NET_DSA_QCA8K
Lech Perczak [Wed, 2 Oct 2024 13:10:48 +0000 (15:10 +0200)]
bcm53xx: enable CONFIG_NET_DSA_QCA8K

Enable support for qca8k switch used in Meraki MX65. This is required to
properly support preinit networking on this device, otherwise unit won't
be accessible in failsafe mode.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobcm53xx: enable CONFIG_I2C_BCM_IPROC
Lech Perczak [Wed, 2 Oct 2024 14:23:13 +0000 (16:23 +0200)]
bcm53xx: enable CONFIG_I2C_BCM_IPROC

This is required for the AT24 EEPROM holding MAC address on Meraki
devices to probe before preinit starts, so all network devices can be
available at the preinit network setup starts

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobcm53xx: enable CONFIG_EEPROM_AT24
Lech Perczak [Wed, 2 Oct 2024 13:07:47 +0000 (15:07 +0200)]
bcm53xx: enable CONFIG_EEPROM_AT24

Meraki MX6x devices use them to store MAC address, so it is required to be
built-in for networking to probe properly, before preinit network setup
happens, which in turn is required for proper failsafe mode access.
Enable CONFIG_EEPROM_AT24 for the target.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobcm53xx: meraki: backport NVMEM layout syntax patch
Lech Perczak [Sun, 20 Oct 2024 22:58:21 +0000 (00:58 +0200)]
bcm53xx: meraki: backport NVMEM layout syntax patch

This patch is required to support reading MAC address on Meraki MX64/65
line of devices, but also touches MR32, so let's backport it first.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobcm53xx: MR26,MR32: use REQUIRE_IMAGE_METADATA
Matthew Hagan [Sun, 5 Sep 2021 22:25:07 +0000 (22:25 +0000)]
bcm53xx: MR26,MR32: use REQUIRE_IMAGE_METADATA

This patch adds "REQUIRE_IMAGE_METADATA=1" requirement for the MR26 and
MR32, with REQUIRE_IMAGE_METADATA explicitly 0 elsewhere. This is based
upon bcm63xx's base-files/lib/upgrade/platform.sh.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoapm821xx: nand: add NVMEM-on-UBI support
Rosen Penev [Wed, 2 Oct 2024 21:59:04 +0000 (14:59 -0700)]
apm821xx: nand: add NVMEM-on-UBI support

Oversight from 8d302f5ebc6e2787d01d6c6a8ef6bcc403949705 , which requires
this to work. I couldn't test it as I ended up wiping my UBI volume by
accident.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoapm821xx: remove ethernet0 node
Rosen Penev [Sat, 5 Oct 2024 22:25:08 +0000 (15:25 -0700)]
apm821xx: remove ethernet0 node

This is needed in order to get a MAC address from UBI.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoapm821xx: fix volume/volname
Rosen Penev [Sat, 5 Oct 2024 19:05:41 +0000 (12:05 -0700)]
apm821xx: fix volume/volname

linux,ubi expects the volname variable, not volume.

This will fix NVMEM-on-UBI.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoapm821xx: nand: add missing symbols
Rosen Penev [Wed, 2 Oct 2024 21:47:08 +0000 (14:47 -0700)]
apm821xx: nand: add missing symbols

Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoapm821xx: nand: sort config-default
Rosen Penev [Wed, 2 Oct 2024 21:39:56 +0000 (14:39 -0700)]
apm821xx: nand: sort config-default

make kernel_oldconfig doesn't seem to work with this. Handle manually.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoapm821xx: run make kernel_oldconfig
Rosen Penev [Wed, 2 Oct 2024 21:42:43 +0000 (14:42 -0700)]
apm821xx: run make kernel_oldconfig

Adjusts the default config to modern kernels.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agosiflower: gpio: use gpiochip_get_data
Rosen Penev [Sat, 19 Oct 2024 23:07:41 +0000 (16:07 -0700)]
siflower: gpio: use gpiochip_get_data

No need to use container_of.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16749
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2 months agomediatek: fix OpenWrt One ubinized image in IB
Daniel Golle [Sat, 19 Oct 2024 23:48:57 +0000 (00:48 +0100)]
mediatek: fix OpenWrt One ubinized image in IB

The ImageBuilder when using the profile for the OpenWrt One has been
failing because the initramfs image included in the ubinized image could
not be found.

Fix that by using the staged initramfs instead when using the
ImageBuilder.

Fixes: 797904b3cb ("mediatek/filogic: add OpenWrt One support")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agokernel: r8168: update to v8.054.00
Álvaro Fernández Rojas [Sun, 20 Oct 2024 19:55:50 +0000 (21:55 +0200)]
kernel: r8168: update to v8.054.00

Changelog: https://github.com/openwrt/rtl8168/compare/8.053.00...8.054.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2 months agoltq-adsl-app: add dsl_cpe_pipe.sh script
Jan Hoffmann [Sat, 19 Oct 2024 17:38:24 +0000 (19:38 +0200)]
ltq-adsl-app: add dsl_cpe_pipe.sh script

This allows to obtain detailed diagnostic information about the DSL
connection from the modem. The script is copied from the corresponding
packages for VDSL modems.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20241019174041.1281093-4-jan@3e8.eu/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoltq-adsl-app: align config more closely to VDSL variants
Jan Hoffmann [Sat, 19 Oct 2024 17:38:23 +0000 (19:38 +0200)]
ltq-adsl-app: align config more closely to VDSL variants

This is a preparation for adding support for dsl_cpe_pipe.sh with a
similar set of commands compared to the VDSL variant.

The configuration is simplified by using the "--enable-model" option.
Other options are chosen to match the VDSL variant, while also making
sure that previously enabled options stay like that. However, ReTx
options stay disabled, because of incompatibility with the ubus code.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20241019174041.1281093-3-jan@3e8.eu/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoltq-adsl: align config more closely to VDSL variants
Jan Hoffmann [Sat, 19 Oct 2024 17:38:22 +0000 (19:38 +0200)]
ltq-adsl: align config more closely to VDSL variants

This is a preparation for adding support for dsl_cpe_pipe.sh with a
similar set of commands compared to the VDSL variant.

The configuration is simplified by using the "--enable-model" option.
Other options are chosen to match the VDSL variant, while also making
sure that previously enabled options stay like that. However, ReTx
options stay disabled, because of incompatibility with the ubus code.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20241019174041.1281093-2-jan@3e8.eu/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agomac80211: mark mac80211-hwsim 80211BE capable
Hauke Mehrtens [Sun, 20 Oct 2024 22:06:46 +0000 (00:06 +0200)]
mac80211: mark mac80211-hwsim 80211BE capable

Build hostapd with 80211BE suport.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agotools: firmware-utils: update to Git HEAD (2024-10-20)
Hauke Mehrtens [Sun, 20 Oct 2024 21:58:56 +0000 (23:58 +0200)]
tools: firmware-utils: update to Git HEAD (2024-10-20)

4b76389 iptime-crc32: add support for ipTIME AX3000M

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agouclient: update to Git HEAD (2024-06-27)
Hauke Mehrtens [Sun, 20 Oct 2024 21:54:56 +0000 (23:54 +0200)]
uclient: update to Git HEAD (2024-06-27)

e035d57 uclient-fetch: improve error handling
a220818 uclient-fetch: add support for --header cmdline argument

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoubus: update to Git HEAD (2024-10-20)
Hauke Mehrtens [Sun, 20 Oct 2024 21:50:39 +0000 (23:50 +0200)]
ubus: update to Git HEAD (2024-10-20)

65bb027 CMakeLists.txt: bump minimum cmake version
252a9b0 libubus: Make UBUS_* macros work cleanly in C++

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoprocd: update to Git HEAD (2024-10-20)
Hauke Mehrtens [Sun, 20 Oct 2024 21:48:34 +0000 (23:48 +0200)]
procd: update to Git HEAD (2024-10-20)

0f88a52 system: replace openwrt_release with os-release
ef3ab8b system: add build date to ubus output

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoiwinfo: update to Git HEAD (2024-10-20)
Hauke Mehrtens [Sun, 20 Oct 2024 21:45:33 +0000 (23:45 +0200)]
iwinfo: update to Git HEAD (2024-10-20)

c97bcc2 devices: add device ID for Ralink RT5592
b94f066 devices: add device id for MediaTek MT7925E

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobase-files: add SOURCE_DATE_EPOCH as OPENWRT_BUILD_DATE to os-release
Florian Eckert [Thu, 20 Oct 2022 08:02:45 +0000 (10:02 +0200)]
base-files: add SOURCE_DATE_EPOCH as OPENWRT_BUILD_DATE to os-release

This commit adds the build date during compilation to the os-release file.
This information can then be used later to output this via the the ubus,

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/15987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoairoha: Introduce EN7581 SoC support
Christian Marangi [Thu, 17 Oct 2024 13:54:52 +0000 (15:54 +0200)]
airoha: Introduce EN7581 SoC support

Introduce EN7581 SoC support with currently rfb board supported.

This is a new 64bit SoC from Airoha that is currently almost fully
supported upstream with only the DTS missing. Setting source-only
waiting for the full upstream support to be completed.

Link: https://github.com/openwrt/openwrt/pull/16730
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agogeneric: backport alloc_netdev_dummy patch from upstream
Christian Marangi [Thu, 17 Oct 2024 18:26:05 +0000 (20:26 +0200)]
generic: backport alloc_netdev_dummy patch from upstream

Backport alloc_netdev_dummy patch from upstream needed for new Airoha
EN7581 SoC.

Refresh all affected patch with make target/linux/refresh.

Link: https://github.com/openwrt/openwrt/pull/16730
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agoairoha: move en7523 in dedicated subtarget
Christian Marangi [Thu, 17 Oct 2024 13:42:51 +0000 (15:42 +0200)]
airoha: move en7523 in dedicated subtarget

In preparation for EN7581 SoC support, move en7523 in dedicated
subtarget.

This is needed as EN7581 is now 64bit but en7523 is 32bit hence have
very different kernel config.

Also rename patch to a more friendly number sequence.

Link: https://github.com/openwrt/openwrt/pull/16730
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agoath79: add support for COMFAST CF-E355AC v2
Priit Laes [Fri, 8 Jan 2021 11:28:47 +0000 (13:28 +0200)]
ath79: add support for COMFAST CF-E355AC v2

COMFAST CF-E355AC v2 is a ceiling mount AP with PoE support,
based on Qualcomm/Atheros QCA9531 + QCA9886.

Short specification:

- 1x 10/100 Mbps Ethernet, with PoE support (wan/eth1)
- 1x 10/100/1000 Mbps Ethernet, with PoE support (lan/eth0)
- 128MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, 802.11b/g/n (wlan2g)
- 2T2R 5 GHz, 802.11ac/n/a, WAVE 2 (wlan5g)
- built-in 4x 3 dBi antennas
- output power (max): 500 mW (27 dBm)
- 1x RGB LED, 1x button
- separate watchdog chip via GPIO (bottom of PCB?)
- UART header on PCB with proper labelling

Markings on PCB:

* R121QH_VER2.1 (silkscreen, bottom)
* CF-WA800 (sticker, top)

Initial flashing instructions:

Original firmware is based on OpenWrt.

a) Use sysupgrade image directly in vendor GUI.

b) Or via tftp:

  ipaddr=192.168.1.1
  serverip=192.168.1.10
  bootfile="firmware.bin"

c) Or possibly via u-boot's `httpd` command.

MAC-address mapping follows original firmware:

* eth1 (wan) is the lowest mac address (art @ 0x0)
* eth0 (lan) uses eth1 + 1 (art @ 0x1002)
* wlan2g (phy1) uses eth1 + 2 (art @ 0x06)
* wlan5g (phy0) uses eth1 + 10 (not present in art)
* unused MAC (eth1 + 3) (art @ 0x5006)

Art dump (`hexdump /dev/mtd1 |grep ZZZZ`):

  0000000 ZZZZ XXXX XXX0 ZZZZ XXXX XXX2 ffff ffff
  0001000 0202 ZZZZ XXXX XXX1 0000 0000 0000 0000
  0005000 202f bd21 0101 ZZZZ XXXX XXX3 0000 2000

Root access to original firmware (only via UART) can be achieved by
making a backup of configuration from web interface. Backup contains
whole `/etc` directory...

Signed-off-by: Priit Laes <plaes@plaes.org>
Link: https://github.com/openwrt/openwrt/pull/16556
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agodnsmasq: gate configdir usage behind absolute path check
Paul Donald [Sun, 7 Apr 2024 12:23:57 +0000 (14:23 +0200)]
dnsmasq: gate configdir usage behind absolute path check

don't use configuration directories which are relative

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agodnsmasq: add handling of `dns-rr` to init script (add arbitrary resource records)
Paul Donald [Tue, 26 Mar 2024 23:43:41 +0000 (00:43 +0100)]
dnsmasq: add handling of `dns-rr` to init script (add arbitrary resource records)

Add support for handling of DNS RR (Resource Records) requests, which
are needed for the HTTPS Type 65 records, introduced to support the
DNS-based Service Discovery (DNS-SD) mechanism for HTTPS services and
defined in the RFC 9460 (9.1. Query Names for HTTPS RRs).

Ref: https://forum.openwrt.org/t/resolving-query-type-65-to-local-address-for-ios-clients-in-dnsmasq/179504/11

uci config usage:

config dnsrr
    option rrname 'foo.example.com'
    option rrnumber '65'
    option hexdata '00'

hexdata is optional.

Available since dnsmasq 2.62 (for around 12 years at this point).

Note: dnsmasq dns-rr are not affected by filter-rr

Tested on 22.03.5

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Tested-by: Vladimir Kochkovski <ask@getvladimir.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agodnsmasq: quoted path variables
Paul Donald [Mon, 1 Apr 2024 18:18:14 +0000 (20:18 +0200)]
dnsmasq: quoted path variables

Prevents problems when variables contain spaces.

Tested on: 23.05.3

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agodnsmasq: add 'extraconftext' parameter
Paul Donald [Sat, 6 Apr 2024 17:44:19 +0000 (19:44 +0200)]
dnsmasq: add 'extraconftext' parameter

Users can now freely add new dnsmasq parameters (i.e. a whole config)
via extraconf. This means users can add their own parameters without
changes to init or GUI.

Co-opted the default of confdir also to include the instance name.
This way each instance gets its own .d directory (and separate instances
do not all inherit the same 'extraconftext').

Usage:
config dnsmasq 'config'
...
option extraconftext 'cache-size=2048\nlog-async=20'

config dnsmasq 'blah'
...
option extraconftext 'cache-size=128\nlog-async=5'

or even (which would produce staggered output but still valid)

config dnsmasq 'blah'
...
option extraconftext 'cache-size=128
log-async=5'

See https://forum.openwrt.org/t/add-dnsmasq-custom-options-field-in-luci-gui/193184

Tested on: 23.05.3, 22.03.6

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Tested-by: Vladimir Kochkovski <ask@getvladimir.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agodnsmasq: add handling of `cache-rr` to init script
Paul Donald [Tue, 26 Mar 2024 23:44:05 +0000 (00:44 +0100)]
dnsmasq: add handling of `cache-rr` to init script

dnsmasq v2.90 introduced `--cache-rr=<rrtype>[,<rrtype>...]`.

uci config usage:

config dnsmasq
    ...
    option cache_rr 'AAAA,CNAME,NXDOMAIN,SRV,...'

The dnsmasq instance internally builds a linked list of RR to cache
from the individually supplied parameters, so it's allowed to provide
multiples:

... --cache-rr=AAAA --cache-rr=A ...

See https://forum.openwrt.org/t/resolving-query-type-65-to-local-address-for-ios-clients-in-dnsmasq/179504

Tested on: 23.05.2

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Tested-by: Vladimir Kochkovski <ask@getvladimir.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agodnsmasq: add handling of `filter-rr` to init script
Paul Donald [Tue, 2 Apr 2024 01:16:02 +0000 (03:16 +0200)]
dnsmasq: add handling of `filter-rr` to init script

dnsmasq v2.90 introduced `--filter-rr=<rrtype>[,<rrtype>...]`.

uci config usage:

config dnsmasq
    ...
    option filter_rr 'AAAA,CNAME,NXDOMAIN,SRV,...'

The dnsmasq instance internally builds a linked list of RR to filter
from the individually supplied parameters, so it's harmless to provide
synonyms:

... --filter-A --filter-rr=A ...

See https://forum.openwrt.org/t/resolving-query-type-65-to-local-address-for-ios-clients-in-dnsmasq/179504/23

Tested on: 23.05.2

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Tested-by: Vladimir Kochkovski <ask@getvladimir.com>
Link: https://github.com/openwrt/openwrt/pull/14975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agohostapd: add support for SAE in PPSK option
Rany Hany [Fri, 6 Sep 2024 10:25:24 +0000 (10:25 +0000)]
hostapd: add support for SAE in PPSK option

This patch allows the use of SAE when using PPSK after
https://w1.fi/cgit/hostap/commit/?id=fcbdaae8a52e542705a651ee78b39b02935fda20
added support for it.

It also implements a fix so that this option works with SAE. The reason this
doesn't work out of the box is because OpenWRT deviates from hostapd defaults
by setting `sae_pwe` option to 2 which makes this mode not function properly
(results in every auth attempt being denied).

That issue was addressed by not overriding hostapd's default for the `sae_pwe`
option when the PPSK option is in use. This should be fine because hostapd's
test cases specifically test this mode with the default SAE parameters. See:
https://w1.fi/cgit/hostap/commit/?id=c34b35b54e81dbacd9dee513b74604c87f93f6a3

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/16343
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: fix forwarding broadcast packets between vlan-on-dsa and non-dsa netdevs
Felix Fietkau [Sun, 20 Oct 2024 16:43:17 +0000 (18:43 +0200)]
kernel: fix forwarding broadcast packets between vlan-on-dsa and non-dsa netdevs

Fix conditions for handling offloaded packets

Fixes: #13430
Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 months agoipq40xx: make GL.iNet A1300 switch functional
Chris Jones [Sat, 19 Oct 2024 20:50:54 +0000 (21:50 +0100)]
ipq40xx: make GL.iNet A1300 switch functional

Set the physical switch to KEY_RFKILL, since its previous value
(KEY_SETUP) is unsupported. This should also make the KEY_RESET button
functional, by allowing the gpio-button-hotplug kmod to load.

Signed-off-by: Chris Jones <cmsj@tenshu.net>
Link: https://github.com/openwrt/openwrt/pull/16564
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: gpio-nct5104d: use devm
Rosen Penev [Sun, 22 Sep 2024 17:41:24 +0000 (10:41 -0700)]
kernel: gpio-nct5104d: use devm

Allows removal of the remove function by letting devm handle everything.

Avoids gotos as well.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16507
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoapm821xx: bring back AT803X_PHY
Rosen Penev [Sat, 19 Oct 2024 22:15:09 +0000 (15:15 -0700)]
apm821xx: bring back AT803X_PHY

AT803X_PHY was replaced with QCA83XX_PHY which handles external switches.
But for internal ones like in the Meraki MR24, AT803X_PHY is needed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16737
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoramips: modernize snd-mt7620 driver
Rosen Penev [Fri, 27 Sep 2024 00:35:34 +0000 (17:35 -0700)]
ramips: modernize snd-mt7620 driver

Use more devm and remove gotos.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16631
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agofirmware-utils: update to Git HEAD (2024-10-16)
Hauke Mehrtens [Sat, 19 Oct 2024 21:51:38 +0000 (23:51 +0200)]
firmware-utils: update to Git HEAD (2024-10-16)

0cfd104 zytrx: add ZyXEL LTE7490-M904
3d09357 asusuimage: new tool for creating TRX-images compatible with AsusWRT
f35781f asusuimage: fix compile error with old GCC release
26c7f05 nec-usbatermfw: add tool for NEC "USB ATERM" format
ed9c97f tplink-safeloader: bump EAP610-V3 compat_level
5192cf9 mktplinkfw2: Add 16Mmtk layout
ca444f1 tplink-safeloader: add support for cpe710-v2
88fbd52 bcmclm: support printing channels

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agotools: firmware-utils: update to Git HEAD (2024-10-16)
Hauke Mehrtens [Sat, 19 Oct 2024 21:50:38 +0000 (23:50 +0200)]
tools: firmware-utils: update to Git HEAD (2024-10-16)

5192cf9 mktplinkfw2: Add 16Mmtk layout
ca444f1 tplink-safeloader: add support for cpe710-v2
88fbd52 bcmclm: support printing channels

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoath79: aruba,ap115: use nvmem
Rosen Penev [Mon, 27 Nov 2023 19:40:48 +0000 (11:40 -0800)]
ath79: aruba,ap115: use nvmem

Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16284
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoipq40xx: dts: disable qpic_bam for EMMC and SPI Flash devices
Shiji Yang [Thu, 10 Oct 2024 10:29:06 +0000 (18:29 +0800)]
ipq40xx: dts: disable qpic_bam for EMMC and SPI Flash devices

The qpic DMA controller is used by the parallel NAND Flash
interface. We don't need to enable it when nand-controller node
is marked as disabled.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoramips: mt7621: mikrotik rb760igs: Include "hEX S" in model name
Priit Laes [Fri, 11 Oct 2024 07:15:22 +0000 (10:15 +0300)]
ramips: mt7621: mikrotik rb760igs: Include "hEX S" in model name

Mikrotik seems to prefer "hEX S" as general name for this model,
therefore include this in devicetree model name as well.

Signed-off-by: Priit Laes <plaes@plaes.org>
Link: https://github.com/openwrt/openwrt/pull/16658
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: use more devm
Rosen Penev [Sat, 28 Sep 2024 00:20:37 +0000 (17:20 -0700)]
realtek: use more devm

Simplifies probe slightly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16650
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agouboot-mvebu: update to version 2024.10
Stefan Kalscheuer [Sat, 12 Oct 2024 09:08:50 +0000 (11:08 +0200)]
uboot-mvebu: update to version 2024.10

Update package to the latest stable version and drop upstreamed patches:
  0001-arm-mvebu-turris_omnia-Enable-LTO-by-default-on-Turr.patch
  100-mvebu-armada-8k-respect-CONFIG_DISTRO_DEFAULTS.patch

Other patches automatically refreshed (line numbers only)

Add custom config flags to disable building efimkcapsule by default.
This introduces a dependency to GnuTLS which is not present and we do
not need it here.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/16676
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agosdk: bundle libraries for llvm toolchain
Tianling Shen [Sat, 12 Oct 2024 08:16:58 +0000 (16:16 +0800)]
sdk: bundle libraries for llvm toolchain

This allows the llvm toolchain to be executed on different host.
Also add it to strip list.

Fixes: 0ac0840088d5 ("sdk: ship llvm toolchain")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16674
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoiptables: backport "nft: track each register individually" from 1.9
Rodrigo B. de Sousa Martins [Wed, 25 Sep 2024 18:35:20 +0000 (15:35 -0300)]
iptables: backport "nft: track each register individually" from 1.9

From the upstream repo:

Instead of assuming only one register is used, track all 16 regs
individually.

This avoids need for the 'PREV_PAYLOAD' hack and also avoids the need to
clear out old flags:

When we see that register 'x' will be written to, that register state is
reset automatically.

Existing dissector decodes
ip saddr 1.2.3.4 meta l4proto tcp
... as
-s 6.0.0.0 -p tcp

iptables-nft -s 1.2.3.4 -p tcp is decoded correctly because the expressions
are ordered like:

meta l4proto tcp ip saddr 1.2.3.4
                                                                                                                                                                                                                   |
... and 'meta l4proto' did clear the PAYLOAD flag.

The simpler fix is:
ctx->flags &= ~NFT_XT_CTX_PAYLOAD;

in nft_parse_cmp(), but that breaks dissection of '1-42', because
the second compare ('cmp lte 42') will not find the
payload expression anymore.

This commit fixes #11169 and openwrt/packages#22727, and potentially anyone that uses iptables-nft legacy support.

Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16504
[Added patch header]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoramips: cleanup ralink SPI driver
Rosen Penev [Fri, 27 Sep 2024 00:22:29 +0000 (17:22 -0700)]
ramips: cleanup ralink SPI driver

Increase usage of devm to get rid of goto and _remove.

Get rid of hw_reset_count. It's not really used for anything.

Use dev_err_probe to handle potential EPROBE_DEFER.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16588
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agomediatek: leds-smartrg: handle disabled LEDs
Rosen Penev [Tue, 8 Oct 2024 23:39:07 +0000 (16:39 -0700)]
mediatek: leds-smartrg: handle disabled LEDs

If LEDs are disabled, they should not be handled.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16651
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agomediatek: leds-smartrg: use devm_mutex_init
Rosen Penev [Tue, 8 Oct 2024 23:37:08 +0000 (16:37 -0700)]
mediatek: leds-smartrg: use devm_mutex_init

No longer need normal _remove function. Replaced with _disable.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16651
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agox86: add Gowin 1U Rack Mount Router Server
Til Kaiser [Sun, 29 Sep 2024 14:56:26 +0000 (16:56 +0200)]
x86: add Gowin 1U Rack Mount Router Server

There are three variants of that board:

--- Hardware Highlights ---
GW-BS-1UR1-10G:
 - CPU: Intel® Alder Lake N100 quad-core 3.4GHz
 - RAM: 16GB DDR5 4800MHz
 - Storage: Onboard 128GB eMMC, 2x NVME slots, 2x SATA slots
 - Ports: 2x 2.5G, 2x 1G, 1x POE, 2x 10G SFP+, 1x RJ45 Serial Port
 - WIFI: 1x M.2 slot
 - 4G/5G: 1x M.2 slot
 - USB: 2x 3.0, 2x 2.0
 - Button: 1x Power Button
 - Video: 1x HDMI, 1x VGA
 - LEDs: 4x

GW-BS-1UR2-10G:
 - CPU: Intel® Core™ i3-N305 octa-core 3.8GHz
 - RAM: 32GB DDR5 4800MHz
 - Storage: Onboard 128GB eMMC, 2x NVME slots, 2x SATA slots
 - Ports: 2x 2.5G, 2x 1G, 1x POE, 2x 10G SFP+, 1x RJ45 Serial Port
 - WIFI: 1x M.2 slot
 - 4G/5G: 1x M.2 slot
 - USB: 2x 3.0, 2x 2.0
 - Button: 1x Power Button
 - Video: 1x HDMI, 1x VGA
 - LEDs: 4x

GW-BS-1UR2-25G:
 - CPU: Intel® Core™ i3-N305 octa-core 3.8GHz
 - RAM: 32GB DDR5 4800MHz
 - Storage: Onboard 128GB eMMC, 2x NVME slots, 2x SATA slots
 - Ports: 2x 2.5G, 2x 1G, 1x POE, 2x 25G SFP+, 1x RJ45 Serial Port
 - WIFI: 1x M.2 slot
 - 4G/5G: 1x M.2 slot
 - USB: 2x 3.0, 2x 2.0
 - Button: 1x Power Button
 - Video: 1x HDMI, 1x VGA
 - LEDs: 4x

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16560
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobase-files: add ucidef_set_network_device_path_port function
Til Kaiser [Sun, 29 Sep 2024 14:55:57 +0000 (16:55 +0200)]
base-files: add ucidef_set_network_device_path_port function

The already existing uci function ucidef_set_network_device_path
can be used to specify a unique PCI address to name a network interface.
However, I noticed that some NIC ports share the same PCI address
but are still distinguishable by the dev_port value of the network
interface's sysfs entry.

This commit adds a new uci function ucidef_set_network_device_path_port,
which is similar to ucidef_set_network_device_path but takes an
additional argument where the user can specify the dev_port value.
The internal function preinit_config_port loops through
all network interfaces at the given PCI address and chooses the one
where the dev_port value matches.

This was tested on an x86_64 device using a Mellanox ConnectX-3 card.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16560
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: modules: add boot flag to igc, mlx4, and mlx5 drivers
Til Kaiser [Sun, 29 Sep 2024 14:54:54 +0000 (16:54 +0200)]
kernel: modules: add boot flag to igc, mlx4, and mlx5 drivers

Set the boot flag for the igc, mlx4-core, and mlx5-core network device drivers
to load them at a more early stage of the boot process.

This is required for network drivers whose network interface PCI paths are set
via ucidef_set_network_device_path inside the 02_network script since it is
called after kernel modules are loaded from modules-boot.d but before they are
loaded from the modules.d directory.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16560
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agomwlwifi: fix compilation with 6.6 and 64-bit
Rosen Penev [Fri, 10 May 2024 22:55:25 +0000 (15:55 -0700)]
mwlwifi: fix compilation with 6.6 and 64-bit

Upstream patch updated to fix kernel 6.6 compilation. It was also split
up into 5. Do the same here.

The patches are taken from this upstreasm PR:
https://github.com/kaloz/mwlwifi/pull/413

Renamed other patches so as to not overlap.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15452
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoath79: add support for NEC Aterm WG1800HP2
INAGAKI Hiroshi [Sat, 29 Jun 2024 12:57:23 +0000 (21:57 +0900)]
ath79: add support for NEC Aterm WG1800HP2

NEC Aterm WG1800HP2 is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on
QCA9558.

Specification:

- SoC              : Qualcomm Atheros QCA9558
- RAM              : DDR2 128 MiB (2x Nanya NT5TU32M16DG-AC)
- Flash            : SPI-NOR 16 MiB (Macronix MX25L12845EMI-10G)
- WLAN             : 2.4/5 GHz
  - 2.4 GHz        : 3T3R (Qualcomm Atheros QCA9558 (SoC))
  - 5 GHz          : 3T3R (Qualcomm Atheros QCA9880)
- Ethernet         : 5x 10/100/1000 Mbps
  - switch         : Atheros AR8327
- LEDs/Keys (GPIO) : 12x/5x
- 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. 17 W)
- Stock OS         : NetBSD based

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

1. Boot WG1800HP2 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 WG1800HP2 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 TI TCA6416A (marking: PH416A) I2C
  Expander 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:44 (config, 0x6 (hex))
WAN    : A4:12:42:xx:xx:45 (config, 0xc (hex))
2.4 GHz: A4:12:42:xx:xx:46 (config, 0x0 (hex))
5 GHz  : A4:12:42:xx:xx:47 (config, 0x12 (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoath79: add support for NEC Aterm WG1800HP
INAGAKI Hiroshi [Sat, 29 Jun 2024 12:53:42 +0000 (21:53 +0900)]
ath79: add support for NEC Aterm WG1800HP

NEC Aterm WG1800HP is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on
QCA9558.

Specification:

- SoC              : Qualcomm Atheros QCA9558
- RAM              : DDR2 128 MiB (2x Nanya NT5TU32M16DG-AC)
- Flash            : SPI-NOR 16 MiB (Macronix MX25L12845EMI-10G)
- WLAN             : 2.4/5 GHz
  - 2.4 GHz        : 3T3R (Qualcomm Atheros QCA9558 (SoC))
  - 5 GHz          : 3T3R (Qualcomm Atheros QCA9880)
- Ethernet         : 5x 10/100/1000 Mbps
  - switch         : Atheros AR8327
- LEDs/Keys (GPIO) : 12x/5x
- 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. 17 W)
- Stock OS         : NetBSD based

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

1. Boot WG1800HP 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. Downgrade the stock firmware to v1.0.2
4. After downgrading, select the OpenWrt initramfs-factory.bin image and
   click update ("更新") button
5. After updating, the device will be rebooted and booted with OpenWrt
   initramfs image
6. On the initramfs image, upload (or download) uboot.bin and
   sysupgrade.bin image to the device
7. Replace the bootloader with a uboot.bin image

   mtd write <uboot.bin image> bootloader

8. Perform sysupgrade with a sysupgrade.bin image

   sysupgrade <sysupgrade image>

9. Wait ~120 seconds to complete flashing

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

 1. Connect and open serial console
 2. Power on WG1800HP 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 TI TCA6416A (marking: PH416A) I2C
  Expander 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.

- The data length of blocks in firmware image will be checked
  (4M < threshold < 6M) on the stock WebUI on some versions (v1.0.28,
  v1.0.30(latest), ...), so needs to be downgraded before OpenWrt
  installation with initramfs-factory image.

MAC addresses:

LAN    : 10:66:82:xx:xx:04 (config, 0x6 (hex))
WAN    : 10:66:82:xx:xx:05 (config, 0xc (hex))
2.4 GHz: 10:66:82:xx:xx:06 (config, 0x0 (hex))
5 G    : 10:66:82:xx:xx:07 (config, 0x12 (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoath79: add support for NEC Aterm WG1400HP
INAGAKI Hiroshi [Sat, 2 Mar 2019 17:48:18 +0000 (02:48 +0900)]
ath79: add support for NEC Aterm WG1400HP

NEC Aterm WG1400HP is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on
QCA9558.

Specification:

- SoC              : Qualcomm Atheros QCA9558
- RAM              : DDR2 128 MiB (2x Nanya NT5TU32M16DG-AC)
- Flash            : SPI-NOR 16 MiB (Macronix MX25L12845EMI-10G)
- WLAN             : 2.4/5 GHz
  - 2.4 GHz        : 3T3R (Qualcomm Atheros QCA9558 (SoC))
  - 5 GHz          : 2T2R (Qualcomm Atheros QCA9882)
- Ethernet         : 5x 10/100/1000 Mbps
  - switch         : Atheros AR8327
- LEDs/Keys (GPIO) : 12x/5x
- 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. 17 W)
- Stock OS         : NetBSD based

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

1. Boot WG1400HP 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 WG1400HP 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 TI TCA6416A (marking: PH416A) I2C
  Expander 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    : 10:66:82:xx:xx:20 (config, 0x6 (hex))
WAN    : 10:66:82:xx:xx:21 (config, 0xc (hex))
2.4 GHz: 10:66:82:xx:xx:22 (config, 0x0 (hex))
5 GHz  : 10:66:82:xx:xx:23 (config, 0x12 (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoath79: commonize SGMII calibration functions of QCA955x in lzma-loader
INAGAKI Hiroshi [Thu, 27 Jun 2024 15:53:31 +0000 (00:53 +0900)]
ath79: commonize SGMII calibration functions of QCA955x in lzma-loader

Commonize function names of SGMII calibration functions of QCA955x added
for Meraki MR18, to use them for NEC Aterm series based on QCA9558 as
well.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoath79: add missing usb-phy-analog reset to usb phys for QCA955x
INAGAKI Hiroshi [Thu, 27 Jun 2024 06:51:34 +0000 (15:51 +0900)]
ath79: add missing usb-phy-analog reset to usb phys for QCA955x

Add missing reset bits of USB phys on QCA955x SoCs to qca955x.dtsi to
handle them.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agouboot-ath79: refresh patches
INAGAKI Hiroshi [Sat, 31 Aug 2024 08:59:41 +0000 (17:59 +0900)]
uboot-ath79: refresh patches

Refresh patches by "make package/uboot-ath79/prepare" and manual
adjustments.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agouboot-ath79: add support for NEC Aterm series based on QCA9558
INAGAKI Hiroshi [Sat, 31 Aug 2024 08:46:54 +0000 (17:46 +0900)]
uboot-ath79: add support for NEC Aterm series based on QCA9558

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

- NEC Aterm WG1400HP
- NEC Aterm WG1800HP
- NEC Aterm WG1800HP2

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/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agouboot-ath79: add initial support for QCA955x SoCs
INAGAKI Hiroshi [Sat, 31 Aug 2024 08:42:53 +0000 (17:42 +0900)]
uboot-ath79: add initial support for QCA955x SoCs

Add initial support for Qualcomm Atheros QCA955x series SoCs.
This support was based on the QCA956x support, QSDK, GPL tar of TP-Link
Archer C5 v1.20.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agomac80211: realtek: rtlwifi: add RTL8192DU support
Stefan Lippers-Hollmann [Thu, 17 Oct 2024 15:37:02 +0000 (17:37 +0200)]
mac80211: realtek: rtlwifi: add RTL8192DU support

Add Realtek RTL8192DU support to the rtlwifi package.
The RTL8192DU chipset is a 802.11a/b/g/n chip which supports 2.4 and 5 GHz at
up to 40 MHz channel bandwidth, three hardware variations exist:

* single MAC/ single PHY
* single MAC/ double PHY
* double MAC/ double PHY

This driver has been successully tested on a single MAC/ single PHY variant
0bda:8194 (DeLock 88540, https://www.delock.com/produkt/88540/merkmale.html)

rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
rtl8192du: Driver for Realtek RTL8192DU WLAN interface
rtl8192du: Loading firmware file rtlwifi/rtl8192dufw.bin
ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
usbcore: registered new interface driver rtl8192du

Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
* P2P-client
* P2P-GO

interface combinations are not supported

The new rtlwifi based driver rtl8192du has been merged in kernel v6.11.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16721
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agolinux-firmware: add firmware for Realtek RTL8192DU
Stefan Lippers-Hollmann [Thu, 17 Oct 2024 15:31:58 +0000 (17:31 +0200)]
linux-firmware: add firmware for Realtek RTL8192DU

This commit packages the newly merged firmware (v39.0) for Realtek RTL8192DU
802.11a/b/g/n USB wireless cards.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16721
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agolinux-firmware: Update to version 20241017
Stefan Lippers-Hollmann [Thu, 17 Oct 2024 15:30:47 +0000 (17:30 +0200)]
linux-firmware: Update to version 20241017

This updates the following firmware files:

amdgpu/gc_11_5_2_imu.bin
amdgpu/gc_11_5_2_me.bin
amdgpu/gc_11_5_2_mec.bin
amdgpu/gc_11_5_2_mes1.bin
amdgpu/gc_11_5_2_mes_2.bin
amdgpu/gc_11_5_2_pfp.bin
amdgpu/gc_11_5_2_rlc.bin
amdgpu/psp_14_0_4_ta.bin
amdgpu/psp_14_0_4_toc.bin
amdgpu/sdma_6_1_2.bin
amdgpu/vpe_6_1_3.bin
ath12k/QCN9274/hw2.0/board-2.bin
ath12k/QCN9274/hw2.0/firmware-2.bin
ath12k/QCN9274/hw2.0/Notice.txt
brcm/brcmfmac4354-sdio.nvidia,p2371-2180.txt
cirrus/cs35l54-b0-dsp1-misc-103c8d85-amp1.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d85-amp2.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d85-amp3.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d85-amp4.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d86-amp1.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d86-amp2.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d86-amp3.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d86-amp4.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d8c-amp1.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d8c-amp2.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d8d-amp1.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d8d-amp2.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d8e-amp1.bin
cirrus/cs35l54-b0-dsp1-misc-103c8d8e-amp2.bin
cirrus/cs35l54-b0-dsp1-misc-103c8e14-amp1.bin
cirrus/cs35l54-b0-dsp1-misc-103c8e14-amp2.bin
cirrus/cs35l54-b0-dsp1-misc-103c8e15-amp1.bin
cirrus/cs35l54-b0-dsp1-misc-103c8e15-amp2.bin
cirrus/cs35l54-b0-dsp1-misc-103c8e1b-amp1.bin
cirrus/cs35l54-b0-dsp1-misc-103c8e1b-amp2.bin
cirrus/cs35l56-b0-dsp1-misc-103c8d90-amp1.bin
cirrus/cs35l56-b0-dsp1-misc-103c8d90-amp2.bin
cirrus/cs35l56-b0-dsp1-misc-10431e13-amp1.bin
cirrus/cs35l56-b0-dsp1-misc-10431e13-amp2.bin
cirrus/cs35l56-b0-dsp1-misc-10431e13-amp3.bin
cirrus/cs35l56-b0-dsp1-misc-10431e13-amp4.bin
cirrus/cs35l56-b0-dsp1-misc-10431f43-amp1.bin
cirrus/cs35l56-b0-dsp1-misc-10431f43-amp2.bin
cirrus/cs35l56-b0-dsp1-misc-10431f43-amp3.bin
cirrus/cs35l56-b0-dsp1-misc-10431f43-amp4.bin
cirrus/cs35l56-b0-dsp1-misc-17aa380e-spkid0-ampl.bin
cirrus/cs35l56-b0-dsp1-misc-17aa380e-spkid0-ampr.bin
cirrus/cs35l56-b0-dsp1-misc-17aa380e-spkid1-ampl.bin
cirrus/cs35l56-b0-dsp1-misc-17aa380e-spkid1-ampr.bin
cirrus/cs35l56/CS35L56_Rev3.11.11.1.wmfw
cirrus/cs35l56/CS35L56_Rev3.11.20.wmfw
iwlwifi-bz-b0-fm-c0-94.ucode
iwlwifi-gl-c0-fm-c0-94.ucode
mediatek/BT_RAM_CODE_MT7961_1a_2_hdr.bin
mediatek/mt7988/mt7988_wo_0.bin
mediatek/mt7988/mt7988_wo_1.bin
mediatek/mt7996/mt7992_dsp_23.bin
mediatek/mt7996/mt7992_dsp.bin
mediatek/mt7996/mt7992_eeprom_23_2i5i.bin
mediatek/mt7996/mt7992_eeprom_23.bin
mediatek/mt7996/mt7992_eeprom_2i5e.bin
mediatek/mt7996/mt7992_eeprom_2i5i.bin
mediatek/mt7996/mt7992_eeprom.bin
mediatek/mt7996/mt7992_rom_patch_23.bin
mediatek/mt7996/mt7992_rom_patch.bin
mediatek/mt7996/mt7992_wa_23.bin
mediatek/mt7996/mt7992_wa.bin
mediatek/mt7996/mt7992_wm_23.bin
mediatek/mt7996/mt7992_wm.bin
mediatek/mt7996/mt7996_eeprom_233_2i5i6i.bin
mediatek/mt7996/mt7996_eeprom_233.bin
mediatek/mt7996/mt7996_eeprom_2i5i6i.bin
mediatek/mt7996/mt7996_rom_patch_233.bin
mediatek/mt7996/mt7996_wa_233.bin
mediatek/mt7996/mt7996_wm_233.bin
mediatek/WIFI_MT7961_patch_mcu_1a_2_hdr.bin
mediatek/WIFI_RAM_CODE_MT7961_1a.bin
qca/hmtbtfw20.tlv
qca/hmtnv20.b10f
qca/hmtnv20.b112
qca/hmtnv20.bin
qcom/a663_gmu.bin
qcom/qcm6490/a660_zap.mbn
qcom/qcm6490/adsp.mbn
qcom/qcm6490/adspr.jsn
qcom/qcm6490/adsps.jsn
qcom/qcm6490/adspua.jsn
qcom/qcm6490/battmgr.jsn
qcom/qcm6490/cdsp.mbn
qcom/qcm6490/cdspr.jsn
qcom/qcm6490/ipa_fws.mbn
qcom/sa8775p/a663_zap.mbn
realtek/rt1320/rt1320-patch-code-vab.bin
realtek/rt1320/rt1320-patch-code-vc.bin
rtl_nic/rtl8125d-1.fw
rtlwifi/rtl8192dufw.bin
rtw89/rtw8922a_fw-2.bin
ti/tas2781/TAS2XXX1EB30.bin
ti/tas2781/TAS2XXX1EB31.bin

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16721
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoath79: apply qca,tx-gain-buffalo
Rosen Penev [Mon, 15 Jul 2024 05:59:08 +0000 (22:59 -0700)]
ath79: apply qca,tx-gain-buffalo

It seems this was only used by one device in ar71xx. Might as well
reapply it.

Make use of the separate TX gain table for WZR-HP-G450H:
https://github.com/torvalds/linux/commit/0f978bfaf2600040f9826f394eb12e023bef3068

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15949
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoramips: mt7621: add support for Gemtek WVRTM-127ACN and WVRTM-130ACN
Samuele Longhi [Sat, 12 Oct 2024 16:20:49 +0000 (18:20 +0200)]
ramips: mt7621: add support for Gemtek WVRTM-127ACN and WVRTM-130ACN

The Gemtek WVRTM-127ACN is an indoor dual band wifi router
with internal antennas and 3 Gigabit Ethernet ports.

The Gemtek WVRTM-130ACN is an indoor dual band wifi router
with external antennas and 5 Gigabit Ethernet ports.

Hardware of WVRTM-127ACN:
- SoC: Mediatek MT7621AT (880 MHz, dual core)
- RAM: 128 MB
- Storage: 128 MB NAND SLC flash
- Ethernet: 3x 10/100/1000 Mbps LAN1,LAN2 & WAN
- Wireless: 2.4GHz: Mediatek MT7603EN (802.11b/g/n)
- Wireless: 5GHz: Mediatek MT7612EN (802.11n/ac)
- LEDs: 11x
- Buttons: 2x WPS, reset
- USB: 1x 3.0
- Power: 56 VDC, 0.54 A, PoE+ IN (WAN)
- PoE: 1x PoE+ 802.3af/at (WAN)
- Uart: GND RX TX VCC - J2 (GND near WAN)
- Board silkscreen: "WVRTM-127ACN_V02" "19K-513-8500R" "RoHS" "1717"

Hardware of WVRTM-130ACN:
- SoC: Mediatek MT7621AT (880 MHz, dual core)
- RAM: 128 MB (Kioxia TC58BVG0S3HTA00)
- Storage: 128 MB NAND SLC (Winbond W971GG6SB-25)
- Ethernet: 5x 10/100/1000 Mbps LAN1,LAN2,LAN3,LAN4 & WAN
- Wireless: 2.4GHz and 5GHz Mediatek MT7615DN (802.11ac/b/g/n) (DBDC)
- LEDs: 10x
- Buttons: 3x Power, WPS, reset
- USB: 1x 3.0
- Power: 56 VDC, 0.54 A, PoE+ (WAN)
- PoE: 1x PoE+ 802.3af/at (WAN)
- Uart: GND RX TX VCC - J2 (GND near WAN)
- Board silkscreen: "WVRTM-130ACN_V01" "19K-515-4500R" "RoHS" "2112"

Enable access to uboot menu (needed in wvrtm-130acn):
- The access to uboot menu is blocked by `bootdelay = 0` set in ubootenv.
With stock firmware version 01.01.02.163 and previous, you can use CVE 2020-24365
command injection https://nvd.nist.gov/vuln/detail/CVE-2020-24365
    python3 exploit.py -t 192.168.1.1 -c "fw_setenv bootdelay 3; fw_saveenv"

Backup the stock firmware:
- Connect via uart
- Connect via ethernet and assign your pc the address 192.168.15.x/24
- Power on the device; and start typing '4' to enter uboot menu
- Set factory mode and boot
    MT7621 # setenv factory 2; saveenv
    MT7621 # nand read 2800000 2000000 81000000; bootm
- Telnet and copy all mtd blocks
    telnet 192.168.15.1
- Copy all mtd blocks and start webserver
    for N in $(seq 0 6); do dd if=/dev/mtd$N of=/tmp/eeprom_mtd$N.bin; done
    mount -o bind /tmp /www
    lighttpd -f /etc/lighttpd.conf
- Backup stock rootfs_data (optional)
    dd if=/dev/mtd7 of=/tmp/eeprom_mtd7.bin
    dd if=/dev/mtd8 of=/tmp/eeprom_mtd8.bin
- Download to your pc from http://192.168.15.1/eeprom_mtd$N.bin

Installation:
- Connect via uart
- Connect via ethernet and assign your pc the address 10.10.10.3/24
- Start a tftp server and serve the image initramfs-kernel.bin
    mkdir /tmp/ftpd;
    cp initramfs-kernel.bin /tmp/ftpd/kernel.bin
    dnsmasq --enable-tftp --tftp-root=/tmp/ftpd
- Power on the device; and start typing '4' to halt the bootloader
- Change the active mtd partition from mtd6 to mtd5 (needed by uboot)
    MT7621 # setenv mtddevnum 5; saveenv
- Write the openwrt initramfs in ram via tftp and boot it
    MT7621 # tftpboot 81000000 kernel.bin; bootm
- From the initramfs create the ubi device and install openwrt via sysupgrade
    ubiformat /dev/mtd11 -y
    sysupgrade -n -v /tmp/sysupgrade.bin

Recovery:
Restore the stock firmware from the backup of the mtd blocks
    mtd write eeprom_mtd5.bin firmware
    mtd write eeprom_mtd6.bin Kernel2
    mtd write eeprom_mtd7.bin Storage1
    mtd write eeprom_mtd8.bin Storage2
    ubiformat /dev/mtd8 -y
    reboot

Links to previous works on wvrtm-127acn:
https://github.com/digiampietro/hacking-gemtek
https://forum.openwrt.org/t/add-support-for-gemtek-wvrtm-127acn-linkem-provider/168757

Signed-off-by: Samuele Longhi <agave@dracaena.it>
Link: https://github.com/openwrt/openwrt/pull/16685
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: bump 6.6 to 6.6.57
John Audia [Thu, 17 Oct 2024 23:46:24 +0000 (19:46 -0400)]
kernel: bump 6.6 to 6.6.57

1. Update target/linux/generic/config-6.6 for new ksym
2. Refresh patches

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

Added:
generic/backport-6.6/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch[1]

Manually rebased:
generic/hack-6.6/645-netfilter-connmark-introduce-set-dscpmark.patch

Removed upstreamed:
gemini/patches-6.6/0001-net-ethernet-cortina-Drop-TSO-support.patch[2]
gemini/patches-6.6/0004-net-ethernet-cortina-Restore-TSO-support.patch[3]

All other patches automatically rebased.

1. https://lore.kernel.org/all/20241019-xtables-typos-v2-1-6b8b1735dc8e@0upti.me/
2 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.57&id=452c0740d72c6a77a41f6ddc318a48f18c3d2346
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.57&id=611f74b0e7fb93ee2366d9d7edca546806b220e9

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/16726
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobase-files: increase default system log size to 128 kB
Hannu Nyman [Thu, 17 Oct 2024 17:33:36 +0000 (20:33 +0300)]
base-files: increase default system log size to 128 kB

Increase the default system log buffer size option
in /etc/config/system from 64 kB to 128 kB.

64 kB is barely enough for the boot items of a modern router
with a few add-on packages, but any subsequent logging will
quickly cause the early boot items to get overwritten in the
round-robin log buffer. Double the buffer size to 128 kB.

(Note: built-in default in ubox logd itself is still 16 kB)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/16723
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoath79: Upstream b53 DSA driver for Ubiquiti EdgeSwitch 8XP
Roger Pueyo Centelles [Fri, 18 Nov 2022 00:18:09 +0000 (01:18 +0100)]
ath79: Upstream b53 DSA driver for Ubiquiti EdgeSwitch 8XP

The swconfig-based b53 driver for the BCM53128 switch stopped working
after commits b2cfed48f6 (Revert "swconfig: fix Broadcom b53 support")
and e4e410733f (kernel: export switch_generic_set_link() symbol). This
rendered the 8 LAN ports of the EdgeSwitch 8XP non-functional, so the
image compilation for the device was disabled (5a1d7d8c1b).

This commit adds the kmod-dsa-b53-mdio and kmod-dsa-b53 packages
with the upstream B53 DSA driver, replacing the swconfig-based
kmod and kmod-switch-bcm53xx-mdio downstream ones that are not used by
any other device.

The 8 LAN ports of the EdgeSwitch 8XP are usable again. The 02_network
init script has been updated with the new DSA interfaces lan1 .. lan8.

Image building has been reenabled for the device, adding the usual DSA
incompatibility notice.

Tested on a Ubiquiti EdgeSwitch 8XP.

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Link: https://github.com/openwrt/openwrt/pull/11680
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agomediatek: filogic: convert Acer Predator W6 to use NVMEM framework
Daniel Golle [Fri, 18 Oct 2024 11:38:21 +0000 (12:38 +0100)]
mediatek: filogic: convert Acer Predator W6 to use NVMEM framework

Read WiFi calibration data via NVMEM framework. The MAC addresses are
stored inside a file on a filesystem and hence still have to be
extracted in userspace.

WiFI EEPROM extraction has already accidentally been partially removed
by commit 3e6de5d77a ("mediatek: use NVMEM framework on all Adtran
devices").

Fixes: 3e6de5d77a ("mediatek: use NVMEM framework on all Adtran devices")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agofirewall: update to Git HEAD (2024-10-18)
Felix Fietkau [Fri, 18 Oct 2024 06:03:21 +0000 (08:03 +0200)]
firewall: update to Git HEAD (2024-10-18)

ffba75c9cd8f iptables: free xtables_match if found in need_protomatch
bf1d5fdf6234 iptables: fix regression with unintended free in need_protomatch
1aef9791a21e defaults.c: fix ipv6 flow offloading

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 months agolantiq: refresh patches
Robert Marko [Thu, 17 Oct 2024 16:37:47 +0000 (18:37 +0200)]
lantiq: refresh patches

CI says that they need to be refreshed, so do so.

Link: https://github.com/openwrt/openwrt/pull/16722
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: refresh patches
Robert Marko [Thu, 17 Oct 2024 16:37:27 +0000 (18:37 +0200)]
realtek: refresh patches

CI says that they need to be refreshed, so do so.

Link: https://github.com/openwrt/openwrt/pull/16722
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agopackage: busybox: update download link
Jack Sun [Thu, 17 Oct 2024 11:37:38 +0000 (19:37 +0800)]
package: busybox: update download link

There is no file named busybox-1.36.1.tar.bz2 in the root directory of the website
The actual download link is “https://sources.buildroot.net/busybox/busybox-1.36.1.tar.bz2”

Signed-off-by: Jack Sun <sunjiazheng321521@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16719
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agobase-files: Increase failsafe trigger wait time from 2 to 4 sec
Hannu Nyman [Wed, 16 Oct 2024 19:03:34 +0000 (22:03 +0300)]
base-files: Increase failsafe trigger wait time from 2 to 4 sec

Increase the failsafe waiting timeout period from 2 seconds
to 4 seconds.

Since commit 29207748b in 2015 we have had a rapid LED blinking
indication for the failsafe triggering period. But the really short
timeout of 2 seconds requires snappy reaction time from the user to
notice the LED blinking and to push button inside the short window.

Relax the timeout to 4 seconds, which more easily allows to notice
the change in LED blinking and push a button.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/11852
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoath11k-firmware: update IPQ8074 and QCN9074 to 2.9.0.1-02146
Robert Marko [Thu, 17 Oct 2024 12:27:04 +0000 (14:27 +0200)]
ath11k-firmware: update IPQ8074 and QCN9074 to 2.9.0.1-02146

After a long time QCA has pushed an updated release of 2.9.0.1 firmware
for IPQ8074 and QCN9074, so lets update to 2.9.0.1-02146.

Sadly, still nothing new for IPQ6018.

QCA has also moved the repository where they will be posting firmware to
their CodeLinaro instance, so we move to using that and it allows us to
remove the manual download of QCN9074 board-2.bin.

Link: https://github.com/openwrt/openwrt/pull/16720
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agogeneric: import and move accepted RealTek PHY patches
Daniel Golle [Thu, 17 Oct 2024 12:33:18 +0000 (13:33 +0100)]
generic: import and move accepted RealTek PHY patches

Import commits from upstream Linux and move/rename existing patches
which have been acceped.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agompc85xx: convert Watchguard T10 mac-assignment to NVMEM
David Bauer [Wed, 22 Nov 2023 01:45:13 +0000 (02:45 +0100)]
mpc85xx: convert Watchguard T10 mac-assignment to NVMEM

MAC-addresses are stored with colons, thus they can now be referenced
using NVMEM.

Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16310
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agompc85xx: p1010: fix NAND devices
Rosen Penev [Wed, 16 Oct 2024 22:31:20 +0000 (15:31 -0700)]
mpc85xx: p1010: fix NAND devices

Upstream commit 9ba0cae3cac07c21c583f9ff194f74043f90d29c made FSL_IFC
visible and selectable, which means that in order for MTD_NAND_FSL_IFC
to work, it needs these two extra CONFIG options.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16717
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agouboot-ath79: update to U-Boot v2024.10
INAGAKI Hiroshi [Sun, 13 Oct 2024 15:31:43 +0000 (00:31 +0900)]
uboot-ath79: update to U-Boot v2024.10

Update uboot-ath79 package to U-Boot v2024.10.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16703
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agomac80211: realtek: rtw89: add RTL8922AE support
Chukun Pan [Thu, 10 Oct 2024 15:10:28 +0000 (23:10 +0800)]
mac80211: realtek: rtw89: add RTL8922AE support

Add the Realtek RTL8922AE support to rtw89 package.
The 8922A is a 802.11be chip that can support 2/5/6GHz 160MHz.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/16700
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agolinux-firmware: update Realtek RTW89 firmware
Chukun Pan [Wed, 9 Oct 2024 15:10:26 +0000 (23:10 +0800)]
linux-firmware: update Realtek RTW89 firmware

Add RealTek RTL8922AE firmware package. The rtw89 driver uses
rtw8852b_fw-1.bin starting from kernel 6.4[1], remove the old
one. Also note that in the kernel 6.12, rtw8852c and rtw8922a
should use fw-1.bin [2][3].

[1] https://github.com/torvalds/linux/commit/ffde7f3476
[2] https://github.com/torvalds/linux/commit/45ae0e8cf8
[3] https://github.com/torvalds/linux/commit/6ca6b918f2

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Suggested-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/16700
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoprereq-build: limit python distutils check to <v3.12
Andre Heider [Mon, 9 Jan 2023 15:38:05 +0000 (16:38 +0100)]
prereq-build: limit python distutils check to <v3.12

v3.12 won't have it anymore.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16699
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoprereq-build: add Python 3.12 support
Paul Spooren [Sat, 17 Aug 2024 14:23:54 +0000 (16:23 +0200)]
prereq-build: add Python 3.12 support

This reverts commit 09b7e1955c92e0b05197174b7bd4aef2c4073a35.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Link: https://github.com/openwrt/openwrt/pull/16699
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoopkg: update to Git HEAD (2024-10-16)
Robert Marko [Wed, 16 Oct 2024 09:14:54 +0000 (11:14 +0200)]
opkg: update to Git HEAD (2024-10-16)

38eccbb1fd69 libopkg: allow install package from https and ftps

Link: https://github.com/openwrt/openwrt/pull/16715
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoramips: disable CONFIG_LIST_HARDENED on MT7620
Felix Fietkau [Wed, 16 Oct 2024 07:55:18 +0000 (09:55 +0200)]
ramips: disable CONFIG_LIST_HARDENED on MT7620

In #16396, crashes were reported on MT7620, which were introduced by enabling
CONFIG_LIST_HARDENED. The cause seems to be random memory corruption somewhere
in the kernel. Unfortunately the crash traces do not point to the real cause
of the crash in any way.
Since MT7620 is really ancient hardware that likely only has few users left,
I don't expect that anybody will invest a significant amount of time to track
down the real cause. Because of that, let's disable CONFIG_LIST_HARDENED on
this target only, and leave it enabled on all other platforms.

Fixes: #16396
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 months agouboot-mediatek: add noncached_set_region prototype to fix build
Jonas Jelonek [Tue, 15 Oct 2024 18:52:35 +0000 (20:52 +0200)]
uboot-mediatek: add noncached_set_region prototype to fix build

Building uboot-mediatek fails with GCC-14, uboot v2024.10 and
CONFIG_SYS_NONCACHED_MEMORY defined with error:
cmd/cache.c: In function 'do_dcache':
cmd/cache.c:57:25: error: implicit declaration of function
'noncached_set_region' [-Wimplicit-function-declaration]

This is caused by upstream commit 7d6cee2cd0e2e2507aca1e3a6fe0e2cb241a116e
("cmd: cache: Remove weak functions") as this removes weak functions in
favor of arch-specific definitions.

This patch adds the function prototype for `noncached_set_region` to
arch-specific header for ARM. It also adds an include in cmd/cache.c to
make the function available there.

Fixes: #16697
Fixes: f8c22c9bff ("uboot-mediatek: update to U-Boot 2024.10")
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
[@dangowrt refreshed patch]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agomediatek: mt7622: add netdev rename preinit script
Daniel Golle [Tue, 15 Oct 2024 23:10:28 +0000 (00:10 +0100)]
mediatek: mt7622: add netdev rename preinit script

Add preinit script to rename network interfaces according to the
label provided in Device Tree.

Fixes: b6d8297510 ("mediatek: mt7622: add Adtran SmartRG SDG-841t6 device")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agomediatek: filogic: reorder alphabetically
Chukun Pan [Fri, 20 Sep 2024 15:10:26 +0000 (23:10 +0800)]
mediatek: filogic: reorder alphabetically

Reorder scripts to keep alphabetical order.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2 months agomediatek: filogic: fix network config for mt7986b-rfb
Chukun Pan [Thu, 19 Sep 2024 15:10:18 +0000 (23:10 +0800)]
mediatek: filogic: fix network config for mt7986b-rfb

Fix the network configuration according to the device tree.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2 months agogeneric: fix kernel version and ordering of Aquantia backports
Daniel Golle [Tue, 15 Oct 2024 20:15:19 +0000 (21:15 +0100)]
generic: fix kernel version and ordering of Aquantia backports

Two patches declared as accepted in v6.13 were already accepted for
v6.12. Fix filenames and order of patches applied.

Reported-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Fixes: 8cc049cec2 ("generic: phy: aquantia: move accepted patches to backport-6.6")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agomediatek: use NVMEM framework on all Adtran devices
Daniel Golle [Mon, 7 Oct 2024 14:33:21 +0000 (15:33 +0100)]
mediatek: use NVMEM framework on all Adtran devices

Use NVMEM framework to assign MAC addresses and WiFi EEPROM data on
all Adtran SmartRG devices.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agomediatek: mt7622: add Adtran SmartRG SDG-841t6 device
Daniel Golle [Sat, 5 Oct 2024 17:22:20 +0000 (18:22 +0100)]
mediatek: mt7622: add Adtran SmartRG SDG-841t6 device

Specification
 SoC:   MediaTek MT7622A (2x Cortex-A53)
 RAM:   NANYA NT5CC256M16ER-EK (512 MiB)
 MMC:   Kioxia THGBMNG5D1LBAIT (4 GiB)
 ETH0:  Intel/MaxLinear GPY211 (2500M/1000M/100M/10M)
 ETH1:  Lantiq/Intel/MaxLinear PEF7071/GPY111 (1000M/100M/10M)
 WLAN0: MediaTek MT7915E + MT7975D 2T2R 802.11bgn/ax (2.4G)
                                   2T2R 802.11an/ac/ax (5G L)
 WLAN1: MediaTek MT7915E + MT7975A 4T4R 802.11an/ac/ax (5G H)
 BT:    BT5 provided by MT7915E+MT7975D (missing firmware)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agomediatek: add driver for Adtran MFGINFO NVMEM layout
Daniel Golle [Sat, 5 Oct 2024 20:43:48 +0000 (21:43 +0100)]
mediatek: add driver for Adtran MFGINFO NVMEM layout

This driver allows retrieving MAC addresses and other factory information
via the NVMEM framework on Adtran devices.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>