openwrt/staging/jow.git
12 months agouqmi: add illegal SIM state recovery
David Bauer [Sat, 7 Oct 2023 20:27:03 +0000 (22:27 +0200)]
uqmi: add illegal SIM state recovery

On some network-triggered disconnections the UIM state might end up in
"illegal". This prevents the modem from attaching to any network in
non-restricted service modes.

Detect this state and reset the SIM card. This way, the modem can attach
to networks again.

Signed-off-by: David Bauer <mail@david-bauer.net>
12 months agouqmi: don't block restart on failed registration
David Bauer [Sat, 7 Oct 2023 10:33:45 +0000 (12:33 +0200)]
uqmi: don't block restart on failed registration

Failing the registration does not necessarily mean we can not bring this
interface up. For example, roaming SIM cards are possibly steered by the
home-operator.

Don't block restart of the QMI interface in this case.

Signed-off-by: David Bauer <mail@david-bauer.net>
12 months agox86: add support for Mellanox Spectrum SN2000 Switches
Til Kaiser [Fri, 15 Sep 2023 12:06:38 +0000 (14:06 +0200)]
x86: add support for Mellanox Spectrum SN2000 Switches

The Mellanox Spectrum SN2000 Series Switches are Managed Ethernet
Switches with a maximum speed of 100Gb/s and up to 56 ports.

Tested on a Mellanox Spectrum SN2100 with the following specs:
 - CPU: Intel ATOM x86 dual-core 2.4GHz
 - RAM: 8GB
 - Disk: 16GB SSD
 - Ports: 16x QSFP28 100GbE, 1x 100M Mgmt Port, 1x RJ45 Serial Port
 - USB: 1x mini 2.0
 - Button: 1x (reset)
 - LEDs: 6x

Installation:
 - Create a bootable USB device (either by flashing this image
   onto it or another Linux distribution)
 - Unzip the generic OpenWrt x64 image
   and copy it onto the USB device
 - Plug the USB device into the Mellanox Switch and boot from it
 - Flash the image (e.g., with dd) onto the internal SSD
   of the switch (should be /dev/sda)

To enter the BIOS, reboot the switch and press CTRL+B while you see
the BIOS information text (American Megatrends …). The default password
to enter the BIOS is admin. To boot from the USB device, switch to the
Boot index tab and set your USB device at the top of the boot order
(the internal SSD should be currently there). Don't forget to set
the SSD back at the top after you have flashed the image.

Signed-off-by: Til Kaiser <til.kaiser@gmx.de>
[unify with generic x64 image]
Signed-off-by: David Bauer <mail@david-bauer.net>
12 months agopackages: add needed packages for Mellanox Spectrum Switches
Til Kaiser [Fri, 15 Sep 2023 10:03:07 +0000 (12:03 +0200)]
packages: add needed packages for Mellanox Spectrum Switches

Add needed kernel and firmware packages for Mellanox Spectrum
SN2000 Series Switches.

Signed-off-by: Til Kaiser <til.kaiser@gmx.de>
12 months agofilogic: add support for ASUS TUF AX6000
Patryk Kowalczyk [Sat, 16 Sep 2023 01:02:35 +0000 (03:02 +0200)]
filogic: add support for ASUS TUF AX6000

Hardware
========
SOC: MediaTek MT7986
RAM: 512MB DDR3
FLASH: 256MB SPI-NAND
WIFI: Mediatek MT7986 DBDC 802.11ax 2.4/5 GHz 4T4R
ETH: MediaTek MT7530 Switch (LAN)
MaxLinear GPY211C 2.5 N-Base-T PHY (WAN)
MaxLinear GPY211C 2.5 N-Base-T PHY (LAN)
UART: 3V3 115200 8N1 (Do not connect VCC)
USB 3.1

Installation
============

Download the OpenWrt initramfs image. Copy the image to a TFTP server
reachable at 192.168.1.70/24. Rename the image to TUF-AX6000.bin.

Connect to the serial console, interrupt the auto boot process by
pressing '4' when prompted or press '1' and set client IP, server
IP and name of the image.

yOU don't need to open the case or even soldering anything.
use three goldpin wires, remove their plastic cover and connect
them to the console pinout via the case holes.

You can see three holes
From Bottom: RX, TX, Ground - partially covered

Download & Boot the OpenWrt initramfs image.

In case of option '4'
$ setenv ipaddr 192.168.1.1
$ setenv serverip 192.168.1.70
$ tftpboot 0x46000000 TUF-AX6000.bin
$ bootm 0x46000000

In case of option '1'
1: Load System code to SDRAM via TFTP.
Please Input new ones /or Ctrl-C to discard
Input device IP (192.168.1.1) ==:
Input server IP (192.168.1.70) ==:
Input Linux Kernel filename (TUF-AX6000.trx) ==:

Wait for OpenWrt to boot. Transfer the sysupgrade
image to the device using scp and install using sysupgrade.

$ sysupgrade -n <path-to-sysupgrade.bin>

Missing features
================

2.5Gb LAN port LED is ON during boot or when the LAN cable is disconnected

The cover yellow light is not supported. (only blue one)

Signed-off-by: Patryk Kowalczyk <patryk@kowalczyk.ws>
12 months agomac80211: ath: add struct_group for struct ath_cycle_counters
Shiji Yang [Sat, 27 May 2023 09:18:50 +0000 (17:18 +0800)]
mac80211: ath: add struct_group for struct ath_cycle_counters

Add a struct_group to around all members in struct ath_cycle_counters.
It can help the compiler detect the intended bounds of the memcpy() and
memset().

This patch fixes the following build warning:

In function 'fortify_memset_chk',
    inlined from 'ath9k_ps_wakeup' at /home/db/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/backports-6.1.24/drivers/net/wireless/ath/ath9k/main.c:140:3:
./include/linux/fortify-string.h:314:25: error: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning]
  314 |                         __write_overflow_field(p_size_field, size);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
12 months agokernel: fix mtd/NVMEM regression affecting U-Boot env NVMEM driver
Rafał Miłecki [Tue, 31 Oct 2023 16:09:45 +0000 (17:09 +0100)]
kernel: fix mtd/NVMEM regression affecting U-Boot env NVMEM driver

Fixes: b5956700702b ("kernel: backport nvmem v6.6 fixes and v6.7 changes")
Fixes: https://github.com/openwrt/openwrt/issues/13831
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
12 months agomvebu: add support for IIJ SA-W2
INAGAKI Hiroshi [Sun, 13 Nov 2022 08:22:26 +0000 (17:22 +0900)]
mvebu: add support for IIJ SA-W2

Internet Initiative Japan Inc. (IIJ) SA-W2 is a network appliance with
11ac (Wi-Fi 5) wlan, based on 88F6810.

Specification:

- SoC         : Marvell Armada 380 88F6810
- RAM         : DDR3 256 MiB (Micron MT41K64M16TW-107:J x2)
- Flash       : SPI-NOR 32 MiB (Winbond W25Q256JVFIQ)
- WLAN        : 2.4/5 GHz, Mini PCI-E
  - 2.4 GHz   : Silex SX-PCEGN (Atheros AR9287 (2T2R))
  - 5 GHz     : Silex SX-PCEAC (Qualcomm Atheros QCA9880 (3T3R))
- Ethernet    : 10/100/1000 Mbps x5
  - Switch    : Marvell 88E6172
- LEDs/Keys   : 12x/1x
- UART        : "CONSOLE" port (RJ-45, RS-232C)
  - settings  : 115200n8
  - assignment: 1:NC,  2:NC,  3:TXD, 4:GND,
                5:GND, 6:RXD, 7:NC,  8:NC
  - note      : compatible with Cisco console cable
- Power       : DC Input or PoE
  - DC Input  : 12 VDC, 3 A
  - PoE       : 802.3af
    - module  : Silvertel Ag9712-2BR
    - note    : USB ports shouldn't be used when powered by PoE
- Bootloader  : PMON2000 based
- Stock       : NetBSD based

Flash instruction using sysupgrade image:

1. Prepare TFTP server with IP address 192.168.0.10 and put sysupgrade
   image to TFTP directory
2. Connect PC to "GE0/PoE" port on SA-W2
3. Power on SA-W2, interrupt count-down by Esc and enter to bootloader
   CLI
4. Set IP address of the device

   address 192.168.0.1

5. Download sysupgrade image and flash to storage

   tftpload 192.168.0.10 <image name>
   firmwrite

   example:

   #tftpload 192.168.0.10 openwrt-mvebu-cortexa9-iij_sa-w2-squashfs-sysupgrade.bin
   Loading openwrt-mvebu-cortexa9-iij_sa-w2-squashfs-sysupgrade.bin
   loaded 8127268 byte(s)
   #firmwrite
   Erasing FLASH block  32 Done 0x00200000.
   Erasing FLASH block  33 Done 0x00210000.
   ...
   Erasing FLASH block 155 Done 0x009b0000.
   Erasing FLASH block 156 Done 0x009c0000.
   Programming FLASH. Done.
   Verifying FLASH. No Errors found.

6. Check the flashed firmware

   firmcheck

   example:

   #firmcheck
   [Normal firmware]
   ident: 'SEIL2015'
   copyright: 'ARM OpenWrt Linux-5.15.93'
   version format: 1
   version major: 9
   version minor: 99
   version release: 'r22060+36-5163bb5e54'
   body size: 3578524
   checksum: 0x8a083cb8

   [Rescue firmware]
   ident: 'SEIL2015'
   copyright: 'Copyright (c) 2017 Internet Initiative Japan Inc. All rights reserved.'
   version format: 1
   version major: 3
   version minor: 70
   version release: 'Release'
   body size: 10152458
   checksum: 0x8f9518c2

7. Boot with the flashed firmware

   boot

Note:

- The bootloader on this device is not U-Boot and it's environment space
  ("bootloader-env") has no compatibility with U-Boot tools.

- eth1 is connected to port6 of 88E6172 switch, but multi-cpu port can't
  be handled on Linux Kernel and not defined.

- Powering by PoE hasn't been tested yet.

- This device has 2x OS images on flash and they can be switched by
  setting "BOOTDEV" variable on bootloader CLI.
  That variable supports the following values:

  - "flash" : primary image on flash ("firmware")
  - "rescue": secondary image on flash ("rescue")
  - "usb"   : usb storage (broken?)
  - "lan0/1": network

  command to set:

  set BOOTDEV=<dev>

  example:

    set BOOTDEV=rescue

  This commit also supports booting from secondary partition.

- To execute initramfs image on bootloader CLI, use "go" command.
  ("go" command is not listed on the output of "help", but available)

  example (download and execute):

    address 192.168.0.1
    tftpload 192.168.0.10 openwrt-mvebu-cortexa9-iij_sa-w2-initramfs-kernel.bin
    go

MAC addresses:

LAN    : 00:E0:4D:xx:xx:19 (none)
WAN    : 00:E0:4D:xx:xx:18 (board_info, 0x6 (hex))
2.4 GHz: 84:25:3F:xx:xx:xx (Mini PCI-E card)
5 GHz  : 84:25:3F:xx:xx:xx (Mini PCI-E card)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
12 months agomvebu: cortexa9: enable seil-fw mtdsplit driver
INAGAKI Hiroshi [Sat, 11 Feb 2023 07:39:02 +0000 (16:39 +0900)]
mvebu: cortexa9: enable seil-fw mtdsplit driver

Enable seil-fw driver on mvebu/cortexa9 to use it on IIJ SA-W2.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
12 months agokernel: add seil-fw mtdsplit driver for IIJ SEIL devices
INAGAKI Hiroshi [Sat, 11 Feb 2023 07:36:56 +0000 (16:36 +0900)]
kernel: add seil-fw mtdsplit driver for IIJ SEIL devices

This mtdsplit parser driver parses firmware partition on Internet
Initiative Japan Inc. (IIJ) SEIL series devices.

Structure of header:

  0x0 - 0x7 : Identifier            (hex)
  0x8 - 0x57: Copyright             (ascii)
 0x58 - 0x5b: Data CRC              (hex)
 0x5c - 0x5f: Image Format Version  (hex)
 0x60 - 0x63: Image Major Version   (hex)
 0x64 - 0x67: Image Minor Version   (hex)
 0x68 - 0x87: Image Release Version (ascii)
 0x88 - 0x8b: Xor value for Data?   (hex)
 0x8c - 0x8f: Data Length           (hex)

Properties:

- compatible      : "iij,seil-firmware"
- iij,seil-id     : ID of SEIL firmware for the device (8 bytes)
  - examples:
    - SA-W2       : <0x5345494c 0x32303135> ("SEIL2015")
    - SEIL/X1     : <0x5345494c 0x2F582020> ("SEIL/X  ")
- iij,bootdev-name: boot device name assigned to the partition
                    (optional)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
12 months agoramips: enable wireless LEDs activity blinking for TP-Link EC330-G5u v1
Mikhail Zhilkin [Sun, 29 Oct 2023 19:10:23 +0000 (19:10 +0000)]
ramips: enable wireless LEDs activity blinking for TP-Link EC330-G5u v1

This commit enables wireless LEDs activity blinking for TP-Link EC330-G5u
v1 router.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
12 months agoath79: add support for GL.iNet GL-S200
Weiping Yang [Thu, 21 Sep 2023 02:17:32 +0000 (10:17 +0800)]
ath79: add support for GL.iNet GL-S200

Specifications:
SoC: QCA9531(650MHz)
RAM: DDR2 128M
Flash: SPI NOR 16M + SPI NAND 128M
WiFi: 2.4GHz with 2 antennas(WiFi/Thread)
Ethernet:
    1xLAN(10/100M)
    2xWAN(10/100M)
Button: 1x Reset Button
Switch: 1x Mode switch
LED: 1x Blue LED + 1x White LED + 1x Orange LED
IOT: Thread + ZigBee/Zwave

By uboot web failsafe:
Push the reset button for 5 seconds util the power led flash faster,
then use broswer to access http://192.168.1.1

Afterwards upgrade can use sysupgrade image.

Signed-off-by: Weiping Yang <weiping.yang@gl-inet.com>
12 months agohostapd: do not trim trailing whitespace, except for newline
Felix Fietkau [Mon, 30 Oct 2023 17:32:24 +0000 (18:32 +0100)]
hostapd: do not trim trailing whitespace, except for newline

Fixes adding SSID or key with trailing whitespace

Signed-off-by: Felix Fietkau <nbd@nbd.name>
12 months agodevcontainer: Add development environment for gihub codespace
Hauke Mehrtens [Sat, 1 Jul 2023 17:56:57 +0000 (19:56 +0200)]
devcontainer: Add development environment for gihub codespace

This adds a configuration for github codespace using our buildbot
container. This allows users to start VS code in the browser using the
buildbot build container.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 months agotools/elfutils: add missing dependency to fix build error
Felix Fietkau [Mon, 30 Oct 2023 08:08:39 +0000 (09:08 +0100)]
tools/elfutils: add missing dependency to fix build error

Signed-off-by: Felix Fietkau <nbd@nbd.name>
12 months agoath79: increase the rfkill debounce interval for TP-Link Archer C7 v2
Shiji Yang [Fri, 14 Jul 2023 15:09:55 +0000 (23:09 +0800)]
ath79: increase the rfkill debounce interval for TP-Link Archer C7 v2

Due to circuit issue or silicon defect, sometimes the WiFi switch button
of the Archer C7 v2 can be accidentally triggered multiple times in one
second. This will cause WiFi to be unexpectedly shut down and trigger
'irq 23: nobody cared'[1] warning. Increasing the key debounce interval
to 1000 ms can fix this issue. This patch also add the missing rfkill
key label.

[1] Warning Log:
```
[87765.218511] irq 23: nobody cared (try booting with the "irqpoll" option)
[87765.225331] CPU: 0 PID: 317 Comm: irq/23-keys Not tainted 5.15.118 #0
...
[87765.486246] handlers:
[87765.488543] [<85257547>] 0x800c29a0 threaded [<5c6328a2>] 0x80ffe0b8 [gpio_button_hotplug@4cf73d00+0x1a00]
[87765.498364] Disabling IRQ #23
```

Fixes: https://github.com/openwrt/openwrt/issues/13010
Fixes: https://github.com/openwrt/openwrt/issues/12167
Fixes: https://github.com/openwrt/openwrt/issues/11191
Fixes: https://github.com/openwrt/openwrt/issues/7835
Tested-by: Hans Hasert
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
12 months agoramips: fix Gigabit Ethernet port of the HiWiFi HC5861
Shiji Yang [Tue, 26 Sep 2023 12:12:45 +0000 (20:12 +0800)]
ramips: fix Gigabit Ethernet port of the HiWiFi HC5861

HiWiFi HC5861 has a GbE port which connected to the RTL8211E PHY
chip. This patch adds the missing Realtek PHY driver package and
sets the correct external PHYs base address to make it work again.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
12 months agomt76: Add firmware package for MT7922
Daniel Danzberger [Fri, 13 Oct 2023 11:50:49 +0000 (13:50 +0200)]
mt76: Add firmware package for MT7922

Adds the 2 required firmware files for MT7922 chips.

Signed-off-by: Daniel Danzberger <dd@embedd.com>
12 months agoiptables: opt-out of lto usage
Anari Jalakas [Sat, 14 Oct 2023 12:18:34 +0000 (15:18 +0300)]
iptables: opt-out of lto usage

This fixes building with USE_LTO enabled.

<artificial>:(.text+0xc22): relocation R_MIPS16_26 against `libxt_DNAT_init' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol printf
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
12 months agolua: opt-out of lto usage
Anari Jalakas [Sat, 7 Oct 2023 12:16:47 +0000 (15:16 +0300)]
lua: opt-out of lto usage

This fixes building with USE_LTO enabled.

<artificial>:(.text+0xcc8): relocation R_MIPS16_26 against `luaL_argerror' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol strcpy
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
12 months agolibsepol: opt-out of lto usage
Anari Jalakas [Sat, 7 Oct 2023 13:13:21 +0000 (16:13 +0300)]
libsepol: opt-out of lto usage

This fixes building with USE_LTO enabled.

<artificial>:(.text+0x4194): relocation R_MIPS16_26 against `cil_printf.lto_priv.0' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol memcmp
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
12 months agolibselinux: opt-out of lto usage
Anari Jalakas [Sat, 7 Oct 2023 13:43:09 +0000 (16:43 +0300)]
libselinux: opt-out of lto usage

This fixes building with USE_LTO enabled:

<artificial>:(.text.exit+0x6e): relocation R_MIPS16_26 against `pthread_key_delete' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol stpcpy
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
12 months agoiwinfo: opt-out of lto usage
Anari Jalakas [Sat, 7 Oct 2023 12:10:50 +0000 (15:10 +0300)]
iwinfo: opt-out of lto usage

This fixes building with USE_LTO enabled.

<artificial>:(.text+0x400c): relocation R_MIPS16_26 against `iwinfo_close' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol strcpy
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
12 months agobuild: hide kmod-zram config unless enabled
Rani Hod [Sun, 8 Oct 2023 15:18:13 +0000 (18:18 +0300)]
build: hide kmod-zram config unless enabled

Currently the zram default compressor choice is displayed whether or not
zram is activated. Since the default choice is lzo-rle, this adds a
false dependency on kmod-lib-lzo.
With this patch, the choice options appear only when activating zram.

Signed-off-by: Rani Hod <rani.hod@gmail.com>
12 months agoramips: add support for ZyXEL LTE5398-M904
Milan Krstic [Fri, 29 Sep 2023 15:26:47 +0000 (15:26 +0000)]
ramips: add support for ZyXEL LTE5398-M904

ZyXEL LTE5398-M904 is a dual band 802.11ac indoor LTE/3G CPE with an FXS
port.

Specifications:

* SoC: Mediatek MT7621AT
* RAM: 256 MB
* Flash: 128MB NAND (MX30LF1G18AC)
* WiFi: MediaTek MT7603 2.4G + MediaTek MT7615 5G
* Switch: 2 GbE ports MT7530
* LTE/3G: Quectel EG18-EA LTE-A Cat. 18
* SIM: 1 micro-SIM card slot
* Buttons: Reset, WPS
* LEDs: power (G/B), internet (G), LTE (R/G/Orange), WiFi (G), voice (G)
* VoIP: 1 FXS RJ11 port
* Power: 12V, 2A

UART serial console:

57600,8N1
Unpopulated header J5:

 [o] GND
 [ ] key - no pin
 [o] RX
 [o] TX
 [o] 3.3V Vcc

Installation:

* Log in as root using ssh to 192.168.1.1
* scp OpenWrt initramfs-recovery.bin image to root@192.168.1.1:/tmp/
* Prepare bootloader config by running:
   nvram setro uboot DebugFlag 0x1
   nvram setro uboot CheckBypass 0
   nvram commit
* Run "mtd_write -w write /tmp/initramfs-recovery.bin Kernel" and reboot
* Wait for OpenWrt to boot and ssh to root@192.168.1.1
* Run sysupgrade with OpenWrt squashfs-sysupgrade.bin image

For mode details about flashing see:
2449a63208 (ramips: mt7621: Add support for ZyXEL NR7101, 2021-04-19)

Unsupported:

* FXS/Voice

Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
12 months agofirmware-utils: bump to git HEAD
Hauke Mehrtens [Sun, 29 Oct 2023 17:38:47 +0000 (18:38 +0100)]
firmware-utils: bump to git HEAD

a170683 firmware-utils: fix use of NULL string progname
89875fc tplink-safeloader: CPE510: add Canadian support
9e211d2 mktplinkfw2: add support to extract bootloader images
c18f662 mktplinkfw2: add support to pack bootloader
3dc1339 mktplinkfw2: show exact exceed bytes when the image is to big
d16ff79 tplink-safeloader: WPA8631: add v4 AU, US
0fa1cc5 zytrx: add LTE5398-M904
6354661 firmware-utils: ptgen: add SiFive GPT partition support

The removed patch was applied upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 months agokernel: fix compile issues with tools/ on macOS
Felix Fietkau [Sun, 29 Oct 2023 12:56:14 +0000 (13:56 +0100)]
kernel: fix compile issues with tools/ on macOS

Reduce dependencies on linux specific header files.
Avoid using __weak for function declarations

Signed-off-by: Felix Fietkau <nbd@nbd.name>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>
13 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>