openwrt/staging/nbd.git
6 months agoelfutils: fix build and enable on non-linux systems
Felix Fietkau [Wed, 11 Jan 2023 17:41:22 +0000 (18:41 +0100)]
elfutils: fix build and enable on non-linux systems

Use gnulib for compatibility

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 months agotools/include: add more endian macros
Felix Fietkau [Wed, 11 Jan 2023 17:39:02 +0000 (18:39 +0100)]
tools/include: add more endian macros

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 months agoqualcommax: only build initramfs if CONFIG_TARGET_ROOTFS_INITRAMFS is set
Florian Maurer [Thu, 26 Oct 2023 06:40:59 +0000 (08:40 +0200)]
qualcommax: only build initramfs if CONFIG_TARGET_ROOTFS_INITRAMFS is set

This makes it possible to build the ipq807x netgear-wax218 without initramfs - which is required for downstream projects (gluon)

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
6 months agoqualcommax: mark upstreamed patches as such
Robert Marko [Sun, 29 Oct 2023 10:00:50 +0000 (11:00 +0100)]
qualcommax: mark upstreamed patches as such

The GPLL fixes were merged upstream, so lets mark them as such.

Signed-off-by: Robert Marko <robimarko@gmail.com>
6 months agokernel: fix jffs2 compilation with GCC_PLUGIN_RANDSTRUCT enabled
Matt Merhar [Sun, 29 Oct 2023 01:15:46 +0000 (21:15 -0400)]
kernel: fix jffs2 compilation with GCC_PLUGIN_RANDSTRUCT enabled

Designated initializers are required when using the randstruct GCC
plugin, otherwise an error like the following is seen:

./include/linux/lzma.h:60:31: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]

This was originally applied via 55643e469c21, but was unintentionally
reverted in 483503603cb2.

Fixes: 483503603cb2 ("generic: 5.15: rework pending patch")
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
6 months agomvebu: add support for Fortinet FortiGate 30E
INAGAKI Hiroshi [Tue, 21 Mar 2023 06:23:56 +0000 (15:23 +0900)]
mvebu: add support for Fortinet FortiGate 30E

Fortinet FortiGate 30E (FG-30E) is a UTM, based on Armada 385 (88F6820).

Specification:

- SoC          : Marvell Armada 385 88F6820
- RAM          : DDR3 1 GiB (4x Micron MT41K256M8DA-125, "D9PSH")
- Flash        : SPI-NOR 128 MiB (Macronix MX66L1G45GMI-10G)
- Ethernet     : 5x 10/100/1000 Mbps
  - Switch     : Marvell 88E6176
- LEDs/Keys    : 16x/1x
- UART         : "CONSOLE" port (RJ-45, RS-232C level)
  - port       : ttyS0
  - settings   : 9600bps 8n1
  - assignment : 1:NC , 2:NC , 3:TXD, 4:GND,
                5:GND, 6:RXD, 7:NC , 8:NC
  - note       : compatible with Cisco console cable
- HW Monitoring: nuvoTon NCT7802Y
- Power        : 12 VDC, 2 A
  - plug       : Modex 5557-02R

Flash instruction using initramfs image:

 1. Power on FG-30E and interrupt to show bootmenu
 2. Call "[I]: System information." -> "[S]: Set serial port baudrate."
    and set baudrate to 9600 bps
 3. Call "[R]: Review TFTP parameters.", check TFTP parameters and
    connect computer to "Image download port" in the parameters
 4. Prepare TFTP server with the parameters obtained above
 5. Rename OpenWrt initramfs image to "image.out" and put to TFTP
    directory
 6. Call "[T]: Initiate TFTP firmware transfer." to download initramfs
    image from TFTP server
 7. Type "r" key when the following message is showed, to boot initramfs
    image without flashing to spi-nor flash

    "Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?"

 8. On initramfs image, backup mtd if needed

    minimum:

    - "firmware-info"
    - "kernel"
    - "rootfs"

 9. On initramfs image, upload sysupgrade image to the device and perform
    sysupgrade
10. Wait ~200 seconds to complete flashing and rebooting.
    If the device is booted with stock firmware, login to bootmenu and
    call "[B]: Boot with backup firmware and set as default." to set the
    first OS image as default and boot it.

Notes:

- Both colors of Bi-color LEDs on the front panel cannot be turned on at
  the same time.

- "PWR" and "Logo" LEDs are connected to power source directly.

- The following partitions are added for OpenWrt.
  These partitions are contained in "uboot" partition (0x0-0x1fffff) on
  stock firmware.

  - "firmware-info"
  - "dtb"
  - "u-boot-env"
  - "board-info"

Image header for bootmenu tftp:

  0x0 - 0xf  : ?
 0x10 - 0x2f : Image Name
 0x30 - 0x17f: ?
0x180 - 0x183: Kernel Offset*
0x184 - 0x187: Kernel Length*
0x188 - 0x18b: RootFS Offset (ext2)*
0x18c - 0x18f: RootFS Length (ext2)*
0x190 - 0x193: DTB Offset
0x194 - 0x197: DTB Length
0x198 - 0x19b: Data Offset (jffs2)
0x19c - 0x19f: Data Length (jffs2)
0x1a0 - 0x1ff: ?

*: required for initramfs image

MAC addresses:

(eth0): 70:4C:A5:xx:xx:CE (board-info, 0xd880 (hex))
WAN   : 70:4C:A5:xx:xx:CF
LAN 1 : 70:4C:A5:xx:xx:D0
LAN 2 : 70:4C:A5:xx:xx:D1
LAN 3 : 70:4C:A5:xx:xx:D2
LAN 4 : 70:4C:A5:xx:xx:D3

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
6 months agomac80211: compile kconf with host gcc
Zeyu Dong [Sat, 30 Sep 2023 00:54:59 +0000 (20:54 -0400)]
mac80211: compile kconf with host gcc

Fix the building issue setting CC to KERNEL_CC in kernel.mk. The
kernel backports by default uses CC to compile kconf. A new patch is
added to mac80211 to compile kconf with host gcc.

Signed-off-by: Zeyu Dong <dzy201415@gmail.com>
[ refresh patches ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agobuild: cache kernel module package compiling
Zeyu Dong [Sat, 30 Sep 2023 00:54:58 +0000 (20:54 -0400)]
build: cache kernel module package compiling

Kernel module packages compiling is not cached (e.g. mac80211)
even with CONFIG_CCACHE on.

CC should be set to KERNEL_CC in KERNEL_MAKE_FLAGS at kernel.mk
to allow kernel module packages using ccache.

Signed-off-by: Zeyu Dong <dzy201415@gmail.com>
6 months agoodhcpd: Bump to latest commits
Kevin Darbyshire-Bryant [Tue, 24 Oct 2023 16:21:27 +0000 (17:21 +0100)]
odhcpd: Bump to latest commits

d8118f6 config: make sure timer is not on the timeouts list before freeing
4bbc6e7 add hostsfile output in addition to statefile

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 months agouboot-mediatek: Sync phy-mode for Xiaomi Redmi Router AX6000
Furong Xu [Fri, 27 Oct 2023 15:22:49 +0000 (23:22 +0800)]
uboot-mediatek: Sync phy-mode for Xiaomi Redmi Router AX6000

Commit 572ea6807053 ("uboot-mediatek: add patches for MT7988 and
builds for RFB") renamed HSGMII to 2500basex, but forgot to update
the dts of Redmi Router AX6000, makes the network unusable.
This patch makes the network usable again.

Fixes: #13724
Fixes: 572ea6807053 ("uboot-mediatek: add patches for MT7988 and builds for RFB")
Signed-off-by: Furong Xu <xfr@outlook.com>
6 months agoqualcommax: ipq807x: add support for Netgear WAX630
Kristian Skramstad [Sun, 1 Oct 2023 14:28:24 +0000 (16:28 +0200)]
qualcommax: ipq807x: add support for Netgear WAX630

```
Specifications:
* CPU: Qualcomm IPQ8074A, SoC Version: 2.0, Quad core 1651 MHz
* RAM: 1 GiB of DDR3 466 MHz
* Flash: NAND 512 MiB (Winbond W29N04GZ)
* 6 RGB LEDs: Power, LAN1, LAN2, 2.4GHz, 5GHz H and 5GHz L
* UART: One 4-pin populated header next to the heatsink and a chip.
  GND RXD TXD, beginning from the external antennas. 115200n8.

Lan:
* One 100/1000/2.5GBASE-T Gigabit Ethernet 802.3bt/at
* One 100/1000 Gigabit Ethernet

Wlan:
* 4x4 in 2.4GHz  : 802.11b/g/n/ax
* 4x4 in 5.0GHz L: 802.11a/n/ac/ax
* 4x4 in 5.0GHz H: 802.11a/n/ac/ax
* OFDM and OFDMA
* Bidir and MU-MIMO
* Internal antenna 2.86/4.41/4.98 dBi (2.4GHz/5GHz L/5GHz H)

Power:
* 802.3bt/at 30.1W
* DC 12V/3.5A

Mounting: Wall and ceiling
```

```
1.  Download the OpenWrt initramfs image. Copy the image to a TFTP server
2.  Connect to the console on the AP, and connect the LAN port to your LAN
3.  Stop auto boot to get to U-boot shell, interrupt the autoboot process by pressing '0' when prompted
4.  Set active_fw in env
4.  Set active_fw in env
    # setenv active_fw 1
5.  Transfer the initramfs image with TFTP
    # setenv serverip 192.168.1.10 (IP of TFTP server host)
    # setenv ipaddr 192.168.1.1 (IP used by the router for getting the image, must be in the same subnet as the TFTP host)
    # tftpboot openwrt-qualcommax-ipq807x-netgear_wax630-initramfs-uImage.itb
6.  Reboot and load the image
    # bootm
7.  SCP factory image to the AP
    # scp openwrt-qualcommax-ipq807x-netgear_wax630-squashfs-factory.ubi root@192.168.1.1:/tmp/
8.  Connect to device using SSH (use the LAN port)
9.  Flash squashfs-factory.ubi from within the initramfs instance of OpenWRT
    Before you flash, please check your mtd partitions where mtdX is the right mtd rootfs partition.
    # cat /proc/mtd (To check MTD partitions)
    # ubiformat /dev/mtd18 -y -f /tmp/openwrt-qualcommax-ipq807x-netgear_wax630-squashfs-factory.ubi
10. Set active_fw to 0
    # /usr/sbin/fw_setenv active_fw 0
11. Reboot the AP and your done
    # reboot
```

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Kristian Skramstad <kristian+github@83.no>
6 months agoipq-wifi: update to version 2023-10-12
Kristian Skramstad [Sun, 1 Oct 2023 14:26:04 +0000 (16:26 +0200)]
ipq-wifi: update to version 2023-10-12

Contains the following update:
52a1c29 ipq8074: add Netgear WAX630 Board file for Netgear WAX630. Extracted from stock (WAX630_BDF.bin) firmware and repacked.
e7701b8 ipq8074: update RegDB in new submitted BDF
cd04ab7 qcn9074: update RegDB in new submitted BDF

Signed-off-by: Kristian Skramstad <kristian+github@83.no>
6 months agoqualcommax: ipq807x: alphabetically sort Netgear WAX family.
Kristian Skramstad [Fri, 29 Sep 2023 02:13:35 +0000 (04:13 +0200)]
qualcommax: ipq807x: alphabetically sort Netgear WAX family.

As requested by the maintainers, the order for the WAX family
should be alphabetically. WAX620 is now after WAX218.

Files changed:
+ipq807x.mk
+01_leds

No changes to the content.

Signed-off-by: Kristian Skramstad <kristian+github@83.no>
6 months agomediatek: add CMCC RAX3000M support
Tianling Shen [Sat, 23 Sep 2023 07:04:09 +0000 (15:04 +0800)]
mediatek: add CMCC RAX3000M support

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 64GB eMMC or 128 MB SPI-NAND
  RAM: 512MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, Mesh
  Power: DC 12V 1A
- UART: 3.3v, 115200n8
  --------------------------
  |         Layout         |
  |   -----------------    |
  | 4 | GND TX VCC RX | <= |
  |   -----------------    |
  --------------------------

Gain SSH access:
1. Login into web interface, and download the configuration.
2. Enter fakeroot, decompress the configuration:
   tar -zxf cfg_export_config_file.conf
3. Edit 'etc/config/dropbear', set 'enable' to '1'.
4. Edit 'etc/shadow', update (remove) root password:
   'root::19523:0:99999:7:::'
5. Repack 'etc' directory:
   tar -zcf cfg_export_config_file.conf etc/
   * If you find an error about 'etc/wireless/mediatek/DBDC_card0.dat',
     just ignore it.
6. Upload new configuration via web interface, now you can SSH to RAX3000M.

Check stroage type:
Check the label on the back of the device:
"CH EC CMIIT ID: xxxx" is eMMC version
"CH    CMIIT ID: xxxx" is NAND version

eMMC Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'factory' part.
   ('data' partition can be ignored, it's useless.)
2. Write new GPT table:
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Erase and write new BL2:
   echo 0 > /sys/block/mmcblk0boot0/force_ro
   dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
4. Erase and write new FIP:
   dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
6. Serve OpenWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.
9. Additionally, if you want to have eMMC recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb of=/dev/mmcblk0p4 bs=512 conv=fsync

NAND Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'Factory' part.
2. Erase and write new BL2:
   mtd erase BL2
   mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin BL2
3. Erase and write new FIP:
   mtd erase FIP
   mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, erase UBI volumes:
   ubidetach -p /dev/mtd0
   ubiformat -y /dev/mtd0
   ubiattach -p /dev/mtd0
8. Create new ubootenv volumes:
   ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
   ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Additionally, if you want to have NAND recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   ubimkvol /dev/ubi0 -n 2 -N recovery -s 20MiB
   ubiupdatevol /dev/ubi0_2 openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
10. Perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
6 months agouboot-mediatek: add support for CMCC RAX3000M
Tianling Shen [Sat, 23 Sep 2023 07:02:32 +0000 (15:02 +0800)]
uboot-mediatek: add support for CMCC RAX3000M

The OEM U-Boot uses dual boot and signature verification which does not
support by OpenWrt. So add a custom U-Boot build for OpenWrt.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
6 months agoarm-trusted-firmware-mediatek: add emmc/spim-nand ddr4 build for mt7981
Tianling Shen [Sat, 23 Sep 2023 07:00:41 +0000 (15:00 +0800)]
arm-trusted-firmware-mediatek: add emmc/spim-nand ddr4 build for mt7981

They will be used on CMCC RAX3000M.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
6 months agosunxi: enable cpufreq driver for H6 SoC
Chukun Pan [Mon, 16 Oct 2023 15:18:03 +0000 (23:18 +0800)]
sunxi: enable cpufreq driver for H6 SoC

Allwinner H6 needs this driver to enable DVFS support.
May also be used with H616/H618 SoC in the future.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
6 months agosunxi: fixes led for nanopi boards
Chukun Pan [Sun, 15 Oct 2023 15:18:27 +0000 (23:18 +0800)]
sunxi: fixes led for nanopi boards

Kernel 5.15 already supports the NanoPi R1 and NanoPi R1S H5,
and they use new LED bindings that do not match the existing
settings in 01_leds. Update led settings to fixes that.

List the led node on NanoPi R1S H5:
root@OpenWrt:~# ls /sys/class/leds/
green:lan   green:wan   red:status

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
6 months agoucode: fix build on macos
Felix Fietkau [Sat, 28 Oct 2023 12:58:46 +0000 (14:58 +0200)]
ucode: fix build on macos

Remove ABI version, since its format is not accepted by the linker.
Enable rpath to avoid clash with system libraries

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 months agokernel: backport nvmem v6.6 fixes and v6.7 changes
Rafał Miłecki [Sat, 28 Oct 2023 12:07:40 +0000 (14:07 +0200)]
kernel: backport nvmem v6.6 fixes and v6.7 changes

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agokernel: bump 5.15 to 5.15.137
John Audia [Wed, 25 Oct 2023 19:26:53 +0000 (15:26 -0400)]
kernel: bump 5.15 to 5.15.137

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.137

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
6 months agoucode: update to latest Git HEAD
Jo-Philipp Wich [Thu, 26 Oct 2023 22:15:58 +0000 (00:15 +0200)]
ucode: update to latest Git HEAD

 - Introduces signal handling facilities
 - Fixes potentially incorrect object equality tests
 - Introduces debug library
 - Introduces log library
 - ABI version bump due to changed VM structure layout
 - Revised packaging

Changelog:

07c0317 jsdoc: switch to own custom theme
6ca08b0 jsdoc: properly handle indented documentation blocks
2a67f22 lib: add/improve documentation for require(), loadfile(), loadstring()
9993ccb uci: fix potential memory leaks in `configs()`
f56394f ci: re-trigger workflows on pull request pushes
1c18993 lib: various documentation fixes
d25dcb1 uci: add module documentation
4a8ece2 docs: use CSS and local JavaScript fixups to improve formatting
8f21cfa lib: introduce log library
8a3aefe build: auto-enable module depending on present libraries
6a01adc build: convert CMakeLists.txt into lowercase
8700665 ci: don't skip pull request workflows for `master` branch
0184d23 include: fix execvpe compat function on macOS
8b23884 uloop: rename environ variable to avoid clashing with system macro on macOS
7c209d7 types: ensure double serializatiion with decimal places
d150425 rtnl: update the link attr TODOs
d394174 rtnl: add IFLA_TARGET_NETNSID for operating in other namespaces
1227733 lib: fix documented return value for `splice()`
c9982de docs: add struct module documentation
7dde493 docs: add missing headline to debug module documentation
8f852ea types: improve comparison reliability of binary strings
6940c28 lib: introduce debug library
be07107 treewide: consolidate platform specific code in platform.c
2593270 uloop: interrupt on VM signals
97a5292 lib: add `signal()` stdlib function
1dbbb6a main: enable signal dispatching in the standalone cli interpreter
1623245 types: treat signal handler array as GC root
29b1c0d vm: introduce basic signal handling infrastructure
093684d fs: explicitly compare isatty() result
4f4f38f types: don't rely on implicit type conversion in ucv_compare()
4bee0ef docs: disable GitHub Jekyll post processing
5efb7a0 docs: further rework
33bc7bf docs: fix markup quirks
9d5e420 docs: add information about memory management and operator precedence
f1190ef docs: various improvements
f0cc841 fs: use `fseeko()` and `ftello()`
cba0c3c fs: complete function documentation coverage
f9260f7 github: drop superfluous CNAME file
c85bc74 Create CNAME
5309294 lib: add JSDoc documentation
b0f2f90 fs: add JSDoc documentation
fe086da math: add JSDoc documentation
70f9348 docs: add initial JSDoc infrastructure
24f1a56 source: fix source offset accounting
9df9160 lexer: don't count EOF token as newline
b9d8f06 ci: switch to official openwrt/gh-action-sdk

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 months agokernel: usb-audio remove Kconfig USB_AUDIO
Liangbin Lian [Wed, 18 Oct 2023 02:04:34 +0000 (10:04 +0800)]
kernel: usb-audio remove Kconfig USB_AUDIO

CONFIG_USB_AUDIO is a "USB Audio Gadget" driver, not a usb device driver

CONFIG_USB_AUDIO is "USB Audio support" before linux 2.6

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
6 months agokernel: Enable hwmon for nvme
Luca Barbato [Tue, 8 Aug 2023 09:02:41 +0000 (11:02 +0200)]
kernel: Enable hwmon for nvme

Expose the temperature sensors as hwmon, it improves the overall
user experience since on tiny boards the nvme can become a substantial
source of heat.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Reviewed-by: Robert Marko <robimarko@gmail.com>
6 months agokernel: bump 5.15 to 5.15.136
John Audia [Fri, 20 Oct 2023 14:27:12 +0000 (10:27 -0400)]
kernel: bump 5.15 to 5.15.136

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.136

Removed bcm53xx patch backported from 5.15.136:
target/linux/bcm53xx/patches-5.15/081-xhci-Keep-interrupt-disabled-in-initialization-until.patch [1]

All other patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

1. https://github.com/openwrt/openwrt/pull/13751#issuecomment-1781206937

Signed-off-by: John Audia <therealgraysky@proton.me>
[rmilecki: updated commit description & tested on Luxul XWR-3150]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agobcm53xx: backport XHCI patch modifying xhci_run_finished()
Rafał Miłecki [Thu, 26 Oct 2023 13:53:14 +0000 (15:53 +0200)]
bcm53xx: backport XHCI patch modifying xhci_run_finished()

This will help switching to newer 5.15 kernels. This backport required
rebasing Northstar's USB host patch.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agobcm53xx: add missed spin unlock to USB host patch
Rafał Miłecki [Thu, 26 Oct 2023 12:18:38 +0000 (14:18 +0200)]
bcm53xx: add missed spin unlock to USB host patch

Fixes: 265071af7c45 ("bcm53xx: add testing support for kernel 6.1")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agokernel: bump 6.1 to 6.1.60
John Audia [Wed, 25 Oct 2023 18:36:20 +0000 (14:36 -0400)]
kernel: bump 6.1 to 6.1.60

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

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
6 months agobcm53xx: backport 1 more late DT patch accepted for v6.7
Rafał Miłecki [Thu, 26 Oct 2023 05:12:36 +0000 (07:12 +0200)]
bcm53xx: backport 1 more late DT patch accepted for v6.7

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agoopenssl: update to 3.0.12
Hauke Mehrtens [Tue, 24 Oct 2023 20:42:19 +0000 (22:42 +0200)]
openssl: update to 3.0.12

Major changes between OpenSSL 3.0.11 and OpenSSL 3.0.12 [24 Oct 2023]
 * Mitigate incorrect resize handling for symmetric cipher keys and IVs. (CVE-2023-5363)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 months agouqmi: update to latest HEAD
David Bauer [Fri, 20 Oct 2023 13:14:15 +0000 (15:14 +0200)]
uqmi: update to latest HEAD

c8c9f10 uim: fix help formatting
aac0776 uqmi: add APN profile commands
ffc5eea uim: support SIM card power-up/down
d6c963d uim: add application state to SIM status

Signed-off-by: David Bauer <mail@david-bauer.net>
6 months agomtd-utils: update to 2.1.6
Nick Hainke [Tue, 24 Oct 2023 11:21:56 +0000 (13:21 +0200)]
mtd-utils: update to 2.1.6

Release Notes:
https://lists.infradead.org/pipermail/linux-mtd/2023-August/100922.html

Signed-off-by: Nick Hainke <vincent@systemli.org>
6 months agoixp4xx: Add USRobotics USR8200 support
Linus Walleij [Mon, 23 Oct 2023 06:43:09 +0000 (08:43 +0200)]
ixp4xx: Add USRobotics USR8200 support

This brings back USRobotics USR8200 support to the IXP4xx
target.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agoixp4xx: Add a ixp4xx hardware crypto kernel module
Linus Walleij [Mon, 23 Oct 2023 06:43:08 +0000 (08:43 +0200)]
ixp4xx: Add a ixp4xx hardware crypto kernel module

The IXP4xx crypto module must be loaded after the rootfs is
up as it depends on loading some NPE microcode from the file
system.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agoixp4xx: Resurrect IXP4xx support using device tree
Linus Walleij [Mon, 23 Oct 2023 06:43:07 +0000 (08:43 +0200)]
ixp4xx: Resurrect IXP4xx support using device tree

This resurrects the support for IXP4xx using device tree
rather than the old (deleted) board files. The final pieces
of IXP4xx board files were deleted in Linux v5.19.

Ext4 root filesystems on CF and USB are supported by the
default config.

We support these three initial targets:

- The Gateworks Avila GW2348 reference design has 64MB of RAM
  and 32MB of flash and also supports USB and CompactFlash.

- The Gateworks Cambria GW2358 reference design has 128MB of
  RAM and 32MB of flash and also supports USB and CompactFlash.

- The old and stable Linksys NSLU2 works fine as well, albeit
  it only has 32MB of RAM so it has been marked as non-default.
  The 8MB of flash can only fit the kernel, so it has been
  patched to boot from exteral media on USB. I have used
  it successfully as a NAS with ksmbd and LUCI web API, see:
  https://dflund.se/~triad/krad/ixp4xx/

Signed-off-by: Howard Harte <hharte@magicandroidapps.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
6 months agofirmware: Resurrect the ixp4xx microcode package
Linus Walleij [Mon, 23 Oct 2023 06:43:06 +0000 (08:43 +0200)]
firmware: Resurrect the ixp4xx microcode package

The firmware package for the IXP4xx microcode was deleted but
the source files are still in the file cache so we can easily
resurrect it.

The firmware either supports ethernet (the most common) or
WAN (less common), image targets select the firmware they
want depending on usecase.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agogeneric: Support Altima AMI101L PHY
Linus Walleij [Mon, 23 Oct 2023 06:43:05 +0000 (08:43 +0200)]
generic: Support Altima AMI101L PHY

This is a backport of the patch to support the Altima AMI101L
PHY which is merged for the v6.7 kernel. This PHY is used in the
IXP4xx-based USRobotics USR8200.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agogeneric: RTC7301 byte-addressed IO
Linus Walleij [Mon, 23 Oct 2023 06:43:04 +0000 (08:43 +0200)]
generic: RTC7301 byte-addressed IO

This is a backport of the patch for byte addressed IO to the
Epson RTC7301 driver. This is used by the IXP4xx-based
USRobotics USR8200.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agokernel: netdevices: Package AMD PHY
Linus Walleij [Mon, 23 Oct 2023 06:43:03 +0000 (08:43 +0200)]
kernel: netdevices: Package AMD PHY

This adds a package for the AMD and Altima PHY, found in some
odd devices.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agoimage: Fix the CONFIG_EXTERNAL_CPIO logic
Luca Barbato [Tue, 24 Oct 2023 11:10:51 +0000 (13:10 +0200)]
image: Fix the CONFIG_EXTERNAL_CPIO logic

Fix the qstrip call.

Fixes: #13776.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 months agosifiveu: remove 5.15 support
Zoltan HERPAI [Tue, 24 Oct 2023 09:42:46 +0000 (11:42 +0200)]
sifiveu: remove 5.15 support

With 6.1 as the default kernel, there is no reason to keep 5.15 around.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 months agosifiveu: switch to kernel v6.1
Zoltan HERPAI [Tue, 24 Oct 2023 09:40:51 +0000 (11:40 +0200)]
sifiveu: switch to kernel v6.1

Enable kernel v6.1 as the default kernel for sifiveu.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 months agobcm53xx: disable unused switch ports in downstream patch
Rafał Miłecki [Fri, 13 Oct 2023 11:25:33 +0000 (13:25 +0200)]
bcm53xx: disable unused switch ports in downstream patch

This makes Linux use correct switch ports again.

Fixes: a4792d79e899 ("bcm53xx: backport DT changes from v6.5")
Fixes: https://github.com/openwrt/openwrt/issues/13548
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agobcm53xx: backport DT changes queued for v6.7
Rafał Miłecki [Tue, 24 Oct 2023 05:40:37 +0000 (07:40 +0200)]
bcm53xx: backport DT changes queued for v6.7

Among other changes this commit makes Linux use correct switch ports
again.

Fixes: a4792d79e899 ("bcm53xx: backport DT changes from v6.5")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agobcm53xx: simplify patch adding switch ports
Rafał Miłecki [Fri, 13 Oct 2023 10:57:35 +0000 (12:57 +0200)]
bcm53xx: simplify patch adding switch ports

We now have all raw ports defined in bcm-ns.dtsi. Leave only lables in
custom device files.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agobase-files: functions.sh: Add prepend() homologue to append()
Philip Prindeville [Sun, 24 Sep 2023 17:52:19 +0000 (11:52 -0600)]
base-files: functions.sh: Add prepend() homologue to append()

Sometimes it's useful to be able to prepend to a variable as
well, such as when dealing with domain names, e.g.

    prepend fdqn "$subdomain" "."

will result in:

   fqdn="$subdomain.$fqdn"

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
6 months agokernel: ath79, bmips: refresh 5.15 patches
Marek Behún [Mon, 23 Oct 2023 08:46:59 +0000 (10:46 +0200)]
kernel: ath79, bmips: refresh 5.15 patches

One LED patch for ath79 and one LED patch for bmips need to be
refreshed.

Signed-off-by: Marek Behún <kabel@kernel.org>
6 months agokernel: 5.15: Backport Turris Omnia LED patches
Marek Behún [Sun, 22 Oct 2023 15:48:03 +0000 (17:48 +0200)]
kernel: 5.15: Backport Turris Omnia LED patches

This backports patches
  leds: turris-omnia: convert to use dev_groups
  leds: turris-omnia: Use sysfs_emit() instead of sprintf()
  leds: turris-omnia: Drop unnecessary mutex locking
  leds: turris-omnia: Do not use SMBUS calls
  leds: turris-omnia: Make set_brightness() more efficient
  leds: turris-omnia: Support HW controlled mode via private trigger
  leds: turris-omnia: Add support for enabling/disabling HW gamma correction
  leds: turris-omnia: Fix brightness setting and trigger activating
into backport-5.15.

The above patches replace:
  leds: turris-omnia: support HW controlled mode via private trigger
  leds: turris-omnia: initialize multi-intensity to full
  leds: turris-omnia: change max brightness from 255 to 1
from mvebu/patches-5.15.

Signed-off-by: Marek Behún <kabel@kernel.org>
6 months agobcm53xx: update patch fixing NVMEM driver for NVRAM
Rafał Miłecki [Mon, 23 Oct 2023 08:46:56 +0000 (10:46 +0200)]
bcm53xx: update patch fixing NVMEM driver for NVRAM

1. Avoid corrupting (replacing '=' with '\0') NVRAM content
2. Check actual NVRAM data length to avoid allocating huge buffers

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agoRevert "lantiq: xrx200: mark subtarget as source-only"
Hauke Mehrtens [Sun, 8 Oct 2023 22:26:18 +0000 (00:26 +0200)]
Revert "lantiq: xrx200: mark subtarget as source-only"

This reverts commit 0c117e1f6ccbee684ea0589d9024ca9dec4679c9.

Activate the lantiq/xrx200 target again.

There are still some problems with the GSWIP, but it is not leaking
packets to the wrong bridge in normal operations.
It shows some error messages at configuration like these:
[   54.308861] gswip 1e108000.switch: port 5 failed to add ce:9d:84:d1:81:f0 vid 1 to fdb: -22
[   54.325633] gswip 1e108000.switch: port 5 failed to add e8:de:27:95:c1:b4 vid 0 to fdb: -22
[   54.351242] gswip 1e108000.switch: port 5 failed to add e8:de:27:95:c1:b4 vid 1 to fdb: -22
[   54.358311] gswip 1e108000.switch: port 5 failed to delete ce:9d:84:d1:81:f0 vid 1 from fdb: -2

The problems are described in this pull request:
https://github.com/openwrt/openwrt/pull/13200

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 months agouboot-mediatek: fix global pll clock override on mtk_spim
Nicolò Veronese [Mon, 2 Oct 2023 20:17:09 +0000 (22:17 +0200)]
uboot-mediatek: fix global pll clock override on mtk_spim

With patch 101-03-spi-mtk_spim-get-spi-clk-rate-only-once.patch
 a new system to calculate the SPI clocks has been added.

Unfortunately, the do_div macro overrides the global
 priv->pll_clk_rate field. This will cause to have a reduced
 clock rate on each subsequent SPI call.

Signed-off-by: Valerio 'ftp21' Mancini <ftp21@ftp21.eu>
Signed-off-by: Nicolò Veronese <nicveronese@gmail.com>
6 months agolibnl: add support for cli
Koen Vandeputte [Wed, 5 Jul 2023 11:56:16 +0000 (13:56 +0200)]
libnl: add support for cli

Some packages (like wavemon >= 0.9.4) depend on libnl-cli. Add support
for this part of the lib. libnl-cli itself depends on libnl-genl and
libnl-nf. On MIPS, this component adds 81kB.

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
(punctuation correction and reorganisation of commit message)
Signed-off-by: Nick Hainke <vincent@systemli.org>
6 months agobcm53xx: Linksys EA9200 nvram and 02_network fixes
Rani Hod [Sat, 30 Sep 2023 23:05:19 +0000 (02:05 +0300)]
bcm53xx: Linksys EA9200 nvram and 02_network fixes

1) clear nvram partialboots upon successful boot
This behavior is already defined for EA9500; enabled for EA9200 too.

2) fix MAC address in board.d/02_network
Use the correct nvram variable to derive lan/wan MAC address.

Signed-off-by: Rani Hod <rani.hod@gmail.com>
6 months agoramips: TP-link archer A6/C6 device tree updates
Rani Hod [Fri, 20 Oct 2023 13:15:38 +0000 (16:15 +0300)]
ramips: TP-link archer A6/C6 device tree updates

Set correct GPIO (10) for the WPS button. This matches GPIO settings in
vendor GPL sources. Note that GPL sources also mention a USB indicator
LED (GPIO 13) but the device has neither an external USB port nor a USB LED.

In addition, prefixes (button-, led-) are added to relevant DT entries,
as well as color and function specifications for LEDs.

Closes: #13736
Reported-by: Waldemar Czabaj <kaball@wp.pl>
Signed-off-by: Rani Hod <rani.hod@gmail.com>
(added led mitigations for wifi leds)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
6 months agouboot-mvebu: armada 388 clearfog: support additional ddr configurations
Josua Mayer [Sun, 8 Oct 2023 15:21:26 +0000 (17:21 +0200)]
uboot-mvebu: armada 388 clearfog: support additional ddr configurations

Fixes Issue #13632.

Patches as submitted in v1 to u-boot mailinglist:
https://lists.denx.de/pipermail/u-boot/2023-October/533148.html

Signed-off-by: Josua Mayer <josua@solid-run.com>
6 months agotools: mold: update to v2.3.1
Andre Heider [Sat, 21 Oct 2023 09:08:44 +0000 (11:08 +0200)]
tools: mold: update to v2.3.1

Release notes:
https://github.com/rui314/mold/releases/tag/v2.3.0
https://github.com/rui314/mold/releases/tag/v2.3.1

Signed-off-by: Andre Heider <a.heider@gmail.com>
6 months agokernel: bump 6.1 to 6.1.59
John Audia [Fri, 20 Oct 2023 08:15:03 +0000 (04:15 -0400)]
kernel: bump 6.1 to 6.1.59

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

Manually rebased:
bcm27xx/patches-6.1/950-0124-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch

Removed upstreamed:
generic/backport-6.1/781-v6.6-02-net-dsa-qca8k-fix-potential-MDIO-bus-conflict-when-a.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.59&id=881050b25b1dda7b0f14d40d1b09bf38cb3b427c

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
6 months agokernel: bump 6.1 to 6.1.58
John Audia [Fri, 20 Oct 2023 07:37:22 +0000 (03:37 -0400)]
kernel: bump 6.1 to 6.1.58

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

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
6 months agokernel: fix missing regmap-mmio dependency for rtc-r7301
Christian Marangi [Fri, 20 Oct 2023 13:56:34 +0000 (15:56 +0200)]
kernel: fix missing regmap-mmio dependency for rtc-r7301

Add missing regmap-mmio dependency for rtc-r7301 to fix packaging error.

Fixes: f2bc4c1f1588 ("kernel: Add kmod-rtc-r7301")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agokernel: 6.1: Backport Turris Omnia LED patches
Marek Mojík [Mon, 16 Oct 2023 15:14:18 +0000 (17:14 +0200)]
kernel: 6.1: Backport Turris Omnia LED patches

This backports patches
  leds: turris-omnia: Use sysfs_emit() instead of sprintf()
  leds: turris-omnia: Drop unnecessary mutex locking
  leds: turris-omnia: Do not use SMBUS calls
  leds: turris-omnia: Make set_brightness() more efficient
  leds: turris-omnia: Support HW controlled mode via private trigger
  leds: turris-omnia: Add support for enabling/disabling HW gamma correction
  leds: turris-omnia: Fix brightness setting and trigger activating
into backport-6.1.

The above patches replace:
  leds: turris-omnia: support HW controlled mode via private trigger
  leds: turris-omnia: initialize multi-intensity to full
  leds: turris-omnia: change max brightness from 255 to 1
from mvebu/patches-6.1.

Signed-off-by: Marek Mojík <marek.mojik@nic.cz>
6 months agotoolchain: link ldd when using external toolchain
Arien Judge [Fri, 13 Oct 2023 09:58:16 +0000 (20:58 +1100)]
toolchain: link ldd when using external toolchain

When using an external toolchain, ldd is not linked into the rootfs.
This causes subsequent upgrades to fail with 'Failed to exec upgraded'.
This patch adds the symlink when using an external toolchain and musl.

Signed-off-by: Arien Judge <arienjudge@outlook.com>
6 months agouboot-mediatek: fix typo in bootmenu for GL-MT6000
Jianhui Zhao [Tue, 10 Oct 2023 06:09:38 +0000 (14:09 +0800)]
uboot-mediatek: fix typo in bootmenu for GL-MT6000

Fixes: fe10f97 ("filogic: add support for GL.iNet GL-MT6000")
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
6 months agorealtek: add support for TP-Link T1600G-28TS v3
Andreas Böhler [Wed, 5 Apr 2023 19:10:34 +0000 (21:10 +0200)]
realtek: add support for TP-Link T1600G-28TS v3

This is an RTL8382-based switch with 24 copper ports + 4 SFP ports

Specifications:
---------------
 * SoC:       Realtek RTL8382M
 * Flash:     32 MiB SPI flash
 * RAM:       256 MiB
 * Ethernet:  24x 10/100/1000 Mbps
 * Buttons:   1x "Reset" button
 * UART:      1x serial header, unpopulated
 * SFP:       4 SFP ports

Works:
------
  - (24) RJ-45 ethernet ports
  - Switch functions
  - Buttons
  - Sys LED on front panel (no port LEDs)

Not yet enabled:
----------------
  - Port LEDs (no driver for RTL8231 in this mode)
  - SFP cages (no driver for PHY)

Install via web interface:
-------------------------

Not supported at this time.

Install via serial console/tftp:
--------------------------------

The U-Boot firmware drops to a TP-Link specific "BOOTUTIL" shell at
38400 baud. There is no known way to exit out of this shell, and no
way to do anything useful.

Ideally, one would trick the bootloader into flashing the sysupgrade
image first. However, if the image exceeds 6MiB in size, it will not
work. To install OpenWRT:

Prepare a tftp server with:
 1. server address: 192.168.0.146
 2. the image as: "uImage.img"

Power on device, and stop boot by pressing any key.
Once the shell is active:
 1. Ground out the CLK (pin 16) of the ROM (U6)
 2. Select option "3. Start"
 3. Bootloader notes that "The kernel has been damaged!"
 4. Release CLK as soon as bootloader thinks image is corrupted.
 5. Bootloader enters automatic recovery -- details printed on console
 6. Watch as the bootloader flashes and boots OpenWRT.

Blind install via tftp:
-----------------------

This method works when it's not feasible to install a serial header.

Prepare a tftp server with:
 1. server address: 192.168.0.146
 2. the image as: "uImage.img"
 3. Watch network traffic (tcpdump or wireshark works)
 4. Power on the device.
 5. Wait 1-2 seconds then ground out the CLK (pin 16) of the ROM (U6)
 6. When 192.168.0.30 makes tftp requests, release pin 16
 7. Wait 2-3 minutes for device to auto-flash and boot OpenWRT

Signed-off-by: Andreas Böhler <dev@aboehler.at>
6 months agoipq40xx: wpj428: switch to zimage to fit kernel partition
Leon M. Busch-George [Mon, 16 Oct 2023 17:41:21 +0000 (19:41 +0200)]
ipq40xx: wpj428: switch to zimage to fit kernel partition

Like with some other ipq40xx devices, the kernel image size for the WPJ428
is limited in stock u-boot. For that reason, the current release doesn't
include an image for the board.
By switching to the zImage format, the kernel image size is reduced which
re-enables the build process. The image boots and behaved normally through
a few days of testing.

Before the switch to kernel version 6.1, it was possible to reduce the
image size by enough when disabling UBIFS and its otherwise unneeded
dependencies.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
6 months agoapm821xx: WNDR4700: fix broken sysupgrade, factory images
Christian Lamparter [Fri, 20 Oct 2023 14:20:27 +0000 (16:20 +0200)]
apm821xx: WNDR4700: fix broken sysupgrade, factory images

prepend-dtb got extended to handle the Meraki devices too,
the problem here was that the Netgear WNDR4700 expects an
u-boot header in front of the DTB, whereas Meraki devices
don't.

Since the header was dropped, the WNDR4700's uboot started
to complain:
  Bad Magic Number,it is forbidden to be written to flash!!

when flashing the factory.img since it expects an u-boot
header there.

Fixes: 5dece2d9355a ("apm821xx: switch over from DTB_SIZE to DEVICE_DTC_FLAGS")
Reported-by: @kisgezenguz
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
6 months agoath79: AP105: use fixed layout cell "mac-base"
Christian Lamparter [Fri, 21 Jul 2023 14:44:11 +0000 (16:44 +0200)]
ath79: AP105: use fixed layout cell "mac-base"

This drops a use of the deprecated "mac-address-increment".

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
6 months agotreewide: make use of new toolchain define
Christian Marangi [Thu, 19 Oct 2023 16:16:25 +0000 (18:16 +0200)]
treewide: make use of new toolchain define

Make use of new toolchain define. TOOLCHAIN_DIR should be used only for
toolchain related packages and for everything else TOOLCHAIN_ROOT_DIR
and other define should be used instead.

Switch to new entry where possible.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agorules.mk: make toolchain dirs define more consistent
Christian Marangi [Thu, 19 Oct 2023 15:39:24 +0000 (17:39 +0200)]
rules.mk: make toolchain dirs define more consistent

Make toolchain dirs define more consistent between internal and external
toolchains.

Make use of specific dirs also for intenral toolchain and generilize
include and lib inclusion.

Also set TOOLCHAIN_ROOT_DIR for internal toolchain as this is what
packages should use to reference staging toolchain directory.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agoscripts/ext-toolchain: implement external GCC version detection
Christian Marangi [Thu, 19 Oct 2023 12:19:09 +0000 (14:19 +0200)]
scripts/ext-toolchain: implement external GCC version detection

Some package may needs to enable compatibility option based on the GCC
version.

Currently the GCC version is set based on the default value and doesn't
actually reflect the real value provided by the external toolchain if
used.

Fix this by correctly detecting the GCC version in the external
toolchain and set the correct value in CONFIG_GCC_VERSION.

A new option is added in menuconfig to manually set the GCC version if
needed.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agotreewide: disable QUILT refresh for unsupported packages
Christian Marangi [Sun, 15 Oct 2023 19:11:17 +0000 (21:11 +0200)]
treewide: disable QUILT refresh for unsupported packages

Some packages won't ever have something to patch as they normally
install files or are meta-packages.

For these special packages, disable QUILT refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agodnsmasq: add support for RA option 31
Rahul Thakur [Fri, 20 Oct 2023 04:27:46 +0000 (09:57 +0530)]
dnsmasq: add support for RA option 31

The option 31 in the RA specifies the DNS search list, the support
to configure this via UCI is missing in case dnsmasq-dhcpv6 is used.

This commit uses the uci option domain (same as is done by odhcpd) to
read and pass the DNS search list to dnsmasq, which is then used by RA.

Hence, with this commit, we are able to configure DNS search list for the
RA messages via the uci config when dnsmsaq-dhcpv6 is used.

Signed-off-by: Rahul Thakur <rahul.thakur@iopsys.eu>
6 months agoipq40xx: switch to performance governor by default
Koen Vandeputte [Tue, 12 Sep 2023 13:38:27 +0000 (15:38 +0200)]
ipq40xx: switch to performance governor by default

Doing a simple ping to my device shows this:

64 bytes from 10.0.253.101: icmp_seq=1 ttl=64 time=2.00 ms
64 bytes from 10.0.253.101: icmp_seq=2 ttl=64 time=2.02 ms
64 bytes from 10.0.253.101: icmp_seq=3 ttl=64 time=1.68 ms
64 bytes from 10.0.253.101: icmp_seq=4 ttl=64 time=1.91 ms
64 bytes from 10.0.253.101: icmp_seq=5 ttl=64 time=1.92 ms
64 bytes from 10.0.253.101: icmp_seq=6 ttl=64 time=2.04 ms

Some users even report higher values on older kernels:

64 bytes from 192.168.1.10: seq=0 ttl=64 time=0.612 ms
64 bytes from 192.168.1.10: seq=1 ttl=64 time=2.852 ms
64 bytes from 192.168.1.10: seq=2 ttl=64 time=2.719 ms
64 bytes from 192.168.1.10: seq=3 ttl=64 time=2.741 ms
64 bytes from 192.168.1.10: seq=4 ttl=64 time=2.808 ms

The problem is that the governor is set to Ondemand, which causes
the CPU to clock all the way down to 48MHz in some cases.

Switching to performance governor:

64 bytes from 10.0.253.101: icmp_seq=1 ttl=64 time=0.528 ms
64 bytes from 10.0.253.101: icmp_seq=2 ttl=64 time=0.561 ms
64 bytes from 10.0.253.101: icmp_seq=3 ttl=64 time=0.633 ms
64 bytes from 10.0.253.101: icmp_seq=4 ttl=64 time=0.526 ms

In theory, using the Performance governor should increase power draw,
but it looks like it really does not matter for this soc.

Using a calibrated precision DC power supply (cpu idle):

Ondemand
24.00V * 0.134A = 3.216 Watts
48.00V * 0.096A = 4.608 Watts

Performance
24.00V * 0.135A = 3.240 Watts
48.00V * 0.096A = 4.608 Watts

Let's simply switch to the Performance governor by default
to fix the general jittery behaviour on devices using this soc.

Tested on: MikroTik wAP ac

Fixes: #13649
Reviewed-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Thibaut VARÈNE <hacks@slashdirt.org>
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
6 months agonftables: update to 1.0.9
Nick Hainke [Thu, 19 Oct 2023 13:26:44 +0000 (15:26 +0200)]
nftables: update to 1.0.9

ChangeLog:
https://www.netfilter.org/projects/nftables/files/changes-nftables-1.0.9.txt

Signed-off-by: Nick Hainke <vincent@systemli.org>
6 months agokernel: Add kmod-rtc-r7301
Linus Walleij [Thu, 12 Oct 2023 08:42:19 +0000 (10:42 +0200)]
kernel: Add kmod-rtc-r7301

To support the IXP42x platforms we need a kernel module
for the Epson R7301 RTC so we can load it as an optional
module.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Robert Marko <robimarko@gmail.com>
6 months agokernel: Add kmod-rtc-x1205
Linus Walleij [Thu, 12 Oct 2023 08:42:18 +0000 (10:42 +0200)]
kernel: Add kmod-rtc-x1205

To support the IXP42x platforms we need a kernel module
for the X1205 RTC so we can load it as an optional module.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Robert Marko <robimarko@gmail.com>
6 months agokernel: crypto: armeb build rules for lib-chacha20
Linus Walleij [Thu, 12 Oct 2023 08:42:17 +0000 (10:42 +0200)]
kernel: crypto: armeb build rules for lib-chacha20

The lib-chacha20 library is missing build rules for big endian
ARM, and since IXP4xx is big endian ARM we need those rules to
build for IXP4xx.

Suggested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agoboot/apex: Restore the APEX boot loader
Linus Walleij [Thu, 12 Oct 2023 08:42:16 +0000 (10:42 +0200)]
boot/apex: Restore the APEX boot loader

This is a partial revert of the deletion of the IXP4xx
target: we restore the APEX boot loader so we can use it
for the NSLU2 and related targets.

The APEX upstream is as dead as it gets so I have applied
OpenWrts old patches on top of the never released
v1.6.10 version and forked it into an OpenWrt variant
on GitHub. If the upstream comes back alive I will
happily switch over to it.

The file refers to the external GitHub, I suppose when
integrating this patch the file should be copied to OpenWrts
file repository and the file link changed.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agonetifd: update to latest git HEAD
Christian Marangi [Fri, 20 Oct 2023 11:00:00 +0000 (13:00 +0200)]
netifd: update to latest git HEAD

5590a80e2566 config: fix incompatible with jshn network-device entry

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agobase-files: fix wrong ucidef_set_network_device_mac network-device entry
Michael 'ASAP' Weinrich [Fri, 6 Oct 2023 02:39:58 +0000 (19:39 -0700)]
base-files: fix wrong ucidef_set_network_device_mac network-device entry

The ucidef_set_network_device_* functions in uci-defaults.sh disagree
on whether to use "network-device" or "network_device" in board.json.
With the additional caveat that jshn will translate hyphens (-) into
underscores (_). This casues problems in netifd which expected
"network_device" causing boards which depend on assigning MACs in
board.json via uci-defaults.sh (or jshn in general) to fail.

This commit addresses the issue by using network_device in
uci-defaults.sh.

The bug was uncovered in the forums here:
https://forum.openwrt.org/t/support-for-rtl838x-based-managed-switches/57875/2596

This was exposed by commit 4ebba8a05d09 ("realtek: add support for HPE
1920-8g-poe+") where the board_config_load call from 03_gpio introduced
the key normalization by jshn.

Fixes: 9290539ca9c7 ("base-files: allow setting device and bridge macs")
Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Michael 'ASAP' Weinrich <michael@a5ap.net>
[ improve commit title, description and fix wrong Tested-by tag ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agoarmsr: preserve configuration during sysupgrade
Christian Buschau [Tue, 17 Oct 2023 12:51:53 +0000 (14:51 +0200)]
armsr: preserve configuration during sysupgrade

Copy configuration to boot partition (partition 1) instead of root
partition (partition 2) because the root partition is not writable if
it's a suqashfs image.
Move configuration back to root during preinit.

Fixes: https://github.com/openwrt/openwrt/issues/13695
Signed-off-by: Christian Buschau <cbuschau@d00t.de>
6 months agoumdns: update to the latest version
Felix Fietkau [Thu, 19 Oct 2023 17:15:11 +0000 (19:15 +0200)]
umdns: update to the latest version

479c7f8676d9 cache: make record/hostname lookup case-insensitive
26c97a5a50bf ubus: add a browse flag for suppressing cached ip addresses
c286c51a9bd9 Fix AVL tree traversal in cache_record_find and cache_host_is_known
4035fe42df58 interface: use a global socket instead of per-interface ones
c63d465698c7 cache: dump hostname target from srv records
b42b22152d73 use hostname from SRV record to look up IP addresses
d45c443aa1e6 ubus: add array flag support for the hosts method

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 months agolayerscape: kernel: refresh 6.1 patches
Pawel Dembicki [Fri, 13 Oct 2023 13:20:43 +0000 (15:20 +0200)]
layerscape: kernel: refresh 6.1 patches

Kernel patches copied from 5.15 need to be refreshed.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agogeneric: kernel: add missing symbol
Pawel Dembicki [Thu, 12 Oct 2023 12:52:22 +0000 (14:52 +0200)]
generic: kernel: add missing symbol

It was found during work on layerscape target.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agolayerscape: port "-Werror" fix from NXP tree
Pawel Dembicki [Thu, 19 Oct 2023 10:07:03 +0000 (12:07 +0200)]
layerscape: port "-Werror" fix from NXP tree

At this moment, 702-phy-Add-2.5G-SGMII-interface-mode.patch cause error
durring kernel compilation:

  CC      drivers/net/phy/phylink.o
drivers/net/phy/phylink.c: In function 'phylink_get_capabilities':
drivers/net/phy/phylink.c:443:9: error: enumeration value 'PHY_INTERFACE_MODE_2500SGMII' not handled in switch [-Werror=switch]
  443 |         switch (interface) {
      |         ^~~~~~
cc1: all warnings being treated as errors

NXP take care of it. Let's port their patch.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agolayerscape: add 6.1 kernel as testing
Pawel Dembicki [Tue, 18 Apr 2023 08:30:47 +0000 (10:30 +0200)]
layerscape: add 6.1 kernel as testing

It allow to test 6.1 kernel in Layerscape.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agolayerscape: 6.1: refresh kernel config
Pawel Dembicki [Mon, 17 Apr 2023 15:55:59 +0000 (17:55 +0200)]
layerscape: 6.1: refresh kernel config

Done by 'make kernel_oldconfig'.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agolayerscape: copy config 5.15 to 6.1
Pawel Dembicki [Mon, 17 Apr 2023 15:26:38 +0000 (17:26 +0200)]
layerscape: copy config 5.15 to 6.1

Configs was just copied.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agolayerscape: refresh kernel config
Pawel Dembicki [Mon, 17 Apr 2023 15:15:49 +0000 (17:15 +0200)]
layerscape: refresh kernel config

Done by 'make kernel_oldconfig'.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agolayerscape: copy patches 5.15 to 6.1
Pawel Dembicki [Mon, 17 Apr 2023 14:55:36 +0000 (16:55 +0200)]
layerscape: copy patches 5.15 to 6.1

Patches recreated from NXP 6.1 tree:
400-LF-20-3-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch
701-staging-add-fsl_ppfe-driver.patch
702-phy-Add-2.5G-SGMII-interface-mode.patch

Patch 703 includes changes made by Christian Marangi, extracted from commit
0d4a547905d4.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agoRevert "ramips: convert MT7915 EEPROM to NVMEM format"
Shiji Yang [Tue, 17 Oct 2023 12:57:07 +0000 (20:57 +0800)]
Revert "ramips: convert MT7915 EEPROM to NVMEM format"

Some MT7915 devices need to load the second part of the eeprom to
work properly. The mt76 driver is not yet ready to read the pre-cal
data via the NVMEM cell. Therefore, partially revert commit to fix
the device probe issue on some devices.

P.S.
Except for D-Link and Ubnt devices, It is still uncertain whether
pre-cal data is required for other devices in the patch.

This partially reverts commit 9ac891f8c44124e931c15f1257347cd8ba311a19.

Fixes: https://github.com/openwrt/openwrt/issues/13700
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: add missing mt76 packages for Telco Electronics X1
Shiji Yang [Mon, 2 Oct 2023 03:42:23 +0000 (11:42 +0800)]
ramips: add missing mt76 packages for Telco Electronics X1

Telco Electronics X1 has MT7603E and MT7612E PCIe NICs. They are
driven by kmod-mt7603 and kmod-mt76x2.

Ref: 73e0f52b6e4e ("ramips: add support for Telco Electronics X1")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: fix factory partition size for SNR-CPE-W4N
Shiji Yang [Sun, 15 Oct 2023 03:04:46 +0000 (11:04 +0800)]
ramips: fix factory partition size for SNR-CPE-W4N

The starting address of 'factory' partition is 0x40000, and the
starting address of the next partition is 0x50000. It's obvious
that the correct size for the 'factory' is 0x10000, just like
other MT7620 devices.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: fix frequency limit property for some Edimax devices
Shiji Yang [Sun, 15 Oct 2023 02:57:44 +0000 (10:57 +0800)]
ramips: fix frequency limit property for some Edimax devices

These three devices uses MT7612E PCIe NIC and supported by the
'mt76' driver. So the right frequency limit property should be
`ieee80211-freq-limit`.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: remove useless status property from wmac dts node
Shiji Yang [Sun, 15 Oct 2023 01:40:06 +0000 (09:40 +0800)]
ramips: remove useless status property from wmac dts node

On the ramips target, all 'wmac' nodes in SoC dtsi are enabled by
default except mt7628. There is no need to mark them as 'okay'
again. So these useless properties can be removed.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: convert mt76 PCIe NIC EEPROM to NVMEM format for legacy SoCs
Shiji Yang [Mon, 2 Oct 2023 02:12:02 +0000 (10:12 +0800)]
ramips: convert mt76 PCIe NIC EEPROM to NVMEM format for legacy SoCs

This patch converts MT761{0,2,3} PCIe WiFi calibration data to NVMEM
format for legacy Ralink SoCs (MT7620 and Mt7628). The EEPROM size of
the MT7610 and MT7612 is 0x200. there are only three devices uses
MT7613 NIC, ASUS RT-AC1200 V2, COMFAST CF-WR758AC V2 and Keenetic
KN-1613. The EEPROM size of them is 0x4da8.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: convert MT7628 EEPROM to NVMEM format
Shiji Yang [Mon, 2 Oct 2023 02:12:02 +0000 (10:12 +0800)]
ramips: convert MT7628 EEPROM to NVMEM format

This patch converts MT7628 WiFi calibration data to NVMEM format. The
EEPROM size is 0x400.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: convert rt2x00 EEPROM to NVMEM format
Shiji Yang [Mon, 2 Oct 2023 02:12:02 +0000 (10:12 +0800)]
ramips: convert rt2x00 EEPROM to NVMEM format

This patch converts legacy Ralink SoCs and MT7620 WiFi calibration
data to NVMEM format. The EEPROM size is 0x200.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: fix mtd partition node names for Phicomm PSG1208
Shiji Yang [Mon, 2 Oct 2023 03:54:59 +0000 (11:54 +0800)]
ramips: fix mtd partition node names for Phicomm PSG1208

The mtd partition node name should be "partition@${offset}".
However, the offsets of the PSG1208 don't match the partition
'reg' properties. This patch correct the wrong offsets.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: fix DTS EEPROM property for some MT7628 devices
Shiji Yang [Mon, 2 Oct 2023 03:41:49 +0000 (11:41 +0800)]
ramips: fix DTS EEPROM property for some MT7628 devices

The MT7628 integrated wireless is driven by `mt76`, so the right
EEPROM property name is `mediatek,mtd-eeprom`.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: convert the remaining mtd-mac-address to NVMEM format
Shiji Yang [Mon, 2 Oct 2023 03:42:08 +0000 (11:42 +0800)]
ramips: convert the remaining mtd-mac-address to NVMEM format

`mtd-mac-address` has been abandoned. Therefore, convert them to
NVMEM format. This patch also removes some useless mtd-mac-address
properties.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>