openwrt/staging/jogo.git
20 months agobmips: sercomm,h500-s: add Quantenna network config
Álvaro Fernández Rojas [Fri, 24 Mar 2023 09:20:56 +0000 (10:20 +0100)]
bmips: sercomm,h500-s: add Quantenna network config

Sercomm H500-s has an external Quantenna QT3740BC SoC connected by RGMII.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agokernel: add more dsa b53 pending patches
Álvaro Fernández Rojas [Fri, 24 Mar 2023 09:05:23 +0000 (10:05 +0100)]
kernel: add more dsa b53 pending patches

These patches have now received a positive review upstream, so let's add them
to pending patches.

776-net-dsa-b53-mmap-add-phy-ops.patch:
  This is mostly bmips/bcm63xx-specific to get external switches working
  without hanging the device when accessing certain registers.

777-net-dsa-b53-mdio-add-support-for-BCM53134:
  This adds support for BCM53134 switch on DSA B53, so any target using DSA B53
  can benefit from it.

Also fix sercomm-h500-s external switch IMP port phy-mode.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agofirewall4: update to the latest version
Felix Fietkau [Fri, 24 Mar 2023 09:14:31 +0000 (10:14 +0100)]
firewall4: update to the latest version

39e8c70957c7 fw4: fix handling the ipset "comment" option
e6e82a55206c fw4: add further symbolic ICMP type declarations
ce9a37829a76 tests: add testcase for automatic includes
30ee17a9c65d fw4: fix syntax errors in ICMP type declarations
1ecfadd52291 fw4: remove accidentally committed .orig and .rej file
04a06bd70b98 fw4: enable flowtable counters

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: enable conntrack counter updates for iptables xt_FLOWOFFLOAD
Felix Fietkau [Thu, 23 Mar 2023 20:44:10 +0000 (21:44 +0100)]
kernel: enable conntrack counter updates for iptables xt_FLOWOFFLOAD

Ensures that packet/byte counters in /proc/net/nf_conntrack are updated

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: fix mediatek ppe flow accounting for mt7622 and older
Felix Fietkau [Thu, 23 Mar 2023 20:48:24 +0000 (21:48 +0100)]
kernel: fix mediatek ppe flow accounting for mt7622 and older

v1 hardware uses a different enable bit for hardware counters

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: report mediatek ppe flow stats incrementally
Felix Fietkau [Fri, 24 Mar 2023 09:09:09 +0000 (10:09 +0100)]
kernel: report mediatek ppe flow stats incrementally

Fixes wrong counter values in conntrack stats

Fixes: aa2777145f8d ("kernel: improve mtk ppe flow accounting")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agoodhcpd: bump to latest git HEAD
Christian Marangi [Fri, 24 Mar 2023 01:00:14 +0000 (02:00 +0100)]
odhcpd: bump to latest git HEAD

29c934d config: recheck have_link_local on interface reload if already init

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agompc85xx: Refresh patches
Hauke Mehrtens [Thu, 23 Mar 2023 23:42:04 +0000 (00:42 +0100)]
mpc85xx: Refresh patches

Make the patches apply cleanly again.

Fixes: ed82189339b8 ("mpc85xx: use bootwrapper for ws-ap3825i")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agoipq806x: Refresh patches
Hauke Mehrtens [Thu, 23 Mar 2023 23:41:14 +0000 (00:41 +0100)]
ipq806x: Refresh patches

Make the patches apply cleanly again.

Fixes: a97965b7b11f ("kernel: add pending patches for bcm63268-timer-clocks")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agokernel: improve mtk ppe flow accounting
Felix Fietkau [Thu, 23 Mar 2023 13:23:19 +0000 (14:23 +0100)]
kernel: improve mtk ppe flow accounting

Properly track L2 flows, and ensure that stale data gets cleared

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomediatek: add kernel code for supporting offloading wlan->eth and wlan->wlan flows
Felix Fietkau [Mon, 20 Mar 2023 17:51:06 +0000 (18:51 +0100)]
mediatek: add kernel code for supporting offloading wlan->eth and wlan->wlan flows

Will be enabled by an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: update mtk ppe flow accounting patch to the latest version
Felix Fietkau [Thu, 23 Mar 2023 09:38:24 +0000 (10:38 +0100)]
kernel: update mtk ppe flow accounting patch to the latest version

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: update flow offload fix based on upstream suggestions
Felix Fietkau [Thu, 23 Mar 2023 09:08:51 +0000 (10:08 +0100)]
kernel: update flow offload fix based on upstream suggestions

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: fix DSA B53 BCM63xx RGMII patch
Álvaro Fernández Rojas [Thu, 23 Mar 2023 11:20:31 +0000 (12:20 +0100)]
kernel: fix DSA B53 BCM63xx RGMII patch

Refreshing the patches for fff07085fb5a moved the b53_adjust_63xx_rgmii() call
from b53_phylink_mac_link_up() to b53_phylink_mac_link_down().
In order to properly configure the RGMII ports we need to restore it to its
correct place.

Fixes: fff07085fb5a ("kernel: add pending bmips patches")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agoath79: support Ruckus ZoneFlex 7341/7343/7363
Lech Perczak [Tue, 7 Mar 2023 20:25:59 +0000 (21:25 +0100)]
ath79: support Ruckus ZoneFlex 7341/7343/7363

Ruckus ZoneFlex 7363 is a dual-band, dual-radio 802.11n 2x2 MIMO enterprise
access point. ZoneFlex 7343 is the single band variant of 7363
restricted to 2.4GHz, and ZoneFlex 7341 is 7343 minus two Fast Ethernet
ports.

Hardware highligts:
- CPU: Atheros AR7161 SoC at 680 MHz
- RAM: 64MB DDR
- Flash: 16MB SPI-NOR
- Wi-Fi 2.4GHz: AR9280 PCI 2x2 MIMO radio with external beamforming
- Wi-Fi 5GHz: AR9280 PCI 2x2 MIMO radio with external beamforming
- Ethernet 1: single Gigabit Ethernet port through Marvell 88E1116R gigabit PHY
- Ethernet 2: two Fast Ethernet ports through Realtek RTL8363S switch,
  connected with Fast Ethernet link to CPU.
- PoE: input through Gigabit port
- Standalone 12V/1A power input
- USB: optional single USB 2.0 host port on the -U variants.

Serial console: 115200-8-N-1 on internal H1 header.
Pinout:

H1 ----------
   |1|x3|4|5|
   ----------

Pin 1 is near the "H1" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

Installation:
- Using serial console - requires some disassembly, 3.3V USB-Serial
  adapter, TFTP server, and removing a single PH1 screw.

0. Connect serial console to H1 header. Ensure the serial converter
   does not back-power the board, otherwise it will fail to boot.

1. Power-on the board. Then quickly connect serial converter to PC and
   hit Ctrl+C in the terminal to break boot sequence. If you're lucky,
   you'll enter U-boot shell. Then skip to point 3.
   Connection parameters are 115200-8-N-1.

2. Allow the board to boot.  Press the reset button, so the board
   reboots into U-boot again and go back to point 1.

3. Set the "bootcmd" variable to disable the dual-boot feature of the
   system and ensure that uImage is loaded. This is critical step, and
   needs to be done only on initial installation.

   > setenv bootcmd "bootm 0xbf040000"
   > saveenv

4. Boot the OpenWrt initramfs using TFTP. Replace IP addresses as needed.
   Use the Gigabit interface, Fast Ethernet ports are not supported
   under U-boot:

   > setenv serverip 192.168.1.2
   > setenv ipaddr 192.168.1.1
   > tftpboot 0x81000000 openwrt-ath79-generic-ruckus_zf7363-initramfs-kernel.bin
   > bootm 0x81000000

5. Optional, but highly recommended: back up contents of "firmware" partition:

   $ ssh root@192.168.1.1 cat /dev/mtd1 > ruckus_zf7363_fw_backup.bin

6. Copy over sysupgrade image, and perform actual installation. OpenWrt
   shall boot from flash afterwards:

   $ ssh root@192.168.1.1
   # sysupgrade -n openwrt-ath79-generic-ruckus_zf7363-squashfs-sysupgrade.bin

   After unit boots, it should be available at the usual 192.168.1.1/24.

Return to factory firmware:

1. Copy over the backup to /tmp, for example using scp
2. Unset the "bootcmd" variable:
   fw_setenv bootcmd ""
3. Use sysupgrade with force to restore the backup:
   sysupgrade -F ruckus_zf7363_backup.bin
4. System will reboot.

Quirks and known issues:
- Fast Ethernet ports on ZF7363 and ZF7343 are supported, but management
  features of the RTL8363S switch aren't implemented yet, though the
  switch is visible over MDIO0 bus. This is a gigabit-capable switch, so
  link establishment with a gigabit link partner may take a longer time
  because RTL8363S advertises gigabit, and the port magnetics don't
  support it, so a downshift needs to occur. Both ports are accessible
  at eth1 interface, which - strangely - runs only at 100Mbps itself.
- Flash layout is changed from the factory, to use both firmware image
  partitions for storage using mtd-concat, and uImage format is used to
  actually boot the system, which rules out the dual-boot capability.
- Both radio has its own EEPROM on board, not connected to CPU.
- The stock firmware has dual-boot capability, which is not supported in
  OpenWrt by choice.
  It is controlled by data in the top 64kB of RAM which is unmapped,
  to avoid the interference in the boot process and accidental
  switch to the inactive image, although boot script presence in
  form of "bootcmd" variable should prevent this entirely.
- On some versions of stock firmware, it is possible to obtain root shell,
  however not much is available in terms of debugging facitilies.
  1. Login to the rkscli
  2. Execute hidden command "Ruckus"
  3. Copy and paste ";/bin/sh;" including quotes. This is required only
     once, the payload will be stored in writable filesystem.
  4. Execute hidden command "!v54!". Press Enter leaving empty reply for
     "What's your chow?" prompt.
  5. Busybox shell shall open.
  Source: https://alephsecurity.com/vulns/aleph-2019014
- There is second method to achieve root shell, using command injection
  in the web interface:
  1. Login to web administration interface
  2. Go to Administration > Diagnostics
  3. Enter |telnetd${IFS}-p${IFS}204${IFS}-l${IFS}/bin/sh into "ping"
     field
  4. Press "Run test"
  5. Telnet to the device IP at port 204
  6. Busybox shell shall open.
  Source: https://github.com/chk-jxcn/ruckusremoteshell

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
20 months agoath79: support Ruckus ZoneFlex 7351
Lech Perczak [Fri, 30 Dec 2022 23:15:48 +0000 (00:15 +0100)]
ath79: support Ruckus ZoneFlex 7351

Ruckus ZoneFlex 7351 is a dual-band, dual-radio 802.11n 2x2 MIMO enterprise
access point.

Hardware highligts:
- CPU: Atheros AR7161 SoC at 680 MHz
- RAM: 64MB DDR
- Flash: 16MB SPI-NOR
- Wi-Fi 2.4GHz: AR9280 PCI 2x2 MIMO radio with external beamforming
- Wi-Fi 5GHz: AR9280 PCI 2x2 MIMO radio with external beamforming
- Ethernet: single Gigabit Ethernet port through Marvell 88E1116R gigabit PHY
- Standalone 12V/1A power input
- USB: optional single USB 2.0 host port on the 7351-U variant.

Serial console: 115200-8-N-1 on internal H1 header.
Pinout:

H1 ----------
   |1|x3|4|5|
   ----------

Pin 1 is near the "H1" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX

Installation:
- Using serial console - requires some disassembly, 3.3V USB-Serial
  adapter, TFTP server, and removing a single T10 screw.

0. Connect serial console to H1 header. Ensure the serial converter
   does not back-power the board, otherwise it will fail to boot.

1. Power-on the board. Then quickly connect serial converter to PC and
   hit Ctrl+C in the terminal to break boot sequence. If you're lucky,
   you'll enter U-boot shell. Then skip to point 3.
   Connection parameters are 115200-8-N-1.

2. Allow the board to boot.  Press the reset button, so the board
   reboots into U-boot again and go back to point 1.

3. Set the "bootcmd" variable to disable the dual-boot feature of the
   system and ensure that uImage is loaded. This is critical step, and
   needs to be done only on initial installation.

   > setenv bootcmd "bootm 0xbf040000"
   > saveenv

4. Boot the OpenWrt initramfs using TFTP. Replace IP addresses as needed:

   > setenv serverip 192.168.1.2
   > setenv ipaddr 192.168.1.1
   > tftpboot 0x81000000 openwrt-ath79-generic-ruckus_zf7351-initramfs-kernel.bin
   > bootm 0x81000000

5. Optional, but highly recommended: back up contents of "firmware" partition:

   $ ssh root@192.168.1.1 cat /dev/mtd1 > ruckus_zf7351_fw_backup.bin

6. Copy over sysupgrade image, and perform actual installation. OpenWrt
   shall boot from flash afterwards:

   $ ssh root@192.168.1.1
   # sysupgrade -n openwrt-ath79-generic-ruckus_zf7351-squashfs-sysupgrade.bin

   After unit boots, it should be available at the usual 192.168.1.1/24.

Return to factory firmware:
1. Copy over the backup to /tmp, for example using scp
2. Unset the "bootcmd" variable:
   fw_setenv bootcmd ""
3. Use sysupgrade with force to restore the backup:
   sysupgrade -F ruckus_zf7351_backup.bin
4. System will reboot.

Quirks and known issues:
- Flash layout is changed from the factory, to use both firmware image
  partitions for storage using mtd-concat, and uImage format is used to
  actually boot the system, which rules out the dual-boot capability.
- Both radio has its own EEPROM on board, not connected to CPU.
- The stock firmware has dual-boot capability, which is not supported in
  OpenWrt by choice.
  It is controlled by data in the top 64kB of RAM which is unmapped,
  to avoid the interference in the boot process and accidental
  switch to the inactive image, although boot script presence in
  form of "bootcmd" variable should prevent this entirely.
- On some versions of stock firmware, it is possible to obtain root shell,
  however not much is available in terms of debugging facitilies.
  1. Login to the rkscli
  2. Execute hidden command "Ruckus"
  3. Copy and paste ";/bin/sh;" including quotes. This is required only
     once, the payload will be stored in writable filesystem.
  4. Execute hidden command "!v54!". Press Enter leaving empty reply for
     "What's your chow?" prompt.
  5. Busybox shell shall open.
  Source: https://alephsecurity.com/vulns/aleph-2019014
- There is second method to achieve root shell, using command injection
  in the web interface:
  1. Login to web administration interface
  2. Go to Administration > Diagnostics
  3. Enter |telnetd${IFS}-p${IFS}204${IFS}-l${IFS}/bin/sh into "ping"
     field
  4. Press "Run test"
  5. Telnet to the device IP at port 204
  6. Busybox shell shall open.
  Source: https://github.com/chk-jxcn/ruckusremoteshell

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
20 months agoramips: mt7621: enable lzma-loader for AFOUNDRY EW1200
Tony Butler [Sun, 19 Mar 2023 09:34:07 +0000 (02:34 -0700)]
ramips: mt7621: enable lzma-loader for AFOUNDRY EW1200

Fixes boot loader LZMA decompression issues (LZMA ERROR 1)
As reported in issue #12208

Reported-by: Raúl M. <raul.m@sparkedhost.com>
Tested-by: Raúl M. <raul.m@sparkedhost.com>
Signed-off-by: Tony Butler <spudz76@gmail.com>
20 months agobmips: add support for Sercomm H-500s
Álvaro Fernández Rojas [Wed, 22 Mar 2023 19:10:01 +0000 (20:10 +0100)]
bmips: add support for Sercomm H-500s

Sercomm H-500s is a BCM63268 with 128M, internal and external (Quantenna) wifi
and external BCM53134S switch.
This device is already supported in bcm63xx target, so more information can be
found in https://openwrt.org/toh/sercomm/h500-s.

It's a perfect example of a device with internal and external switch
coexistance since most devices only have ports on one of the switches but not
both of them.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobmips: drop unneded cpu labels from external switches
Álvaro Fernández Rojas [Wed, 22 Mar 2023 17:30:37 +0000 (18:30 +0100)]
bmips: drop unneded cpu labels from external switches

These labels aren't needed and were accidentally added when adding external
switches support for bmips.

Fixes: 80a3ecc89489 ("bmips: add Huawei HG253s v2 support")
Fixes: 61f3c3b1eebd ("bmips: dgnd3700v2: enable external BCM53125 switch")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agokernel: add pending patches for bcm63268-timer-clocks
Álvaro Fernández Rojas [Wed, 22 Mar 2023 17:24:28 +0000 (18:24 +0100)]
kernel: add pending patches for bcm63268-timer-clocks

bcm63268-timer-clocks have been sent upstream with a positive review, so let's
add them to pending v5.15.
Also add devm_clk_hw_register_gate() patch from v5.17 to backports since it's
needed for upstream bcm63268-timer-clocks patches.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agoodhcpd: bump to latest git HEAD
Christian Marangi [Tue, 14 Mar 2023 21:57:24 +0000 (22:57 +0100)]
odhcpd: bump to latest git HEAD

7c0f603 router: skip RA and wait for LINK-LOCAL to be assigned
ba30afc config: skip interface setup if interface not IFF_RUNNING
06b111e Revert "odhcpd: Reduce error messages"
90d6cc9 odhcpd: Reduce error messages

Also drop AUTORELEASE since it got deprecated.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agoCI: build: disable cache of external toolchain/sdk
Christian Marangi [Tue, 21 Mar 2023 23:45:06 +0000 (00:45 +0100)]
CI: build: disable cache of external toolchain/sdk

Our buildbot build a different external toolchain/sdk for each build.
This cause the idea of using the tar hash to cache it broken and wrong.
This makes the github cache bloated and remove space for ccache cache.

Drop cache for external toolchain/sdk as the feature is broken and cause
problems to ccache cache.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agoCI: kernel: skip subtarget test on non-specific target test
Christian Marangi [Sun, 19 Feb 2023 22:35:42 +0000 (23:35 +0100)]
CI: kernel: skip subtarget test on non-specific target test

Reduce testing time by skipping subtarget test on non-specific target
test.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agobmips: dts: nand: add missing address/size cells
Álvaro Fernández Rojas [Tue, 21 Mar 2023 19:21:16 +0000 (20:21 +0100)]
bmips: dts: nand: add missing address/size cells

Fixes the following warnings for Netgear DGND3700v2 and Comtrend VR-3032u:
[    1.059540] 7 fixed-partitions partitions found on MTD device brcmnand.0
[    1.066570] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions
[    1.073766] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions
[    1.081927] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions
[    1.089128] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobmips: add Huawei HG253s v2 support
Álvaro Fernández Rojas [Sun, 19 Mar 2023 17:17:29 +0000 (18:17 +0100)]
bmips: add Huawei HG253s v2 support

Huawei HG253s v2 is a BCM6362 with 128M RAM, internal wifi and external
BCM53124S switch.
This device is already supported in bcm63xx target, so more information can be
found in https://openwrt.org/toh/huawei/hg253s_v2.

It's a perfect example of a device with internal and external switch
coexistance since most devices only have ports on one of the switches but not
both of them.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobmips: dgnd3700v2: enable external BCM53125 switch
Álvaro Fernández Rojas [Mon, 23 May 2022 18:52:53 +0000 (20:52 +0200)]
bmips: dgnd3700v2: enable external BCM53125 switch

The Netgear DGND3700v2 has an external BCM53125 switch which can now be enabled
as a DSA disjoint switch tree setup.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobmips: disable B53 MMAP phy read/write ops
Álvaro Fernández Rojas [Tue, 21 Mar 2023 18:36:16 +0000 (19:36 +0100)]
bmips: disable B53 MMAP phy read/write ops

Without this change, internal and external B53 switches couldn't coexist as
reported in https://github.com/openwrt/openwrt/issues/10313.
In order to fix this we need to force the B53 MMAP DSA switch driver to use
bcm6368-mdio-mux for accessing the PHY registers instead of its own phy_read()
and phy_write() functions.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agokernel: update pending b53 mmap patches
Álvaro Fernández Rojas [Tue, 21 Mar 2023 18:22:53 +0000 (19:22 +0100)]
kernel: update pending b53 mmap patches

Update B53 MMAP pending patches to the latest version sent upstream.
Fixes regression in bmips BCM63268 switches.

Fixes: fff07085fb5a ("kernel: add pending bmips patches")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobuild: add a config knob to enable LTO for all packages
Andre Heider [Sat, 28 Jan 2023 14:24:37 +0000 (15:24 +0100)]
build: add a config knob to enable LTO for all packages

This enables LTO for all packages which haven't opted-out.

Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agokernel: qca-ssdk: opt-out of LTO
Robert Marko [Tue, 31 Jan 2023 11:03:09 +0000 (12:03 +0100)]
kernel: qca-ssdk: opt-out of LTO

SSDK is doing everything custom, so trying to use mold and/or LTO
fails, so lets opt-out of using both of them.

Signed-off-by: Robert Marko <robimarko@gmail.com>
[a.heider: split and switch to PKG_BUILD_FLAGS]
Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agotreewide: opt-out of tree-wide LTO usage
Andre Heider [Sat, 28 Jan 2023 15:04:10 +0000 (16:04 +0100)]
treewide: opt-out of tree-wide LTO usage

These fail to build with LTO enabled or packages depending on them do.

Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agobuild: add a config knob to enable gc-sections for all packages
Andre Heider [Fri, 3 Feb 2023 12:15:43 +0000 (13:15 +0100)]
build: add a config knob to enable gc-sections for all packages

This enables the linker's garbage collection for all packages which haven't
opted-out.

Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agotreewide: add support for "lto" in PKG_BUILD_FLAGS
Andre Heider [Thu, 2 Feb 2023 20:33:38 +0000 (21:33 +0100)]
treewide: add support for "lto" in PKG_BUILD_FLAGS

This reduces open coding and allows to easily add a knob to enable
it treewide, where chosen packages can still opt-out via "no-lto".

Some packages used LTO, but not the linker plugin. This unifies 'em
all to attempt to produce better code.
Quoting man gcc(1):
"This improves the quality of optimization by exposing more code to the
link-time optimizer."

Also use -flto=auto instead of -flto=jobserver, as it's not guaranteed
that every buildsystem uses +$(MAKE) correctly.

Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agotreewide: add support for "gc-sections" in PKG_BUILD_FLAGS
Andre Heider [Thu, 2 Feb 2023 20:16:21 +0000 (21:16 +0100)]
treewide: add support for "gc-sections" in PKG_BUILD_FLAGS

This reduces open coding and allows to easily add a knob to
enable it treewide, where chosen packages can still opt-out via
"no-gc-sections".

Note: libnl, mbedtls and opkg only used the CFLAGS part without the
LDFLAGS counterpart. That doesn't help at all if the goal is to produce
smaller binaries. I consider that an accident, and this fixes it.

Note: there are also packages using only the LDFLAGS part. I didn't
touch those, as gc might have been disabled via CFLAGS intentionally.

Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agotreewide: replace PKG_USE_MIPS16:=0 with PKG_BUILD_FLAGS:=no-mips16
Andre Heider [Thu, 2 Feb 2023 19:02:25 +0000 (20:02 +0100)]
treewide: replace PKG_USE_MIPS16:=0 with PKG_BUILD_FLAGS:=no-mips16

Keep backwards compatibility via PKG_USE_MIPS16 for now, as this is
used in all package feeds.

Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agobuild: introduce PKG_BUILD_FLAGS and move PKG_IREMAP to it
Andre Heider [Thu, 2 Feb 2023 18:20:42 +0000 (19:20 +0100)]
build: introduce PKG_BUILD_FLAGS and move PKG_IREMAP to it

PKG_BUILD_FLAGS is a new variable for package Makefiles similar to
PKG_FLAGS. It's a whitespace separated list of flags to control various
aspects of how a package is build.

The build system and/or .config defines the default for each, but
every package has the means to override it. Using $flagname enables
a flag, no-$flagname disables it.

Start with PKG_IREMAP as "iremap". That's easy as no package here
nor in any package feed uses it. The default is unchanged: enabled.

Packages can opt-out via:
PKG_BUILD_FLAGS:=no-iremap
(Not that any should, just to illustrate how to use it)

Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agoipq40xx: add support for Wallystech DR40x9
Robert Marko [Tue, 30 Jun 2020 16:07:50 +0000 (18:07 +0200)]
ipq40xx: add support for Wallystech DR40x9

Adds support for the Wallys DR40x9 series boards.
They come in IPQ4019 and IPQ4029 versions.
IPQ4019/4029 only differ in that that IPQ4029 is the industrial version that is rated to higher temperatures.

Specifications are:
* CPU: Qualcomm IPQ40x9 (4x ARMv7A Cortex A7) at 716 MHz
* RAM: 512 MB
* Storage: 2MB of SPI-NOR, 128 MB of parallel NAND
* USB 3.0 TypeA port for users
* MiniPCI-E with PCI-E 2.0 link
* MiniPCI-E for LTE modems with only USB2.0 link
* 2 SIM card slots that are selected via GPIO11
* MicroSD card slot
* Ethernet: 2x GBe with 24~48V passive POE
* SFP port (Does not work, I2C and GPIO's not connected on hardware)
* DC Jack
* UART header
* WLAN: In-SoC 2x2 802.11b/g/n and 2x2 802.11a/n/ac
* 4x MMCX connectors for WLAN
* Reset button
* 8x LED-s

Installation instructions:
Connect to UART, pins are like this:
-> 3.3V | TX | RX | GND

Settings are 115200 8n1

Boot initramfs from TFTP:
tftpboot 0x84000000 openwrt-ipq40xx-generic-wallys_dr40x9-initramfs-fit-uImage.itb

bootm

Then copy the sysupgrade image to the /tmp folder and execute sysupgrade -n <image_name>

The board file binary was provided from Wallystech on March 14th 2023
including full permission to use and distribute.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
20 months agoipq-wifi: bump to latest git HEAD
Koen Vandeputte [Mon, 20 Mar 2023 17:41:36 +0000 (18:41 +0100)]
ipq-wifi: bump to latest git HEAD

f9cece0 ipq40xx: add support for Wallystech DR40x9

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
20 months agokernel: add missing symbols in 5.15
Koen Vandeputte [Tue, 7 Feb 2023 13:39:47 +0000 (14:39 +0100)]
kernel: add missing symbols in 5.15

Found these while playing around with video support

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
20 months agokernel: backport eth_addr_add()
Rafał Miłecki [Thu, 23 Feb 2023 10:34:32 +0000 (11:34 +0100)]
kernel: backport eth_addr_add()

It's required by upcoming NVMEM layout drivers.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
20 months agoramips: fix Archer AX23 WiFi MAC address conflict
David Bauer [Tue, 21 Mar 2023 04:07:30 +0000 (05:07 +0100)]
ramips: fix Archer AX23  WiFi MAC address conflict

The original claim about conflicting MAC addresses is wrong. mac80211
does increment the first octet and sets the LA bit.

This means our "workaround" actually leads to the issue while
incrementing the last octet is safe.

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agoramips: cudy wr1300v2 reduce SPI freq to 40000000
Óscar García Amor [Sat, 18 Mar 2023 10:14:27 +0000 (11:14 +0100)]
ramips: cudy wr1300v2 reduce SPI freq to 40000000

Cases have been reported in which certain devices do not boot correctly
or have errors. After various tests by users who have such errors it has
been concluded that the SPI frequency should be reduced to 40Mhz, at
this speed it appears that all devices work correctly.

Signed-off-by: Óscar García Amor <ogarcia@connectical.com>
20 months agotools/autoconf-archive: bump to 2023.02.20
Linhui Liu [Tue, 14 Mar 2023 05:36:50 +0000 (13:36 +0800)]
tools/autoconf-archive: bump to 2023.02.20

Changelog included in package.

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
20 months agotools/cmake: bump to 3.26.0
Linhui Liu [Fri, 17 Mar 2023 03:57:55 +0000 (11:57 +0800)]
tools/cmake: bump to 3.26.0

Release Notes:
https://cmake.org/cmake/help/v3.26/release/3.26.html

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
20 months agotools/xz: bump to 5.4.2
Linhui Liu [Sun, 19 Mar 2023 14:18:21 +0000 (22:18 +0800)]
tools/xz: bump to 5.4.2

Release Notes:
https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
20 months agotools/libressl: bump to 3.7.1
Linhui Liu [Sun, 19 Mar 2023 11:57:53 +0000 (19:57 +0800)]
tools/libressl: bump to 3.7.1

Release Notes:
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.7.1-relnotes.txt

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
20 months agolinux-firmware: update to 20230310
Nick Hainke [Thu, 16 Mar 2023 15:20:18 +0000 (16:20 +0100)]
linux-firmware: update to 20230310

Changes:
588dd07 qat: update licence text
a03713d rtl_bt: Update RTL8822C BT USB firmware to 0x0CC6_D2E3
63dac62 rtl_bt: Update RTL8822C BT UART firmware to 0x05C6_D2E3
5adebcf WHENCE: remove duplicate File entries
d32de23 WHENCE: remove trailing white space
24c9df9 linux-firmware: add fw for qat_4xxx
b568bbc Fix symlinks for Intel firmware
f49c572 linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
db6e357 linux-firmware: update firmware for MT7921 WiFi device
4309412 iwlwifi: update core69 and core72 firmwares for Ty device
4cc3eda rtlwifi: Add firmware v16.0 for RTL8710BU aka RTL8188GU
76ad275 brcm: Add nvram for the Lenovo Yoga Book X90F / X90L convertible
1bc8afb brcm: Fix Xiaomi Inc Mipad2 nvram/.txt file macaddr
d02d58a brcm: Add nvram for the Advantech MICA-071 tablet
c51488f rtl_bt: Update RTL8852C BT USB firmware to 0xD7B8_FABF
3653d69 rtl_bt: Add firmware and config files for RTL8821CS
7375bcf rtw89: 8852b: update fw to v0.29.29.0
5148670 rtw89: 8852b: update fw to v0.29.26.0
c600840 liquidio: remove lio_23xx_vsw.bin
23afbfe intel: avs: Add AudioDSP base firmware for CNL-based platforms
284e55d intel: avs: Add AudioDSP base firmware for APL-based platforms
289e3a9 intel: avs: Add AudioDSP base firmware for SKL-based platforms
c7a57ef ath11k: WCN6855 hw2.0: update to WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23
6a4e7f6 ath11k: WCN6855 hw2.0: update board-2.bin
0e2486b ath11k: WCN6750 hw1.0: update board-2.bin
f48fbe4 ath11k: IPQ5018 hw1.0: add to WLAN.HK.2.6.0.1-00861-QCAHKSWPL_SILICONZ-1
9dacec6 ath11k: IPQ5018 hw1.0: add board-2.bin
15054af ath10k: QCA6174 hw3.0: update firmware-sdio-6.bin to version WLAN.RMH.4.4.1-00174
024cc5e ath10k: WCN3990 hw1.0: update board-2.bin
a253a37 cnm: update chips&media wave521c firmware.
c0a0bc2 amdgpu: Update GC 11.0.1 firmware
4296b7a intel: catpt: Add AudioDSP base firmware for BDW platforms
f79e4ba linux-firmware: Update AMD cpu microcode
1fd4c55 brcm: revert firmware files for Cypress devices
5aa0b27 brcm: restore previous firmware file for BCM4329 device
c3f3baa rtw88: 8822c: Update normal firmware to v9.9.14
c1181ae i915: Add DMC v2.11 for MTL
2fd61bc linux-firmware: Add firmware for Cirrus CS35L41 on UM3402 ASUS Laptop
a60d908 linux-firmware: Add missing tuning files for HP Laptops using Cirrus Amps
a5046f4 i915: Add DMC v2.18 for ADLP
5c11a37 amdgpu: Add VCN 4.0.2 firmware
5fe2d73 amdgpu: Add PSP 13.0.4 firmware
a3332f8 amdgpu: Add SDMA 6.0.1 fimware
4535de6 amdgpu: Add GC 11.0.1 firmware
2e93e4c amdgpu: Add DCN 3.1.4 firmware
3435843 iwlwifi: remove old intermediate 5.15+ firmwares
494389c iwlwifi: remove 5.10 and 5.15 intermediate old firmwares
177c593 iwlwifi: remove 5.4 and 5.10 intermediate old firmwares
fa3a6d5 iwlwifi: remove 4.19 and 5.4 intermediate old firmwares
d11eb6f iwlwifi: remove old unsupported older than 4.14 LTS
bb2d42d linux-firmware: update firmware for MT7921 WiFi device
3f0f338 linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
f88f1f8 amdgpu: update vangogh firmware

Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agokernel: bump 5.10 to 5.10.175
John Audia [Sat, 18 Mar 2023 19:05:11 +0000 (15:05 -0400)]
kernel: bump 5.10 to 5.10.175

Manually rebased:
backport-5.10/611-v5.12-net-ethernet-mediatek-support-setting-MTU.patch

Removed upstreamed:
bcm47xx/patches-5.10/170-bgmac-fix-initial-chip-reset-to-support-BCM5358.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.175&id=cbf11ff3708ff163387da924f80a47ce7c721e9b

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agokernel: bump 5.10 to 5.10.174
John Audia [Mon, 13 Mar 2023 13:02:52 +0000 (09:02 -0400)]
kernel: bump 5.10 to 5.10.174

No patches needed to be rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agokernel: bump 5.10 to 5.10.173
John Audia [Sun, 12 Mar 2023 14:03:16 +0000 (10:03 -0400)]
kernel: bump 5.10 to 5.10.173

Manually rebased:
        ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch

All other patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agokernel: tcindex classifier has been retired
John Audia [Sat, 11 Mar 2023 19:05:03 +0000 (14:05 -0500)]
kernel: tcindex classifier has been retired

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/net/sched?h=v5.10.173&id=18c3fa7a7fdbb4d21dafc8a7710ae2c1680930f6

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agox86: fix deprecated CONFIG_MICROCODE_OLD_INTERACE
John Audia [Sat, 11 Mar 2023 19:03:00 +0000 (14:03 -0500)]
x86: fix deprecated CONFIG_MICROCODE_OLD_INTERACE

We use late loading[1] so need to set this option despite upstream adding a
kernel taint when this option is set.  See discussion in PR#12149 for more details.

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/Kconfig?id=v5.10.173&id2=v5.10.172

1. https://github.com/openwrt/openwrt/blob/master/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agompc85xx: poll PHY status
David Bauer [Mon, 20 Mar 2023 16:27:58 +0000 (17:27 +0100)]
mpc85xx: poll PHY status

Disable interrupts for the eth-PHYs, as the interrupts are either not
firing or lost within the stack. Switch to polling the PHY status in the
meantime until a proper fix is implemented.

Ref: https://github.com/openwrt/openwrt/issues/12192

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agompc85xx: use bootwrapper for ws-ap3825i
David Bauer [Mon, 20 Mar 2023 03:50:14 +0000 (04:50 +0100)]
mpc85xx: use bootwrapper for ws-ap3825i

The boot-procedure for the Extreme WS-AP3825I is vfragile to put it
mildly. It does not relocate the FDT properly. It currently exercises
every step manually as well as coming with a pre-padded dtb.

Use the PowerPC bootwrapper code for legacy platforms with a pre-filles
DTS instead. We still need to ship a fit image to not break the fdt
resize / relocate instructions on existing boards. This does not require
adapting the U-Boot bootcommand.

Ref: https://github.com/openwrt/openwrt/issues/12223

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agomediatek: filogic: move ilm, dlm and cpu_boot in dedicated nodes
Lorenzo Bianconi [Tue, 14 Mar 2023 11:04:53 +0000 (12:04 +0100)]
mediatek: filogic: move ilm, dlm and cpu_boot in dedicated nodes

This fixes issues with legacy boot loaders that don't process reserved memory
regions outside of system RAM

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: move mediatek flow offload refcount fix and fix a logic error
Felix Fietkau [Mon, 20 Mar 2023 17:06:23 +0000 (18:06 +0100)]
kernel: move mediatek flow offload refcount fix and fix a logic error

Move it to pending, since it wasn't actually accepted upstream yet.
Fixes potential issues when doing offload between multiple MACs.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agobmips: dts: fix switch compatible strings
Álvaro Fernández Rojas [Mon, 20 Mar 2023 18:55:24 +0000 (19:55 +0100)]
bmips: dts: fix switch compatible strings

Use the proper string for each SoC.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agokernel: add pending bmips patches
Álvaro Fernández Rojas [Mon, 20 Mar 2023 16:20:40 +0000 (17:20 +0100)]
kernel: add pending bmips patches

Add patches sent upstream for bmips and b53 and remove downstream ones.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agoipq807x: add support for Netgear WAX218
Alexandru Gagniuc [Thu, 2 Jun 2022 16:35:26 +0000 (11:35 -0500)]
ipq807x: add support for Netgear WAX218

Netgear WAX218 is a 802.11ax AP claiming AX3600 support. It is wall
or ceiling mountable. It can be powered via PoE, or a 12 V adapter.

The board has footprints for 2.54mm UART headers. They're difficult to
solder because the GND is connected to a large copper plane. Only try
soldering if you are very skilled. Otherwise, use pogo pins.

Specifications:
---------------
    * CPU: Qualcomm IPQ8072A Quad core Cortex-A53 2.2GHz
    * RAM: 366 MB of RAM available to OS, not sure of total amount
    * Storage: Macronix MX30UF2G18AC 256MB NAND
    * Ethernet:
            * 2.5G RJ45 port (QCA8081) with PoE input
    * WLAN:
            * 2.4GHz/5GHz with 8 antennas
    * LEDs:
            * Power (Amber)
            * LAN (Blue)
            * 2G WLAN (Blue)
            * 5G WLAN (Blue)
    * Buttons:
            * 1x Factory reset
    * Power: 12V DC Jack
    * UART: Two 4-pin unpopulated headers near the LEDs
            * "J2 UART" is the CPU UART, 3.3 V level

Installation:
=============

Web UI method
-------------

Flashing OpenWRT using the vendor's Web UI is problematic on this
device. The u-boot mechanism for communicating the active rootfs is
antiquated and unreliable. Instead of setting the kernel commandline,
it relies on patching the DTS partitions of the nand node. The way
partitions are patched is incompatible with newer kernels.

Newer kernels use the SMEM partition table, which puts "rootfs" on
mtd12. The vendor's Web UI will flash to either mtd12 or mtd14. One
reliable way to boot from mtd14 and avoid boot loops is to use an
initramfs image.

 1. In the factory web UI, navigate to System Manager -> Firmware.
 2. In the "Local Firmware Upgrade" section, click Browse
 3. Navigate and select the 'web-ui-factory.fit' image
 4. Click "Upload"
 5. On the following page, click on "Proceed"

The flash proceeds at this point and the system will reboot
automatically to OpenWRT.

 6. Flash the 'nand-sysupgrade.bin' using Luci or the commandline

SSH method
----------

Enable SSH using the CLI or Web UI. The root account is locked out to
ssh, and the admin account defaults to Netgear's CLI application.
So we need to get creative:

First, make sure the device boots from the second firmware partition:

    ssh -okexalgorithms=diffie-hellman-group14-sha1 admin@<ipaddr> \
        /usr/sbin/fw_setenv active_fw 1

Then reboot the device, and run the update:

    scp -O -o kexalgorithms=diffie-hellman-group14-sha1 \
        -o hostkeyalgorithms=ssh-rsa \
        netgear_wax218-squashfs-nand-factory.ubi \
        admin@<ipaddr>:/tmp/openwrt.ubi

    ssh -okexalgorithms=diffie-hellman-group14-sha1 admin@<ipaddr> \
        /usr/sbin/ubiformat /dev/mtd12 -f /tmp/openwrt.ubi

    ssh -okexalgorithms=diffie-hellman-group14-sha1 admin@<ipaddr> \
        /usr/sbin/fw_setenv active_fw 0

Now reboot the device, and it should boot into a ready-to-use OpenWRT.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>
Tested-by: Francisco G Luna <frangonlun@gmail.com>
20 months agomac80211: ath11k: sync with ath-next
Robert Marko [Mon, 20 Mar 2023 11:12:57 +0000 (12:12 +0100)]
mac80211: ath11k: sync with ath-next

Synchronize the ath11k backports with the current ath-next tree.

This brings in actually setting the MU-MIMO parameters in HW and 6GHz
regulatory support along with some minor resource handling fixes.

This allows to easily backport further fixes as cherry picking them has
started requiring manual conflict resolution.

Signed-off-by: Robert Marko <robimarko@gmail.com>
20 months agompc85xx: fix incorrect kernel target
David Bauer [Sun, 19 Mar 2023 20:33:32 +0000 (21:33 +0100)]
mpc85xx: fix incorrect kernel target

The wrapper-image for the WL-WDR4900 was used as a build-target for the
kernel. This workd fine as long as only a single wrapper is used with
the OpenWrt build-system.

If additional wrappers are used, the build becomes racy in the
wrapper-stage.

The wrapper images actually do not represent a target. They are built
based on the kernel configuration. Only copy the resulting images to
avoid race-conditions as explained.

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agompc85xx: remove Watchguard T10 MAC override
David Bauer [Sat, 18 Mar 2023 03:31:40 +0000 (04:31 +0100)]
mpc85xx: remove Watchguard T10 MAC override

As the mac-address readout never worked, the mac-address fillout by the
bootloader is sufficient. Remove the readout for the Watchguard T10
then.

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agompc85xx: fix missing system import
David Bauer [Sat, 18 Mar 2023 03:31:12 +0000 (04:31 +0100)]
mpc85xx: fix missing system import

The mac-address accessor functions were not included in the sourced
script. Fix this by importing the correct script path.

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agokernel: Add CONFIG_KERNEL_HARDLOCKUP_DETECTOR
Hauke Mehrtens [Wed, 8 Mar 2023 20:31:20 +0000 (21:31 +0100)]
kernel: Add CONFIG_KERNEL_HARDLOCKUP_DETECTOR

Make it possible to change the kernel configuration option
CONFIG_HARDLOCKUP_DETECTOR from OpenWrt.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
20 months agokernel: Deactivate options shown with CONFIG_KERNEL_KCOV=y
Hauke Mehrtens [Wed, 8 Mar 2023 20:31:19 +0000 (21:31 +0100)]
kernel: Deactivate options shown with CONFIG_KERNEL_KCOV=y

This sets the CONFIG_KCOV_IRQ_AREA_SIZE kernel configuration option to its default value.
This is shown when I set CONFIG_KERNEL_KCOV=y in the OpenWrt configuration on x86/64.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
20 months agokernel: Deactivate options shown with CONFIG_KERNEL_KASAN=y
Hauke Mehrtens [Wed, 8 Mar 2023 20:31:18 +0000 (21:31 +0100)]
kernel: Deactivate options shown with CONFIG_KERNEL_KASAN=y

This deactivates some kernel configuration options I see when
CONFIG_KERNEL_KASAN=y is set in the OpenWrt configuration on x86/64.

Set CONFIG_STACK_HASH_ORDER to its default value.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
20 months agokernel: Set some options to default shown with CONFIG_KERNEL_UBSAN=y
Hauke Mehrtens [Wed, 8 Mar 2023 20:31:17 +0000 (21:31 +0100)]
kernel: Set some options to default shown with CONFIG_KERNEL_UBSAN=y

This sets some kernel configuration options to their default values. I saw
these as warnings when I set CONFIG_KERNEL_UBSAN=y is set in the OpenWrt
configuration on x86/64.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
20 months agokernel: Deactivate options shown with CONFIG_KERNEL_DYNAMIC_FTRACE=y
Hauke Mehrtens [Wed, 8 Mar 2023 20:31:16 +0000 (21:31 +0100)]
kernel: Deactivate options shown with CONFIG_KERNEL_DYNAMIC_FTRACE=y

This deactivates some kernel configuration options I see when
CONFIG_KERNEL_DYNAMIC_FTRACE=y is set in the OpenWrt configuration on x86/64.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
20 months agokernel: Deactivate options shown with CONFIG_KERNEL_HIST_TRIGGERS=y
Hauke Mehrtens [Wed, 8 Mar 2023 20:31:15 +0000 (21:31 +0100)]
kernel: Deactivate options shown with CONFIG_KERNEL_HIST_TRIGGERS=y

This deactivates some kernel configuration options I see when
CONFIG_KERNEL_HIST_TRIGGERS=y is set in the OpenWrt configuration on x86/64.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
20 months agokernel: Deactivate options shown with CONFIG_KERNEL_DEBUG_VIRTUAL=y
Hauke Mehrtens [Wed, 8 Mar 2023 20:31:14 +0000 (21:31 +0100)]
kernel: Deactivate options shown with CONFIG_KERNEL_DEBUG_VIRTUAL=y

This deactivates some kernel configuration options I see when
CONFIG_KERNEL_DEBUG_VIRTUAL=y is set in the OpenWrt configuration on x86/64.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
20 months agokernel: Deactivate options shown with CONFIG_KERNEL_DEBUG_VM=y
Hauke Mehrtens [Wed, 8 Mar 2023 20:31:13 +0000 (21:31 +0100)]
kernel: Deactivate options shown with CONFIG_KERNEL_DEBUG_VM=y

This deactivates some kernel configuratoion options I see when
CONFIG_KERNEL_DEBUG_VM=y is set in the OpenWrt configuration on x86/64.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
20 months agotools: update elf.h
Mathew McBride [Thu, 23 Feb 2023 05:51:36 +0000 (16:51 +1100)]
tools: update elf.h

OpenWrt contains a 2012 copy of glibc's elf.h, which predates the
introduction of some newer architectures like Arm64 and RISC-V.

Linux 5.13 introduced the "gen-hyprel" tool into the kernel compile
(when virtualization/KVM is enabled) which requires EM_AARCH64 to be
defined.

arch/arm64/kvm/hyp/nvhe/gen-hyprel.c: In function 'init_elf':
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c:289:43: error: 'EM_AARCH64'
  undeclared (first use in this function); did you mean 'EM_IA_64'?
  289 |  assert_eq(elf16toh(elf.ehdr->e_machine), EM_AARCH64, "%u");
      |                                           ^~~~~~~~~~

Update the copy of elf.h from the latest glibc to fix this.

Compile-tested: ath79, armvirt, mpc85xx, x86
Run-tested: armvirt

Signed-off-by: Mathew McBride <matt@traverse.com.au>
20 months agomac80211: mark patches accepted upstream
Nick Hainke [Sat, 18 Mar 2023 18:43:22 +0000 (19:43 +0100)]
mac80211: mark patches accepted upstream

Add kernel tags to the patches that got accepted upstream.

Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agoipq-wifi: bump to latest git HEAD
Kristjan Krušič [Sun, 19 Mar 2023 16:58:16 +0000 (17:58 +0100)]
ipq-wifi: bump to latest git HEAD

31ff96d ipq806x: add support for Nokia Airscale AC400i
1af1df2 ath11k: ipq8074: add Netgear WAX218

Signed-off-by: Kristjan Krušič <kristjan.krusic@krusic22.com>
20 months agoipq806x: add support for Nokia Airscale AC400i
Kristjan Krušič [Sat, 4 Feb 2023 16:00:57 +0000 (17:00 +0100)]
ipq806x: add support for Nokia Airscale AC400i

Hardware
--------

SoC:    Qualcomm IPQ8065
RAM:    512 MB DDR3
Flash:  256 MB NAND (Macronix MX30UF2G18AC) (split into 2x128MB)
        4 MB SPI-NOR (Macronix MX25U3235F)
WLAN:   Qualcomm Atheros QCA9984 - 2.4Ghz
        Qualcomm Atheros QCA9984 - 5Ghz
ETH:    eth0 - POE (100Mbps in U-Boot, 1000Mbps in OpenWrt)
        eth1 - (1000Mbps in both)
        Auto-negotiation broken on both.
USB:    USB 2.0
LED:    5G, 2.4G, ETH1, ETH2, CTRL, PWR (All support green and red)
BTN:    Reset
Other:  SD card slot (non-functional)
Serial: 115200bps, near the Ethernet transformers, labeled 9X.
        Connections from the arrow to the 9X text:
[NC] - [TXD] - [GND] - [RXD] - [NC]

Installation
------------

0. Connect to the device
Plug your computer into LAN2 (1000Mbps connection required).
If you use the LAN1/POE port, set your computer to force a 100Mbps link.

Connect to the device via TTL (Serial) 115200n8.
Locate the header (or solder pads) labeled 9X,
near the Ethernet jacks/transformers.
There should be an arrow on the other side of the header marking.
The connections should go like this:
(from the arrow to the 9X text): NC - TXD - GND - RXD - NC

1. Prepare for installation
While the AP is powering up, interrupt the startup process.
MAKE SURE TO CHECK YOUR CURRENT PARTITION!

If you see: "Current Partition is : partB" or
"Need to switch partition from partA to partB",
you have to force the device into partA mode, before continuing.
This can be done by changing the PKRstCnt to 5 and resetting the device.

setenv PKRstCnt 5
saveenv
reset

After you interrupt the startup process again,
you should see: Need to switch partition from partB to partA

You can now continue to the next step.

If you see: "Current Partition is : partA",
you can continue to the next step.

2. Prevent partition switching.
To prevent the device from switching partitions,
we are going to modify the startup command.
set bootcmd "setenv PKRstCnt 0; saveenv; bootipq"
setenv

3. First boot
Now, we have to boot the OpenWrt intifs.
The easiest way to do this is by using Tiny PXE.
You can also use the normal U-Boot tftp method.

Run "bootp" this will get an IP from the DHCP server
and possibly the firmware image.
If it doesn't download the firmware image, run "tftpboot".

Now run "bootm" to run the image.

You might see:
"ERROR: new format image overwritten - must RESET the board to recover"
this means that the image you are trying to load is too big.
Use a smaller image for the initial boot.

4. Install OpenWrt from initfs
Once you are booted into OpenWrt,
transfer the OpenWrt upgrade image and
use sysupgrade to install OpenWrt to the device.

Signed-off-by: Kristjan Krušič <kristjan.krusic@krusic22.com>
20 months agolantiq: xway: add phy reset pin to AVM Fritz!Box 7320
Aleksander Jan Bajkowski [Sun, 12 Mar 2023 09:59:21 +0000 (10:59 +0100)]
lantiq: xway: add phy reset pin to AVM Fritz!Box 7320

This commit adds the PHY reset gpio for the LAN1 port to the dts.
According to the GPL sources, gpios 34 and 36 are used on the AVM
FritzBox 7320 and 7330. The second port is unsupported.

The gpio assignment has been verified on the FritzBox 7330.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
20 months agonftables: update to 1.0.7
Nick Hainke [Mon, 13 Mar 2023 22:24:24 +0000 (23:24 +0100)]
nftables: update to 1.0.7

Release Notes:
https://marc.info/?l=netfilter-devel&m=167873533214563&w=2

Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agolibnftnl: update to 1.2.5
Nick Hainke [Fri, 10 Mar 2023 17:48:51 +0000 (18:48 +0100)]
libnftnl: update to 1.2.5

Upstream switched to "tar.xz".

Release Notes:
https://www.spinics.net/lists/netfilter/msg61016.html

Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agoipq40xx: mf18a: rename wifi0 calibration variant to ZTE-MF18A
Christian Marangi [Sat, 18 Mar 2023 11:47:48 +0000 (12:47 +0100)]
ipq40xx: mf18a: rename wifi0 calibration variant to ZTE-MF18A

Rename wifi0 calibration variant to ZTE-MF18A to allign to BDF changes
for ZTE MF18A.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agoipq-wifi: bump to latest git HEAD
Christian Marangi [Sat, 18 Mar 2023 11:46:33 +0000 (12:46 +0100)]
ipq-wifi: bump to latest git HEAD

86180c4 ath10k-firmware: IPQ4019 hw1.0:  Rename variant to ZTE MF18A specific BDF

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agoipq-wifi: bump to latest git HEAD
Christian Marangi [Sat, 18 Mar 2023 11:01:04 +0000 (12:01 +0100)]
ipq-wifi: bump to latest git HEAD

1f35a8c ath10k-firmware: IPQ4019 hw1.0:  Add variant to Teltonika RUTX10 specific BDF
a49672f ath10k-firmware: QCA99X0 hw2.0:  Add variant to ZTE MF18A specific BDF

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agoipq40xx: rutx10: Add missing variant to ath10k wifi
Christian Marangi [Sat, 18 Mar 2023 10:42:27 +0000 (11:42 +0100)]
ipq40xx: rutx10: Add missing variant to ath10k wifi

Add missing variant to ath10k wifi to allign to BDF changes for
Teltonika RUTX10.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agoipq40xx: mf18a: Add missing variant to PCI ath10k card
Christian Marangi [Sat, 18 Mar 2023 10:08:26 +0000 (11:08 +0100)]
ipq40xx: mf18a: Add missing variant to PCI ath10k card

Add missing variant to PCI ath10k card to allign to BDF changes for
ZTE MF18A.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agokernel: bump 5.15 to 5.15.102
John Audia [Mon, 13 Mar 2023 13:04:36 +0000 (09:04 -0400)]
kernel: bump 5.15 to 5.15.102

No patches needed to be rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
Tested-by: Robert Marko <robimarko@gmail.com> #ipq807x/Dynalink WRX36
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> #ipq807x/ax3600, x86_64/FW-7543B, ath79/tl-wdr3600, ipq806x/g10, ipq806x/nbg6817
20 months agokernel: bump 5.15 to 5.15.101
John Audia [Sun, 12 Mar 2023 15:07:58 +0000 (11:07 -0400)]
kernel: bump 5.15 to 5.15.101

No patches rebased as a function of this bump.

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>
20 months agokernel: bump 5.15 to 5.15.100
John Audia [Sun, 12 Mar 2023 14:16:50 +0000 (10:16 -0400)]
kernel: bump 5.15 to 5.15.100

Manually rebased:
        bcm27xx/patches-5.15/950-0421-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch
        bcm27xx/patches-5.15/950-0706-media-i2c-imx219-Scale-the-pixel-clock-rate-for-the-.patch
        ramips/patches-5.15/810-uvc-add-iPassion-iP2970-support.patch

Removed upstreamed:
        bcm27xx/patches-5.15/950-0707-drm-vc4-For-DPI-MEDIA_BUS_FMT_RGB565_1X16-is-mode-1-.patch[1]
        bcm27xx/patches-5.15/950-0596-drm-vc4-dpi-Add-option-for-inverting-pixel-clock-and.patch[2]
        ipq807x/0006-v5.16-arm64-dts-qcom-Fix-IPQ8074-PCIe-PHY-nodes.patch [3]
        ipq807x/0034-v6.1-arm64-dts-qcom-ipq8074-fix-PCIe-PHY-serdes-size.patch [4]
        ipq807x/0103-arm64-dts-qcom-ipq8074-fix-Gen2-PCIe-QMP-PHY.patch [5]
        ipq807x/0104-arm64-dts-qcom-ipq8074-fix-Gen3-PCIe-QMP-PHY.patch [6]
        ipq807x/0105-arm64-dts-qcom-ipq8074-correct-Gen2-PCIe-ranges.patch [7]
        ipq807x/0108-arm64-dts-qcom-ipq8074-fix-Gen3-PCIe-node.patch [8]
        ipq807x/0109-arm64-dts-qcom-ipq8074-correct-PCIe-QMP-PHY-output-c.patch [9]
        ipq807x/0132-arm64-dts-qcom-ipq8074-correct-USB3-QMP-PHY-s-clock-.patch [10]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.99&id=d2991e6b30020e286f2dd9d3b4f43548c547caa6
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/gpu/drm/vc4/vc4_dpi.c?h=v5.15.100&id=8e04aaffb6de5f1ae61de7b671c1531172ccf429
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v5.15.99&id=a55a645aa303a3f7ec37db69822d5420657626da
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v5.15.99&id=d9df682bcea57fa25f37bbf17eae56fa05662635
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v5.15.99&id=7e6eeb5fb3aa9e5feffdb6e137dcc06f5f6410e1
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v5.15.99&id=e88204931d9a60634cd50bbc679f045439c4b91d
7.  https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v5.15.99&id=1563af0f28afd3b6d64ac79a2aecced3969c90bf
8. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v5.15.99&id=feb8c71f015d416f1afe90e1f62cf51e47376c67
9. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v5.15.99&id=69c7a270357a7d50ffd3471b14c60250041200e3
10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v5.15.99&id=dd3d021ae5471d98adf81f1e897431c8657d0a18

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Tested-by: Robert Marko <robimarko@gmail.com> #ipq807x/Dynalink WRX36
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> #ipq807x/ax3600, x86_64/FW-7543B, ath79/tl-wdr3600, ipq806x/g10, ipq806x/nbg6817
20 months agokernel: tcindex classifier has been retired
John Audia [Sat, 11 Mar 2023 15:42:26 +0000 (10:42 -0500)]
kernel: tcindex classifier has been retired

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/net/sched?h=v5.15.100&id=7c183dc0af472dec33d2c0786a5e356baa8cad19

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agox86: set deprecated CONFIG_MICROCODE_OLD_INTERACE
John Audia [Sat, 11 Mar 2023 15:28:02 +0000 (10:28 -0500)]
x86: set deprecated CONFIG_MICROCODE_OLD_INTERACE

We use late loading[1] so need to set this option despite upstream adding a
kernel taint when this option is set.  See discussion in PR#12149 for more details.

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/Kconfig?id=v5.15.100&id2=v5.15.98

1. https://github.com/openwrt/openwrt/blob/master/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agouencrypt: split common and library-specific code
Eneas U de Queiroz [Sun, 19 Feb 2023 02:19:31 +0000 (23:19 -0300)]
uencrypt: split common and library-specific code

This splits the code in 4 files:
 - uencrypt.h
 - uencrypt.c - main program
 - uencrypt-openssl.c - OpenSSL/wolfSSL implementation
 - uencrypt-mbedtls - mbedTLS implementation

Other changes, accounting for ~400 bytes increase in ipk size:
 - more error condition checking and reporting,
 - hide key and iv command line arguments

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
20 months agouencrypt: add support for mbedtls
Eneas U de Queiroz [Fri, 17 Feb 2023 11:12:40 +0000 (08:12 -0300)]
uencrypt: add support for mbedtls

This commit includes some additional changes:
 - better handling of iv and keys in openssl/wolfssl variants
 - fix compiler warnings and whitespace
 - build all 3 variants as separate packages
 - adjust the new package name in targets' DEVICE_PACKAGES
 - remove PKG_FLAGS:=nonshared

[Beeline SmartBox Flash - OK]
Tested-by: Mikhail Zhilkin <csharper2005@gmail.com>
[after test: replaced a hardcoded IV size of 16 by cipher_info->iv_size]
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
20 months agokernel: update v6.3 of patches
Rafał Miłecki [Fri, 17 Mar 2023 15:36:08 +0000 (16:36 +0100)]
kernel: update v6.3 of patches

1. Use final (accepted) patches
2. Add two more required for v6.4 nvmem stuff

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
20 months agoipq40xx: update Crisis Innovation Lab MeshPoint.One BDF
Mantas Pucka [Wed, 15 Mar 2023 07:50:06 +0000 (09:50 +0200)]
ipq40xx: update Crisis Innovation Lab MeshPoint.One BDF

Make sure it uses updated Jalapeno BDF inherited from
Device/8dev_jalapeno-common

Fixes: 146eb4925c7f ("ipq40xx: add support for Crisis Innovation Lab MeshPoint.One")
Signed-off-by: Mantas Pucka <mantas@8devices.com>
[ fix Fixes tag to correct format and fix commit title ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agoipq40xx: set specific BDF file for 8devices Habanero/Jalapeno
Mantas Pucka [Fri, 17 Mar 2023 01:00:48 +0000 (02:00 +0100)]
ipq40xx: set specific BDF file for 8devices Habanero/Jalapeno

Set specific BDF file for 8devices Habanero/Jalapeno in ipq40xx
generic.mk

Signed-off-by: Mantas Pucka <mantas@8devices.com>
[ split ipq40xx changes in separate commit ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agoipq-wifi: bump to latest git HEAD and add 8devices boards
Mantas Pucka [Thu, 16 Mar 2023 14:30:13 +0000 (16:30 +0200)]
ipq-wifi: bump to latest git HEAD and add 8devices boards

2dae618 ipq-wifi: update 8devices Jalapeno BDF
08e92db ipq-wifi: update 8devices Habanero BDF

Signed-off-by: Mantas Pucka <mantas@8devices.com>
[ split ipq40xx changes in separate commit ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agolayerscape: switch to Kernel 5.15 by default
Paul Spooren [Wed, 22 Feb 2023 18:57:45 +0000 (19:57 +0100)]
layerscape: switch to Kernel 5.15 by default

Getting ready for the next release.

Tested-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Paul Spooren <mail@aparcar.org>
20 months agorpcd: bump to latest git HEAD
Christian Marangi [Tue, 14 Mar 2023 21:34:48 +0000 (22:34 +0100)]
rpcd: bump to latest git HEAD

d978830 rc: add option to get info for a single script in list method
632b4fc rc: add option to skip running check for list method
5577db9 rc: add support for scanning USE_PROCD and skip running if not supported
4de3f02 rc: fix and improve script scanning START and STOP

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
20 months agotoolchain/gcc: enable zstd support
Andre Heider [Sun, 5 Feb 2023 22:21:46 +0000 (23:21 +0100)]
toolchain/gcc: enable zstd support

LTO object files will now be compressed using zstd.

Compressing debug sections with zstd will have to wait for GCC 13,
which adds support for -gz=zstd.

NOTE: wiping the ccache is strongly recommended, not doing so might
yield build error later on:
"lto1: internal compiler error: original not compressed with zstd"

Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agotoolchain/binutils: enable zstd support
Andre Heider [Sun, 5 Feb 2023 22:12:05 +0000 (23:12 +0100)]
toolchain/binutils: enable zstd support

Debug sections can now be compressed using zstd.

Signed-off-by: Andre Heider <a.heider@gmail.com>
20 months agobcm4908: add HVC workaround for booting kernel 5.15
Rafał Miłecki [Thu, 16 Mar 2023 22:34:37 +0000 (23:34 +0100)]
bcm4908: add HVC workaround for booting kernel 5.15

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
20 months agobcm4908: include usbport trigger
Rafał Miłecki [Thu, 16 Mar 2023 21:01:51 +0000 (22:01 +0100)]
bcm4908: include usbport trigger

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>