openwrt/staging/svanheule.git
2 days agoath79: use nvmem for wrong 3e0 cal size
Rosen Penev [Sun, 15 Dec 2024 01:07:36 +0000 (17:07 -0800)]
ath79: use nvmem for wrong 3e0 cal size

These three devices use AR9287 chips, which have a calibration size of 3d8.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17278
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agonetfilter: add kmod-nfnetlink-ct{helper,timeout}
Joel Low [Sat, 14 Dec 2024 13:39:36 +0000 (21:39 +0800)]
netfilter: add kmod-nfnetlink-ct{helper,timeout}

Add kmod-nfnetlink-ct{helper,timeout} to allow handling firewall rules
in userspace (together with conntrackd). The timeout module allows
specifying custom expiration rules.

Signed-off-by: Joel Low <joel@joelsplace.sg>
Link: https://github.com/openwrt/openwrt/pull/17267
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agomediatek: filogic: Add support for D-Link AQUILA PRO AI M60
Roland Reinl [Fri, 13 Dec 2024 17:58:26 +0000 (18:58 +0100)]
mediatek: filogic: Add support for D-Link AQUILA PRO AI M60

Specification:
 - MT7986 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - MT7531 switch
 - 512MB RAM
 - 128MB NAND flash (MX35LF1GE4AB-Z4I) with two UBI partitions with identical size
 - 1 multi color LED (red, green, blue, white) connected via GCA230718 (Same as D-Link M30 A1)
 - 3 buttons (WPS, reset, LED on/off)
 - 1x 2.5 Gbit WAN port with Maxlinear GPY211C
 - 4x 1 Gbit LAN ports

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

Serial Interface
 - The serial interface can be connected to the 4 pin holes next to/under the antenna cables.
 - Note that there is another set of 4 pin holes on the side of the board, it's not used.
 - Pins (from front to rear):
   - 3.3V (do not connect)
   - TX
   - RX
   - GND
 - Settings: 115200, 8N1

MAC addresses:
 - MAC address is stored in partition "Odm" at offset 0x81 (for example XX:XX:XX:XX:XX:52)
 - MAC address on the device label is ODM + 1 (for example XX:XX:XX:XX:XX:53)
 - WAN MAC is the one from the ODM partition (for example XX:XX:XX:XX:XX:52)
 - LAN MAC is the one from the ODM partition + 1 (for example XX:XX:XX:XX:XX:53)
 - WLAN MAC (2.4 GHz) is the one from the ODM partition + 2 (for example (XX:XX:XX:XX:XX:54)
 - WLAN MAC (5 GHz) is the one from the ODM partition + 5 (for example (XX:XX:XX:XX:XX:57)

Flashing via OEM web interface:
 - Currently not supported because image crypto is not known

Flashing via recovery web interface:
 - This is only working if the first partition is active because recovery images are always flashed to the active partition and OpenWrt can only be executed from the first partition
 - Use a Chromium based browser, otherwise firmware upgrade might not work
 - Recovery web interface is accessible via 192.168.200.1 after keeping the reset button pressed during start of the device until the LED blinks red
 - Upload the recovery image, this will take some time. LED will continue flashing red during the update process
 - The after flashing, the recovery web interface redirects to http://192.168.0.1. This can be ignored. OpenWrt is accessible via 192.168.1.1 after flashing
 - If the first partition isn't the active partition, OpenWrt will hang during the boot process. In this case:
   - Download the recovery image from https://github.com/RolandoMagico/openwrt/releases/tag/M60-Recovery-UBI-Switch (UBI switch image)
   - Enable recovery web interface again and load the UBI switch image. This image works on the second partition of the M60
   - OpenWrt should boot now as expected. After booting, flash the normal OpenWrt sysupgrade image (for example in the OpenWrt web interface)
   - Flashing a sysupgrade image from the UBI switch image will make the first partition the active partition and from now on, default OpenWrt images can be used

Flashing via Initramfs:
- Before switching to OpenWrt, ensure that both partitions contain OEM firmware.
  - This can be achieved by re-flashing the same OEM firmware version again via the OEM web interface.
  - Flashing via OEM web interface will automatically flash the currently not active partition.
- Open router, connect serial interface
- Start a TFTP server at 192.168.200.2 and provide the initramfs image there
- When starting the router, select "7. Load Image" in U-Boot
- Settings for load address, load method can be kept as they are
- Specify host and router IP address if you use different ones than the default (Router 192.168.200.1, TFTP server 192.168.200.2)
- Enter the file name of the initramfs image
- Confirm "Run loaded data now?" question after loading the image with "Y"
- OpenWrt initramfs will start now
- Before flashing OpenWrt, create a backup of the "ubi" partition. It is required when reverting back to OEM
- Flash sysupgrade image to flash, during flashing the U-Boot variable sw_tryactive will be set to 0
  - During next boot, U-Boot tries to boot from the ubi partition. If it fails, it will switch to the ubi1 partition

Reverting back to OEM:
- Boot the initramfs image as described in "Flashing via Initramfs" above
- Copy the backed up ubi partition to /tmp (e.g. by using SCP)
- Write the backup to the UBI partition: mtd write /tmp/OpenWrt.mtd4.ubi.bin /dev/mtd4
- Reboot the device, OEM firmware will start now

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17296
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoconfig: enable SECCOMP support for loongarch64
Weijie Gao [Sun, 22 Dec 2024 10:32:54 +0000 (18:32 +0800)]
config: enable SECCOMP support for loongarch64

Make USE_SECCOMP selectable for loongarch64

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17335
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoprocd: update to Git HEAD (2024-12-22)
Hauke Mehrtens [Sun, 22 Dec 2024 16:47:34 +0000 (17:47 +0100)]
procd: update to Git HEAD (2024-12-22)

42d3937 jail/seccomp: add support for loongarch64

Link: https://github.com/openwrt/openwrt/pull/17335
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoath79: port buffalo WZR-450HP2 from ar71xx
Edward Chow [Tue, 10 Dec 2024 10:36:40 +0000 (18:36 +0800)]
ath79: port buffalo WZR-450HP2 from ar71xx

Referencing commit a1837135e04b

Hardware
--------
SoC: Qualcomm Atheros QCA9558
RAM: 128M DDR2 (Nanya NT5TU64M16HG-AC)
FLASH: 128M SPI-NAND (Spansion S34ML01G100TFI00)
WLAN: QCA9558 3T3R 802.11 bgn
ETH: Qualcomm Atheros QCA8337
UART: 115200 8n1
BUTTON: Reset - WPS - "Router" switch
LED: 2x system-LED, 2x wlan-LED, 1x internet-LED,
2x routing-LED
LEDs besides the ethernet ports are controlled
by the ethernet switch

MAC Address:
 use address(sample 1) source
 label cc:e1:d5:xx:xx:ed art@macaddr_wan
 lan cc:e1:d5:xx:xx:ec art@macaddr_lan
 wan cc:e1:d5:xx:xx:ed $label
 WiFi4_2G cc:e1:d5:xx:xx:ec art@cal_ath9k

Installation from Serial Console
------------

1. Connect to the serial console. Power up the device and interrupt
   autoboot when prompted

2. Connect a TFTP server reachable at 192.168.11.10/24
   to the ethernet port. Serve the OpenWrt initramfs image as
   "openwrt.bin"

3. Boot the initramfs image using U-Boot
   ath> tftpboot 0x84000000 openwrt.bin
   ath> bootm 0x84000000

4. Copy the OpenWrt sysupgrade image to the device using scp and
   install it like a normal upgrade (with no need to keeping config
   since no config from "previous OpenWRT installation" could be kept
   at all)

   # sysupgrade -n /path/to/openwrt/sysupgrade.bin

Installation from Web Interface
------------

To flash just do a firmware upgrade from the stock firmware (Buffalo
branded dd-wrt) with squashfs-factory.bin

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/17227
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agombedtls: Deactivate ARIA block cipher by default
Hauke Mehrtens [Sun, 22 Dec 2024 16:33:21 +0000 (17:33 +0100)]
mbedtls: Deactivate ARIA block cipher by default

The ARIA block cipher is pretty uncommon in TLS, deactivate it for now.
This saves some space and reduces the possible variations and attack
vectors of mbedtls.

ARIA support was deactivated in OpenWrt 23.05 by default.

Link: https://github.com/openwrt/openwrt/pull/17342
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agouboot-rockchip: fix build with swig 4.3.0
Tianling Shen [Mon, 23 Dec 2024 13:57:15 +0000 (21:57 +0800)]
uboot-rockchip: fix build with swig 4.3.0

Fixes the following error by backporting upstream update:
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
 5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
```

Fixes: https://github.com/openwrt/openwrt/issues/17345
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17352
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agouboot-rockchip: increase rng-seed size
Tianling Shen [Mon, 23 Dec 2024 13:56:31 +0000 (21:56 +0800)]
uboot-rockchip: increase rng-seed size

Increase rng-seed size to make Linux happy and initialize rng pool instantly.
Linux 5.19+ requires 32 bytes of entropy to initialize random pool, but u-boot
currently provides only 8 bytes.

Boot with 8 byte rng-seed (Linux 6.11):
    # dmesg | grep crng
    [   12.089286] random: crng init done
Boot with 32 byte rng-seed (Linux 6.11):
    # dmesg | grep crng
    [    0.000000] random: crng init done

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17352
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoRevert "ipq40xx: use PHY to control USB GPIO"
Shiji Yang [Sun, 22 Dec 2024 12:13:05 +0000 (20:13 +0800)]
Revert "ipq40xx: use PHY to control USB GPIO"

This reverts commit 3bd2cee9bf85f01732e05e0c8fb070fb18c74095.

Based on my testing, we are unable to control USB power supply
through some third-party tools (e.g. uhubctl) or sysfs in userspace.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17339
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoipq40xx-generic: ws-ap3915i fix macadress
Florian Maurer [Thu, 19 Dec 2024 10:49:13 +0000 (11:49 +0100)]
ipq40xx-generic: ws-ap3915i fix macadress

set macaddress correctly for board

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17305
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoipq40xx-generic: EN WS-AP3915i remove BLOCKSIZE from image definition
Florian Maurer [Thu, 19 Dec 2024 09:46:40 +0000 (10:46 +0100)]
ipq40xx-generic: EN WS-AP3915i remove BLOCKSIZE from image definition

The blocksize was too high, resulting in forgetting the config on sysupgrade
It is not needed for SPI-NOR.

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17305
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agouboot-d1: Adapt BUILD_DEVICES to renamed boards
Hauke Mehrtens [Mon, 23 Dec 2024 00:49:04 +0000 (01:49 +0100)]
uboot-d1: Adapt BUILD_DEVICES to renamed boards

The boards where renamed, but BUILD_DEVICES was not adapted. This
variable points to the board name. Without this change the u-boot
binaries are not selected in the configuration.

Copy the u-boot binaries under the BUILD_DEVICES name as it is expected
by the image scripts.

Fixes: 33e23e8922ce ("build: d1: add SUPPORTED_DEVICES")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoarm-trusted-firmware-stm32: bump to v2.12
Thomas Richard [Fri, 29 Nov 2024 10:53:14 +0000 (11:53 +0100)]
arm-trusted-firmware-stm32: bump to v2.12

No need to pass the option no-warn-rwx-segments. Since v2.12, TF-A
automatically selects it if needed.

A patch is added to revert commit 03a581e2 ("feat(stm32mp1-fdts): remove
RTC clock configuration").
This commit removed RTC clock configuration, as it assumed that it was done
correctly by OPTEE.
But it is not the case. Without this patch the RTC is in a bad state,
consequently the wifi module cannot be initialized.

stm32_rtc 5c004000.rtc: rtc_ck is slow
stm32_rtc 5c004000.rtc: Can't enter in init mode. Prescaler config failed.
stm32_rtc: probe of 5c004000.rtc failed with error -110

sdio mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.st,stm32mp135f-dk.bin failed with error -2
brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

Tested on STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/17243
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoinclude/trusted-firmware-a.mk: remove the no-warn-rwx-segments hack
Thomas Richard [Fri, 29 Nov 2024 10:36:46 +0000 (11:36 +0100)]
include/trusted-firmware-a.mk: remove the no-warn-rwx-segments hack

Since v2.12, TF-A automatically selects the no-warn-rwx-segments option if
needed.
So move this hack to the package Makefiles.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/17243
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agouboot-stm32: bump to 2024.10
Thomas Richard [Thu, 28 Nov 2024 17:05:29 +0000 (18:05 +0100)]
uboot-stm32: bump to 2024.10

Now the tool mkeficapsule is built by default if EFI_LOADER config is set
(which is the case by default for armv7).
This tool needs gnutls, which only exists in the packages feed.
As we don't need mkeficapsule, just disable it.

Tested on STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/17243
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agooptee-os-stm32: bump to 4.4.0
Thomas Richard [Thu, 28 Nov 2024 16:28:47 +0000 (17:28 +0100)]
optee-os-stm32: bump to 4.4.0

Tested on STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/17243
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoath79: nbg6x16: use nvmem
Rosen Penev [Sat, 15 Jun 2024 21:23:02 +0000 (14:23 -0700)]
ath79: nbg6x16: use nvmem

Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16291
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agokernel: generic: netfilter: nft_set_hash: unaligned atomic read on struct nft_set_ext
Hauke Mehrtens [Sun, 22 Dec 2024 15:41:11 +0000 (16:41 +0100)]
kernel: generic: netfilter: nft_set_hash: unaligned atomic read on struct  nft_set_ext

Fix kernel panic on some 64 bit architectures.

This patch is pending upstream.
https://patchwork.ozlabs.org/project/netfilter-devel/patch/20241222100239.336289-1-pablo@netfilter.org/

Fixes: https://github.com/openwrt/openwrt/issues/17336
Link: https://github.com/openwrt/openwrt/pull/17340
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agomediatek: filogic: add support for Tenbay WR3000K
Jianyu Zhuang [Tue, 10 Dec 2024 07:38:20 +0000 (15:38 +0800)]
mediatek: filogic: add support for Tenbay WR3000K

Tenbay WR3000K is an 802.11ax (Wi-Fi 6) router, based on MediaTek MT7981B.

- SoC: MetiaTek MT7981B
- RAM: Hynex H5TQ2G863GFR 512MiB
- Flash: Winbond W25N01GVZEIG 128MiB
- Wi-Fi: MediaTek MT7976C (2.4GHz/5GHz, 802.11ax, 2x2 MIMO, AX3000)
- MediaTek MT7915E: 2.4GHz and 5GHz
- Ethernet: 1x 10/100/1000 Mbps WAN + 3x 10/100/1000 Mbps LAN
- Switch: MediaTek MT7531AE
- UART: J4 (115200 baud)
- LEDs: Power
- Buttons: Reset, WPS
- PWR: 12V/1A DC, 5.5×2.1 connector

| Vendor  | OpenWrt Interface | Address       | Notes                                          |
|---------|-------------------|---------------|------------------------------------------------|
| WAN     | wan            | Label MAC     |  Stored MAC in factory + offset 4, label MAC is Stored MAC - 2   |
| LAN     | br-lan             | Label MAC+1   |              |
| 2.4GHz  | phy0-ap0          | Label MAC + 2     |             |
| 5GHz    | phy1-ap0          | Label MAC + 3     |              |

- 0x000000000000-0x000000100000 : "BL2"
- 0x000000100000-0x000000180000 : "u-boot-env"
- 0x000000180000-0x000000380000 : "Factory"
- 0x000000380000-0x000000580000 : "FIP"
- 0x000000580000-0x000003580000 : "ubi"
- 0x000003580000-0x000006580000 : "ubi1"
- 0x000006580000-0x0000065a0000 : "Product"
- 0x0000065a0000-0x000007580000 : "Custom"

- The original partition-Ubi partition-Ubi1 is an AB dual system, and Openwrt only uses Ubi. So flash requires modifying the uboot variable `boot_from=ubi` to ensure that it only starts from Ubi.

- The Product and Custom partitions are original and only exist to align with the original layout; they are not used by OpenWrt.

- id: 0, kernel
- id: 1, rootfs
- id: 2, rootfs_data

- **USB-to-TTL Serial Adapter** (e.g., CH340 or CP2102).
- **Dupont Wires** (male-to-male, 3 wires).
- **PC/Laptop** with a serial communication tool.
- Screwdriver (to open the router case).

1. **OpenWrt Firmware**:
   - Download the appropriate `wr3000k-<build_time>-mediatek-filogic-tenbay_wr3000k-squashfs-sysupgrade.bin` firmware file for your router from the [OpenWrt website](https://openwrt.org/).
2. **Serial Communication Tool**:
   - Windows: PuTTY, Tera Term.
   - Linux/Mac: Minicom, screen.
3. (Optional) **TFTP Server**:
   - Install a TFTP server like Tftpd64 or tftp-hpa.

---

1. Open the router casing and locate the **TX, RX, and GND** pins.
2. Connect the router pins to the USB-to-TTL adapter as follows:
   - **TX (router)** → **RX (adapter)**
   - **RX (router)** → **TX (adapter)**
   - **GND (router)** → **GND (adapter)**
3. Do **not** connect the VCC pin to avoid damage.

- **Baud rate**: 115200
- **Data bits**: 8
- **Stop bits**: 1
- **Parity**: None
- **Flow control**: None

---

1. Power on the router and observe the serial terminal output.
2. When prompted (e.g., `Hit any key to stop autoboot: 3`), press the '/' key quickly to interrupt the boot process.
3. You will see the U-Boot Boot Menu:
```plaintext
*** U-Boot Boot Menu ***

    1. Factory mode
    2. Startup system (Default)
    3. Upgrade firmware
    4. Upgrade ATF BL2
    5. Upgrade ATF FIP
    6. Upgrade single image
    7. Load image
    0. U-Boot console

Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit
```
4. Select Option 0 by typing 0 and pressing Enter.
5. Input into
```plaintext
MT7981> setenv boot_from ubi
MT7981> saveenv
Saving Environment to MTD... Erasing on MTD device 'nmbm0'... OK
Writing to MTD device 'nmbm0'... OK
OK
MT7981> printenv
baudrate=115200
boot_from=ubi
...
```
the above indicates system will start from *ubi*.
and then type
```plaintext
MT7981> reset
```
will boot from *ubi*

1. Power on the router and observe the serial terminal output.
2. When prompted (e.g., `Hit any key to stop autoboot: 3`), press the '/' key quickly to interrupt the boot process.
3. You will see the U-Boot Boot Menu:
```plaintext
*** U-Boot Boot Menu ***

    1. Factory mode
    2. Startup system (Default)
    3. Upgrade firmware
    4. Upgrade ATF BL2
    5. Upgrade ATF FIP
    6. Upgrade single image
    7. Load image
    0. U-Boot console

Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit
```
4. Choose Option 3: Upgrade Firmware
Enter Upgrade Mode
Select Option 3 by typing 3 and pressing Enter.
Upgrade Methods
You will be prompted to choose between:
```plaintext
*** Upgrading Firmware ***

Run image after upgrading? (Y/n): y

Available load methods:
    0 - TFTP client (Default)
    1 - Xmodem
    2 - Ymodem
    3 - Kermit
    4 - S-Record
    5 - RAM

Select (enter for default): 0

Input U-Boot's IP address: 192.168.1.1
Input TFTP server's IP address: 192.168.1.10
Input IP netmask: 255.255.255.0
Input file name: wr3000k-<build_time>-mediatek-filogic-tenbay_wr3000k-squashfs-sysupgrade.bin
```
Type Enter to proceed. The router will erase the old firmware and write the new one.

Signed-off-by: Jianyu Zhuang <xzjianyu@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17172
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agomediatek/filogic: add support for Cudy AP3000 v1
Maxim Anisimov [Tue, 10 Dec 2024 13:37:02 +0000 (16:37 +0300)]
mediatek/filogic: add support for Cudy AP3000 v1

Hardware:
  SoC:     MT7981b
  RAM:     512 MB
  Flash:   256 MB SPI NAND
  Ethernet:
    1x2.5Gbps (rtl8221b)
  WiFi:    2x2 MT7981
  Button:  Reset
  LED:     1x multicolor

Installation
------------
At the moment, firmware installation is only possible via a transition firmware.
It's can be requested from the manufacturer by email to support@cudy.com

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17225
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agolinux-firmware: package MediaTek MT7925 Bluetooth firmware
Rani Hod [Sun, 22 Dec 2024 00:53:51 +0000 (02:53 +0200)]
linux-firmware: package MediaTek MT7925 Bluetooth firmware

`btusb` fails to start on MT7925 hardware without the appropriate
firmware being loaded first:
```
bluetooth hci0: Direct firmware load for mediatek/mt7925/BT_RAM_CODE_MT7925_1_1_hdr.bin failed with error -2
bluetooth hci0: Falling back to sysfs fallback for: mediatek/mt7925/BT_RAM_CODE_MT7925_1_1_hdr.bin
```
Package firmware for MediaTek MT7925 Bluetooth from `linux-firmware`.

Signed-off-by: Rani Hod <rani.hod@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17331
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agomediatek: update openembed som7981 support
Tianling Shen [Wed, 16 Oct 2024 08:05:40 +0000 (16:05 +0800)]
mediatek: update openembed som7981 support

The board has been redesigned due to previous hardware bugs
(with other reasons maybe).

Changes in new board:
- Added a gpio beeper
- Added a Atmel i2c eeprom
- Added a Atmel i2c ECC accelerator
- Added a Philips RTC module
- Added two RS485
- Removed WPS button
- Replaced USB3 port with M.2 B-key for LTE modules
- Swapped GbE LEDs gpio

Also assigned wifi mac with nvmem binding, added iface setup for failsafe,
increased phy assert time for rtl8221b, and updated LED labels.

Keeping compatibility for old version is not necessary here as only
few samples were sent to those interested in it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17253
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agokernel: crypto: add atmel i2c hw accelerator support
Tianling Shen [Wed, 16 Oct 2024 08:05:40 +0000 (16:05 +0800)]
kernel: crypto: add atmel i2c hw accelerator support

Add support for Microchip / Atmel ECC/SHA/RNG hw accelerator.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17253
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agokernel: netdevices: add driver for Broadcom NetXtreme-C/E
Jonas Jelonek [Wed, 18 Dec 2024 20:57:22 +0000 (21:57 +0100)]
kernel: netdevices: add driver for Broadcom NetXtreme-C/E

Package bnxt_en kernel module for Broadcom NetXtreme-C/E based Ethernet
network chips like BCM573xx and BCM574xx.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17301
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agobuild: d1: add SUPPORTED_DEVICES
Eric Fahlgren [Tue, 3 Dec 2024 23:17:05 +0000 (15:17 -0800)]
build: d1: add SUPPORTED_DEVICES

Include specific SUPPORTED_DEVICES values derived from the .dts file.
This makes the generated profiles.json consistent with the 'board_name' from
'ubus call system board'.

Specifically, this fixes a bug in the generated profiles.json that breaks the
ASU clients when selecting the proper image from a build.

See the 'supported_devices' fields here for the incorrect (or incomplete) list:
https://downloads.openwrt.org/releases/24.10.0-rc1/targets/d1/generic/profiles.json

Links: https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035/287
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17155
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoipq-wifi: update to Git HEAD (2024-12-18)
Shymon Samsel [Thu, 19 Dec 2024 17:28:43 +0000 (12:28 -0500)]
ipq-wifi: update to Git HEAD (2024-12-18)

4b849214b137 ipq8074: add TP-Link EAP620 HD v1 BDF Add board file for TP-Link EAP620 HD v1. Sourced from bdwlan_US.bin in stock firmware 1.1.0 Build 20211028

Signed-off-by: Shymon Samsel <ssamsel@umass.edu>
Link: https://github.com/openwrt/openwrt/pull/17254
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoipq807x: add support for TP-Link EAP620 HD v1
Shymon Samsel [Fri, 13 Dec 2024 10:59:04 +0000 (05:59 -0500)]
ipq807x: add support for TP-Link EAP620 HD v1
Specifications:
  * SoC: Qualcomm IPQ8072A (64-bit Quad-core Arm Cortex-A53 @ 1.4 GHz)
  * Memory: 2x ESMT M15T4G16256A-DEBG2G (1 GiB DDR3-1866 13-13-13)
  * Serial Port: 3v3 TTL 115200n8
  * Wi-Fi: QCA5054 (4x4 5 GHz 802.11ax)
  * Wi-Fi: QCN5024 (2x2 2.4 GHz 802.11b/g/n/ax)
  * Ethernet: AR8031 (10/100/1000BASE-T)
  * Flash: Winbond W29N01HZSINF (128 MiB)
  * LEDs: 1x Blue Status (GPIO 42 Active High)
  * Buttons: 1x Reset (GPIO 50 Active Low)

Installation Instructions (Serial+TFTP):
  1. Solder 4 pin header to JP1 and bridge pads of R58 and R62.
  2. Connect 3V3 TTL port to TX, RX, and GND, which are positions 1, 2, and 3 respectively.
     Be sure to crossover TX and RX.
  3. Copy RAM firmware
     openwrt-qualcommax-ipq807x-tplink_eap620hd-v1-initramfs-uImage.itb
     to a TFTP server's root that is in the same subnet as your AP.
  4. Power up the AP hold Ctrl+B in the serial console (115200n8) until autoboot is halted.
  5. Run the following commands in the U-boot prompt:
     # setenv serverip <TFTP server addr>
     # setenv ipaddr <addr of AP>
     # tftpboot 0x44000000 openwrt-qualcommax-ipq807x-tplink_eap620hd-v1-initramfs-uImage.itb
     # bootm
     You may need to type Ctrl+C and Enter before running these commands
     to clear invisible characters from the buffer.
  6. Run the following command in a terminal to copy the sysupgrade image
     to be installed (check IP address):
     $ scp -O openwrt-qualcommax-ipq807x-tplink_eap620hd-v1-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
  7. Activate the OpenWrt serial console and run the following commands:
     # cd /tmp
     # sysupgrade -n openwrt-qualcommax-ipq807x-tplink_eap620hd-v1-squashfs-sysupgrade.bin
  8. The AP will reboot and OpenWrt will be successfully installed.

Known Issues:
  * 5GHz radio instability (upstream current ath11k build bug maybe?)

Device support directly followed from EAP660HDv1 support
Links: #15832

Signed-off-by: Shymon Samsel <ssamsel@umass.edu>
Link: https://github.com/openwrt/openwrt/pull/17254
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoramips: rt3050: fix wrong compatible
Rosen Penev [Tue, 3 Dec 2024 00:50:22 +0000 (16:50 -0800)]
ramips: rt3050: fix wrong compatible

In the process of upstreaming the local phy driver back in 2017, it
seems rt3050.dtsi was left out when updating the compatible string.

Add device reset as the driver needs it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17257
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: merge Zyxel GS1900 firmware partitions
Sander Vanheule [Sat, 21 Sep 2024 13:09:34 +0000 (15:09 +0200)]
realtek: merge Zyxel GS1900 firmware partitions

The dual-boot partition layout for the Zyxel GS1900 switches results in
6.9MB for both kernel and rootfs. Depending on the package selection,
this may already leave no space for the user overlay.

Merge the two firmware partitions, effectively dropping dual boot
support with OpenWrt. This results in a firmware partition of 13.9MB,
which should leave some room for the future.

To maintain install capabilites on new devices, an image is required
that still fits inside the original partition. The initramfs is used as
factory install image, so ensure this meets the old size constraints.
The factory image can be flashed via the same procedure as vendor images
when reverting to stock, can be installed from stock, or can be launched
via tftpboot.

Link: https://github.com/openwrt/openwrt/issues/16439
Link: https://github.com/openwrt/openwrt/pull/16442
Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
4 days agorealtek: ZyXEL GS1900-48: drop gpio-restart
Sander Vanheule [Sun, 20 Feb 2022 18:50:38 +0000 (19:50 +0100)]
realtek: ZyXEL GS1900-48: drop gpio-restart

GPIO 5 on the RTL8231 is defined reset the system, but fails to actually
do so. This triggers a kernel a number of warnings and backtrace for
GPIO pins that can sleep, such as the RTL8231's. Two warnings are
emitted by libgpiod, and a third warning by gpio-restart itself after it
fails to restart the system:

[  106.654008] ------------[ cut here ]------------
[  106.659240] WARNING: CPU: 0 PID: 4279 at drivers/gpio/gpiolib.c:3098 gpiod_set_value+0x7c/0x108
               [ Stack dump and call trace ]
[  106.826218] ---[ end trace d1de50b401f5a153 ]---
[  106.962992] ------------[ cut here ]------------
[  106.968208] WARNING: CPU: 0 PID: 4279 at drivers/gpio/gpiolib.c:3098 gpiod_set_value+0x7c/0x108
               [ Stack dump and call trace ]
[  107.136718] ---[ end trace d1de50b401f5a154 ]---
[  111.087092] ------------[ cut here ]------------
[  111.092271] WARNING: CPU: 0 PID: 4279 at drivers/power/reset/gpio-restart.c:46 gpio_restart_notify+0xc0/0xdc
               [ Stack dump and call trace ]
[  111.256629] ---[ end trace d1de50b401f5a155 ]---

By removing gpio-restart from this device, we skip the restart-by-GPIO
attempt and rely only on the watchdog for restarts, which is already the
de facto behaviour.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
4 days agoath79: ap5030dn: use label-mac-device property
Rosen Penev [Sat, 22 Jun 2024 18:43:03 +0000 (11:43 -0700)]
ath79: ap5030dn: use label-mac-device property

Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17311
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agomvebu: rb5009: add label-mac-device
Fabian Bläse [Fri, 20 Dec 2024 09:38:31 +0000 (10:38 +0100)]
mvebu: rb5009: add label-mac-device

Add the label-mac-device alias.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Link: https://github.com/openwrt/openwrt/pull/17313
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agoocteon: enable AT803x PHY driver
Lorenz Brun [Fri, 20 Dec 2024 22:37:01 +0000 (23:37 +0100)]
octeon: enable AT803x PHY driver

The AR8035 PHY is used in most Octeon boards supported by OpenWRT (all
the Ubiquiti routers at least). To be able to use its PHY-specific
functionality (cable testing, LED Control, ...) it should be built on
Octeon. It also needs the regulator framework, so enable that as well.
These boards are not space-constrained, so this really has no downsides.

Tested on an EdgeRouter Lite, cable tests now work with ethtool-full.

Signed-off-by: Lorenz Brun <lorenz@brun.one>
Link: https://github.com/openwrt/openwrt/pull/17318
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agobusybox: Fix hexdump applet
Hannu Nyman [Thu, 19 Dec 2024 18:45:40 +0000 (20:45 +0200)]
busybox: Fix hexdump applet

Fix the hexdump applet's formatting with certain format types
by applying the upstream fix for 1.37.0.

Also refresh patches.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/17308
[Changed to 002- patch file name prefix]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agokernel: bump 6.6 to 6.6.67
John Audia [Thu, 19 Dec 2024 19:01:20 +0000 (14:01 -0500)]
kernel: bump 6.6 to 6.6.67

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

All patches automatically rebased.

Build system: x86/64
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17309
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agogeneric: fix BCM54612E suspend/resume backport patch
Marco von Rosenberg [Wed, 18 Dec 2024 22:32:42 +0000 (23:32 +0100)]
generic: fix BCM54612E suspend/resume backport patch

This backport patch inserted suspend/resume callbacks
for the wrong PHY driver.
The fixed patch is needed for Huawei AP5030DN
to initialize its second PHY.

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

Fixes: 06cdc07f8cc7 ("ath79: add support for Huawei AP5030DN")
Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
Link: https://github.com/openwrt/openwrt/pull/17312
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agomediatek: filogic: bpi-r4: set netdev-name for sfp ports
Jonas Jelonek [Wed, 13 Nov 2024 22:25:09 +0000 (22:25 +0000)]
mediatek: filogic: bpi-r4: set netdev-name for sfp ports

Sets openwrt,netdev-name for the gmac nodes in the dts of BPI-R4 which
correspond to the two sfp slots. By default they are automatically
named as eth1 and eth2 in bad order, however 'SFP1-WAN' and 'SFP2-LAN'
are printed on the PCB and the official metal case has labels 'SFP-WAN'
and 'SFP-LAN'. Thus, label the ports accordingly to match the
board/case labels.
The COMPAT_VERSION is increased to denote that configuration has to be
adjusted manually.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
5 days agomediatek: filogic: bpi-r3: set netdev-name for sfp1 port
Jonas Jelonek [Sun, 10 Nov 2024 00:43:23 +0000 (00:43 +0000)]
mediatek: filogic: bpi-r3: set netdev-name for sfp1 port

Sets openwrt,netdev-name for the gmac1 node in the dts of BPI-R3, which
corresponds to the sfp1 slot, to have a proper naming and match the
label on the official BPI-R3 metal case. This renames the port from eth1
to sfp1.
The COMPAT_VERSION is increased to denote that configuration has to be
adjusted manually.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
5 days agomediatek: filogic: support openwrt,netdev-name for renaming interfaces
Jonas Jelonek [Mon, 25 Nov 2024 23:04:15 +0000 (23:04 +0000)]
mediatek: filogic: support openwrt,netdev-name for renaming interfaces

Add support in filogic subtarget for our own custom property
`openwrt,netdev-name` in the device tree instead of `label` for
renaming interfaces. This was suggested upstream to avoid potential
conflicts [1].

[1] https://lore.kernel.org/netdev/20240709124503.pubki5nwjfbedhhy@skbuf/

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
7 days agohostapd: fix call to hostapd reload
Florian Maurer [Sat, 14 Dec 2024 11:38:28 +0000 (12:38 +0100)]
hostapd: fix call to hostapd reload

access to undeclared variable radio In [anonymous function](), file /usr/share/hostap/hostapd.uc, line 830, byte 45:

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
7 days agowifi-scripts: fix phy index lookup in device_capabilities
Felix Fietkau [Thu, 19 Dec 2024 05:44:30 +0000 (06:44 +0100)]
wifi-scripts: fix phy index lookup in device_capabilities

For renamed phys, the index cannot be derived from the name

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 days agohostapd: fix passing radio parameter in wpa_supplicant calls
Felix Fietkau [Thu, 19 Dec 2024 05:26:59 +0000 (06:26 +0100)]
hostapd: fix passing radio parameter in wpa_supplicant calls

Fixes accessing PHY status in AP+STA configurations

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 days agokernel: bump 6.6 to 6.6.66
John Audia [Sat, 14 Dec 2024 20:02:19 +0000 (15:02 -0500)]
kernel: bump 6.6 to 6.6.66

Update patch set for new release and add required kernel option
CONFIG_ZRAM_TRACK_ENTRY_ACTIME to generic config

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

Manually rebased:
bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
starfive/patches-6.6/1000-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch

Removed upstreamed:
bcm27xx/patches-6.6/950-0029-vc4_hdmi-Avoid-log-spam-for-audio-start-failure.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.66&id=e0388a95736abd1f5f5a94221dd1ac24eacbd4d7

Build system: x86/64
Build-tested: bcm27xx/bcm2712, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Run-tested: bcm27xx/bcm2712, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17271
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agoath79: tplink,deco-s4-v2: use nvmem for cal
Rosen Penev [Sun, 16 Jun 2024 19:40:53 +0000 (12:40 -0700)]
ath79: tplink,deco-s4-v2: use nvmem for cal

Userspace handling is deprecated. MAC address stuff needs to remain
handled in userspace as it's encrypted. Maybe an NVMEM driver can be
written in the future...

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17276
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agofirewall4: update to Git HEAD (2024-12-18)
Felix Fietkau [Wed, 18 Dec 2024 09:35:21 +0000 (10:35 +0100)]
firewall4: update to Git HEAD (2024-12-18)

e00958884416 fw4: do not add physical devices for soft offload
dfbcc1cd127c fw4: skip not existing netdev names in flowtable device list
18fc0ead19fa init: use the reload data trigger to reload firewall on procd data changes

Fixes: https://github.com/openwrt/openwrt/issues/13410
Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 days agoapk: disable tests
Robert Marko [Wed, 18 Dec 2024 09:55:01 +0000 (10:55 +0100)]
apk: disable tests

Currently if the host system has cmocka installed it will leak the host
path and try to use the host cmocka and build tests.

This will obviously fail, so backport upstream commit allowing disabling
of tests and disable building them.

Fixes: openwrt/packages#25456
Link: https://github.com/openwrt/openwrt/pull/17297
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agolinux-firmware: ath11k: add QCA2066 firmware
Chukun Pan [Tue, 10 Dec 2024 15:02:09 +0000 (23:02 +0800)]
linux-firmware: ath11k: add QCA2066 firmware

Add QCA2066 firmware package, ath11k is already supported.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/17260
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agoqualcommax: fix usb regulator supply for RT-AX89X
Chukun Pan [Mon, 16 Dec 2024 15:09:26 +0000 (23:09 +0800)]
qualcommax: fix usb regulator supply for RT-AX89X

The qusb_phy node looks for the following supply:
  "vdd", "vdda-pll", "vdda-phy-dpdm"
And ssphy node looks for the following supply:
  "vdda-phy", "vdda-pll"
So fix the usb regulator supply for RT-AX89X.

Fixes: 1306237 ("qualcommax: use PHY regulator for USB GPIO")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/17290
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agounetd: update to Git HEAD (2024-12-17)
Felix Fietkau [Tue, 17 Dec 2024 20:57:44 +0000 (21:57 +0100)]
unetd: update to Git HEAD (2024-12-17)

93461ca4c827 unet-cli: only apply defaults on create
3e5766783d5d unet-tool: add support for confirming password
074d3659ca4a unet-cli: confirm password when creating new seed based key
bf3488a3807a unet-cli: add add/set-local-host command
9eb57c528461 unet-cli: add support for setting interface zone
a0a2d80f3459 ubus: add firewall rules for network port/pex_port via procd

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 days agoprocd: add support for reload triggers on data change
Felix Fietkau [Tue, 17 Dec 2024 20:54:14 +0000 (21:54 +0100)]
procd: add support for reload triggers on data change

This can be useful to reload the firewall when procd firewall data changes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 days agoprocd: do not overwrite service data by default
Felix Fietkau [Tue, 17 Dec 2024 20:21:37 +0000 (21:21 +0100)]
procd: do not overwrite service data by default

Allows a running servie to manage its own data if untouched by the init script

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 days agoprocd: update to Git HEAD (2024-12-17)
Felix Fietkau [Tue, 17 Dec 2024 20:53:36 +0000 (21:53 +0100)]
procd: update to Git HEAD (2024-12-17)

2e206dbe77ec service: add support for triggers on service/instance data changes
735b48728fca service: remove leftover lines from previous commit
32469644a029 service: allow incremental changes to service properties
fd01fb852302 service: fix double free bug when dealing with data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 days agonetifd: update to Git HEAD (2024-12-17)
Felix Fietkau [Tue, 17 Dec 2024 19:01:13 +0000 (20:01 +0100)]
netifd: update to Git HEAD (2024-12-17)

058a099f5bc5 interface: fix memleak and reload issue for the zone attribute
ea01ed41f321 interface: remove unnecessary NULL checks before free()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 days agounetd: add firewall input rule for global port
Felix Fietkau [Tue, 17 Dec 2024 13:51:18 +0000 (14:51 +0100)]
unetd: add firewall input rule for global port

Ensure that peers can be exchanged over any interface

Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 days agokirkwood: Make the Marvell DSA switch a module
Linus Walleij [Sun, 17 Nov 2024 21:47:27 +0000 (22:47 +0100)]
kirkwood: Make the Marvell DSA switch a module

Not all Kirkwood systems have the Marvell MV88E6XXX switches.
Drop those from the generic config and add them as modules
in the systems that have it.

This was inferred by inspecting the upstream DTS files for any
mv88e* strings and adding the mv88e6xxx kmod package to those
that have an upstream device tree with an MV88E6xxx switch
and an OpenWrt image target.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
9 days agounetd: update to Git HEAD (2024-12-16)
Felix Fietkau [Mon, 16 Dec 2024 12:03:26 +0000 (13:03 +0100)]
unetd: update to Git HEAD (2024-12-16)

d22d7db581d5 bpf_skb_utils.h: add missing include to fix build against newer kernel headers
bbd3e0eb1419 host: fix peer routes on a node acting as gateway
b17164751fc7 unet-tool: add support for generating keys from salt + seed passphrase
041e05870c20 unet-tool: add support for dumping pubkey from signed file
b58920d420cb unet-tool: add support for extracting network data from signed bin file
f335f5b40b4e unet-cli: add support for generating key from seed
8b1f1d099352 unet-cli: add support for importing networks from signed data
188ba05eadf2 unet-cli: add missing command line help for import
8f15fc306a40 unet-cli: fix add-ssh-host with seed keys
486bc3b86dc2 pex-msg: enable broadcast for global PEX socket
e4a24cdfbc1c unet-cli: fix defaults on create

Signed-off-by: Felix Fietkau <nbd@nbd.name>
10 days agoath79: fix tl-wa eth1 mac
Rosen Penev [Sat, 14 Dec 2024 22:26:25 +0000 (14:26 -0800)]
ath79: fix tl-wa eth1 mac

This is using mac-base and so a 0 needs to be added.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17274
Signed-off-by: Robert Marko <robimarko@gmail.com>
10 days agomediatek: add pending patches fixing video output on MT7623N
Daniel Golle [Sun, 15 Dec 2024 23:58:27 +0000 (23:58 +0000)]
mediatek: add pending patches fixing video output on MT7623N

Add a bunch of fixes for HDMI output and Mali-450 GPU rendering on
MT7623N, ie. the BananaPi R2.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
10 days agolantiq/xrx200: move 8M flash devices to a small flash subtarget
Andrew MacIntyre [Fri, 29 Nov 2024 06:06:02 +0000 (17:06 +1100)]
lantiq/xrx200: move 8M flash devices to a small flash subtarget

Images for xrx200 8M flash are either not building due to image
size (TD-W8970, TD-W8980) or building such that the available
free space in the overlayfs is too little to be useful.

To keep images for these devices buildable, move them into a
small flash variant of the xrx200 subtarget.  As these devices
are NOR flash only, remove NAND and UBI references from the
kernel config to gain some additional image size reduction.

The apparent 8M flash devices Arcadyan VGV7510KW22-brn,
Arcadyan VGV7519-brn and Lantiq Easy80920-nor seem to exist in
order to create special "factory" installation images for these
devices (which actually have larger flash: 16MB for the
Arcardyan devices; 64MB for the Lantiq device).  As a
considerable amount of surgery would appear to be required to
the uboot-lantiq package structure to separate the "factory"
from the "sysupgrade" device recipes for these devices they
remain in the xrx200 target - if factory images aren't now
created, 23.05.x factory images should suffice for initial
installation.

Tested on: Netgear DM200, TP-Link TD-W8980,
           AVM Fritz7490 (xrx200 subtarget: image build only)

Fixes: https://github.com/openwrt/openwrt/issues/16761
Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
Link: https://github.com/openwrt/openwrt/pull/17113
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agokernel: generic: tg3: Fix DMA allocations on 57766 devices
John Audia [Sun, 15 Dec 2024 14:30:52 +0000 (09:30 -0500)]
kernel: generic: tg3: Fix DMA allocations on 57766 devices

At the request of rsalvaterra, add this patch to fix an issue
affecting tg3 ethernet interfaces[1].

1. https://github.com/openwrt/openwrt/pull/17271#issuecomment-2543836518

Tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17282
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 days agoath79: fix ath9k calibration data size for AR9132
Shiji Yang [Thu, 12 Dec 2024 14:40:08 +0000 (22:40 +0800)]
ath79: fix ath9k calibration data size for AR9132

For ath9k NICs older than AR9287, The eeprom size is 0xeb8.

Fixes: https://github.com/openwrt/openwrt/issues/17196
Fixes: 74f2df9dbccd ("ath79: mtd-cal-data removals")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17261
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
11 days agoramips: fix 2.4G wmac eeprom offset for TL-WR902AC v4
Shiji Yang [Sat, 14 Dec 2024 04:11:24 +0000 (12:11 +0800)]
ramips: fix 2.4G wmac eeprom offset for TL-WR902AC v4

The eeprom data offset on 2.4GHz wmac is wrong. It is obvious that
this is a copy & paste issue.

Suggested-by: @cgm999 on https://github.com/openwrt/openwrt/issues/13969
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17263
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
11 days agobase-files: fix shell scope error for the default LED brightness
Andre Heider [Sat, 14 Dec 2024 10:27:09 +0000 (11:27 +0100)]
base-files: fix shell scope error for the default LED brightness

This fixes "sh: write error: Invalid argument" for all default!=1 LEDs
as an empty $brightness was used.

Setting up LEDs via luci also now works again.

Fixes cbdfd03e: "base-files: add option to set LED brightness"
Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/issues/17269
Signed-off-by: John Crispin <john@phrozen.org>
12 days agokernel: bump 6.6 to 6.6.65
John Audia [Thu, 12 Dec 2024 13:19:59 +0000 (08:19 -0500)]
kernel: bump 6.6 to 6.6.65

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

Update to checksum only/no patches required a rebase.
Per the changelog, this is a trivial upstream bump with only 4
commits, 2 of which being reverts.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17217
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agokernel: bump 6.6 to 6.6.64
John Audia [Mon, 9 Dec 2024 23:19:18 +0000 (00:19 +0100)]
kernel: bump 6.6 to 6.6.64

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

Manually rebased:
generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch
bcm27xx/patches-6.6/950-0585-drm-vc4-Introduce-generation-number-enum.patch
bcm27xx/patches-6.6/950-0610-drm-vc4-hvs-Support-BCM2712-HVS.patch
bcm27xx/patches-6.6/950-0829-vc4-hvs-Add-support-for-D0-register-changes.patch

Removed upstreamed:
bcm27xx/patches-6.6/950-0597-drm-vc4-hdmi-Avoid-hang-with-debug-registers-when-su.patch[1]
bcm27xx/patches-6.6/950-0599-drm-vc4-Fix-dlist-debug-not-resetting-the-next-entry.patch[2]
bcm27xx/patches-6.6/950-0600-drm-vc4-Remove-incorrect-limit-from-hvs_dlist-debugf.patch[3]
bcm27xx/patches-6.6/950-0708-drm-vc4-Correct-logic-on-stopping-an-HVS-channel.patch[4]
ramips/patches-6.6/002-01-v6.13-clk-ralink-mtmips-fix-clock-plan-for-Ralink-SoC-RT38.patch[5]
ramips/patches-6.6/002-02-v6.13-clk-ralink-mtmips-fix-clocks-probe-order-in-oldest-r.patch[6]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=223ee2567a55e4f80315c768d2969e6a3b9fb23d
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=8182b5ca19c6f173b6498d1c6d3e4b034b76bbde
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=52c1716f65a558174e381360bd88f18dae4be85c
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=9728b508b01a5eeeac79ceb676364c674dd951ac
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=f85a1d06afbcc57ac44176db8f9d7a934979952c
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=fbb13732c6ffa9d58cedafabcd5ce8fd7ef8ae5a

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Co-authored-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17217
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agoqualcommax: use PHY regulator for USB GPIO
Rosen Penev [Tue, 3 Dec 2024 21:40:28 +0000 (13:40 -0800)]
qualcommax: use PHY regulator for USB GPIO

The PHY can handle turning off the GPIOs when turning off all USB ports.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17192
Signed-off-by: Robert Marko <robimarko@gmail.com>
12 days agoramips: add support for ASUS 4G-AX56
Chuncheng Chen [Thu, 20 Oct 2022 03:43:11 +0000 (11:43 +0800)]
ramips: add support for ASUS 4G-AX56

Specifications:
- Device: ASUS 4g-AX56
- SoC: MT7621AT
- Flash: 128MB
- RAM: 512MB
- Switch: 1 WAN, 4 LAN (10/100/1000 Mbps)
- WiFi: MT7905 2x2 2.4G + MT7975 2x2 5G
- LTE : Fibocom FG621-EA
- LEDs: 1x POWER (white, configurable)
1x 2.4G (white, not configurable)
1x 5G (white, not configurable)
        1x WAN (white, not configurable)
        1x 3G/4G (white, not configurable)
3x signal (white, not configurable)

Flash by U-Boot TFTP method:
- Configure your PC with IP 192.168.0.2
- Set up TFTP server and put the factory.bin image on your PC
- Connect serial port(rate:115200) and turn on AP, then interrupt "U-Boot Boot Menu" by hitting any key
   Select "2. Upgrade firmware"
   Press enter when show "Run firmware after upgrading? (Y/n):"
   Select 0 for TFTP method
   Input U-Boot's IP address: 192.168.0.1
   Input TFTP server's IP address: 192.168.0.2
   Input IP netmask: 255.255.255.0
   Input file name: openwrt-ramips-mt7621-asus_4g-ax56-squashfs-factory.bin
- Restart AP aftre see the log "Firmware upgrade completed!"

Notice:
- LTE module is disable after flash openwrt image so you must active LTE by following two AT command
   echo -e "AT+GTAUTOCONNECT=1\r\n" > /dev/ttyUSB0
   echo -e "AT+GTRNDIS=1,1\r\n" > /dev/ttyUSB0
- After finish AT command once, you don't need to input command later even if reboot/restore default

Signed-off-by: Chuncheng Chen <ccchen1984@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16752
Signed-off-by: John Crispin <john@phrozen.org>
12 days agoramips: mt7620: add support for THA-103AC (Version v1.0R)
Die Peter Pan [Sat, 23 Nov 2024 10:23:57 +0000 (05:23 -0500)]
ramips: mt7620: add support for THA-103AC (Version v1.0R)

Hardware
* Mediatek MT7620A + Mediatek MT7610EN
* 64MB RAM
* 8MB NAND (Winbond 25064FVSIG )

Both 2.4GHZ and 5GHZ are working, it is enabled by default since there is no
physical ethernet port in the device.

All LED's and buttons work.

UART: 57600 8N1 3.3V

Installation
Upload the openwrt-ramips-mt7620-trendnet_tha103ac-initramfs-kernel.bin via
the manufacturer firmware upgrade page on the device.

Upon reboot wait +- 3 mins until the green power LED is not flashing anymore
(do not be tempted to switch the device off while the LED is flashing, unless
you are ready for soldering and TTL) and then press the WPS button to enable
the default OpenWrt Wifi AP, the BLUE wifi LED will start flash.

Then install openwrt-ramips-mt7620-trendnet_tha103ac-squashfs-sysupgrade.bin
via OpenWrt.

The integrated power monitoring and relay do not work in OpenWrt as the PL7223
chip source/documentation is unavailable.

Recovery
Mis-configuration can be dealt with using the RESET button to reset to factory,
worst case scenario will require some serious work and soldering, there's pads
on the PCB for both the UART and ETH0, and I soldered and tested that it does
work.

You will have to power the board using the header pins GND & 5V, see the 8-pin
header socket.

Signed-off-by: Die Peter Pan <diepeterpan@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17114
Signed-off-by: John Crispin <john@phrozen.org>
12 days agoath79: pqi-air-pen: adjust mac addresses
Rosen Penev [Mon, 25 Nov 2024 22:33:06 +0000 (14:33 -0800)]
ath79: pqi-air-pen: adjust mac addresses

The original ar71xx version of this device used 1002 as mac address for
both ethernet and wireless. The ath79 version inexplicably changes this
to 2, which seems to be done nowhere else in ath79, indicating it's
bogus.

Restore previous ar71xx assignment. 1002 is used as an ethernet
interface with some other devices as well.

Also remove the bogus caldata userspace extraction. The size is bogus
and it's already handled in dts.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17083
Signed-off-by: John Crispin <john@phrozen.org>
12 days agomediatek: filogic: add support for NRadio C8-668GL
Yaoguang Bai [Tue, 26 Nov 2024 09:18:28 +0000 (17:18 +0800)]
mediatek: filogic: add support for NRadio C8-668GL

NRadio C8-668GL is a Wi-Fi 6 5G cellular router based on MediaTek MT7981B SoC.

- **SoC**: MediaTek MT7981B (2x Cortex-A53, 1.3GHz)
- **RAM**: Nanya NT5AD512M16C4-JR 1GB DDR4
- **Flash**: ESMT FC51L08SFY3A 8GB eMMC
- **Ethernet**:
  - 1x 2.5GbE (via GMAC0 and GPY211 PHY, shared with MT7531AE)
  - 3x 10/100/1000 Mbps (via MT7531AE, connected to GMAC0)
  - 5G Modem: GMAC1 (via GPY211 PHY - RTL8125BG - RM520N-GL)
- **Wi-Fi**: MediaTek MT7976CN (2.4GHz/5GHz, 802.11ax, 2x2 MIMO, AX3000)
- **Buttons**: Reset, WPS
- **LEDs**: Power, 5G, 4G, WiFi
- **SIM Slot**: 1x Nano SIM
- **5G Modem**: Quectel RM520N-GL (Snapdragon™ X62)
- **Power**: 12V/2A DC, 5.5×2.1 connector

The MAC addresses are derived from the `fac_mac` field in the `bdinfo` partition, formatted as `fac_mac = HWMAC`. The allocation is as follows:

| Vendor  | OpenWrt Interface | Address       | Notes                                          |
|---------|-------------------|---------------|------------------------------------------------|
| LAN     | br-lan            | Label MAC     | Default                                        |
| WAN     | lan4              | Label MAC+1   | Only when lan4 is switched to WAN             |
| 2.4GHz  | phy0-ap0          | Label MAC     |                                                |
| 5GHz    | phy1-ap0          | Label MAC     | (Local Admin bit set)                         |
| Modem   | eth1              | Label MAC+2   |                                                |

1. Log in to the router via `http://192.168.66.1`/.
2. Upgrade the official firmware to dual-system mode.
3. Select **Burn second system** and upload the `sysupgrade.bin` image.
   - Download the image from the OpenWrt build system or build it yourself using the OpenWrt buildroot.
4. Wait for 30 seconds and click **Switch system**.
5. The device will reboot and switch to OpenWrt.

Set the U-Boot environment variable `boot_system=0` and reboot:
```bash
fw_setenv boot_system 0
```

Power off the router, hold the **WPS button**, and power it back on.

1. Rename the stock firmware file to **`recovery.bin`**.
2. Set your PC's Ethernet IP to **192.168.1.88** and connect it to the lan1 port on the router.
3. Run a TFTP server and place the `recovery.bin` file in its root directory.
4. Power off the router, press and hold the **Reset button**, and power it back on.
5. Release the Reset button when the TFTP server shows activity.
6. Wait for the router to flash the firmware and reboot automatically.

- By default, `lan4` is part of `br-lan` and uses the label MAC address.
- To query the RM520N-GL module, use the following command:
  ```bash
  cat /dev/ttyUSB2 & printf 'ATI\r\n' > /dev/ttyUSB2
  ```

Signed-off-by: Yaoguang Bai <0xdeadc0de@badguys.club>
Link: https://github.com/openwrt/openwrt/pull/17093
Signed-off-by: John Crispin <john@phrozen.org>
12 days agoath79: usb: remove reset names
Rosen Penev [Fri, 29 Nov 2024 22:24:38 +0000 (14:24 -0800)]
ath79: usb: remove reset names

Upstream uses devm_reset_control_array_get_optional_shared, which does
not use names. reset-names is also not specified in the documentation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17118
Signed-off-by: John Crispin <john@phrozen.org>
12 days agoath79: change phy-names to only usb
Rosen Penev [Fri, 29 Nov 2024 04:44:51 +0000 (20:44 -0800)]
ath79: change phy-names to only usb

Both generic-ehci.yaml and generic-ohci.yaml state that phy-names is to
only be usb.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17118
Signed-off-by: John Crispin <john@phrozen.org>
12 days agoath79: usb: remove usb- from reset-names
Rosen Penev [Fri, 29 Nov 2024 04:21:20 +0000 (20:21 -0800)]
ath79: usb: remove usb- from reset-names

This matches the upstream PHY driver, which removed it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17118
Signed-off-by: John Crispin <john@phrozen.org>
12 days agowifi-scripts: don't fail on unset PSK
David Bauer [Sat, 7 Dec 2024 13:47:29 +0000 (14:47 +0100)]
wifi-scripts: don't fail on unset PSK

Don't fail wireless interface bringup on empty PSK set. This is a valid
configuration, resulting in a PSK network which can't be connected to.
It does not fail the bringup of the hostapd process.

Keep failing the interface setup in case a password with invalid length
is used.

This is also beneficial when intending to configure a PPSK network. It
allows to create a network where no PPSK is yet set.

Signed-off-by: David Bauer <mail@david-bauer.net>
Link: https://github.com/openwrt/openwrt/pull/17197
Signed-off-by: John Crispin <john@phrozen.org>
12 days agomac80211: refresh patch for ath12k
Georgi Valkov [Thu, 12 Dec 2024 09:05:15 +0000 (11:05 +0200)]
mac80211: refresh patch for ath12k

refresh the following patch for ath12k
001-wifi-ath12k-add-11d-scan-offload-support-and-handle-country-code-for-WCN7850.patch

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17246
Signed-off-by: John Crispin <john@phrozen.org>
12 days agolantiq: use regulator for USB GPIO
Rosen Penev [Tue, 3 Dec 2024 21:29:37 +0000 (13:29 -0800)]
lantiq: use regulator for USB GPIO

One is already present. The other one can be implemented in terms of the
PHY.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17250
Signed-off-by: John Crispin <john@phrozen.org>
13 days agohostapd: fix building mini variants
Felix Fietkau [Fri, 13 Dec 2024 10:04:04 +0000 (11:04 +0100)]
hostapd: fix building mini variants

Move function and add ifdef to avoid undefined reference to hmac_sha256_kdf.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
13 days agowifi-scripts: fix mesh/sta setup with ucode scripts
Felix Fietkau [Fri, 13 Dec 2024 09:56:50 +0000 (10:56 +0100)]
wifi-scripts: fix mesh/sta setup with ucode scripts

Ensure that the code doesn't pass macaddr_base with the wrong type (null)
to the supplicant setup/start call.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
13 days agodropbear: Name pid file by uci section name
Andreas Gnau [Tue, 28 Feb 2023 11:24:57 +0000 (16:54 +0530)]
dropbear: Name pid file by uci section name

Name the pidfile of each dropbear instance according to the
corresponding uci section name. This enables a 1:1 mapping between the
definition of the service instance and its process.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/15177
Signed-off-by: John Crispin <john@phrozen.org>
13 days agoipq40xx: use PHY to control USB GPIO
Rosen Penev [Tue, 3 Dec 2024 21:37:21 +0000 (13:37 -0800)]
ipq40xx: use PHY to control USB GPIO

Instead of using regulator-output to manually control USB GPIO, let the
PHY handle it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17221
Signed-off-by: John Crispin <john@phrozen.org>
13 days agobase-files: fix luci TZ default show zonename
Jiale Liu [Sun, 14 Apr 2024 16:27:49 +0000 (00:27 +0800)]
base-files: fix luci TZ default show zonename

fix default timezone to correct GMT0,
origin value 'UTC' is zonename, not timezone.

Signed-off-by: Jiale Liu <admin@licsber.site>
Link: https://github.com/openwrt/openwrt/pull/15128
Signed-off-by: John Crispin <john@phrozen.org>
13 days agohostapd: add support for rxkh_file
Sybil127 [Thu, 23 May 2024 16:49:54 +0000 (18:49 +0200)]
hostapd: add support for rxkh_file

Initial support for dynamic reload of RxKHs.

In order to check if RxKHs need reloading.
RxKHs defined in the rxkh_file first has to be parsed and formated,
the same way as hostapd will read from the file and also output,
with the command GET_RXKHS.
Then each list of RxKHs can be hashed and compared.

Ucode implementation of hostapds rkh_derive_key() function.
Hostapd converts hex keys with 128-bits or more when less than 256-bits
to 256-bits, and truncates those that are more than 256-bits.
See: https://w1.fi/cgit/hostap/commit/hostapd/config_file.c?id=245fc96e5f4b1c566b7eaa19180c774307ebed79

Signed-off-by: Sybil127 <sybil127@outlook.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
13 days agowifi-scripts: introduce rxkh_file uci option
Sybil127 [Thu, 23 May 2024 15:43:07 +0000 (17:43 +0200)]
wifi-scripts: introduce rxkh_file uci option

With rxkh_file, hostapd will read a list of RxKHs from a text file.
This also makes it possible for hostapd to dynamically reload RxKHs.

RxKHs defined in rxkh_file should be formated as described in hostapd.conf,
with one entry per line.

R0KH/R1KH format:
r0kh=<MAC address> <NAS Identifier> <256-bit key as hex string>
r1kh=<MAC address> <R1KH-ID> <256-bit key as hex string>

Reworked behavior of the uci options r0kh and r1kh.

When rxkh_file is not configured:
  Instead of appending the RxKHs to the hostapd bss configuration.
  They will be added to a interface specific file with name
  /var/run/hostapd-phyX-apX.rxkh.
  This file will be used as the rxkh_file in the hostapd bss configuration.

When rxkh_file is configured:
  The specified file will be used in the hostapd bss configuration,
  and will be the only source for configured RxKHs.
  All RxKHs defined with the uci options r0kh or r1kh will be ignored.

Signed-off-by: Sybil127 <sybil127@outlook.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
13 days agowifi-scripts: add macaddr_base wifi-device option
Felix Fietkau [Mon, 9 Dec 2024 19:09:15 +0000 (20:09 +0100)]
wifi-scripts: add macaddr_base wifi-device option

This can be used to configure the base mac address from which all
interface mac addresses are derived

Signed-off-by: Felix Fietkau <nbd@nbd.name>
13 days agowifi-scripts: fix failing mesh setup with missing wpa_supplicant
David Bauer [Thu, 12 Dec 2024 15:36:50 +0000 (16:36 +0100)]
wifi-scripts: fix failing mesh setup with missing wpa_supplicant

The initialization of mesh interfaces currently fail when wpa_supplicant
is not installed. This is due to the script calling the wpa_supplicant
feature indicator without verifying wpa_supplicant is installed at all.

To avoid failing, first check if wpa_supplicant is installed before
determining the available featureset.

Signed-off-by: David Bauer <mail@david-bauer.net>
13 days agoRevert "kernel: modules: fix led-group-multi-color patch"
John Crispin [Thu, 12 Dec 2024 14:43:35 +0000 (15:43 +0100)]
Revert "kernel: modules: fix led-group-multi-color patch"

This reverts commit 1cea889c96a8df4e91236e269539b086d519a60a.
This reverts commit 5fd86d66c15fc4d6f5076f7d07c91e0690d91531.

The patch is causing build servers to fail. Revert it for now.

Signed-off-by: John Crispin <john@phrozen.org>
13 days agokernel: modules: fix led-group-multi-color patch
John Crispin [Thu, 12 Dec 2024 12:52:43 +0000 (13:52 +0100)]
kernel: modules: fix led-group-multi-color patch

Fixes: 5fd86d6 ("kernel: modules: add support for led-group-multicolor")
Signed-off-by: John Crispin <john@phrozen.org>
13 days agokernel: modules: add support for led-group-multicolor
Jonathan Brophy [Tue, 10 Sep 2024 09:43:23 +0000 (21:43 +1200)]
kernel: modules: add support for led-group-multicolor

This option enables support for monochrome LEDs that are grouped into multicolor
LEDs which is useful in the case where LEDs of different colors are physically
grouped in a single multi-color LED and driven by a controller that doesn't have
multi-color support.

Signed-off-by: Jonathan Brophy <professor_jonny@hotmail.com>
Link: https://github.com/openwrt/openwrt/pull/16397
Signed-off-by: John Crispin <john@phrozen.org>
2 weeks agobase-files: fix cleanup after settings restore
Rodrigo Balerdi [Tue, 30 Apr 2024 11:25:57 +0000 (08:25 -0300)]
base-files: fix cleanup after settings restore

Some devices use file '/tmp/sysupgrade.tar' during settings restore and
this potentially big file was not being cleaned up from RAM afterwards.

See: do_mount_root() (base-files/files/lib/preinit/80_mount_root)

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15339
Signed-off-by: John Crispin <john@phrozen.org>
2 weeks agoipq40xx: disable SPI DMA for Fritzbox 4040
Rouven Czerwinski [Wed, 17 Jul 2024 19:28:11 +0000 (21:28 +0200)]
ipq40xx: disable SPI DMA for Fritzbox 4040

We have seen hung devices and failures during SPI transactions on
Fritzbox devices with a gluon based freifunk network. We have narrowed
down that disabling DMA for spi fixes the problem, so disable dma for
the SPI controller on the Fritzbox 4040.

Signed-off-by: Rouven Czerwinski <rouven@czerwinskis.de>
Link: https://github.com/openwrt/openwrt/pull/15966
Signed-off-by: John Crispin <john@phrozen.org>
2 weeks ago.gitattributes: ignore some whitespace "violations" in .patch files
Mark Mentovai [Sat, 27 Jul 2024 03:28:36 +0000 (23:28 -0400)]
.gitattributes: ignore some whitespace "violations" in .patch files

git's default core.whitespace[1] setting doesn't agree with .patch
files. This causes whitespace warnings when running `git apply`,
(including via `git am`) and causes red highlighting when viewing diffs
to .patch files via `git diff` (including via `git show`) when
outputting to a terminal.

These types of whitespace “violations” will now be explicitly disabled
for .patch files in the repository-wide .gitattributes file to prevent
git from suggesting that there’s anything wrong with checked-in .patch
files.

A .patch file will naturally have `space-before-tab` if a context line
(not a +/- line) begins with a tab character (as is common in patches to
files that use the tab indent convention), and will also naturally have
`trailing-space` if a context line is blank (also common).

Neither `indent-with-non-tab` nor `tab-in-indent` are enabled in
core.whitespace by default, but could also occur naturally in .patch
files, and are also explicitly disabled here for completeness to cover
cases where they may be enabled in core.whitespace at the global or
system level.

These false violations may be flagged frequently in OpenWrt, because the
repository contains many .patch files. There are currently just over
5,000 .patch files, representing slightly more than half of all files.

[1] https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_core_whitespace

Link: https://github.com/openwrt/openwrt/pull/16012
Signed-off-by: Mark Mentovai <mark@mentovai.com>
Link: https://github.com/openwrt/openwrt/pull/16015
Signed-off-by: John Crispin <john@phrozen.org>
2 weeks agorules.mk: Update ccache's compiler check.
Markus Gothe [Tue, 7 Feb 2023 21:00:33 +0000 (22:00 +0100)]
rules.mk: Update ccache's compiler check.

Update the compiler check for ccache so we don't
end up with the wrong binaries. Right now the
compiler check will not be able to correctly
distinguish the compiler used for build
ARMv8 binaries from the one used to build
ARMv7 binaries.

Signed-off-by: Markus Gothe <markus.gothe@genexis.eu>
Link: https://github.com/openwrt/openwrt/pull/16290
Signed-off-by: John Crispin <john@phrozen.org>
2 weeks agoccache: Speed up building.
Markus Gothe [Wed, 12 Jan 2022 16:13:43 +0000 (17:13 +0100)]
ccache: Speed up building.

- Disable compression for ccache's cached files.
- Disable the hashing of the CWD inside debug information. This
  increases the cache hits drastically.

Signed-off-by: Markus Gothe <markus.gothe@genexis.eu>
2 weeks agodnsmasq: pass environment variables to hotplug
Chuck R [Sun, 8 Sep 2024 19:28:06 +0000 (14:28 -0500)]
dnsmasq: pass environment variables to hotplug

dnsmasq passes a limited amount of information via DHCP script arguments. Much
more information is available through environment variables starting with
DNSMASQ_, such as DNSMASQ_INTERFACE. However, when the dhcp-script builds its
JSON environment and passes it to hotplug, all of this information is discarded
since it is not copied to the JSON environment.

Personally, I have a custom-made set of DDNS scripts and rely on environment
variables such as DNSMASQ_INTERFACE in order to determine which DNS zones
to update. So, not being able to access these variables was detrimental to me.
I patched in a quick copy of all DNSMASQ_ variables to the JSON environment
so that they can be used in hotplug scripts. In order to do so I also copied
/usr/bin/env into dnsmasq's chroot jail.

Signed-off-by: Chuck R <github@chuck.cloud>
Link: https://github.com/openwrt/openwrt/pull/16354
Signed-off-by: John Crispin <john@phrozen.org>
2 weeks agomediatek: add Comfast CF-E395AX support by adding an alternative model name
David Bentham [Tue, 22 Oct 2024 09:46:05 +0000 (10:46 +0100)]
mediatek: add Comfast CF-E395AX support by adding an alternative model name

both these devices share the board and same config, just different model number

Install instructions are the same as the CF-E393AX commit - https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=d8f4453bf2de9fd9baf3d660ed12e0797ff2cfdb

Signed-off-by: David Bentham <db260179@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16389
Signed-off-by: John Crispin <john@phrozen.org>
2 weeks agombim: sort config variables a little and fix minor bugs
Leon M. Busch-George [Sat, 19 Oct 2024 10:03:08 +0000 (12:03 +0200)]
mbim: sort config variables a little and fix minor bugs

Group 'local' declarations and 'json_get_vars', sort alphabetically within groups, and split off more generic parameters.

- delegate and sourcefilter were not declared as local variables

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Link: https://github.com/openwrt/openwrt/pull/16734
Signed-off-by: John Crispin <john@phrozen.org>
2 weeks agoncm: sort config variables a little and fix minor bugs
Leon M. Busch-George [Sat, 19 Oct 2024 09:52:51 +0000 (11:52 +0200)]
ncm: sort config variables a little and fix minor bugs

Group 'local' declarations and 'json_get_vars', sort alphabetically within groups, and split off more generic parameters.

- delegate and sourcefilter were not declared as local variables

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
2 weeks agoqmi: sort config variables a little and fix minor bugs
Leon M. Busch-George [Sat, 19 Oct 2024 09:43:23 +0000 (11:43 +0200)]
qmi: sort config variables a little and fix minor bugs

Group 'local' declarations and 'json_get_vars', sort alphabetically within groups, and split off more generic parameters.

- delegate and sourcefilter were not declared as local variables

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
2 weeks agobase-files: add option to set LED brightness
Paweł Owoc [Fri, 6 Dec 2024 16:11:59 +0000 (17:11 +0100)]
base-files: add option to set LED brightness

Add option to set LED brightness via uci:

config led 'led_blue'
        option name 'blue'
        option sysfs 'blue:status'
        option brightness '1'

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17190
Signed-off-by: John Crispin <john@phrozen.org>