openwrt/staging/linusw.git
18 months agoath79: add support for Aruba AP-115
David Bauer [Mon, 3 Apr 2023 11:56:58 +0000 (13:56 +0200)]
ath79: add support for Aruba AP-115

Hardware
========

CPU   Qualcomm Atheros QCA9558
RAM   256MB DDR2
FLASH 2x 16M SPI-NOR (Macronix MX25L12805D)
WIFI  Qualcomm Atheros QCA9558
      Atheros AR9590

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

1. Attach to the serial console of the AP-105.
   Interrupt autoboot and change the U-Boot env.

   $ setenv rb_openwrt "setenv ipaddr 192.168.1.1;
     setenv serverip 192.168.1.66;
     netget 0x80060000 ap115.bin; go 0x80060000"
   $ setenv fb_openwrt "bank 1;
     cp.b 0xbf100040 0x80060000 0x10000; go 0x80060000"
   $ setenv bootcmd "run fb_openwrt"
   $ saveenv

2. Load the OpenWrt initramfs image on the device using TFTP.
   Place the initramfs image as "ap105.bin" in the TFTP server
   root directory, connect it to the AP and make the server reachable
   at 192.168.1.66/24.

   $ run rb_openwrt

3. Once OpenWrt booted, transfer the sysupgrade image to the device
   using scp and use sysupgrade to install the firmware.

Signed-off-by: David Bauer <mail@david-bauer.net>
18 months agobmips: add support for Arcadyan AR7516
Daniel González Cabanelas [Wed, 21 Jun 2023 21:14:02 +0000 (23:14 +0200)]
bmips: add support for Arcadyan AR7516

The Arcadyan AR7516, AKA Orange Bright Box or EE Bright Box 1, is a wifi
fast ethernet router, 2.4 GHz single band with two internal antennas. It
comes with a horizontal stand black shiny casing.

Newer Bright Box 1 model stands vertically, and comes with a totally
different board inside, not compatible with this firmware.

Hardware:
 - SoC: Broadcom BCM6328
 - CPU: single core BMIPS4350 V7.5 @ 320Mhz
 - RAM: 64 MB DDR2
 - Flash: 8 MB SPI NOR
 - Ethernet LAN: 4x 100Mbit
 - Wifi 2.4 GHz: Broadcom BCM43227 802.11bgn (onboard)
 - USB: 1x 2.0
 - ADSL: yes, unsupported
 - Buttons: 2x
 - LEDs: 9x, power LED is hardware controlled
 - UART: yes

Installation in two steps, new CFE bootloader and firmware:

Install new CFE:
  1. Power off the router and press the RESET button
  2. Power on the router and wait some seconds
  3. Release the RESET button
  3. Browse to http://192.168.1.1, this web interface will offer both
     firmware (“Software”) upgrade and bootloader upgrade; be sure to
     use the bootloader section of the upload form.
  4. Upload the new CFE (availabe at the wiki page)
  5. Wait about a minute for flashing to finish and reboot into the new bootloader.

Install OpenWrt via new CFE web UI:
  1. After installing the new CFE, visit http://192.168.1.1
  2. Upload the Openwrt cfe firmware
  5. Wait a few minutes for it to finish

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
18 months agonetifd: update to the latest version
Felix Fietkau [Thu, 22 Jun 2023 13:58:30 +0000 (15:58 +0200)]
netifd: update to the latest version

077e05f2b129 vlan/vlandev: pass through extra vlan information passed via hotplug
40fad91eb5be wireless: add network_vlan config attribute

Signed-off-by: Felix Fietkau <nbd@nbd.name>
18 months agogeneric: 6.1: backport LEDs patch adding additional modes
Christian Marangi [Wed, 21 Jun 2023 09:35:33 +0000 (11:35 +0200)]
generic: 6.1: backport LEDs patch adding additional modes

Backport LEDs patch adding additional modes for split link speed and
half/full duplex state.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agofilogic: add support for Netgear WAX220
Flole Systems [Mon, 10 Apr 2023 21:36:59 +0000 (23:36 +0200)]
filogic: add support for Netgear WAX220

Hardware
--------
SOC:   MediaTek MT7986
RAM:   1024MB DDR3
FLASH: 128MB SPI-NAND (Winbond)
WIFI:  Mediatek MT7986 DBDC 802.11ax 2.4/5 GHz
ETH:   Realtek RTL8221B-VB-CG 2.5 N-Base-T PHY with PoE
UART:  3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC)

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

1. Download the OpenWrt initramfs image. Copy the image to a TFTP server
2. Connect the TFTP server to the WAX220. Conect to the serial console,
   interrupt the autoboot process by pressing '0' when prompted.
3. Download & Boot the OpenWrt initramfs image.

   $ setenv ipaddr 192.168.2.1
   $ setenv serverip 192.168.2.2
   $ tftpboot openwrt.bin
   $ bootm

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

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

Signed-off-by: Flole Systems <flole@flole.de>
Signed-off-by: Stefan Agner <stefan@agner.ch>
18 months agozbt-wd323: add GPIO WDT support
Joshua O'Leary [Wed, 7 Jun 2023 10:32:22 +0000 (11:32 +0100)]
zbt-wd323: add GPIO WDT support

Watchdog has not been properly configured for this router - the PCB has a
hardware watchdog connected to one of the GPIO pin 21 [1]
This commit provides this fix [2]

Without this fix, the ZBT-WD323 is unusable in OpenWRT because it power
cycles every 30 seconds due to the watchdog tripping

[1] https://forum.openwrt.org/t/zbt-wd323-router-power-cycles-every-30-seconds/77535/7
[2] https://forum.openwrt.org/t/zbt-wd323-images-unusable-proposed-workaround/162145/5

Signed-off-by: Joshua O'Leary <josh.oleary@mobile-power.co.uk>
18 months agoramips: mt7621: add support for Zbtlink ZBT-WG1608 (32M)
Kim DoHyoung [Thu, 11 Aug 2022 08:13:35 +0000 (08:13 +0000)]
ramips: mt7621: add support for Zbtlink ZBT-WG1608 (32M)

Zbtlink ZBT-WG1608 is a Wi-Fi router intendent to use with WWAN (4G/5G)
modems.

Specifications:
* SoC: MediaTek MT7621A
* RAM: 256/512 MiB
* Flash: 16/32 MiB (SPI NOR)
* Wi-Fi:
  * MediaTek MT7603E : 2.4Ghz
  * MediaTek MT7613BE : 5Ghz
* Ethernet: 10/100/1000 Mbps Ethernet x5 ports (4xLAN + WAN)
* M.2: 1x slot with USB&SIM
  * EM7455/EM12-G/EM160R/RM500Q-AE
* USB: 1x 3.0 Type-A port
* External storage: 1x microSD (SDXC) slot
* UART: console (115200 baud)
* LED:
  * 1 power indicator
  * 1 WLAN 2.4G controlled (wlan 2G)
  * 3 SoC controlled (wlan 5G, wwan, internet)
  * 5 per Eth phy (4xLAN + WAN)

MAC Addresses:
* LAN    : f8:5e:3c:xx:xx:e0 (Factory, 0xe000 (hex))
* WAN    : f8:5e:3c:xx:xx:e1 (Factory, 0xe006 (hex))
* 2.4 GHz: f8:5e:3c:xx:xx:de (Factory, 0x0004 (hex))
* 5 GHz  : f8:5e:3c:xx:xx:df (Factory, 0x8004 (hex))

Installation:
* Vendor's firmware is OpenWrt (LEDE) based, so the sysupgrade image can
  be directly used to install OpenWrt. Firmware must be upgraded using the
  'force' and 'do not save configuration' command line options (or
  correspondig web interface checkboxes) since the vendor firmware is from
  the pre-DSA era.

Recovery Mode:
 * Press reset button, power up the device, wait for about 10sec.
 * Upload sysupgrade image through the firmware recovery mode web page at
  192.168.1.1.

Signed-off-by: Kim DoHyoung <azusahmr@k-on.kr>
18 months agoramips: sunvalley - allow larger sysupgrade
Russell Morris [Fri, 30 Jul 2021 03:19:45 +0000 (22:19 -0500)]
ramips: sunvalley - allow larger sysupgrade
Aligned to size of mtd-concat partition (firmware)
  - in this device we have mtd-concat driver that joins multiple flash partitions
  - since sysupgrade works with mtd devices the rootfs partition is already joined
  - we can use a bigger sysupgrade image than factory/TFTP install images
Checked on hardware, no issues seen.
No modifications to images other than sysupgrade (i.e. TFTP / recovery images not touched).

Signed-off-by: Russell Morris <rmorris@rkmorris.us>
18 months agogeneric: 6.1: re-add two Winbond nand fixes
Bjørn Mork [Mon, 19 Jun 2023 12:38:47 +0000 (14:38 +0200)]
generic: 6.1: re-add two Winbond nand fixes

These patches were earlier mislabled as v6.1 and therefore dropped. They
are in fact from v6.2.

Fixes boot failure on ASUS TUF-AX4200

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
18 months agobmips: add support for NuCom R5010UNv2
Daniel González Cabanelas [Sun, 18 Jun 2023 19:34:59 +0000 (21:34 +0200)]
bmips: add support for NuCom R5010UNv2

The NuCom R5010UNv2 is a wifi fast ethernet router, 2.4 GHz single band
with two external antennas.

Hardware:
 - SoC: Broadcom BCM6328
 - CPU: single core BMIPS4350 V7.5 @ 320Mhz
 - RAM: 64 MB DDR2
 - Flash: 16 MB SPI NOR
 - Ethernet LAN: 4x 100Mbit
 - Wifi 2.4 GHz: Broadcom BCM43217 802.11bgn (onboard)
 - USB: 1x 2.0
 - Buttons: 2x
 - ADSL: yes, unsupported
 - LEDs: 7x
 - UART: yes

Installation via CFE web UI:
  1. Power off the router and press the RESET button
  2. Power on the router and wait 12 or more seconds
  3. Release the RESET button
  4. Browse to http://192.168.1.1 and upload the Openwrt cfe firmware
  5. Wait a few minutes for it to finish

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
18 months agobmips: enable the data Read Ahead Cache for BMIPS4350
Daniel González Cabanelas [Sat, 17 Jun 2023 17:34:05 +0000 (19:34 +0200)]
bmips: enable the data Read Ahead Cache for BMIPS4350

The data RAC is left disabled by the bootloader in some SoCs, at least in
the core it boots from. Enabling this feature increases the performance up
to +30% depending on the task.

The kernel enables the whole RAC unconditionally on BMIPS3300 CPUs. Enable
the data RAC in a similar way also for BMIPS4350.

Tested on DGND3700 v1 (BCM6368) and HG556a (BCM6358).

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
18 months agobmips: fix DMA RAC flush
Álvaro Fernández Rojas [Sat, 10 Jun 2023 15:17:11 +0000 (17:17 +0200)]
bmips: fix DMA RAC flush

BMIPS_GET_CBR() returns an invalid address on some SoCs.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agoipq806x: 6.1: restore missing dts for Netgear XR450
Christian Marangi [Sat, 17 Jun 2023 00:21:53 +0000 (02:21 +0200)]
ipq806x: 6.1: restore missing dts for Netgear XR450

In pushing and refreshing 6.1 pull request, dbac8e8819dd ("ipq806x: 6.1:
copy patches, files and config from 5.15") wasn't correctly updated and
resulted in missing the dts for Netgear XR450. This caused compilation
error with Netgear R7800 or XR500 if testing kernel version was used.

Fix this by adding back the missing dts for Netgear XR450 from kernel
5.15.

Fixes: dbac8e8819dd ("ipq806x: 6.1: copy patches, files and config from 5.15")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agoqualcommax: ipq807x: use upstreamed thermal trips patch
Robert Marko [Fri, 16 Jun 2023 21:24:05 +0000 (23:24 +0200)]
qualcommax: ipq807x: use upstreamed thermal trips patch

Critical thermal trips patch got merged upstream, so use the upstreamed
patch and mark it as backport along with the future 6.5 kernel version.

Signed-off-by: Robert Marko <robimarko@gmail.com>
18 months agorockchip: fix setup network config for nanopi r2c
Tianling Shen [Wed, 14 Jun 2023 11:25:28 +0000 (19:25 +0800)]
rockchip: fix setup network config for nanopi r2c

Without it the WAN port won't be initialized properly.

Fixes: 8f578c15b314 ("rockchip: add NanoPi R2C support")
Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
18 months agoqualcommax: ipq807x: include BDF for Compex WPQ873
Robert Marko [Fri, 16 Jun 2023 20:35:44 +0000 (22:35 +0200)]
qualcommax: ipq807x: include BDF for Compex WPQ873

Currently, Compex WPQ873 images are not including the ath11k BDF-s at all
and this means that there is no WLAN support, so lets include the BDF as
its already packaged.

Fixes: 07c45c085908 ("ipq807x: add support for Compex WPQ873")
Signed-off-by: Robert Marko <robimarko@gmail.com>
18 months agoRevert "ipq806x: disable cache and fabric devfreq driver to improve stability"
Christian Marangi [Fri, 16 Jun 2023 09:32:52 +0000 (11:32 +0200)]
Revert "ipq806x: disable cache and fabric devfreq driver to improve stability"

This reverts commit 60fc93b35935a88b1e31d853a0abacf0847d8de4.

Reenable devfreq and revert for both 5.15 and 6.1.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agoRevert "Revert "ipq806x: disable cache and fabric devfreq driver to improve stability""
Christian Marangi [Fri, 16 Jun 2023 09:28:39 +0000 (11:28 +0200)]
Revert "Revert "ipq806x: disable cache and fabric devfreq driver to improve stability""

This reverts commit 5d88bfdc1f3b7fca987002d9b7cd069101f98edb.

The revert contains merge error.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agoipq806x: set PERFORMANCE as the default cpufreq governor
Christian Marangi [Fri, 16 Jun 2023 09:18:05 +0000 (11:18 +0200)]
ipq806x: set PERFORMANCE as the default cpufreq governor

Move default cpufreq governor from ONDEMAND to PERFORMANCE. The temp
increase is just 2°C and Watt usage the change is minimal in the order
of additional millwatt. The SoC and krait in general looks to suffer for
some problem with cache scaling. To have better system stability, force
cpu freq and cache freq to the max value supported by the system. This
follows mvebu platform where cpufreq is broken and cause minimal
temp/watt increase.

User can still tweak the governor to ondemand using sysfs entry if
needed.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agoRevert "ipq806x: disable cache and fabric devfreq driver to improve stability"
Christian Marangi [Fri, 16 Jun 2023 09:14:25 +0000 (11:14 +0200)]
Revert "ipq806x: disable cache and fabric devfreq driver to improve stability"

This reverts commit 60fc93b35935a88b1e31d853a0abacf0847d8de4.

Reenable devfreq and revert for both 5.15 and 6.1.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agoqualcommax: move ipq807x support to subtarget
Robert Marko [Tue, 13 Jun 2023 20:07:06 +0000 (22:07 +0200)]
qualcommax: move ipq807x support to subtarget

Now that qualcommax exists as a target and dependencies have been updated
let move ipq807x support to subtarget of qualcommax.

This is mostly copy/paste with the exception of having to update SSDK and
NSS-DP to use CONFIG_TARGET_SUBTARGET.

This is a preparation for later addition of IPQ60xx and IPQ50xx support.

Signed-off-by: Robert Marko <robimarko@gmail.com>
18 months agoipq807x: rename target to qualcommax
Robert Marko [Sun, 11 Jun 2023 17:32:52 +0000 (19:32 +0200)]
ipq807x: rename target to qualcommax

Currently, ipq807x only covers Qualcomm IPQ807x SoC-s.
However, Qualcomm also has IPQ60xx and IPQ50xx SoC-s under the AX WiSoC-s
and they share a lot of stuff with IPQ807x, especially IPQ60xx so to avoid
duplicating kernel patches and everything lets make a common target with
per SoC subtargets.

Start doing that by renaming ipq807x to qualcommax so that dependencies
on ipq807x target can be updated.

Signed-off-by: Robert Marko <robimarko@gmail.com>
18 months agoCI: build-tools: build all host tools
Christian Marangi [Thu, 3 Nov 2022 12:32:51 +0000 (13:32 +0100)]
CI: build-tools: build all host tools

Now that we build also core packages, we need more host tools. Compile
all of them to reduce compile time on other actions.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agokernel: bump 5.15 to 5.15.117
John Audia [Thu, 15 Jun 2023 20:00:09 +0000 (16:00 -0400)]
kernel: bump 5.15 to 5.15.117

Manually rebased:
generic/backport-5.15/346-v5.18-01-Revert-ata-ahci-mvebu-Make-SATA-PHY-optional-for-Arm.patch

Removed upstreamed:
generic/backport-5.15/830-v6.2-ata-ahci-fix-enum-constants-for-gcc-13.patch

All other 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>
18 months agokernel: bump 6.1 to 6.1.34
John Audia [Wed, 14 Jun 2023 21:09:36 +0000 (17:09 -0400)]
kernel: bump 6.1 to 6.1.34

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B
Run-tested: bcm2711/RPi4B

Signed-off-by: John Audia <therealgraysky@proton.me>
18 months agobcm63xx: fix the Home Hub 2a power LED
Daniel González Cabanelas [Fri, 16 Jun 2023 12:24:13 +0000 (14:24 +0200)]
bcm63xx: fix the Home Hub 2a power LED

Power LED register is wrong at dts. Fix it.

Fixes: 9ceeaf4c6cac ("brcm63xx: switch to hardware led controllers")
Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
18 months agobcm53xx: add testing support for kernel 6.1
Rafał Miłecki [Fri, 16 Jun 2023 08:56:52 +0000 (10:56 +0200)]
bcm53xx: add testing support for kernel 6.1

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
18 months agobmips: add support for Comtrend VG-8050
Álvaro Fernández Rojas [Thu, 15 Jun 2023 16:16:21 +0000 (18:16 +0200)]
bmips: add support for Comtrend VG-8050

The Comtrend VG-8050 is a wifi gigabit ethernet router, 2.4 GHz single band with
two external antennas.

Hardware:
 - SoC: Broadcom BCM63169
 - CPU: dual core BMIPS4350 @ 400Mhz
 - RAM: 128 MB DDR
 - Flash: 128 MB NAND
 - LAN switch: Broadcom BCM53125, 5x 1Gbit
 - Wifi 2.4 GHz: SoC (BCM63268) 802.11bgn
 - USB: 1x 2.0 (optional)
 - Buttons: 2x (reset)
 - LEDs: yes
 - UART: yes

Installation via CFE web UI:
  1. Power off the router.
  2. Press reset button near the power switch.
  3. Keep it pressed while powering up during ~20+ seconds.
  4. Browse to http://192.168.1.1 and upload the firmware.
  5. Wait a few minutes for it to finish.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agokernel: backport NVMEM patches queued for the v6.5
Rafał Miłecki [Fri, 16 Jun 2023 07:16:39 +0000 (09:16 +0200)]
kernel: backport NVMEM patches queued for the v6.5

This includes some driver changes and support for fixed cells layout.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
18 months agohostapd: add UCI option for Multiple BSSID
Stijn Tintel [Tue, 23 May 2023 02:30:15 +0000 (05:30 +0300)]
hostapd: add UCI option for Multiple BSSID

Add an UCI option to enable Multiple BSSID Advertisement. Enabling this
will announce all BSSIDS on a phy in a single beacon frame. The
interface that is brought up first will be the transmitting profile, all
others are non-transmitting profiles and will be advertised in the
Multiple BSSID element in Beacon and Probe Response frames of the first
interface.

This depends on driver and client support. Enabling this will result in
all but the first interface not being visible at all for clients that do
not support it.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
18 months agobmips: dts: dgnd3700: fix WAN port
Álvaro Fernández Rojas [Thu, 15 Jun 2023 18:53:11 +0000 (20:53 +0200)]
bmips: dts: dgnd3700: fix WAN port

All switch ports are labeled as port@address so let's follow the same pattern.

Fixes: ed79519b8d89 ("bmips: add support for Netgear DGND3700 v1, DGND3800B")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobmips: add support for Sercomm AD1018
Álvaro Fernández Rojas [Mon, 12 Jun 2023 17:51:22 +0000 (19:51 +0200)]
bmips: add support for Sercomm AD1018

The Sercomm AD1018 is a wifi fast ethernet router, 2.4 GHz single band with
two internal antennas.

Hardware:
 - SoC: Broadcom BCM6328
 - CPU: single core BMIPS4350 @ 320Mhz
 - RAM: 64 MB (v1) / 128 MB (v2) DDR
 - Flash: 128 MB NAND
 - Ethernet LAN: 4x 100Mbit
 - Wifi 2.4 GHz: miniPCI Broadcom BCM43217 802.11bgn
 - USB: 1x 2.0
 - Buttons: 3x (reset)
 - LEDs: yes
 - UART: yes

Installation via OEM web UI:
  1. Use the admin credentials to login via web UI
  2. Go to Managament->Update firmware and select the OpenWrt CFE firmware
  3. Press "Update Firmware" button and wait some minutes until it finish

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobmips: bump LOADER_ENTRY to RAM + 16M
Álvaro Fernández Rojas [Thu, 15 Jun 2023 11:21:18 +0000 (13:21 +0200)]
bmips: bump LOADER_ENTRY to RAM + 16M

This is needed on devices like Sercomm AD1018 for booting recent kernels due
to bigger kernels.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobcm63xx: mark as source-only
Álvaro Fernández Rojas [Fri, 9 Jun 2023 17:53:08 +0000 (19:53 +0200)]
bcm63xx: mark as source-only

Maintaining bcm63xx is a nightmare due to the amount of devices and patches
required, since every board requires an individual patch due to the lack of
full device tree compatibility.
Moreover, there are a lot of devices supported on this target which won't work
due to not having enough resources (16M-32M of RAM and/or 4M of flash).
Therefore, any development efforts should be focused on bmips and support for
those devices with enough resources should be added on bmips target.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobmips: add support for Actiontec R1000H
Daniel González Cabanelas [Tue, 13 Jun 2023 20:45:53 +0000 (22:45 +0200)]
bmips: add support for Actiontec R1000H

The  Actiontec R1000H is a gigabit wifi router, 2.4 GHz single band with
two external antennas. It comes with a coaxial HomePNA port.

Hardware:
 - SoC: Broadcom BCM6368
 - CPU: dual core BMIPS4350 V3.1 @400Mhz
 - RAM: 64 MB DDR
 - Flash: 32 MB parallel NOR
 - LAN switch: Broadcom BCM53115, 5x 1Gbit
 - LAN coaxial : 1x HPNA 3.1, CG3211 + CG3213
 - Wifi 2.4 GHz: Broadcom BCM4322 802.11bgn
 - USB: 1x 2.0
 - Buttons: 2x, 1 reset
 - LEDs: 7x
 - UART: yes

The HPNA hardware probably needs a firmware to make the coaxial port work.
In the OEM firmware, it's apparently sent with an utility (inhpna) through
the ethernet port.

Installation via CFE web UI:
  1. Connect the UART serial port.
  2. Power on the router and press enter at the console prompt to stop the
     bootloader.
  4. Browse to http://192.168.1.1 and upload the OpenWrt CFE firmware
  5. Wait a few minutes for it to finish

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
18 months agobcm63xx: switch to standard nand_do_upgrade
Álvaro Fernández Rojas [Thu, 15 Jun 2023 08:53:08 +0000 (10:53 +0200)]
bcm63xx: switch to standard nand_do_upgrade

Now that JFFS2 cleanmarkers are supported on the standard nand_do_upgrade
function we can start using it on bcm63xx.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobmips: switch to standard nand_do_upgrade
Álvaro Fernández Rojas [Thu, 15 Jun 2023 08:48:25 +0000 (10:48 +0200)]
bmips: switch to standard nand_do_upgrade

Now that JFFS2 cleanmarkers are supported on the standard nand_do_upgrade
function we can start using it on bmips.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobase-files: upgrade: nand: add JFFS2 cleanmarkers support
Álvaro Fernández Rojas [Thu, 15 Jun 2023 08:46:10 +0000 (10:46 +0200)]
base-files: upgrade: nand: add JFFS2 cleanmarkers support

Some Broadcom MIPS devices require JFFS2 cleanmarkers to be present on the
kernel partition or the bootloader will identify the partition as corrupt and
won't boot the kernel.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobcm63xx: fix NETGEAR DGND3700v2 boot loop
Álvaro Fernández Rojas [Wed, 14 Jun 2023 21:27:29 +0000 (23:27 +0200)]
bcm63xx: fix NETGEAR DGND3700v2 boot loop

The DGND3700v2 renames the cferam bootloader from cferam to cfeXXX, where XXX
is the number of firmware upgrades performed by the bootloader. Other bcm63xx
devices rename cferam.000 to cferam.XXX, but this device is special because
the cferam name isn't changed on the first firmware flashing but it's changed
on the subsequent ones.
Therefore, we need to look for "cfe" instead of "cferam" to properly detect
the cferam partition and fix the bootlop.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobmips: fix NETGEAR DGND3700v2 boot loop
Álvaro Fernández Rojas [Wed, 14 Jun 2023 21:23:14 +0000 (23:23 +0200)]
bmips: fix NETGEAR DGND3700v2 boot loop

The DGND3700v2 renames the cferam bootloader from cferam to cfeXXX, where XXX
is the number of firmware upgrades performed by the bootloader. Other bcm63xx
devices rename cferam.000 to cferam.XXX, but this device is special because
the cferam name isn't changed on the first firmware flashing but it's changed
on the subsequent ones.
Therefore, we need to look for "cfe" instead of "cferam" to properly detect
the cferam partition and fix the bootlop.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agokernel: mtd: bcm-wfi: add cferam name support
Álvaro Fernández Rojas [Wed, 14 Jun 2023 21:21:34 +0000 (23:21 +0200)]
kernel: mtd: bcm-wfi: add cferam name support

Some devices rename cferam bootloader using specific patterns and don't follow
broadcom standards for renaming cferam files. This requires supporting
different cferam file names.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agoopenssl: passing cflags to configure
Jitao Lu [Wed, 14 Jun 2023 09:25:03 +0000 (17:25 +0800)]
openssl: passing cflags to configure

openssl sets additional cflags in its configuration script. We need to
make it aware of our custom cflags to avoid adding conflicting cflags.

Fixes: #12866
Signed-off-by: Jitao Lu <dianlujitao@gmail.com>
18 months agoppp: backport patches improving ppp interface creation
Christian Marangi [Tue, 13 Jun 2023 21:19:02 +0000 (23:19 +0200)]
ppp: backport patches improving ppp interface creation

Backport patches improving ppp interface creation. As a side effect this
also fix a bug from using netdev trigger that suffer from LED state
wrongly set due to using old ioctl for ppp creation.

Tested-by: Csaba Sipos <metro4@freemail.hu>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agokernel: remove bridge offload hack
Etienne Champetier [Sun, 11 Jun 2023 03:13:33 +0000 (23:13 -0400)]
kernel: remove bridge offload hack

This patch initially introduced in 94b4da9b4aaded6ed8a5bd93bf38a7c92753fe68
breaks mvebu devices when using vlan filtering with kernel 5.15 or 6.1,
it was working ok in 5.10.

With this patch, frame that should exit untagged from the switch exit tagged.
Running 'tcpdump -Q out -evnnli eth1' (eth1 being the dsa interface)
- with the hack, frame is sent directly to the
destination port 4 with VID 2, so the switch leave the tag as instructed:
11:22:33:44:55:66 > 77:88:99:aa:bb:cc, Marvell EDSA ethertype 0xdada (Unknown), rsvd 0 0, mode From CPU, target dev 0, port 4, tagged, VID 2, FPri 0, ethertype ARP (0x0806), length 50: Ethernet (len 6), IPv4 (len 4), Request who-has 5.6.7.8 tell 1.2.3.4, length 28

- without the hack, frame is sent to the switch that
performs the forwarding decision and untagging:
11:22:33:44:55:66 > 77:88:99:aa:bb:cc, Marvell EDSA ethertype 0xdada (Unknown), rsvd 0 0, mode Forward, dev 1, port 0, tagged, VID 2, FPri 0, ethertype ARP (0x0806), length 50: Ethernet (len 6), IPv4 (len 4), Request who-has 5.6.7.8 tell 1.2.3.4, length 28

Removing this patch makes my Turris Omnia usable with vlan filtering,
ie wifi device can talk to wired device again.
Using kernel 5.15 some broadcast/multicast traffic is still leaked
(on a VLAN 2 access port I see tagged VLAN 3 frame),
using kernel 6.1 fixes that.

People needing the extra performance should try the bridger package.

Acked-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
18 months agoCI: labeler: add sifiveu target
Piotr Dymacz [Mon, 12 Jun 2023 19:22:52 +0000 (21:22 +0200)]
CI: labeler: add sifiveu target

Add support for 'sifiveu' target and its specific packages in labeler.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
18 months agokernel: bump 5.15 to 5.15.116
John Audia [Sat, 10 Jun 2023 20:57:15 +0000 (16:57 -0400)]
kernel: bump 5.15 to 5.15.116

All patches rebased automatically.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
18 months agokernel: add CONFIG_DRM_RCAR_USE_LVDS is not set
John Audia [Sun, 11 Jun 2023 17:11:52 +0000 (13:11 -0400)]
kernel: add CONFIG_DRM_RCAR_USE_LVDS is not set

Added missing symbol.

Signed-off-by: John Audia <therealgraysky@proton.me>
18 months agokernel: bump 5.15 to 5.15.115
John Audia [Tue, 6 Jun 2023 14:45:47 +0000 (10:45 -0400)]
kernel: bump 5.15 to 5.15.115

Manually rebased:
backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch
pending-5.15/723-net-mt7531-ensure-all-MACs-are-powered-down-before-r.patch*

Removed upstreamed:
generic-backport/610-v6.3-net-page_pool-use-in_softirq-instead.patch[1]
backport-5.15/705-12-v6.0-net-dsa-mt7530-rework-mt753-01-_setup.patch[2]
backport-5.15/790-v6.4-0010-net-dsa-mt7530-split-off-common-parts-from-mt7531_se.patch[3]
backport-5.15/703-10-v5.16-net-dsa-introduce-helpers-for-iterating-through-port.patch[4]

All other patches automatically rebased.

* Modified to define the variable i as suggested by DragonBluep in PR discussion.
  See: https://github.com/openwrt/openwrt/pull/12823#issuecomment-1578518576

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.115&id=3af319d5147454dc63665ef451229c674b538377
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.115&id=0753c1ef24194580f7165ae6e259b59a851392f2
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.115&id=5a7266feaa6d708fc6880a161786eaa884ef3c8e
4. https://github.com/gregkh/linux/commit/9902f91cf666124a6b50bbcf483b46ecb09ef408

Build system: x86_64
Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
18 months agobmips: add support for Comtrend AR-5381u
Álvaro Fernández Rojas [Sun, 11 Jun 2023 16:44:36 +0000 (18:44 +0200)]
bmips: add support for Comtrend AR-5381u

The Comtrend AR-5381u is a wifi fast ethernet router, 2.4 GHz single band with
two internal antennas.

Hardware:
 - SoC: Broadcom BCM6328
 - CPU: single core BMIPS4350 @ 320Mhz
 - RAM: 64 MB DDR
 - Flash: 16 MB SPI NOR
 - Ethernet LAN: 4x 100Mbit
 - Wifi 2.4 GHz: miniPCI Broadcom BCM43225 802.11bgn
 - USB: 1x 2.0
 - Buttons: 1x (reset)
 - LEDs: yes
 - UART: yes

Installation via CFE web UI:
  1. Power off the router.
  2. Press reset button near the power switch.
  3. Keep it pressed while powering up during ~20+ seconds.
  4. Browse to http://192.168.1.1 and upload the firmware.
  5. Wait a few minutes for it to finish.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agokernel: add more disabled symbols for 6.1
Aleksander Jan Bajkowski [Sun, 11 Jun 2023 10:45:50 +0000 (12:45 +0200)]
kernel: add more disabled symbols for 6.1

Add more disabled kconfig symbols found in sunxi target to generic.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
18 months agokernel: sort generic configuration
Aleksander Jan Bajkowski [Sun, 11 Jun 2023 10:46:54 +0000 (12:46 +0200)]
kernel: sort generic configuration

This was done by executing these commands:

$ ./scripts/kconfig.pl '+' target/linux/generic/config-6.1 /dev/null > target/linux/generic/config-6.1-new
$ mv target/linux/generic/config-6.1-new target/linux/generic/config-6.1

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
18 months agoath79: add support for TP-Link TL-WDR6500 v2
Xiaobing Luo [Fri, 2 Jun 2023 01:18:51 +0000 (01:18 +0000)]
ath79: add support for TP-Link TL-WDR6500 v2

This ports the TP-Link TL-WDR6500 v2 from ar71xx to ath79.

Specifications:

  SoC: QCA9561
  CPU: 750 MHz
  Flash: 8 MiB (Winbond W25Q64FVSIG)
  RAM: 128 MiB
  WiFi 2.4 GHz: QCA956X 3x3 MIMO 802.11b/g/n
  WiFi 5 GHz: QCA9882-BR4A 2x2 MIMO 802.11a/n/ac
  Ethernet: 4x LAN and 1x WAN (all 100M)
  USB: 1x Header

Flashing instructions:

  As it appears, the device does not support flashing via GUI or
  TFTP, only serial is possible.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: Xiaobing Luo <luoxiaobing0926@gmail.com>
18 months agorestool: update source.codeaurora.org repository link
Christian Marangi [Sun, 11 Jun 2023 13:22:49 +0000 (15:22 +0200)]
restool: update source.codeaurora.org repository link

source.codeaurora.org project has been shut down and the nxp
repositories has been moved to github. Update the repository
link to the new location.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agols-dpl: update source.codeaurora.org repository link
Christian Marangi [Sun, 11 Jun 2023 13:20:01 +0000 (15:20 +0200)]
ls-dpl: update source.codeaurora.org repository link

source.codeaurora.org project has been shut down and the nxp
repositories has been moved to github. Update the repository
link to the new location.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agolayerscape: 5.15: update source.codeaurora.org ppfe driver reference
Christian Marangi [Sun, 11 Jun 2023 13:12:05 +0000 (15:12 +0200)]
layerscape: 5.15: update source.codeaurora.org ppfe driver reference

source.codeaurora.org project has been shut down and the nxp
repositories has been moved to github. Update the link reference to the
new location.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agokernel: bump 6.1 to 6.1.33
John Audia [Sat, 10 Jun 2023 20:20:11 +0000 (16:20 -0400)]
kernel: bump 6.1 to 6.1.33

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B
Run-tested: bcm2711/RPi4B

Signed-off-by: John Audia <therealgraysky@proton.me>
18 months agobmips: add support for Comtrend WAP-5813n
Álvaro Fernández Rojas [Sun, 11 Jun 2023 10:30:57 +0000 (12:30 +0200)]
bmips: add support for Comtrend WAP-5813n

The Comtrend WAP-5813n is a wifi gigabit router, 2.4 GHz single band with
two external antennas.

Hardware:
 - SoC: Broadcom BCM6369
 - CPU: dual core BMIPS4350 @ 400Mhz
 - RAM: 64 MB DDR
 - Flash: 8 MB parallel NOR
 - LAN switch: Broadcom BCM53115, 5x 1Gbit
 - Wifi 2.4 GHz: miniPCI Broadcom BCM4322 802.11bgn
 - USB: 1x 2.0 (optional)
 - Buttons: 3x (reset)
 - LEDs: yes
 - UART: yes

Installation via CFE web UI:
  1. Power off the router.
  2. Press reset button near the power switch.
  3. Keep it pressed while powering up during ~20+ seconds.
  4. Browse to http://192.168.1.1 and upload the firmware.
  5. Wait a few minutes for it to finish.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agouqmi: do not start 464xlat for dual-stack configurations
Lech Perczak [Sat, 12 Mar 2022 16:57:44 +0000 (17:57 +0100)]
uqmi: do not start 464xlat for dual-stack configurations

If dual-stack configuration is in use, and dhcpv6 option is set, do not start
464xlat sub-interface for dhcpv6 sub-interace , as the configuration already
provides IPv4 connectivty, be it through single or dual APN configuration.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
18 months agouqmi: support split-APN IPv4 and IPv6 dual-stack
Lech Perczak [Sat, 12 Mar 2022 13:39:18 +0000 (14:39 +0100)]
uqmi: support split-APN IPv4 and IPv6 dual-stack

Add two new "v6apn" and "v6profile" properties, to support split-APN
dual-stack onfiguration. This extends the existing ipv4v6 PDP type,
allowing simultaneous connection to two distinct APNs,
one for IPv4 and one for IPv6.
The parameters override existing 'apn' and 'profile' respectively,
if set, but only for IPv6 part of the connection.
If unset, they default to their original values, constituting a standard
IPv4v6 setup.

If a different APN is set for IPv6, a corresponding profile MUST also be
configured, with a different ID, than the IPv4 profile, for example,
profile 2.
Both APNs must match ones configured through QMI or through 'AT+CGDCONT'
command.

Example configuration in UCI:

config interface 'wan'
        option proto 'qmi'
        option device '/dev/cdc-wdm0'
        option autoconnect '1'
        option pdptype 'ipv4v6'
        option apn 'internet'
        option v6apn 'internetipv6'
option profile '1'
option v6profile '2'

Corresponding profile configuration:
AT+CGDCONT?
+CGDCONT: 1,"IP","internet","0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV6","internetipv6","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
18 months agoramips: mt7621-dts: move wan port to gmac1 YunCore FAP-640
Volodymyr Puiul [Sat, 10 Jun 2023 14:23:17 +0000 (18:23 +0400)]
ramips: mt7621-dts: move wan port to gmac1 YunCore FAP-640

move wan port to gmac1 to achieve 2Gbps CPU bandwidth between wan and
lan on YunCore FAP-640

Signed-off-by: Volodymyr Puiul <volodymyr.puiul@gmail.com>
18 months agotoolchain: gcc: backport inline subword atomic support for riscv
Tianling Shen [Sat, 10 Jun 2023 11:08:04 +0000 (19:08 +0800)]
toolchain: gcc: backport inline subword atomic support for riscv

RISC-V has no support for subword atomic operations; code currently
generates libatomic library calls.

This patch changes the default behavior to fast inline subword atomic
calls that do not require libatomic.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
18 months agobmips: add support for Comtrend VR-3025un
Álvaro Fernández Rojas [Sun, 11 Jun 2023 08:53:10 +0000 (10:53 +0200)]
bmips: add support for Comtrend VR-3025un

The Comtrend VR-3025un is a wifi gigabit router, 2.4 GHz single band with
two external antennas.

Hardware:
 - SoC: Broadcom BCM6368
 - CPU: dual core BMIPS4350 @ 400Mhz
 - RAM: 64 MB DDR
 - Flash: 8 MB parallel NOR
 - Ethernet LAN: 4x 100Mbit
 - Wifi 2.4 GHz: miniPCI Broadcom BCM43222 802.11bgn
 - USB: 1x 2.0
 - Buttons: 1x (reset)
 - LEDs: yes
 - UART: yes

Installation via CFE web UI:
  1. Power off the router.
  2. Press reset button near the antenna.
  3. Keep it pressed while powering up during ~20+ seconds.
  4. Browse to http://192.168.1.1 and upload the firmware.
  5. Wait a few minutes for it to finish.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agoswconfig: fix memory leak when cli call swlib_get_attr()
nichel Chen [Thu, 8 Jun 2023 00:04:56 +0000 (08:04 +0800)]
swconfig: fix memory leak when cli call swlib_get_attr()

The cli is a one-time run, and memory leaks would have been irrelevant. But people call libsw with cli programs as samples.
Doing a good job of memory management calls means that people who call libsw are not so easy to make mistakes.

Signed-off-by: nichel Chen <nichelnich@gmail.com>
18 months agobmips: dgnd3700v1/dgnd3800b: add missing kmod-leds-gpio
Álvaro Fernández Rojas [Sun, 11 Jun 2023 08:25:03 +0000 (10:25 +0200)]
bmips: dgnd3700v1/dgnd3800b: add missing kmod-leds-gpio

Commit ed79519b8d89 missed adding kmod-leds-gpio to these devices.

Fixes: ed79519b8d89 ("bmips: add support for Netgear DGND3700 v1, DGND3800B")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobmips: image: rename Device/bcm63xx_netgear
Álvaro Fernández Rojas [Sun, 11 Jun 2023 08:17:50 +0000 (10:17 +0200)]
bmips: image: rename Device/bcm63xx_netgear

Every other Device definition in the target is using hyphens instead of
underscores.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobmips: dts: improve and align device tree files
Álvaro Fernández Rojas [Sun, 11 Jun 2023 08:14:25 +0000 (10:14 +0200)]
bmips: dts: improve and align device tree files

Align all the device tree files and follow the same criteria before more
devices are ported from bcm63xx and this goes out of control.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobmips: add support for Netgear EVG2000
Daniel González Cabanelas [Sat, 10 Jun 2023 19:05:33 +0000 (21:05 +0200)]
bmips: add support for Netgear EVG2000

The Netgear EVG2000 is a wifi gigabit router, 2.4 GHz single band with
two internal antennas integrated in the main PCB.

Hardware:
 - SoC: Broadcom BCM6369
 - CPU: dual core BMIPS4350 V3.1 @400Mhz
 - RAM: 64 MB DDR
 - Flash: 16 MB parallel NOR
 - LAN switch: Broadcom BCM53115, 5x 1Gbit
 - Wifi 2.4 GHz: Broadcom BCM4322 802.11bgn
 - USB: 2x 2.0
 - Buttons: 2x, 1 reset
 - LEDs: 10x
 - FXS: 2x
 - UART: yes

Installation via CFE web UI:
  1. Power off the router and make a temporal TX-RX shortcircuit on the
     serial pins.
  2. Power on the router and wait 3 or more seconds
  3. Remove the TX-RX shortcircuit
  4. Browse to http://192.168.1.1 or http://192.168.0.1 and upload the
     firmware
  5. Wait a few minutes for it to finish

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
18 months agoramips: Add support for Beeline SmartBox TURBO+
Maximilian Weinmann [Wed, 7 Dec 2022 16:44:09 +0000 (23:44 +0700)]
ramips: Add support for Beeline SmartBox TURBO+

This adds support for Beeline Smart Box TURBO+ (Serсomm S3 CQR) router.

Device specification
--------------------
SoC Type: MediaTek MT7621AT (880 MHz, 2 cores)
RAM (Nanya NT5CC64M16GP): 128 MiB
Flash (Macronix MX30LF1G18AC): 128 MiB
Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2
Wireless 5 GHz (MT7615N): a/n/ac, 4x4
Ethernet: 5 ports - 5×GbE (WAN, LAN1-4)
USB ports: 1xUSB3.0
Buttons: 2 button (reset, wps)
LEDs: Red, Green, Blue
Zigbee (EFR32MG1B232GG): 3.0
Stock bootloader: U-Boot 1.1.3
Power: 12 VDC, 1.5 A

Installation (fw 2.0.9)
-----------------------
1.  Login to the web interface under SuperUser (root) credentials.
    Password: SDXXXXXXXXXX, where SDXXXXXXXXXX is serial number of the
    device written on the backplate stick.
2.  Navigate to Setting -> WAN. Add:
       Name - WAN1
       Connection Type - Static
       IP Address - 172.16.0.1
       Netmask - 255.255.255.0
    Save -> Apply. Set default: WAN1
3.  Enable SSH and HTTP on WAN. Setting -> Remote control. Add:
       Protocol - SSH
       Port - 22
       IP Address - 172.16.0.1
       Netmask - 255.255.255.0
       WAN Interface - WAN1
    Save ->Apply
    Add:
       Protocol - HTTP
       Port - 80
       IP Address - 172.16.0.1
       Netmask - 255.255.255.0
       WAN interface - WAN1
    Save -> Apply
4.  Set up your PC ethernet:
       Connection Type - Static
       IP Address - 172.16.0.2
       Netmask - 255.255.255.0
       Gateway - 172.16.0.1
5.  Connect PC using ethernet cable to the WAN port of the router
6.  Connect to the router using SSH shell under SuperUser account
7.  Make a mtd backup (optional, see related section)
8.  Change bootflag to Sercomm1 and reboot:
        printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
        reboot
9.  Login to the router web interface under admin account
10. Remove dots from the OpenWrt factory image filename
11. Update firmware via web using OpenWrt factory image

Revert to stock
---------------
Change bootflag to Sercomm1 in OpenWrt CLI and then reboot:
   printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3

mtd backup
----------
1. Set up a tftp server (e.g. tftpd64 for windows)
2. Connect to a router using SSH shell and run the following commands:
      cd /tmp
      for i in 0 1 2 3 4 5 6 7 8 9 10; do nanddump -f mtd$i /dev/mtd$i; \
      tftp -l mtd$i -p 172.16.0.2; md5sum mtd$i >> mtd.md5; rm mtd$i; done
      tftp -l mtd.md5 -p 171.16.0.2

Recovery
--------
Use sercomm-recovery tool.
Link: https://github.com/danitool/sercomm-recovery
MAC Addresses (fw 2.0.9)
------------------------
+-----+------------+---------+
| use | address    | example |
+-----+------------+---------+
| LAN | label      | *:e8    |
| WAN | label + 1  | *:e9    |
| 2g  | label + 4  | *:ec    |
| 5g  | label + 5  | *:ed    |
+-----+------------+---------+
The label MAC address was found in Factory 0x21000

Factory image format
--------------------
+---+-------------------+-------------+--------------------+
| # | Offset            | Size        | Description        |
+---+-------------------+-------------+--------------------+
| 1 | 0x0               | 0x200       | Tag Header Factory |
| 2 | 0x200             | 0x100       | Tag Header Kernel1 |
| 3 | 0x300             | 0x100       | Tag Header Kernel2 |
| 4 | 0x400             | SIZE_KERNEL | Kernel             |
| 5 | 0x400+SIZE_KERNEL | SIZE_ROOTFS | RootFS(UBI)        |
+---+-------------------+-------------+--------------------+

Co-authored-by: Mikhail Zhilkin <csharper2005@gmail.com>
Signed-off-by: Maximilian Weinmann <x1@disroot.org>
18 months agoscripts: sercomm-kernel-header.py: improve compatibility
Mikhail Zhilkin [Fri, 2 Dec 2022 15:26:17 +0000 (15:26 +0000)]
scripts: sercomm-kernel-header.py: improve compatibility

This improves compatibility with the elder stock firmwares of the
following devices, which have not yet been merged into OpenWrt:
 - Beeline SmartBox Pro
 - Beeline SmartBox Turbo+
 - WiFire S1500.NBN

Without this, OpenWrt factory image installation may fail.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Signed-off-by: Maximilian Weinmann <x1@disroot.org>
18 months agouboot-armsr: add support for QEMU armv7/armv8
Petr Štetiar [Fri, 2 Jun 2023 11:48:38 +0000 (13:48 +0200)]
uboot-armsr: add support for QEMU armv7/armv8

Add new package so we can use self-compiled bootloader during QEMU based
testing and development.

Backported fix[1] is needed for EFI boot from virtio devices.

1. https://patchwork.ozlabs.org/project/uboot/patch/20230424134946.v10.7.Ia5f5e39c882ac22b5f71c4d576941b34e868eeba@changeid/

Signed-off-by: Petr Štetiar <ynezz@true.cz>
18 months agou-boot.mk: add support for config customization
Petr Štetiar [Fri, 2 Jun 2023 11:54:20 +0000 (13:54 +0200)]
u-boot.mk: add support for config customization

Make it possible to easily customize U-Boot config options via new
`UBOOT_CUSTOMIZE_CONFIG` variable, so we don't need to patch config
files or override config step with shell hackery.

This generic approach uses `config` CLI to tweak the .config as needed,
for example:

 UBOOT_CUSTOMIZE_CONFIG := \
--enable CMD_EFIDEBUG \
--enable CMD_BOOTMENU \
--enable AUTOBOOT \
--enable AUTOBOOT_MENU_SHOW \
--disable AUTOBOOT_KEYED \
--disable AUTOBOOT_USE_MENUKEY \
--disable BOOTMENU_DISABLE_UBOOT_CONSOLE \
--set-val BOOTDELAY 2

Signed-off-by: Petr Štetiar <ynezz@true.cz>
18 months agoCI: change armvirt reference to armsr
Mathew McBride [Fri, 9 Jun 2023 03:57:52 +0000 (03:57 +0000)]
CI: change armvirt reference to armsr

The armvirt target has been renamed to armsr.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
18 months agoscripts: qemustart: change armvirt references to armsr
Mathew McBride [Fri, 9 Jun 2023 02:19:40 +0000 (02:19 +0000)]
scripts: qemustart: change armvirt references to armsr

The armvirt target has been renamed to 'armsr' (Arm SystemReady)
after inclusion of EFI support.
Change references (including subtargets) accordingly.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
18 months agowolfssl: change armvirt reference to armsr
Mathew McBride [Tue, 6 Jun 2023 23:24:18 +0000 (23:24 +0000)]
wolfssl: change armvirt reference to armsr

armvirt target has been renamed to armsr (Arm SystemReady).

Signed-off-by: Mathew McBride <matt@traverse.com.au>
18 months agokernel: netdevices: change armvirt references to armsr
Mathew McBride [Tue, 6 Jun 2023 23:23:33 +0000 (23:23 +0000)]
kernel: netdevices: change armvirt references to armsr

armvirt target has been renamed to armsr (Arm SystemReady)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
18 months agogrub2: change armvirt reference to armsr
Mathew McBride [Tue, 6 Jun 2023 23:22:36 +0000 (23:22 +0000)]
grub2: change armvirt reference to armsr

The armvirt target has been renamed to armsr (Arm SystemReady),
so the GRUB configuration also needs to change.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
18 months agoconfig: change references from armvirt to armsr
Mathew McBride [Tue, 6 Jun 2023 23:22:01 +0000 (23:22 +0000)]
config: change references from armvirt to armsr

armvirt target has been renamed to armsr (Arm SystemReady),
so the config defaults need to be changed as well.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
18 months agoarmsr: rename from armvirt
Mathew McBride [Tue, 6 Jun 2023 23:19:16 +0000 (23:19 +0000)]
armsr: rename from armvirt

Now that the armvirt target supports real hardware, not just
VMs, thanks to the addition of EFI, rename it to something
more appropriate.

'armsr' (Arm SystemReady) was chosen after the name of
the Arm standards program.

The 32 and 64 bit targets have also been renamed
armv7 and armv8 respectively, to allow future profiles
where required (such as armv9).

See https://developer.arm.com/documentation/102858/0100/Introduction
for more information.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
18 months agoarmvirt: remove 5.15 configs
Mathew McBride [Wed, 7 Jun 2023 04:48:51 +0000 (04:48 +0000)]
armvirt: remove 5.15 configs

armvirt was migrated to 6.1 as part of the EFI implementation.
As we are renaming the target, there is no need to take the old
kernel configs with us.

See abcb30d ("armvirt: switch to kernel 6.1") for the previous
change.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
18 months agoipq807x: image: fix eMMC flashing/recovery from within initramfs
Petr Štetiar [Mon, 5 Jun 2023 12:10:44 +0000 (14:10 +0200)]
ipq807x: image: fix eMMC flashing/recovery from within initramfs

Having initramfs image built with same config as on buildbots:

 CONFIG_TARGET_MULTI_PROFILE=y
 CONFIG_TARGET_ALL_PROFILES=y
 CONFIG_TARGET_PER_DEVICE_ROOTFS=y

Its currently impossible to flash/recover the device using that image as
losetup is missing:

 root@OpenWrt:/# sysupgrade -v /tmp/openwrt-ipq807x-generic-prpl_haze-squashfs-sysupgrade.bin
 ...
 /lib/upgrade/do_stage2: line 38: losetup: not found
 Failed to detach all loop devices. Skip this try.

So lets fix it by including the needed utils for sysupgrade in
DEFAULT_PACKAGES set.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
18 months agoipq807x: add initial support for prpl Foundation Haze board
Petr Štetiar [Mon, 5 Jun 2023 10:13:04 +0000 (12:13 +0200)]
ipq807x: add initial support for prpl Foundation Haze board

Haze is prpl Foundation's reference board (WNC LVRP).

Board info:

 - IPQ8072A SoC
 - 2 GiB RAM
 - 4 GiB eMMC
 - 8MiB SPI NOR (MX25U6435F)

 - 3x 1GigE ports (QCA8075)
 - 1x 10GigE port (AQR113C)
 - 1x SFP cage

 - WiFi 6GHz 160MHz (QCN9074)
 - WiFi 5GHz 80+80MHz (QCN5054)
 - WiFi 2.4G (QCN5024)

 - ARM Standard 20-pin 2.54mm/0.1" JTAG (1V8 !!!)
 - Bluetooth v5.0 + EDR with integrated Class 1 PA (CYW20704)
 - 1x M.2 B-key socket with PCIe 3.0
 - 1x USB 3.0 port
 - UART marked J6 is 4-pin 2.54mm/0.1" connector 3V3(arrow),RX,TX,GND (115200 8N1)
 - Reset and WPS buttons

Flashing instructions:

 1. From U-Boot boot OpenWrt using initramfs image:

    IPQ807x# tftpboot openwrt-ipq807x-generic-prpl_haze-initramfs-uImage.itb && bootm

 2. In OpenWrt running from initramfs execute sysupgrade:

    root@OpenWrt:/# sysupgrade -n /tmp/openwrt-ipq807x-generic-prpl_haze-squashfs-sysupgrade.bin

Work in progress/known issues:

 * SFP feature not implemented/tested
 * M.2 feature not implemented/tested
 * Bluetooth feature not implemented/tested
 * 6GHz wireless should be working, but not tested
 * MAC address assigments for LAN interfaces

Signed-off-by: Petr Štetiar <ynezz@true.cz>
18 months agoipq-wifi: update to version 2023-06-03
Petr Štetiar [Mon, 5 Jun 2023 10:06:41 +0000 (12:06 +0200)]
ipq-wifi: update to version 2023-06-03

Contains following updates:

 * ipq8074: update RegDB in new submitted BDF
 * Revert "ipq8074: update RegDB in new submitted BDF"
 * qcn9074: update RegDB in new submitted BDF
 * ipq8074: update RegDB in new submitted BDF
 * qca-wireless: ipq40xx: add BDFs for ZTE MF287+
 * Add BDFs for prpl Foundation Haze board

Signed-off-by: Petr Štetiar <ynezz@true.cz>
18 months agokernel: qca-ssdk: renumber patches
Robert Marko [Wed, 7 Jun 2023 12:33:35 +0000 (14:33 +0200)]
kernel: qca-ssdk: renumber patches

Lets reexport the patches in order to have them renumbered from 0 again.

Signed-off-by: Robert Marko <robimarko@gmail.com>
18 months agokernel: qca-ssdk: drop 5.15 support
Robert Marko [Wed, 7 Jun 2023 12:31:58 +0000 (14:31 +0200)]
kernel: qca-ssdk: drop 5.15 support

There is no need for SSDK to support 5.15 anymore since the only user and
possible future ones are on 6.1.

Signed-off-by: Robert Marko <robimarko@gmail.com>
18 months agompc85xx: 5.15: refresh kernel patches
Christian Marangi [Sat, 10 Jun 2023 03:47:57 +0000 (05:47 +0200)]
mpc85xx: 5.15: refresh kernel patches

Refresh kernel patches for 5.15 kernel version for mpc85xx.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agogeneric: 5.15: refresh patches
Christian Marangi [Sat, 10 Jun 2023 03:47:14 +0000 (05:47 +0200)]
generic: 5.15: refresh patches

Refresh kernel patches for generic 5.15 kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agogeneric: 5.15: backport patch supporting "big" kernel symbols
Christian Marangi [Sat, 10 Jun 2023 03:33:44 +0000 (05:33 +0200)]
generic: 5.15: backport patch supporting "big" kernel symbols

Backport patch supporting "big" kernel symbols. This is needed for
powerpc arch that seems to suffer from this problem when
CONFIG_ALL_KMODS is selected and fail to compile with the error:
Inconsistent kallsyms data
Try make KALLSYMS_EXTRA_PASS=1 as a workaround

Backport this patch to handle these corner case.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agogeneric: backport PPC boot wrapper VDSO executable stack fix
Christian Marangi [Fri, 9 Jun 2023 20:09:42 +0000 (22:09 +0200)]
generic: backport PPC boot wrapper VDSO executable stack fix

Backport upstream fix for PowerPC that fix VDSO executable stack warning
for the boot wrapper.

Fix the compilation error:
powerpc-openwrt-linux-musl-ld.bin: warning: div64.o: missing .note.GNU-stack section implies executable stack
powerpc-openwrt-linux-musl-ld.bin: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
powerpc-openwrt-linux-musl-ld.bin: warning: arch/powerpc/boot/simpleImage.ws-ap3825i has a LOAD segment with RWX permissions

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
18 months agobmips: add support for Netgear DGND3700 v1, DGND3800B
Daniel González Cabanelas [Sat, 10 Jun 2023 09:54:59 +0000 (11:54 +0200)]
bmips: add support for Netgear DGND3700 v1, DGND3800B

The Netgear DGND3700 v1 and DGND3800B are the same device but with
different factory firmwares. It's an xDSL wifi router with a slim black
shiny casing and 4 PCB internal antennas connected via UFL to a miniPCI
detachable card.

Hardware:
 - SoC: Broadcom BCM6368
 - CPU: dual core BMIPS4350 V3.1 @400Mhz
 - RAM: 128 MB DDR
 - NOR Flash: 32 MB parallel (CFE and OS)
 - NAND flash: 128 MB (empty)
 - Ethernet LAN: 5x 1Gbit
 - Wifi 2.4 GHz: Broadcom BCM43222 802.11bgn
 - Wifi 5 GHz: Broadcom BCM43222 802.11abgn
 - USB: 2x 2.0
 - Buttons: 3x, 1 reset
 - LEDs: 11x
 - UART: yes

Installation via OEM web UI:
  1. Open the Netgear administration web interface, by default:
        http://192.168.0.1
user: admin
        password: password
  2. Look for "upgrade firmware" and proceed
  3. Wait some minutes until it finishes

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
18 months agolantiq: replace random_ether_addr with eth_random_addr
Aleksander Jan Bajkowski [Sat, 6 May 2023 18:39:59 +0000 (20:39 +0200)]
lantiq: replace random_ether_addr with eth_random_addr

Random_ether_addr() is a helper function which was kept for backward
compatibility. It is available in the kernel from version 3.6 to 5.16.
In newer kernel verions, it has been completely replaced by eth_random_addr().

There should be no functional changes.

Ref: https://github.com/torvalds/linux/commit/ba530fea8ca1b57ee71d4e62f287a5d7ed92f789
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
18 months agouboot-envtools: Add u-boot env config for GL-MT3000
Jianhui Zhao [Mon, 5 Jun 2023 03:02:07 +0000 (03:02 +0000)]
uboot-envtools: Add u-boot env config for GL-MT3000

This commit add u-boot env config for GL-MT3000, so
that we can use fw_printenv to print u-boot env and
use fw_setenv to set u-boot env in GL-MT3000.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
18 months agoramips: fix first boot network configuration for TOZED ZLT S12 PRO
Arınç ÜNAL [Fri, 9 Jun 2023 08:55:21 +0000 (11:55 +0300)]
ramips: fix first boot network configuration for TOZED ZLT S12 PRO

The network configuration at first boot for TOZED ZLT S12 PRO lacks setting
up the LAN and WAN network interfaces. Address this. The WAN port is
advertised as WAN/LAN on the device and is put on LAN on stock firmware so
put it on LAN here as well.

Fixes: ce1f9fa625 ("ramips: add support for TOZED ZLT S12 PRO")
Reported-by: Andre Cruz <me@1conan.com>
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
18 months agokernel: modules: fix mdio-bus-mux description
Luiz Angelo Daros de Luca [Fri, 9 Jun 2023 02:41:54 +0000 (23:41 -0300)]
kernel: modules: fix mdio-bus-mux description

Simple error during copy/paste

Fixes: 2dbeb607251b ("kernel: add mdio-bus-mux support")
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
18 months agoramips: fix button definitions for Zyxel WSM20
Thomas Schröder [Fri, 9 Jun 2023 10:03:31 +0000 (12:03 +0200)]
ramips: fix button definitions for Zyxel WSM20

Setting the events of the WPS and LED buttons to
the best matching values based from the documentation:
<https://openwrt.org/docs/guide-user/hardware/hardware.button#procd_buttons>

Signed-off-by: Thomas Schröder <tschroeder_github@outlook.com>
18 months agoapm821xx: switch over from DTB_SIZE to DEVICE_DTC_FLAGS
Christian Lamparter [Thu, 8 Jun 2023 16:12:05 +0000 (18:12 +0200)]
apm821xx: switch over from DTB_SIZE to DEVICE_DTC_FLAGS

DEVICE_DTC_FLAGS is more flexible and can be used in
place of APM821xx own DTB_SIZE.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
18 months agoapm821xx: add kmod-ata-dwc to sata target
Christian Lamparter [Thu, 8 Jun 2023 16:15:08 +0000 (18:15 +0200)]
apm821xx: add kmod-ata-dwc to sata target

though, ata-dwc is built-in on the target already.

Fixes: fd9dc10530ef ("apm821xx: make ata-dwc as a standalone module")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
18 months agobmips: bump LZMA Loader address
Álvaro Fernández Rojas [Fri, 9 Jun 2023 17:48:42 +0000 (19:48 +0200)]
bmips: bump LZMA Loader address

This allows booting bigger ramdisk images via TFTP at the cost of breaking 32M
RAM compatibility, but those devices have been unable to boot ramdisks on this
target for some time anyway due to not having enough RAM.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobmips: add support for Observa VH4032N
Daniel González Cabanelas [Thu, 8 Jun 2023 22:09:33 +0000 (00:09 +0200)]
bmips: add support for Observa VH4032N

The Observa VH4032N is an xDSL wifi router with a vertical white casing
and two internal antennas connected via UFL.

Hardware:
 - SoC: Broadcom BCM6368
 - CPU: dual core BMIPS4350 V3.1 @400MHz
 - RAM: 128 MB DDR
 - Flash: 32 MB parallel NOR
 - Ethernet LAN: 4x 100Mbit
 - Wifi 2.4/5 GHz: onboard Broadcom BCM43222 802.11abgn
 - USB: 3x 2.0
 - Buttons: 2x, 1 reset
 - LEDs: 8x, blue and red
 - UART: 1x

Installation via OEM web UI:
  1. Use the admin credentials to login via web UI
  2. Go to Managament->Update firmware and select the OpenWrt CFE firmware
  3. Press "Update Firmware" button and wait some minutes until it finish

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
18 months agobcm27xx: remove kernel v5.15 support
Álvaro Fernández Rojas [Thu, 8 Jun 2023 17:52:16 +0000 (19:52 +0200)]
bcm27xx: remove kernel v5.15 support

Due to the amount of patches from the RPi foundation, maintaining two kernels
version is an insane effort.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
18 months agobcm27xx: switch to kernel v6.1
Álvaro Fernández Rojas [Thu, 8 Jun 2023 17:50:35 +0000 (19:50 +0200)]
bcm27xx: switch to kernel v6.1

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

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>