openwrt/staging/dangole.git
8 months agogettext-full: link libiconv when building host pkg
Yanase Yuki [Thu, 7 Mar 2024 08:31:34 +0000 (17:31 +0900)]
gettext-full: link libiconv when building host pkg

On Fedora 40 system, some compile error happens when
building iconv-ostream.c. Linking to libiconv-full
fixes this.

Signed-off-by: Yanase Yuki <dev@zpc.st>
8 months agohostapd: fix Config.in dependencies
Felix Fietkau [Fri, 5 Apr 2024 12:54:16 +0000 (14:54 +0200)]
hostapd: fix Config.in dependencies

hostapd packages were accidentally left out. Clean up this mess by
changing the dependencies to hostapd-common

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agoipq40xx: 6.6: remove redundant patch
Mieczyslaw Nalewaj [Thu, 4 Apr 2024 22:26:16 +0000 (00:26 +0200)]
ipq40xx: 6.6: remove redundant patch

Remove file 110-mtd-limit-OTP-nvmem-to-non-nand-devices.patch redundand after adding 440-mtd-don-t-look-for-OTP-legacy-NVMEM-cells-if-proper-.patch in dd78a59

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokirkwood: 6.6: refresh patches
Mieczyslaw Nalewaj [Thu, 4 Apr 2024 20:46:01 +0000 (22:46 +0200)]
kirkwood: 6.6: refresh patches

Refresh patches for kernel 6.6.23 with make target/linux/refresh.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agoapm821xx: restore 6.1 config+patches
Christian Lamparter [Sat, 23 Mar 2024 09:33:47 +0000 (10:33 +0100)]
apm821xx: restore 6.1 config+patches

simply attached previous versions of the
config-6.1 and patches-6.1 directory.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
8 months agoapm821xx: add 6.6 testing kernel
Christian Lamparter [Sat, 23 Mar 2024 09:32:14 +0000 (10:32 +0100)]
apm821xx: add 6.6 testing kernel

refreshed kernel config + patches

otherwise same as 6.1/5.15.

Tested on: WNDAP620, WNDAP660, MyBook Live Single, MR24, MX60, WNDR4700
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
8 months agoapm821xx: prepare WNDR4700 for 6.6 - add preliminary u-boot-env access
Christian Lamparter [Sat, 23 Mar 2024 10:26:23 +0000 (11:26 +0100)]
apm821xx: prepare WNDR4700 for 6.6 - add preliminary u-boot-env access

With the default BUILD_BOT configuration on a linux 6.6 kernel,
the WNDR4700's kernel no longer fits into the alloted ~3.5MiB,
even with LZMA compression.

Bigger kernels are possible, but there's a problem with Netgear's
"bootcmd":

> if loadn_dniimg 0 0x180000 0x4e0000 && chk_dniimg 0x4e0000; then nand read 0x800000 0x180000 0x20000;bootm 0x500000 - 0x800040;else fw_recovery; fi"

This loads the dni-image starting offset 0x180000 from the NAND
flash (which is the DTB partition) to 0x4e0000 in the RAM. It then
checks whenever the provided image is "valid". If it is then it
reads the DTB again to 0x800000 in the RAM and starts the extraction
and boot process. (If the image wasn't valid then it starts the
automated firmware recovery).

The issues here are that first: the kernel image gets "squeezed"
between 0x500040 and 0x7fffff... And second, the decompressor
only has area 0x0 - 0x500000 for decompression.

Hence the image now requires to update the bootcmd by providing
new values (which have been successfully tested with the original
Netgear WNDR4700 v1.0.0.56 firmware) for the RAM locations and
make full use of the fact that loadn_dniimg loads the DTB as well.

This needs to be done only once. Just connect a serial adapter to
interface with uboot and overwrite (and save) the new bootcmd.

WARNING: The serial port needs a TTL/RS-232 3.3v level converter!

Steps:
 0. Power-off the WNDR4700
 1. Connect the serial interface (you need to open the WNDR4700)
 2. Power-up the WNDR4700
 3. Monitor the boot-sequence and hit "Enter"-key when it says:

  "Hit any key to stop autoboot" (Be quick, you have a ~2 second window)

 4. in the Prompt enter the following commands (copy & paste)

 setenv bootcmd "if loadn_dniimg 0 0x180000 0xce0000 && chk_dniimg 0xce0000; then bootm 0xd00000 - 0xce0040;else fw_recovery; fi"
 saveenv
 run bootcmd

Note: This new bootcmd will also unbrick devices that were bricked
by the bigger 4.19-6.1 kernels.

Note2: This method was tested with a WNDR4700. A big kernel with most
debug features enabled on v6.6.22 measured 4.30 MiB when compressed
with lzma. The uncompressed kernel is 12.34 MiB. This is over the 3 MiB,
the device reserves for the kernel... But it booted! For bigger kernels,
the device needs repartitioning of the the ubi partition due to the
kernel+dtb not fitting into the partition.

Note3: For initramfs development. I would advice to load the initramfs
images to 0x800000 (or higher). i.e.: tftp 800000 wndr4700.bin

Note4: the fw_recovery uboot command to transfer the factory image to
the flash still works.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
8 months agoramips: 6.6: set testing kernel
Mieczyslaw Nalewaj [Wed, 13 Mar 2024 01:15:14 +0000 (02:15 +0100)]
ramips: 6.6: set testing kernel

Allow selecting 6.6 as testing kernel on ramips.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agoramips: 6.6: refresh kernel config
Mieczyslaw Nalewaj [Mon, 1 Apr 2024 14:56:34 +0000 (16:56 +0200)]
ramips: 6.6: refresh kernel config

Refresh kernel config.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agoramips: adjusted pinctrl-aw9523 for kernel 6.6
Mieczyslaw Nalewaj [Fri, 15 Mar 2024 08:08:09 +0000 (09:08 +0100)]
ramips: adjusted pinctrl-aw9523 for kernel 6.6

Compatiblity with kernel 6.6 for Awinic AW9523B i2c pin controller driver.
It follows the kernel patch: i2c: Drop legacy callback .probe_new() (https://github.com/torvalds/linux/commit/5eb1e6e459cfa025f79c43014f66ff62a55542f1)
and kernel patch: gpiolib: Get rid of not used of_node member (https://github.com/torvalds/linux/commit/70d0fc4288dabd65025fde7774b4f9262afa9034)

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agoramips: mt7620: alignment with updated snd_soc_dai_driver structure
Mieczyslaw Nalewaj [Fri, 15 Mar 2024 07:27:14 +0000 (08:27 +0100)]
ramips: mt7620: alignment with updated snd_soc_dai_driver structure

Fix error: 'struct snd_soc_dai_driver' has no member named 'remove'
It follows the kernel patch: ASoC: soc-dai.h: remove unused call back functions (https://github.com/torvalds/linux/commit/446b31e894935ebbcf84302061a4e0e2efb2368f)

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agogeneric: fix detect_memory_region() function
Shiji Yang [Wed, 13 Mar 2024 19:39:01 +0000 (03:39 +0800)]
generic: fix detect_memory_region() function

This patch fixes the broken detect_memory_region() function on
6.6 kernel.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
8 months agoramips: 6.6: fix net drivers compatibility
Mieczyslaw Nalewaj [Wed, 13 Mar 2024 01:24:11 +0000 (02:24 +0100)]
ramips: 6.6: fix net drivers compatibility

Fix compatibility of ralink net drivers with kernel 6.6.
It follows the kernel patch: u64_stats: Streamline the implementation (https://github.com/torvalds/linux/commit/44b0c2957adc62b86fcd51adeaf8e993171b)

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agoramips: 6.6: refresh patches
Mieczyslaw Nalewaj [Thu, 14 Mar 2024 22:27:46 +0000 (23:27 +0100)]
ramips: 6.6: refresh patches

Refresh kernel patches.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agoramips: 6.6: remove old patches
Mieczyslaw Nalewaj [Wed, 13 Mar 2024 01:02:58 +0000 (02:02 +0100)]
ramips: 6.6: remove old patches

Remove patches for old kernel.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel/ramips: Restore kernel files for v6.1
Mieczyslaw Nalewaj [Sun, 17 Mar 2024 17:11:29 +0000 (18:11 +0100)]
kernel/ramips: 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.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel/ramips: Create kernel files for v6.6 (from v6.1)
Mieczyslaw Nalewaj [Sun, 17 Mar 2024 17:11:22 +0000 (18:11 +0100)]
kernel/ramips: Create kernel files for v6.6 (from v6.1)

This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel/ramips: Restore kernel patches for v6.1
Mieczyslaw Nalewaj [Sat, 16 Mar 2024 11:00:20 +0000 (12:00 +0100)]
kernel/ramips: Restore kernel patches 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.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel/ramips: Create kernel patches for v6.6 (from v6.1)
Mieczyslaw Nalewaj [Sat, 16 Mar 2024 10:58:22 +0000 (11:58 +0100)]
kernel/ramips: Create kernel patches for v6.6 (from v6.1)

This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agolibubox: fix PKG_MIRROR_HASH of 2024-03-29
Paul Spooren [Thu, 4 Apr 2024 20:39:27 +0000 (22:39 +0200)]
libubox: fix PKG_MIRROR_HASH of 2024-03-29

The PKG_MIRROR_HASH was wrong (again), likely due to an old set of tools
which did not contain the downgrade of xz.

Ref 2070049 unetd: fix PKG_MIRROR_HASH
Fix 89c594e libubox: update to Git HEAD (2024-03-29)"

Signed-off-by: Paul Spooren <mail@aparcar.org>
8 months agokirkwood: add 6.6 kernel as testing version
Pawel Dembicki [Thu, 14 Mar 2024 13:41:56 +0000 (14:41 +0100)]
kirkwood: add 6.6 kernel as testing version

This patch introduce kernel 6.6 for kirkwood target as testing version.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
8 months agokirkwood: split files into 6.1 and 6.6 version
Pawel Dembicki [Fri, 15 Mar 2024 10:54:41 +0000 (11:54 +0100)]
kirkwood: split files into 6.1 and 6.6 version

Upstream change location of kirkwood dts files.
Split downstream files location for better upstream follow.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
8 months agokirkwood: kernel: refresh 6.6 config
Pawel Dembicki [Thu, 14 Mar 2024 13:41:11 +0000 (14:41 +0100)]
kirkwood: kernel: refresh 6.6 config

Done by 'make kernel_oldconfig'.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
8 months agokirkwood: refresh 6.6 patches
Pawel Dembicki [Thu, 14 Mar 2024 13:37:55 +0000 (14:37 +0100)]
kirkwood: refresh 6.6 patches

Removed upstream merged:
002-6.2-ARM-dts-kirkwood-Add-Zyxel-NSA310S-board.patch
003-6.5-ARM-dts-kirkwood-Add-Endian-4i-Edge-200-board.patch
004-6.4-ARM-dts-kirkwood-Add-missing-phy-mode-and-fixed-link.patch
005-6.7-net-dsa-mv88e6xxx-fix-marvell-6350-switch-probing.patch

Manually refreshed:
100-ib62x0.patch
101-iconnect.patch
102-dockstar.patch
103-iomega-ix2-200.patch
105-linksys-viper-dts.patch
106-goflexnet.patch
107-01-zyxel-nsa3x0-common-nand-partitions.patch
107-03-nsa325.patch
109-pogoplug_v4.patch
110-pogo_e02.patch
111-l-50.patch
112-sheevaplug.patch
113-readynas_duo_v2.patch
114-ctera-c-200-v1.patch
115-nsa310s.patch
116-4i-edge-200.patch
117-netgear_stora.patch
203-blackarmor-nas220.patch

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
8 months agokernel/kirkwood: Restore kernel files for v6.1
Pawel Dembicki [Thu, 14 Mar 2024 13:17:24 +0000 (14:17 +0100)]
kernel/kirkwood: 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.

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

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
8 months agokernel/kirkwood: Create kernel files for v6.6 (from v6.1)
Pawel Dembicki [Thu, 14 Mar 2024 13:17:24 +0000 (14:17 +0100)]
kernel/kirkwood: Create kernel files for v6.6 (from v6.1)

This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
8 months agokernel: ltq-vmmc: fix compilation warning/error
Daniel Golle [Wed, 3 Apr 2024 21:54:51 +0000 (22:54 +0100)]
kernel: ltq-vmmc: fix compilation warning/error

Fix compilation warning enum-int-mismatch which results in failure to
build kmod-ltq-vmmc in case CONFIG_KERNEL_WERROR is set.
.../build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_common.c:392:14: error: conflicting types for 'ifx_mps_fastbuf_init' due to enum/integer mismatch; have 'IFX_return_t(void)' [-Werror=enum-int-mismatch]
  392 | IFX_return_t ifx_mps_fastbuf_init (IFX_void_t)
      |              ^~~~~~~~~~~~~~~~~~~~
.../build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_common.c:120:13: note: previous declaration of 'ifx_mps_fastbuf_init' with type 'IFX_int32_t(void)' {aka 'int(void)'}
  120 | IFX_int32_t ifx_mps_fastbuf_init (IFX_void_t);
      |             ^~~~~~~~~~~~~~~~~~~~
.../build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_common.c:420:14: error: conflicting types for 'ifx_mps_fastbuf_close' due to enum/integer mismatch; have 'IFX_return_t(void)' [-Werror=enum-int-mismatch]
  420 | IFX_return_t ifx_mps_fastbuf_close (IFX_void_t)
      |              ^~~~~~~~~~~~~~~~~~~~~
.../build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_common.c:121:13: note: previous declaration of 'ifx_mps_fastbuf_close' with type 'IFX_int32_t(void)' {aka 'int(void)'}
  121 | IFX_int32_t ifx_mps_fastbuf_close (IFX_void_t);
      |             ^~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Refresh patches and bump PKG_RELEASE while at it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
8 months agolibxml2: add host build dependency on libiconv-full
Felix Fietkau [Thu, 4 Apr 2024 11:45:33 +0000 (13:45 +0200)]
libxml2: add host build dependency on libiconv-full

Fixes build on macOS

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agohostapd: slightly clean up patches
Felix Fietkau [Thu, 4 Apr 2024 11:19:49 +0000 (13:19 +0200)]
hostapd: slightly clean up patches

- move build/ifdef related changes together to the 200 patch range
- reduce adding/removing include statements across patches
- move patches away from the 99x patch range to simplify maintenance

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agohostapd: replace "argument list too long" fix with a simpler version
Felix Fietkau [Thu, 4 Apr 2024 11:06:29 +0000 (13:06 +0200)]
hostapd: replace "argument list too long" fix with a simpler version

Less convoluted and more robust

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agohostapd: remove workaround for broken WPA IEs in ancient devices
Felix Fietkau [Thu, 4 Apr 2024 10:54:25 +0000 (12:54 +0200)]
hostapd: remove workaround for broken WPA IEs in ancient devices

Affected devices were already quite old when this patch was added.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agohostapd: adjust patches to work with git am
Eneas U de Queiroz [Tue, 13 Feb 2024 21:26:31 +0000 (18:26 -0300)]
hostapd: adjust patches to work with git am

This adds From:, Date: and Subject: to patches, allowing one to run 'git
am' to import the patches to a hostapd git repository.

From: and Date: fields were taken from the OpenWrt commit where the
patches were first introduced.

Most of the Subject: also followed suit, except for:
 - 300-noscan.patch: Took the description from the LuCI web interface
 - 350-nl80211_del_beacon_bss.patch: Used the file name

The order of the files in the patch was changed to match what git
format-patch does.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
8 months agohostapd: remove unused fix
Eneas U de Queiroz [Wed, 14 Feb 2024 00:58:42 +0000 (21:58 -0300)]
hostapd: remove unused fix

Patch 050-build_fix.patch fixes the abscence of sha384-kdf.o from the
list of needed objetct files when FILS is selected without any other
option that will select the .o file.

While it is a bug waiting to be fixes upstream, it is not needed for
OpenWrt use case, because OWE already selects sha384-kdf.o, and FILS is
selected along with OWE.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
8 months agohostapd: bump to 2024-03-09
Eneas U de Queiroz [Sat, 10 Feb 2024 21:10:08 +0000 (18:10 -0300)]
hostapd: bump to 2024-03-09

This brings many changes, including fixes for a couple of memory leaks,
and improved interoperability with 802.11r.  There are also many changes
related to 802.11be, which is not enabled at this time.

Fixed upstream:
 - 022-hostapd-fix-use-of-uninitialized-stack-variables.patch
 - 180-driver_nl80211-fix-setting-QoS-map-on-secondary-BSSs.patch
 - 993-2023-10-28-ACS-Fix-typo-in-bw_40-frequency-array.patch

Switch PKG_SOURCE_URL to https, since http is not currently working.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
Tested-by: Ilya Katsnelson <me@0upti.me>
Tested by: Andrew Sim <andrewsimz@gmail.com>

8 months agolibubox: update to Git HEAD (2024-03-29)
Felix Fietkau [Fri, 29 Mar 2024 17:44:22 +0000 (18:44 +0100)]
libubox: update to Git HEAD (2024-03-29)

a2fce001819e CI: add build test run
12bda4bdb197 CI: add CodeQL workflow tests
eb9bcb64185a ustream: prevent recursive calls to the read callback

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agoipq-wifi: fixup hash
Robert Marko [Thu, 4 Apr 2024 08:00:57 +0000 (10:00 +0200)]
ipq-wifi: fixup hash

It seems that somehow a wrong hash has slipped past PR CI again.

Fixes: 9ef4f7f9194c ("qualcommax: ipq60xx: add yuncore fap650 support")
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 months agoqualcommax: ipq60xx: add yuncore fap650 support
Isaev Ruslan [Wed, 28 Feb 2024 07:53:54 +0000 (10:53 +0300)]
qualcommax: ipq60xx: add yuncore fap650 support

This commit adds support for the Yuncore FAP650 device.

Specifications:
- Qualcomm IPQ6018+QCA8075+QCN5022+QCN5052
- 512 MB of RAM (DDR3)
- 8 MB of serial flash (SPI NOR)
- 128 MB of parallel flash (NAND)
- 2x2 2.4 GHz WiFi (IPQ6010)
- 2x2 5 GHz WiFi (IPQ6010)
- 2x 2dBi 2.4G MIMO antenna
- 2x 3dBi 5.8G MIMO antenna
- 5x 1 Gbps Ethernet (QCA8075)
- POE: 48V (IEEE 802.3af)
- power: 12V (~1.5A)
- 1x passthru port (rj45 - rj45)
- 1x cisco rj45 console port
- size: 160mm*86mm*29mm

BACKUP YOUR STOCK FIRMWARE:
```
export device=fap650
mkdir -p /tmp/fw_dump_$device
cd /tmp/fw_dump_$device
dmesg > dmesg_$device.log
dtc -I fs /sys/firmware/devicetree/base > $device.dts
cat /proc/device-tree/model > model
cat /proc/mtd > proc_mtd
while read p; do
mtd_dev=$(echo $p | cut -d: -f1)
echo $mtd_dev
dd if=/dev/$mtd_dev of=$mtd_dev
done < proc_mtd
md5sum * > md5sum.log
tar -cvzf ../$device.tar.gz .
export sum=$(md5sum /tmp/$device.tar.gz | cut -d' ' -f1)
mv ../$device.tar.gz /tmp/${device}_${sum}.tar.gz
echo fw backup saved to: /tmp/${device}_${sum}.tar.gz
```
Upload your backup via tftp to the safe place.

INSTALLATION:
1. stock firmware web ui
Rename factory.bin fw image file to factory.ubin. Flash this image
like ordinary stock fw upgrade.

2. stock firmware telnet method
Enter telnet cli (login: root, password: 476t*_f0%g09y) and upload
 factory.bin fw image and rename it to factory.ubin
`cd /tmp && wget <your_web_server_ip>/factory.ubin`
`sysupgrade factory.ubin

3. initramfs method
    Put imitramfs image to your TFTP server and rename it for example to fap650.initram
    Enable serial console and enter to the u-boot cli.
    Exec these commands:
    `tftpboot <your_tftp_server_ip>:fap650.initram`
    `dhcp`

    When downloading is finished:
    `bootm`
    After booting the device, you need to upload to the device factory.ubi fw image.
    ```
    cd /tmp && wget <your_web_server_ip>/factory.ubi`
    export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1)
    export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1)
    ubiformat /dev/${rootfs} -y -f factory.ubi
    ubiformat /dev/${rootfs_1} -y -f factory.ubi
    reboot
    ```

4. u-boot factory.ubi image method
    Put factory.ubi to your TFTP server
    Enter u-boot cli and exec these commands:
    `tftpboot <your_tftp_server_ip>:factory.ubi`
    `dhcp`
    After downloading is finished:
    `flash rootfs`
    `flash rootfs_1`
    `reset`

STOCK FIRMWARE RECOVERY:
Boot initramfs image.
Upload your rootfs mtd partition to the device using scp or download
it from the device using wget.
Enter device ssh cli and exec:
```
cd /tmp && wget <your_web_server_ip>/rootfs_mtd`
export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1)
export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1)
ubiformat /dev/${rootfs} -y -f /tmp/rootfs_mtd
ubiformat /dev/${rootfs_1} -y -f /tmp/rootfs_mtd
reboot
```

Signed-off-by: Isaev Ruslan <legale.legale@gmail.com>
8 months agox86: 6.6: set testing kernel
Mieczyslaw Nalewaj [Wed, 13 Mar 2024 00:37:54 +0000 (01:37 +0100)]
x86: 6.6: set testing kernel

Allow selecting 6.6 as testing kernel on x86.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agox86: 6.6: refresh kernel config
Mieczyslaw Nalewaj [Tue, 2 Apr 2024 08:42:08 +0000 (10:42 +0200)]
x86: 6.6: refresh kernel config

Refresh kernel config.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agox86: 6.6: enable System Management Mode emulation on KVM
Mieczyslaw Nalewaj [Tue, 26 Mar 2024 17:39:01 +0000 (18:39 +0100)]
x86: 6.6: enable System Management Mode emulation on KVM

Include the CONFIG_KVM_SMM option in the kvm-x86 package to enable system management mode emulation on KVM.

Co-authored-by: Stefan Hellermann <stefan@the2masters.de>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agogeneric: 6.6: Removal of tools_portability.patch already included in kernel 6.6
Mieczyslaw Nalewaj [Thu, 21 Mar 2024 16:03:02 +0000 (17:03 +0100)]
generic: 6.6: Removal of tools_portability.patch already included in kernel 6.6

Removal of tools_portability.patch already included in kernel 6.6

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel: 6.6: modules: netdevices: lan743x: add missing dependency
Mieczyslaw Nalewaj [Tue, 2 Apr 2024 06:23:46 +0000 (08:23 +0200)]
kernel: 6.6: modules: netdevices: lan743x: add missing dependency

Fix error: Package kmod-lan743x is missing dependencies for the following libraries:
fixed_phy.ko

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel: vfio: flag vfio_virqfd as only kernel 6.2 and earlier
Mathew McBride [Fri, 15 Mar 2024 03:16:05 +0000 (14:16 +1100)]
kernel: vfio: flag vfio_virqfd as only kernel 6.2 and earlier

Kernel 6.2 folded virqfd (eventd interface for VFIO interrupts)
into the base vfio module, it is no longer a tristate option.

Change suggested by vincejv on GitHub:
https://github.com/openwrt/openwrt/pull/14868#issuecomment-1998260124

Signed-off-by: Mathew McBride <matt@traverse.com.au>
8 months agokernel/x86: remove legacy 5.15 kernel config
Elliott Mitchell [Fri, 29 Dec 2023 23:35:35 +0000 (15:35 -0800)]
kernel/x86: remove legacy 5.15 kernel config

Missed when removing the other 5.15 kernel configurations.

Fixes: b8ec063b38 ("x86: remove unused 5.15 kernel configs and patches")
Signed-off-by: Elliott Mitchell <ehem+openwrt@m5p.com>
8 months agox86: 6.6: refresh patches
Mieczyslaw Nalewaj [Wed, 13 Mar 2024 00:31:24 +0000 (01:31 +0100)]
x86: 6.6: refresh patches

Refresh kernel patches.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel/x86: Restore kernel patches for v6.1
Mieczyslaw Nalewaj [Sat, 16 Mar 2024 10:05:03 +0000 (11:05 +0100)]
kernel/x86: Restore kernel patches 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.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel/x86: Create kernel patches for v6.6 (from v6.1)
Mieczyslaw Nalewaj [Sat, 16 Mar 2024 09:58:26 +0000 (10:58 +0100)]
kernel/x86: Create kernel patches for v6.6 (from v6.1)

This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel/x86: Restore kernel files for v6.1
Mieczyslaw Nalewaj [Thu, 21 Mar 2024 18:03:26 +0000 (19:03 +0100)]
kernel/x86: 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.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agokernel/x86: Create kernel files for v6.6 (from v6.1)
Mieczyslaw Nalewaj [Thu, 21 Mar 2024 18:03:20 +0000 (19:03 +0100)]
kernel/x86: Create kernel files for v6.6 (from v6.1)

This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agombedtls: copy psa includes in InstallDev
Felix Fietkau [Wed, 3 Apr 2024 20:41:29 +0000 (22:41 +0200)]
mbedtls: copy psa includes in InstallDev

They are required for some of the crypto API

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agotools/bzip2: switch to cmake
Felix Fietkau [Wed, 3 Apr 2024 16:52:57 +0000 (18:52 +0200)]
tools/bzip2: switch to cmake

Fixes portability issues on macOS.
CMakeLists.txt is a stripped-down backport from bzip2 upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agomvebu: 6.6: refresh patches
Robert Marko [Wed, 3 Apr 2024 16:37:34 +0000 (18:37 +0200)]
mvebu: 6.6: refresh patches

Well, it seems that we have a patch that was not refreshed and CI is
complaining, so refresh it.

Signed-off-by: Robert Marko <robimarko@gmail.com>
8 months agocryptodev: follow kernel.mk versioning
Paul Spooren [Tue, 26 Mar 2024 10:36:24 +0000 (11:36 +0100)]
cryptodev: follow kernel.mk versioning

Instead of redefining the version schema in cryptodev, use the one
automatically defined via `kernel.mk`.

Specifically this changes the version from <kernel>+<package> to
<kernel>.<package> and thereby making it compatible with APK.

Signed-off-by: Paul Spooren <mail@aparcar.org>
8 months agomvebu: add 6.6 testing kernel
Stijn Segers [Sun, 24 Mar 2024 11:05:17 +0000 (12:05 +0100)]
mvebu: add 6.6 testing kernel

Add 6.6 testing kernel for mvebu target.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
8 months agomvebu: cortexa9: set DTS dir for 6.6
Stijn Segers [Tue, 19 Mar 2024 21:55:11 +0000 (22:55 +0100)]
mvebu: cortexa9: set DTS dir for 6.6

With 6.6, all DTSes were moved to their vendor subdirectories. ARM64
DTSes already used this scheme, but 32 bit Cortex A9 did not, prior
to 6.6. Introduce a kernel version check to keep backward compatibility
with 6.1.

Suggested-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
8 months agomvebu: 6.6: refresh patches
Stijn Segers [Thu, 28 Mar 2024 18:05:32 +0000 (19:05 +0100)]
mvebu: 6.6: refresh patches

Manually refreshed:
 * 309-linksys-status-led.patch
 * 310-linksys-use-eth0-as-cpu-port.patch
 * 320-arm-dts-armada-370-synology-ds213j-mtd-parts.patch
 * 701-mvpp2-read-mac-address-from-nvmem.patch
 * 902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch

All other patches automatically refreshed.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
8 months agomvebu: 6.6: remove upstreamed patches
Stijn Segers [Sat, 23 Mar 2024 21:07:47 +0000 (22:07 +0100)]
mvebu: 6.6: remove upstreamed patches

000-cpufreq-armada-8k-add-ap807-support.patch was upstreamed.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
8 months agomvebu: 6.6: adjust 32 bit ARM DTS path
Stijn Segers [Sat, 23 Mar 2024 21:02:56 +0000 (22:02 +0100)]
mvebu: 6.6: adjust 32 bit ARM DTS path

As of 6.6, all upstream DTSes are moved to their respective vendor subdir.
OpenWrt already followed this practice for ARM64, but not yet for 32 bit
ARM (Armada 37x/38x).

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
8 months agomvebu: 6.6: copy files, patches & configs from 6.1
Stijn Segers [Sat, 23 Mar 2024 20:58:53 +0000 (21:58 +0100)]
mvebu: 6.6: copy files, patches & configs from 6.1

Copy all mvebu 6.1 specific files, patches and configs to 6.1.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
8 months agomvebu: move files to files-6.1
Stijn Segers [Fri, 22 Mar 2024 07:31:00 +0000 (08:31 +0100)]
mvebu: move files to files-6.1

DTS paths for 32 bit ARM devices changed with 6.6, move files/ to
files-6.1 to prep for kernel 6.6 introduction.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
8 months agounetd: fix PKG_MIRROR_HASH
Paul Spooren [Wed, 3 Apr 2024 11:04:36 +0000 (13:04 +0200)]
unetd: fix PKG_MIRROR_HASH

Our CI on GitHub as well as my local machine generates a different
PKG_MIRROR_HASH from what Felix uploaded the other day.

After receiving Felix file, both have indeed different hashes, however
when unpackaged via `xz -d` both have the same tarball content.

Below the checksums to compare:

a62bef497078c7b825f11fc8358c1a43f5db3e6d4b97812044f7653d60747d5b  dl/unetd-2024.03.31~80645766.tar.xz
fbdac59581742bf208c18995b1d69d9848c93bfce487e57ba780d959e0d62fc4  dl/unetd-2024.03.31~80645766_felix.tar.xz

After unpacking:

a7189cae90bc600abf3a3bff3620dc17a9143be8c27d27412de6eb66a1cf1b7d  dl/unetd-2024.03.31~80645766.tar
a7189cae90bc600abf3a3bff3620dc17a9143be8c27d27412de6eb66a1cf1b7d  dl/unetd-2024.03.31~80645766_felix.tar

The tarball with the wrong hash was accidentally generated without the xz
revert to version 5.4.6

Signed-off-by: Paul Spooren <mail@aparcar.org>
8 months agomt76: update to Git HEAD (2024-04-03)
Felix Fietkau [Wed, 3 Apr 2024 11:07:28 +0000 (13:07 +0200)]
mt76: update to Git HEAD (2024-04-03)

605624a4e17b mt76: fix path to page_pool helper include
e4de3592c4e3 wifi: mt76: mt7603: fix tx queue of loopback packets
446f652c967c wifi: mt76: mt7603: add wpdma tx eof flag for PSE client reset
669aba47a145 wifi: mt76: mt7915: fix HE PHY capability regression
5914ea57a31f wifi: mt76: mt7915: workaround dubious x | !y warning
e8b5991f7dac wifi: mt76: mt7915: workaround too long expansion sparse warnings
e507b4e32ead wifi: mt76: mt7921: fix fw used for offload check for mt7922
725f531c1459 wifi: mt76: connac: check for null before dereferencing
b108dda7e201 wifi: mt76: mt7996: fix size of txpower MCU command
5b7616491f07 wifi: mt76: mt7921: introduce mt7920 PCIe support
0436995feca9 wifi: mt76: mt7921s: fix potential hung tasks during chip recovery
75759dca73d5 wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command
b96ab5e62010 wifi: mt76: mt7996: fix uninitialized variable in mt7996_irq_tasklet()
7ff11c7259a3 wifi: mt76: sdio: move mcu queue size check inside critical section
02846a5d0f0f wifi: mt76: mt7915: Remove unused of_gpio.h
cb8df32e0475 wifi: mt76: mt7996: disable rx header translation for BMC entry
a4c4b550512e wifi: mt76: connac: use peer address for station BMC entry
260c5b7c3ba0 wifi: mt76: mt7996: set RCPI value in rate control command
0b7e645db9c2 wifi: mt76: connac: enable HW CSO module for mt7996
f19035fe0b4d wifi: mt76: mt7996: fix non-main BSS no beacon issue for MBSS scenario
424e9df466ce wifi: mt76: mt7996: fix potential memory leakage when reading chip temperature
f70cb4f0508e wifi: mt76: connac: enable critical packet mode support for mt7992
5f1bf8865247 wifi: mt76: mt7996: add sanity checks for background radar trigger
1e336a8582dc wifi: mt76: connac: use muar idx 0xe for non-mt799x as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agobcm27xx: refresh patches
Mieczyslaw Nalewaj [Tue, 2 Apr 2024 11:51:02 +0000 (13:51 +0200)]
bcm27xx: refresh patches

Refresh patches for kernel 6.1.82 with make target/linux/refresh.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agoipq806x: add kernel 6.6 as a testing kernel version
Christian Marangi [Wed, 20 Mar 2024 00:37:50 +0000 (01:37 +0100)]
ipq806x: add kernel 6.6 as a testing kernel version

Add and enable kernel 6.6 as a testing kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq806x: 6.6: update config file with missing symbol
Christian Marangi [Wed, 20 Mar 2024 00:30:59 +0000 (01:30 +0100)]
ipq806x: 6.6: update config file with missing symbol

Update config file with missing symbol added with kernel 6.6.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq806x: 6.6: refresh kernel patches
Christian Marangi [Wed, 20 Mar 2024 00:48:41 +0000 (01:48 +0100)]
ipq806x: 6.6: refresh kernel patches

Refresh kernel patches using make target/linux/refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq806x: 6.6: add pending patch fixing nandc with new kernel
Christian Marangi [Wed, 20 Mar 2024 00:35:01 +0000 (01:35 +0100)]
ipq806x: 6.6: add pending patch fixing nandc with new kernel

Add pending patch fixing nandc with new kerenel due to broken convertion
to new nand API. Patch has been sent upstream and will be backported to
stable kernel if accepted.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq806x: 6.6: rework kernel patches for new kernel
Christian Marangi [Wed, 20 Mar 2024 00:33:05 +0000 (01:33 +0100)]
ipq806x: 6.6: rework kernel patches for new kernel

Rework kernel patches for new kernel. Mainly adaptation for patch
related to DTS and changes for the downstream div generalize patch that
now use determine_rate.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq806x: 6.6: drop upstream kernel patches
Christian Marangi [Wed, 20 Mar 2024 00:47:20 +0000 (01:47 +0100)]
ipq806x: 6.6: drop upstream kernel patches

Drop upstream kernel patches that were straight backport.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq806x: split files in 6.1 and 6.6 dedicated directory
Christian Marangi [Wed, 20 Mar 2024 00:27:52 +0000 (01:27 +0100)]
ipq806x: split files in 6.1 and 6.6 dedicated directory

Since with recent kernel version DTS moved to a dedicated directory,
it's required to split files to per kernel version to follow kernel
version directory structure.

Also makes use of DEVICE_DTS_DIR to target the correct DTS directory
based on the kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agokernel/ipq806x: Restore kernel files for v6.1
Christian Marangi [Wed, 20 Mar 2024 00:21:39 +0000 (01:21 +0100)]
kernel/ipq806x: 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.

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

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agokernel/ipq806x: Create kernel files for v6.6 (from v6.1)
Christian Marangi [Wed, 20 Mar 2024 00:21:38 +0000 (01:21 +0100)]
kernel/ipq806x: 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: Christian Marangi <ansuelsmth@gmail.com>
8 months agoltq-vdsl-vr11-mei: add patch fixing compilation with kernel 6.6
Christian Marangi [Wed, 20 Mar 2024 11:28:35 +0000 (12:28 +0100)]
ltq-vdsl-vr11-mei: add patch fixing compilation with kernel 6.6

Add patch fixing compilation with kernel 6.6.

class_create now require only the name instead of the module ownership
reference.

Also the kernel enabled checks for enum.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoltq-vdsl-vr11: add patch fixing compilation with kernel 6.6
Christian Marangi [Wed, 20 Mar 2024 11:25:47 +0000 (12:25 +0100)]
ltq-vdsl-vr11: add patch fixing compilation with kernel 6.6

Add patch fixing compilation with kernel 6.6.

class_create now require only the name instead of the module ownership
reference.

Also the kernel enabled checks for enum.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq40xx: add kernel 6.6 as a testing kernel version
Christian Marangi [Wed, 20 Mar 2024 10:19:49 +0000 (11:19 +0100)]
ipq40xx: add kernel 6.6 as a testing kernel version

Add and enable kernel 6.6 as a testing kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agogeneric: 6.6: add missing config symbol
Christian Marangi [Wed, 20 Mar 2024 00:37:23 +0000 (01:37 +0100)]
generic: 6.6: add missing config symbol

Add missing config symbol while adding support for kernel 6.6 for target
ipq806x.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq40xx: 6.6: update config file with missing symbol
Christian Marangi [Wed, 20 Mar 2024 10:19:15 +0000 (11:19 +0100)]
ipq40xx: 6.6: update config file with missing symbol

Update config file with missing symbol added with kernel 6.6.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq40xx: 6.6: refresh kernel patches
Christian Marangi [Wed, 20 Mar 2024 10:27:10 +0000 (11:27 +0100)]
ipq40xx: 6.6: refresh kernel patches

Refresh kernel patches using make target/linux/refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq806x: 6.6: add pending patch fixing mtdcore with MTD OTP
Christian Marangi [Wed, 20 Mar 2024 16:08:30 +0000 (17:08 +0100)]
ipq806x: 6.6: add pending patch fixing mtdcore with MTD OTP

Add pending patch fixing mtdcore with MTD OTP with a fragile detection
if Nand supports OTP. Patch has been sent upstream and will be backported
to stable kernel if accepted.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq40xx: 6.6: rework kernel patches for new kernel
Christian Marangi [Wed, 20 Mar 2024 10:12:31 +0000 (11:12 +0100)]
ipq40xx: 6.6: rework kernel patches for new kernel

Rework kernel patches for new kernel. Mainly adaptation for patch
related to DTS, OOB Tagger and SDHCI patch.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq40xx: 6.6: drop upstream kernel patches
Christian Marangi [Wed, 20 Mar 2024 10:11:41 +0000 (11:11 +0100)]
ipq40xx: 6.6: drop upstream kernel patches

Drop upstream kernel patches that were straight backport.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq40xx: 6.6: fix DTS to use reference for usb node
Christian Marangi [Wed, 20 Mar 2024 10:16:14 +0000 (11:16 +0100)]
ipq40xx: 6.6: fix DTS to use reference for usb node

Fix DTS to use reference for usb node instead of redefining
them since upstream usb node names changed from usb2/3 to usb.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoipq40xx: split files in 6.1 and 6.6 dedicated directory
Christian Marangi [Wed, 20 Mar 2024 10:10:40 +0000 (11:10 +0100)]
ipq40xx: split files in 6.1 and 6.6 dedicated directory

Since with recent kernel version DTS moved to a dedicated directory,
it's required to split files to per kernel version to follow kernel
version directory structure.

Also makes use of DEVICE_DTS_DIR to target the correct DTS directory
based on the kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agokernel/ipq40xx: Restore kernel files for v6.1
Christian Marangi [Wed, 20 Mar 2024 10:09:07 +0000 (11:09 +0100)]
kernel/ipq40xx: 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.

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

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agokernel/ipq40xx: Create kernel files for v6.6 (from v6.1)
Christian Marangi [Wed, 20 Mar 2024 10:09:03 +0000 (11:09 +0100)]
kernel/ipq40xx: 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: Christian Marangi <ansuelsmth@gmail.com>
8 months agotoolchain: binutils: backport patch to fix mipsel_24kc_24kf
Christian Marangi [Tue, 2 Apr 2024 19:41:59 +0000 (21:41 +0200)]
toolchain: binutils: backport patch to fix mipsel_24kc_24kf

Backport patch to fix mipsel_24kc_24kf. Patch has been merged in
binutils master and these are straight backports with minor rework.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
8 months agoprocd: update to Git HEAD (2024-03-30)
Robert Marko [Tue, 2 Apr 2024 08:27:21 +0000 (10:27 +0200)]
procd: update to Git HEAD (2024-03-30)

254810d16cf1 watchdog: always close fd on watchdog stop
946552a7b598 trace: use standard POSIX header for basename()

Signed-off-by: Robert Marko <robimarko@gmail.com>
8 months agozstd: update to 1.5.6
Paul Spooren [Tue, 2 Apr 2024 11:18:50 +0000 (13:18 +0200)]
zstd: update to 1.5.6

Full changelog here:
https://github.com/facebook/zstd/releases/tag/v1.5.6

Signed-off-by: Paul Spooren <mail@aparcar.org>
8 months agotoolchain/gcc: fix build errors on macOS with Xcode 15.3
Georgi Valkov [Sat, 30 Mar 2024 20:10:27 +0000 (22:10 +0200)]
toolchain/gcc: fix build errors on macOS with Xcode 15.3

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:550:5: error: '__abi_tag__' attribute only applies to structs, variables, functions, and namespaces
    _LIBCPP_INLINE_VISIBILITY
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:891:37: note: expanded from macro '_LIBCPP_INLINE_VISIBILITY'
 #  define _LIBCPP_INLINE_VISIBILITY _LIBCPP_HIDE_FROM_ABI
                                    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:870:26: note: expanded from macro '_LIBCPP_HIDE_FROM_ABI'
          __attribute__((__abi_tag__(_LIBCPP_TOSTRING(_LIBCPP_ODR_SIGNATURE))))

Fixed using backport of upstream commits [1-2] as discussed here
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632#c21

[1] Include safe-ctype.h after C++ standard headers, to avoid over-poisoning
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=9970b576b7e4ae337af1268395ff221348c4b34a

[2] libcc1: fix <vector> include
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5213047b1d50af63dfabb5e5649821a6cb157e33

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
8 months agomt76: add mt7603 possible workaround for MT7603EN / MT7628AN stability
Rafał Miłecki [Mon, 1 Apr 2024 21:59:03 +0000 (23:59 +0200)]
mt76: add mt7603 possible workaround for MT7603EN / MT7628AN stability

Add debugfs entry for disabling frames buffering that may be a reason
for mt7603 instability. This patch was sent upstream for review and at
least wasn't rejected yet. Let's add it to let OpenWrt users test if it
really helps.

Example usage:
echo N > /sys/kernel/debug/ieee80211/phy0/mt76/frames_buffering

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
8 months agoqca-nss-dp: cp instead of symlink for `nss_dp_arch.h`
Sean Khan [Mon, 1 Apr 2024 02:03:22 +0000 (22:03 -0400)]
qca-nss-dp: cp instead of symlink for `nss_dp_arch.h`

Build files shouldn't be symlinked into the staging directory, as doing so
would create a race condition if the build folder for 'qca-nss-dp' gets
deleted for any reason.

We should instead just copy over the required platform file to avoid
breaking compilation for any dependent packages.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
8 months agoREADME: replace "MacOSX" with "macOS"
Gentry Deng [Sun, 31 Mar 2024 13:42:12 +0000 (21:42 +0800)]
README: replace "MacOSX" with "macOS"

In October 2018, the last version of the operating system named "Mac OS X" ended its life cycle.

It's time to change it to "macOS".

Signed-off-by: Gentry Deng <me@gend.moe>
8 months agogeneric: 6.1: refresh backport patches
Mieczyslaw Nalewaj [Mon, 1 Apr 2024 08:44:17 +0000 (10:44 +0200)]
generic: 6.1: refresh backport patches

Refresh backport patches for kernel 6.1.82 with make target/linux/refresh.

Fixes: 06cdc07f8cc7 ("ath79: add support for Huawei AP5030DN")
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
8 months agoqca-ssdk: rework make to allow parallel building
Sean Khan [Tue, 26 Mar 2024 23:40:21 +0000 (19:40 -0400)]
qca-ssdk: rework make to allow parallel building

The current build procedure always wipes away build files, this is
costly as ssdk is a parent dependency on a whole host of packages and
will always end up rebuilding (and in serial) the whole package.

This patch includes:

1. Module Building Optimization: Instead of creating a temporary
directory (temp) and copying files into it for module building,
the directly invoke the module build command with the
necessary paths. This simplifies the build process
and avoids unnecessary file operations, speeding up
the build process and reducing disk usage.

2. Parallel Build Support: By removing the explicit creation of
the temporary directory and associated file copying operations,
and passing in $(MAKE) $(PKG_JOBS) allows building in parallel.

3. Fix `EXTRA_CFLAGS`: This variable is referenced and set within MAKE_FLAGS,
so doesn't preserve spaces. Should have its defined value quoted.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
8 months agomediatek: add support for OpenEmbed SOM7981
Tianling Shen [Thu, 7 Mar 2024 06:19:08 +0000 (14:19 +0800)]
mediatek: add support for OpenEmbed SOM7981

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 256 MiB SPI-NAND, 32 GB eMMC optional
  RAM: 0.5/1 GB DDR4
  Ethernet: 1x 1GbE, 1x 2.5GbE (RTL8221B)
  WiFi: MediaTek MT7976C
  USB: 1x USB 3.0
  GPIO: 26-Pin header
  UART: 6 GND, 8 TX, 10 RX (in Pin header)
  Button: Reset, WPS
  Power: Type-C PD

Installation:
The board comes with a third-party custom OpenWrt image, you can upload
sysupgrade image via LuCI directly WITHOUT keeping configurations.

Or power on the board with pressing reset button for 5 second, then visit
http://192.168.1.1 and upload -factory.bin firmware.

Signed-off-by: Tianling Shen <cnsztl@gmail.com>
8 months agoramips: add support for BOLT BL100
Radito Wahyu [Sat, 30 Mar 2024 02:28:57 +0000 (09:28 +0700)]
ramips: add support for BOLT BL100

BL100 is a router made by Bolt by a provider in Indonesia
The original firmware created using Mediatek SDK and kernel 2.6.36

- Chipset: MediaTek MT7620A ver 2, eco 6
- RAM: 64 MB
- Bootloader: U Boot
- Flash: Winbond W25Q128BV (16 MB)
- Ports: 2x 10/100 Ethernet, 1x RJ-11 VoIP
- Modem: Qualcomm LTE B40 (2300 Mhz) VID:05c6 PID:9026
- Wireless: Internal MT7620A (2.4 Ghz) & Mediatek MT76x2E (5.8 Ghz)
- Switch: MediaTek MT7620A built-in 5-port 10/100M switch
- Voltage: DC 12V 1A
- Antenna Port: 2x External Antenna, 2 LTE U.FL, 2 WiFi U.FL
- Serial Port: Yes, 3.3 V TTL, Baud 57600 8N1
- Buttons: Reset and WPS
- LED: 15 Total
  - 4 blue lte, 2 red lte, 1 reset, 1 power.
  - 1 wps, 1 voip, 1 wlan2, 1 wlan5, 1 lan, 1 wan, 1 wlan.

Installation via stock firmware
1. Unlock Telnet access by downloading the backup .tar.gz file
2. Change the Telnet configuration to LAN_Telnet=1
3. Import backup configuration
4. Restart the router
5. Login to telnet with username and password = admin : db40
6. Download sysupgrade binary and mtd_write to the kernel partition
`mtd_write write openwrt-bolt_bl100-squashfs-sysupgrade.bin Kernel`

Signed-off-by: Radito Wahyu <arditogits@gmail.com>
8 months agounetd: update to Git HEAD (2024-03-31)
Felix Fietkau [Sun, 31 Mar 2024 17:42:16 +0000 (19:42 +0200)]
unetd: update to Git HEAD (2024-03-31)

52144f723bec pex: after receiving data update req, notify peer of local address/port
29aacb9386e0 pex: track indirect hosts (reachable via gateway) as peers without adding them to wg
48049524d4fc pex: do not send peer notifications for hosts with a gateway
12ac684ee22a pex: do not query for hosts with a gateway
203c88857354 pex: fix endian issues on config transfer
a29d45c71bca network: fix endian issue in converting port to network id
cbbe9d337a17 unet-cli: emit id by default
806457664ab6 unet-cli: strip initial newline in usage message

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 months agofilogic: Add support for D-Link AQUILA PRO AI M30
Roland Reinl [Sun, 24 Dec 2023 13:42:23 +0000 (14:42 +0100)]
filogic: Add support for D-Link AQUILA PRO AI M30

Specification:
 - MT7981 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - MT7531 switch
 - 512MB RAM
 - 128MB NAND flash with two UBI partitions with identical size
 - 1 multi color LED (red, green, blue, white) connected via GCA230718
 - 3 buttons (WPS, reset, LED on/off)
 - 1 1Gbit WAN port
 - 4 1Gbit LAN ports

Disassembly:
 - There are four screws at the bottom: 2 under the rubber feets, 2 under the label.
 - After removing the screws, the white plastic part can be shifted out of the blue part.
 - Be careful because the antennas are mounted on the side and the top of the white part.

Serial Interface
 - The serial interface can be connected to the 4 pin holes on the side of the board.
 - Pins (from front to rear):
   - 3.3V
   - RX
   - TX
   - GND
 - Settings: 115200, 8N1

MAC addresses:
 - WAN MAC is stored in partition "Odm" at offset 0x81
 - LAN (as printed on the device) is WAN MAC + 1
 - WLAN MAC (2.4 GHz) is WAN MAC + 2
 - WLAN MAC (5GHz) is WAN MAC + 3

Flashing via Recovery Web Interface:
 - The recovery web interface always flashes to the currently active partition.
 - If OpenWrt is flahsed to the second partition, it will not boot.
 - Ensure that you have an OEM image available (encrypted and decrypted version). Decryption is described in the end.
 - Set your IP address to 192.168.200.10, subnetmask 255.255.255.0
 - Press the reset button while powering on the device
 - Keep the reset button pressed until the LED blinks red
 - Open a Chromium based and goto http://192.168.200.1 (recovery web interface)
 - Download openwrt-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-squashfs-recovery.bin
 - The recovery web interface always reports successful flashing, even if it fails
 - After flashing, the recovery web interface will try to forward the browser to 192.168.0.1 (can be ignored)
 - If OpenWrt was flashed to the first partition, OpenWrt will boot (The status LED will start blinking white and stay white in the end). In this case you're done and can use OpenWrt.
 - If OpenWrt was flashed to the second partition, OpenWrt won't boot (The status LED will stay red forever). In this case, the following steps are reuqired:
   - Start the web recovery interface again and flash the **decrypted OEM image**. This will be flashed to the second partition as well. The OEM firmware web interface is afterwards accessible via http://192.168.200.1.
   - Now flash the **encrypted OEM image** via OEM firmware web interface. In this case, the new firmware is flashed to the first partition. After flashing and the following reboot, the OEM firmware web interface should still be accessible via http://192.168.200.1.
   - Start the web recovery interface again and flash the OpenWrt recovery image. Now it will be flashed to the first partition, OpenWrt will boot correctly afterwards and is accessible via 192.168.1.1.

Flashing via U-Boot:
 - Open the case, connect to the UART console
 - Set your IP address to 192.168.200.2, subnet mask 255.255.255.0. Connect to one of the LAN interfaces of the router
 - Run a tftp server which provides openwrt-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-initramfs-kernel.bin.
 - Power on the device and select "7. Load image" in the U-Boot menu
 - Enter image file, tftp server IP and device IP (if they differ from the default).
 - TFTP download to RAM will start. After a few seconds OpenWrt initramfs should start
 - The initramfs is accessible via 192.168.1.1, change your IP address accordingly (or use multiple IP addresses on your interface)
 - Perform a sysupgrade using openwrt-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-squashfs-sysupgrade.bin
 - Reboot the device. OpenWrt should start from flash now

Revert back to stock using the Recovery Web Interface:
 - Set your IP address to 192.168.200.2, subnetmask 255.255.255.0
 - Press the reset button while powering on the device
 - Keep the reset button pressed until the LED blinks red
 - Open a Chromium based and goto http://192.168.200.1 (recovery web interface)
 - Flash a decrypted firmware image from D-Link. Decrypting an firmware image is described below.

Decrypting a D-Link firmware image:
 - Download https://github.com/RolandoMagico/firmware-utils/blob/M32/src/m32-firmware-util.c
 - Compile a binary from the downloaded file, e.g. gcc m32-firmware-util.c -lcrypto -o m32-firmware-util
 - Run ./m32-firmware-util M30 --DecryptFactoryImage <OriginalFirmware> <OutputFile>
 - Example for firmware M30A1_FW101B05: ./m32-firmware-util M30 --DecryptFactoryImage M30A1_FW101B05\(0725091522\).bin M30A1_FW101B05\(0725091522\)_decrypted.bin

Flashing via OEM web interface is not possible, as it will change the active partition and OpenWrt is only running on the first UBI partition.

Controlling the LEDs:
 - The LEDs are controlled by a chip called "GCA230718" which is connected to the main CPU via I2C (address 0x40)
 - I didn't find any documentation or driver for it, so the information below is purely based on my investigations
 - If there is already I driver for it, please tell me. Maybe I didn't search enough
 - I implemented a kernel module (leds-gca230718) to access the LEDs via DTS
 - The LED controller supports PWM for brightness control and ramp control for smooth blinking. This is not implemented in the driver
 - The LED controller supports toggling (on -> off -> on -> off) where the brightness of the LEDs can be set individually for each on cycle
 - Until now, only simple active/inactive control is implemented (like when the LEDs would have been connected via GPIO)
 - Controlling the LEDs requires three sequences sent to the chip. Each sequence consists of
   - A reset command (0x81 0xE4) written to register 0x00
   - A control command (for example 0x0C 0x02 0x01 0x00 0x00 0x00 0xFF 0x01 0x00 0x00 0x00 0xFF 0x87 written to register 0x03)
 - The reset command is always the same
 - In the control command
   - byte 0 is always the same
   - byte 1 (0x02 in the example above) must be changed in every sequence: 0x02 -> 0x01 -> 0x03)
   - byte 2 is set to 0x01 which disables toggling. 0x02 would be LED toggling without ramp control, 0x03 would be toggling with ramp control
   - byte 3 to 6 define the brightness values for the LEDs (R,G,B,W) for the first on cycle when toggling
   - byte 7 defines the toggling frequency (if toggling enabled)
   - byte 8 to 11 define the brightness values for the LEDs (R,G,B,W) for the second on cycle when toggling
   - byte 12 is constant 0x87

Comparison to M32/R32:
 - The algorithms for decrypting the OEM firmware are the same for M30/M32/R32, only the keys differ
 - The keys are available in the GPL sources for the M32
 - The M32/R32 contained raw data in the firmware images (kernel, rootfs), the R30 uses a sysupgrade tar instead
 - Creation of the recovery image is quite similar, only the header start string changes. So mostly takeover from M32/R32 for that.
 - Turned out that the bytes at offset 0x0E and 0x0F in the recovery image header are the checksum over the data area
 - This checksum was not checked in the recovery web interface of M32/R32 devices, but is now active in R30
 - I adapted the recovery image creation to also calculate the checksum over the data area
 - The recovery image header for M30 contains addresses which don't match the memory layout in the DTS. The same addresses are also present in the OEM images
 - The recovery web interface either calculates the correct addresses from it or has it's own logic to determine where which information must be written

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
8 months agomediatek: Moved recovery image creation to include/image-commands.mk
Roland Reinl [Sat, 30 Mar 2024 16:59:14 +0000 (17:59 +0100)]
mediatek: Moved recovery image creation to include/image-commands.mk

The recovery image is reqired for D-Link M30 as well. So I moved it to include/image-commands.mk to be able to use it for MT7622 and filogic devices.

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
8 months agofilogic: Add LED driver for GCA230718
Roland Reinl [Tue, 26 Dec 2023 07:31:15 +0000 (08:31 +0100)]
filogic: Add LED driver for GCA230718

Add basic support for the LED driver for GCA230718.

 - I didn't find any documentation or driver for it, so the information below is purely based on my investigations
 - If there is already I driver for it, please tell me. Maybe I didn't search enough
 - I implemented a kernel module (leds-gca230718) to access the LEDs via DTS
 - The LED controller supports PWM for brightness control and ramp control for smooth blinking. This is not implemented in the driver
 - The LED controller supports toggling (on -> off -> on -> off) where the brightness of the LEDs can be set individually for each on cycle
 - Until now, only simple active/inactive control is implemented (like when the LEDs would have been connected via GPIO)
 - Controlling the LEDs requires three sequences sent to the chip. Each sequence consists of
   - A reset command (0x81 0xE4) written to register 0x00
   - A control command (for example 0x0C 0x02 0x01 0x00 0x00 0x00 0xFF 0x01 0x00 0x00 0x00 0xFF 0x87 written to register 0x03)
 - The reset command is always the same
 - In the control command
   - byte 0 is always the same
   - byte 1 (0x02 in the example above) must be changed in every sequence: 0x02 -> 0x01 -> 0x03)
   - byte 2 is set to 0x01 which disables toggling. 0x02 would be LED toggling without ramp control, 0x03 would be toggling with ramp control
   - byte 3 to 6 define the brightness values for the LEDs (R,G,B,W) for the first on cycle when toggling
   - byte 7 defines the toggling frequency (if toggling enabled)
   - byte 8 to 11 define the brightness values for the LEDs (R,G,B,W) for the second on cycle when toggling
   - byte 12 is constant 0x87

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>