openwrt/staging/dangole.git
16 months agomediatek: add support for ZyXEL NWA50AX Pro
David Bauer [Sat, 15 Jul 2023 16:10:31 +0000 (18:10 +0200)]
mediatek: add support for ZyXEL NWA50AX Pro

Hardware
--------
CPU:    Mediatek MT7981
RAM:    512M DDR4
FLASH:  256M NAND
ETH:    MaxLinear GPY211 (2.5GbE N Base-T)
WiFi:   Mediatek MT7981 (2.4GHz 2T2R:2 5GHz 3T3R:2 802.11ax)
BTN:    1x Reset
LED:    1x Multi-Color

UART Console
------------
Available below the rubber cover next to the ethernet port.

Settings: 115200 8N1

Layout:

<12V> <LAN> GND-RX-TX-VCC

Logic-Level is 3V3. Don't connect VCC to your UART adapter!

Installation Web-UI
-------------------
Upload the Factory image using the devices Web-Interface.

As the device uses a dual-image partition layout, OpenWrt can only
installed on Slot A. This requires the current active image prior
flashing the device to be on Slot B.

In case this is not the case, OpenWrt will boot only one time, returning
to the ZyXEL firmware the second boot.

If this happens, first install a ZyXEL firmware upgrade of any version
and install OpenWrt after that.

Installation TFTP / Recovery
----------------------------
This installation routine is especially useful in case of a bricked
device.

Attach to the UART console header of the device. Interrupt the boot
procedure by pressing Enter.

The bootloader has a reduced command-set available from CLI, but more
commands can be executed by abusing the atns command.

Boot a OpenWrt initramfs image available on a TFTP server at
192.168.1.66. Rename the image to nwa50axpro-openwrt-initramfs.bin.

 $ atnf nwa50axpro-openwrt-initramfs.bin
 $ atna 192.168.1.88
 $ atns "192.168.1.66; tftpboot; setenv fdt_high 0xffffffffffffffff;
   bootm"

Upon booting, set the booted image to the correct slot:

 $ zyxel-bootconfig /dev/mtd9 get-status
 $ zyxel-bootconfig /dev/mtd9 set-image-status 0 valid
 $ zyxel-bootconfig /dev/mtd9 set-active-image 0

Copy the OpenWrt sysupgrade image to the device using scp.
Write the sysupgrade image to NAND using sysupgrade.

 $ sysupgrade -n image.bin

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit f0445746f6fd96fc7c5394b238153bd2ff22bc5b)

16 months agomediatek: filogic: set DEVICE_DTS_LOADADDR for BPi-R3
Daniel Golle [Sat, 22 Jul 2023 11:30:43 +0000 (12:30 +0100)]
mediatek: filogic: set DEVICE_DTS_LOADADDR for BPi-R3

U-Boot complains that the overlayed DT needs relocation, so set
DEVICE_DTS_LOADADDR to have it relocated.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit b1d10e0174f71099016a7e6dcd27b65a77fd51b4)

16 months agolibbpf: Update to v1.2.2
Tony Ambardar [Mon, 17 Jul 2023 01:22:59 +0000 (18:22 -0700)]
libbpf: Update to v1.2.2

Update to the latest upstream release to include recent bugfixes:

Link: https://github.com/libbpf/libbpf/compare/v1.2.0...v1.2.2
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
(cherry picked from commit 1d5e7b85ccc58f3d010a54e82ccea81fc102262b)

16 months agonftables: update to 1.0.8
Nick Hainke [Fri, 14 Jul 2023 13:26:06 +0000 (15:26 +0200)]
nftables: update to 1.0.8

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

Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 58c498247b3d06c0ff1967d2f48ba84084a6cf25)

16 months agolibnftnl: update to 1.2.6
Nick Hainke [Wed, 12 Jul 2023 21:38:51 +0000 (23:38 +0200)]
libnftnl: update to 1.2.6

Release Notes:
https://lists.netfilter.org/pipermail/netfilter-announce/2023/000250.html

Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit e57a752217113d066cdea2073f35e8c7c1fafaa6)

16 months agohostapd: update to 2023-06-22
Andre Heider [Thu, 6 Jul 2023 06:16:50 +0000 (08:16 +0200)]
hostapd: update to 2023-06-22

Removed, merged upstream:
- 170-wpa_supplicant-fix-compiling-without-IEEE8021X_EAPOL.patch

Manually refreshed:
- 040-mesh-allow-processing-authentication-frames-in-block.patch
- 600-ubus_support.patch
- 761-shared_das_port.patch

Fixes: #12661
Fixes: 304423a4 ("hostapd: update to 2023-03-29")
Signed-off-by: Andre Heider <a.heider@gmail.com>
(cherry picked from commit cd804c1ebb34c9740f8ad9fe393a81f3efb7b009)

16 months agolinux-firmware: update to 20230625
John Audia [Sun, 9 Jul 2023 20:01:47 +0000 (16:01 -0400)]
linux-firmware: update to 20230625

Change from git log --oneline:

ee91452d (tag: 20230625) Makefile, copy-firmware: support xz/zstd compressed firmware
ad2ce8be copy-firmware: silence the last shellcheck warnings
67bf50e7 copy-firmware: drop obsolete backticks, quote
77f31a80 copy-firmware: tweak sed invocation
40fa2b20 copy-firmware: quote deskdir and dirname
77f92e0b check_whence: error if symlinks are in-tree
f2671b1f check_whence: error if File: is actually a link
4b539e7a check_whence: strip quotation marks
32693d3b linux-firmware: wilc1000: update WILC1000 firmware to v16.0
109b23c5 ice: update ice DDP wireless_edge package to 1.3.10.0
ade163aa amdgpu: DMCUB updates for DCN 3.1.4 and 3.1.5
045b2136 amdgpu: update DMCUB to v0.0.172.0 for various AMDGPU ASICs
5a1842ce Merge branch 'rb3-update' of https://github.com/lumag/linux-firmware
2f81bd9f fix broken cirrus firmware symlinks
01a7a844 qcom: Update the microcode files for Adreno a630 GPUs.
94120467 qcom: sdm845: rename the modem firmware
1c599488 qcom: sdm845: update remoteproc firmware
1cd1c871 rtl_bt: Update RTL8852A BT USB firmware to 0xDAC7_480D
55e74485 rtl_bt: Update RTL8852C BT USB firmware to 0x040D_7225
9dbd8ec2 amdgpu: DMCUB updates for various AMDGPU asics
9a47adc7 Merge branch 'mtl_huc_v8.5.0' of git://anongit.freedesktop.org/drm/drm-firmware
eb3ae841 linux-firmware: update firmware for MT7922 WiFi device
5ce06b9e linux-firmware: update firmware for MT7921 WiFi device
2c50361c linux-firmware: update firmware for mediatek bluetooth chip (MT7922)
185f49df linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
05f94af7 Merge branch 'v2.0.21478' of https://github.com/yunfei-mtk/linux_fw_scp
5de33fb4 i915: Add HuC v8.5.0 for MTL
795aea91 mediatek: Update mt8195 SCP firmware to support hevc
fc90c59b Merge branch 'db410c' of https://github.com/lumag/linux-firmware
9d4c9a52 qcom: apq8016: add Dragonboard 410c WiFi and modem firmware
1f9667eb Merge branch 'for-upstream' of http://git.chelsio.net/pub/git/linux-firmware
b544e2b0 Merge branch 'for-upstream' of https://github.com/CirrusLogic/linux-firmware
244d6b5c cirrus: Add firmware for new Asus ROG Laptops
d11ae984 brcm: Add symlinks from Pine64 devices to AW-CM256SM.txt
1c513ec7 amdgpu: Update GC 11.0.1 and 11.0.4
8449fcd0 Merge https://github.com/pkshih/linux-firmware
c10facaf rtw89: 8851b: add firmware v0.29.41.0
1ba3519e Merge branch 'dev-queue' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/firmware
2e775450 amdgpu: update yellow carp firmware for amd.5.5 release
5eccb3c1 amdgpu: update navi14 firmware for amd.5.5 release
c70d3c3b amdgpu: update navi12 firmware for amd.5.5 release
0e4f17cc amdgpu: update vega20 firmware for amd.5.5 release
413348f3 amdgpu: update vega12 firmware for amd.5.5 release
c167587d amdgpu: update navi10 firmware for amd.5.5 release
3c98630a amdgpu: update vega10 firmware for amd.5.5 release
d13ef0cb amdgpu: update PSP 13.0.11 firmware for amd.5.5 release
31f8f526 amdgpu: update GC 11.0.4 firmware for amd.5.5 release
f0ce7026 amdgpu: update SDMA 6.0.1 firmware for amd.5.5 release
47424464 amdgpu: update PSP 13.0.4 firmware for amd.5.5 release
60dc78a7 amdgpu: update GC 11.0.1 firmware for amd.5.5 release
ba70041c amdgpu: update 13.0.8 firmware for amd.5.5 release
9c48881f amdgpu: update GC 10.3.7 firmware for amd.5.5 release
bb4d7250 amdgpu: update vangogh firmware for amd.5.5 release
102a4138 amdgpu: update VCN 4.0.4 firmware for amd.5.5 release
a7fe4aa1 amdgpu: update SMU 13.0.7 firmware for amd.5.5 release
80b2d561 amdgpu: update PSP 13.0.7 firmware for amd.5.5 release
a5d7b4df amdgpu: update GC 11.0.2 firmware for amd.5.5 release
c1db00c5 amdgpu: update renoir firmware for amd.5.5 release
683c91f7 amdgpu: update VCN 4.0.0 firmware for amd.5.5 release
39d6fcc7 amdgpu: update SMU 13.0.0 firmware for amd.5.5 release
56832557 amdgpu: update PSP 13.0.0 firmware for amd.5.5 release
ffe1a41e amdgpu: update GC 11.0.0 firmware for amd.5.5 release
72d525d7 amdgpu: update green sardine firmware for amd.5.5 release
ceba765d amdgpu: update beige goby firmware for amd.5.5 release
95eb53c9 amdgpu: update dimgrey cavefish firmware for amd.5.5 release
909cef98 amdgpu: update arcturus firmware for amd.5.5 release
91251d16 amdgpu: update vcn 3.1.2 firmware for amd.5.5 release
9eaff866 amdgpu: update psp 13.0.5 firmware for amd.5.5 release
44772528 amdgpu: update GC 10.3.6 firmware for amd.5.5 release
3bffc9f8 amdgpu: update navy flounder firmware for amd.5.5 release
3b920773 amdgpu: update sienna cichlid firmware for amd.5.5 release
84d5550e amdgpu: update aldebaran firmware for amd.5.5 release
dcd30473 amdgpu: DMCUB updates for various AMDGPU asics
c9e4034a ice: update ice DDP comms package to 1.3.40.0
601c1813 Merge https://github.com/pkshih/linux-firmware
08b854f0 rtlwifi: Add firmware v6.0 for RTL8192FU
b72c69dd rtlwifi: Update firmware for RTL8188EU to v28.0
51290942 (tag: 20230515) Merge branch 'main' of https://github.com/CirrusLogic/linux-firmware

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit a5005508f069c9bd0c1d33970e9b3ecbe5040380)

16 months agoocteon: ubnt-edgerouter-4/6p: devicetree cleanup
Carsten Spieß [Wed, 12 Jul 2023 08:24:11 +0000 (10:24 +0200)]
octeon: ubnt-edgerouter-4/6p: devicetree cleanup

removed redundant eeprom partition nodes from
cn7130_ubnt_edgerouter-4.dts and cn7130_ubnt_edgerouter-6p.dts
as they are identically defined in cn7130_ubnt_edgerouter-e300.dtsi.

Signed-off-by: Carsten Spieß <mail@carsten-spiess.de>
(integrated eeprom referenced node in the .dtsi)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 700f11aaadb7baa38285ed8f928e976a29a72eed)

16 months agoocteon: ubnt-edgerouter-e300: fix missing MTD partition
Carsten Spieß [Wed, 12 Jul 2023 08:16:27 +0000 (10:16 +0200)]
octeon: ubnt-edgerouter-e300: fix missing MTD partition

The MAC addresses should be read from 3rd MTD partition,
but only two MTD partitions are populated.

To fix it, a partitions node has to surround the partition
nodes in device tree.

Tested with Edgerouter 6P

Signed-off-by: Carsten Spieß <mail@carsten-spiess.de>
(fixed checkpatch complains)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 2b1d7965c7e74e1b31ff29a966eaf6334b0d7057)

16 months agoocteon: ubnt-edgerouter-e300: fix LED settings
Carsten Spieß [Wed, 12 Jul 2023 08:41:25 +0000 (10:41 +0200)]
octeon: ubnt-edgerouter-e300: fix LED settings

LEDs on Edgerouter 6P didn't work correctly:
blue /white LED swapped, on/off state inverted

Fixed in device tree:
swap the GPIO ports for power:blue and power:white LEDs
change LED activity from LOW to HIGH

Tested on Edgerouter 6P

Signed-off-by: Carsten Spieß <mail@carsten-spiess.de>
(cherry picked from commit 9009672930f7bda99ec8f6f09a92eb49b6c9aac8)

16 months agoib: split out processing user provided packages
Tomasz Maciej Nowak [Tue, 11 Jul 2023 14:06:21 +0000 (16:06 +0200)]
ib: split out processing user provided packages

Some device recipes remove default target packages. If user tries to add
them back they will be ignored, since packages list is processed in one
go. Process the device recipe packages first and do user ones later, so
additions won't get filtered out.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
(cherry picked from commit e40b9a7fa002154e85459791101a0444d99dfb86)

16 months agosdk: rename README + update Makefile
Tomasz Maciej Nowak [Tue, 11 Jul 2023 14:09:49 +0000 (16:09 +0200)]
sdk: rename README + update Makefile

'help' target fails not finding a file, so follow up on a change[2] made
as a fix for main README[1].

1. d0113711a31f ("README: port to 21st century")
2. 751486b31fd9 ("build: fix README.md reference after rename")

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
(cherry picked from commit 2d5f7035cf45801158bed6f5d0ac0de0002c1810)
(cherry picked from commit e9911f10e482f3174f745a36c0c9fd7964758caf)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
16 months agobuild: fix generation of large .vdi images
Adones Pitogo [Tue, 11 Jul 2023 05:31:50 +0000 (13:31 +0800)]
build: fix generation of large .vdi images

Instead of loading the whole image into the memory when generating the
sha256 sum, we load the file in chunks and update the hash incrementally
to avoid MemoryError in python. Also remove a stray empty line.

Fixes: #13056
Signed-off-by: Adones Pitogo <pitogo.adones@gmail.com>
(mention empty line removal, adds Fixes from PR)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit bdb4b78210cfb6bc8a6cda62fc990dd45ec3054c)

16 months agoarmsr: v8: fix NVMEM_IMX_OCOTP_ELE build error
Christian Lamparter [Sat, 15 Jul 2023 19:33:41 +0000 (21:33 +0200)]
armsr: v8: fix NVMEM_IMX_OCOTP_ELE build error

there's a new symbol NVMEM_IMX_OCOTP_ELE that needs to be defined.
otherwise the build will fail:

|  i.MX On-Chip OTP Controller support (NVMEM_IMX_OCOTP_ELE) [N/m/y/?] (NEW)
| make[6]: *** [scripts/kconfig/Makefile:77: syncconfig] Error 1
| make[5]: *** [Makefile:628: syncconfig] Error 2

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
16 months agobcm53xx: backport DT changes queued for v6.6
Rafał Miłecki [Fri, 14 Jul 2023 10:35:26 +0000 (12:35 +0200)]
bcm53xx: backport DT changes queued for v6.6

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 37ff916af789911fdefb802ce9903e866eb82435)

16 months agoscripts/mkits.sh: DT overlays don't need a loadaddr
Daniel Golle [Mon, 12 Jun 2023 03:07:57 +0000 (04:07 +0100)]
scripts/mkits.sh: DT overlays don't need a loadaddr

DT overlays do not need relocation in order to be applied, so drop
defining the load address for dtbos.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit cff3786bd54cec8276f1fd08d5c6697846f393a5)

16 months agouboot-mediatek: support classic uImage.FIT with internal images in imszb
Daniel Golle [Mon, 12 Jun 2023 03:06:40 +0000 (04:06 +0100)]
uboot-mediatek: support classic uImage.FIT with internal images in imszb

The side-effect and main motivation is to also drop the FIT structure size
limit because with multiple device tree overlays it may easily grow beyond
the previous 4kB limit in the future.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 98e3f82c3fb729c1d9de78fef215322528b50cb4)

16 months agomediatek: replace hack for MaxLinear 2.5G PHY
Daniel Golle [Sat, 8 Jul 2023 16:31:24 +0000 (17:31 +0100)]
mediatek: replace hack for MaxLinear 2.5G PHY

Replace hack with proper patch also for Linux 5.15.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 712fa3eff82086da8a13e7e5bc577df17892a581)

16 months agomediatek: dts: mt7988a: remove boottrap hack
Daniel Golle [Sat, 8 Jul 2023 15:48:39 +0000 (16:48 +0100)]
mediatek: dts: mt7988a: remove boottrap hack

The PHY driver now uses regmap created from pio syscon, we no longer
need the boottrap device.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit f321a49fd523a8d393be8e3cd2de41d67855da91)

16 months agomediatek: use backported Ethernet PHY driver also for 5.15
Daniel Golle [Sat, 8 Jul 2023 16:21:27 +0000 (17:21 +0100)]
mediatek: use backported Ethernet PHY driver also for 5.15

Backport in-SoC Gigabit Ethernet PHY driver instead of carrying the
driver in files-5.15.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 9fac59009657068d5a58b3d0255d4ca1507dd457)

16 months agomediatek: dts: mt7988a: wire-up mediatek,pio for PHY LEDs
Daniel Golle [Sat, 8 Jul 2023 15:27:25 +0000 (16:27 +0100)]
mediatek: dts: mt7988a: wire-up mediatek,pio for PHY LEDs

The PHY driver needs to read a register containing the values of the
bootstrap pins (which happen to be the PHY LEDs) to determine the LED
polarities. Allow regmap access to first pinctrl bank by adding the
'syscon' compatible, and reference the pinctrl in the MDIO bus where
the PHY driver will look for it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 1f1e0b1144ebaa4ba8b948a12d989a0a6fc9b76f)

16 months agomediatek: filogic: add H3C Magic NX30 Pro support
Chukun Pan [Sun, 21 May 2023 15:00:16 +0000 (23:00 +0800)]
mediatek: filogic: add H3C Magic NX30 Pro support

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: W25N01GVZEIG 128MB
  RAM: NT5CB128M16JR-FL 256MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, WPS
  Power: DC 12V 1A

Flash instructions:
  1. PC run command: "telnet 192.168.124.1 99"
     Username: H3C, password is the web login
     password of the router.
  2. Download preloader.bin and bl31-uboot.fip
  3. PC run command: "python3 -m http.server 80"
  4. Download files in the telnet window:
     "wget http://192.168.124.xx/xxx.bin"
     Replace xx with your PC's IP and
     the preloader.bin and bl31-uboot.fip.
  5. Flushing openwrt's uboot:
     "mtd write xxx-preloader.bin BL2"
     "mtd write xxx-bl31-uboot.fip FIP"
  6. Connect to the router via the Lan port,
     set a static ip of your PC.
     (ip 192.168.1.254, gateway 192.168.1.1)
  7. Download initramfs image, reboot router,
     waiting for tftp recovery to complete.
  8. After openwrt boots up, perform sysupgrade.

Note:
  1. The u-boot-env partition on mtd is empty,
     OEM stores their env on ubi:u-boot-env.
  2. Back up all mtd partitions before flashing.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit e78d1a06c8a47be9ea5a306bfb43f3d7ceb89646)

16 months agouboot-mediatek: add H3C Magic NX30 Pro support
Chukun Pan [Sat, 20 May 2023 15:03:06 +0000 (23:03 +0800)]
uboot-mediatek: add H3C Magic NX30 Pro support

The OEM uboot limit brush into 3rd-party firmware.
So add a custom uboot build to support openwrt.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 437e79ad6d01100afac9786d287976de6d5cf363)

16 months agomediatek: add support for Netgear EX6250v2 series
Wenli Looi [Thu, 30 Mar 2023 19:46:19 +0000 (19:46 +0000)]
mediatek: add support for Netgear EX6250v2 series

Netgear EX6250v2, EX6400v3, EX6410v2, EX6470 are wall-plug 802.11ac
(Wi-Fi 5) extenders. Like other MT7629 devices, Wi-Fi does not work
currently as there is no driver.

Related: https://github.com/openwrt/openwrt/pull/5084

For future reference, 2.4GHz MAC = LAN+1, 5GHz MAC = LAN+2.

Specifications:
* MT7629, 256 MiB RAM, 16 MiB SPI NOR
* MT7761N (2.4GHz) / MT7762N (5GHz) - no driver
* Ethernet: 1 port 10/100/1000
* UART: 115200 baud (labeled on board)

Installation:
* Flash the factory image through the stock web interface, or TFTP to
  the bootloader. NMRP can be used to TFTP without opening the case.
* After installation, perform a factory reset. Wait for the device to
  boot, then hold the reset button for 10 seconds. This is needed
  because sysupgrade in the stock firmware will attempt to preserve its
  configuration using sysupgrade.tgz.
  See https://github.com/openwrt/openwrt/pull/4182

Revert to stock firmware:
* Flash the stock firmware to the bootloader using TFTP/NMRP.

Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
(cherry picked from commit 73de41898fcd06d837b013449c370c493bcdc595)

16 months agoimage: add additional fields to Netgear encrypted image
Wenli Looi [Thu, 30 Mar 2023 22:27:11 +0000 (22:27 +0000)]
image: add additional fields to Netgear encrypted image

These fields are used for EAX12 and EX6250v2 series, and perhaps other
devices. Compatibility is preserved with the WAX202 and WAX206.

In addition, adds the related vars to DEVICE_VARS so that the variables
work correctly with multiple devices.

References in GPL source:
https://www.downloads.netgear.com/files/GPL/EAX12_EAX11v2_EAX15v2_GPL_V1.0.3.34_src.tar.gz

* tools/imgencoder/src/gj_enc.c
  Contains code that generates the encrypted image.

Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
(cherry picked from commit 0a1ebccc8702cadc50bc096f1e185472f3927786)

16 months agoath79: DTS improvement for buzzer on RB951G-2HnD
Pavel Pernička [Tue, 27 Jun 2023 16:34:03 +0000 (18:34 +0200)]
ath79: DTS improvement for buzzer on RB951G-2HnD

Mikrotik RB951 router has a buzzer on the board, which makes annoying noises
due to the interference caused by PoE input or Wifi transmission
when no GPIO pin state is set.
I added buzzer node to device's DTS in order to set deault level to 1
and to provide easier access for it.

Signed-off-by: Pavel Pernička <pernicka.pa@gmail.com>
(cherry picked from commit dac0a133cf8dbf0bd9afabecdc1092456c451ec7)

16 months agoath79: add support for MikroTik RB951G-2HnD
Michał Kępień [Sat, 17 Jun 2023 17:12:21 +0000 (19:12 +0200)]
ath79: add support for MikroTik RB951G-2HnD

MikroTik RB951G-2HnD is a wireless SOHO router that was previously
supported by the ar71xx target, see commit 7a709573d7 ("ar71xx: add
kernel support for the Mikrotik RB951G board").

Specifications
--------------

  - SoC: Atheros AR9344 (600 MHz)
  - RAM: 128 MB (2x 64 MB)
  - Storage: 128 MB NAND flash (various manufacturers)
  - Ethernet: Atheros AR8327 switch, 5x 10/100/1000 Mbit/s
      - 1x PoE in (port 1, 8-30 V input)
  - Wireless: Atheros AR9340 (802.11b/g/n)
  - USB: 2.0 (1A)
  - 8x LED:
      - 1x power (green, not configurable)
      - 1x user (green, not configurable)
      - 5x GE ports (green, not configurable)
      - 1x wireless (green, not configurable)
  - 1x button (restart)

Unlike on the RB951Ui-2HnD, none of the LEDs on this device seem to be
GPIO-controllable, which was also the case for older OpenWRT versions
that supported this board via a mach file.  The Ethernet port LEDs are
controlled by the switch chip.

See https://mikrotik.com/product/RB951G-2HnD for more details.

Flashing
--------

TFTP boot initramfs image and then perform sysupgrade.  Follow
common MikroTik procedures at https://openwrt.org/toh/mikrotik/common.

Signed-off-by: Michał Kępień <openwrt@kempniu.pl>
(cherry picked from commit db02cecd6ad2e5962e6e9d8307da34855a083ad6)

16 months agoath79: mikrotik: extract common bits for RB951x-2HnD devices
Michał Kępień [Thu, 15 Jun 2023 13:59:44 +0000 (15:59 +0200)]
ath79: mikrotik: extract common bits for RB951x-2HnD devices

Mikrotik RouterBOARD 951Ui-2HnD and Mikrotik RouterBOARD RB951G-2HnD are
very similar devices.  Extract the DTS bits that are identical for these
two boards to a separate DTSI file.

Signed-off-by: Michał Kępień <openwrt@kempniu.pl>
(cherry picked from commit c6ef4170945c6ab5432382110389f31fea92a76c)

16 months agobcm53xx: backport DT changes from v6.5
Rafał Miłecki [Tue, 11 Jul 2023 08:30:08 +0000 (10:30 +0200)]
bcm53xx: backport DT changes from v6.5

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 8674b41c0d84f09e14bf8ebe08e1d6dc6ac5fa64)

16 months agokernel: bgmac: fix regressed support for BCM53573 SoCs
Rafał Miłecki [Mon, 10 Jul 2023 09:38:23 +0000 (11:38 +0200)]
kernel: bgmac: fix regressed support for BCM53573 SoCs

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit d54f3b2cfdbd34aa61ca67fd590eebfdf3db51cf)

16 months agobcm47xx: fix bgmac MTU patch filename
Rafał Miłecki [Mon, 10 Jul 2023 09:38:01 +0000 (11:38 +0200)]
bcm47xx: fix bgmac MTU patch filename

Fixes: 4970dd027bce ("bcm47xx: revert bgmac back to the old limited max frame size")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 83aeb0bbd47638b42ee6cdda351d0c51e014d790)

16 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>
(cherry picked from commit 07bdc5551558287f7a99f6ae8e6d82d7d09d5781)

16 months agokernel: net: phy: realtek: fix rtl822x_probe on unsupported devices
Martin Schiller [Tue, 27 Jun 2023 07:57:53 +0000 (09:57 +0200)]
kernel: net: phy: realtek: fix rtl822x_probe on unsupported devices

Calling rtl822x_probe() on phy devices which uses the rtl822x_read_mmd()
and rtl822x_write_mmd() functions makes no sense and the probe ends with
an EOPNOTSUPP error.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
(cherry picked from commit 5af7d47cd7fb936dc7d640e1ba63443152d0416a)

16 months agoramips/mt7621: disable the cpufreq driver
Felix Fietkau [Fri, 30 Jun 2023 12:46:19 +0000 (14:46 +0200)]
ramips/mt7621: disable the cpufreq driver

It causes a noticeable performance decrease

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit dc38199b96ee3ef0ac52873893c42e28fa0564fa)

16 months agokernel: sort generic configuration
Aleksander Jan Bajkowski [Mon, 22 May 2023 21:27:52 +0000 (23:27 +0200)]
kernel: sort generic configuration

This was done by executing these commands:

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

$ ./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>
(cherry picked from commit 4f197f91342bc5e1f202c091c2c2f90e949d0749)

16 months agokernel: bump 5.15 to 5.15.120
John Audia [Wed, 5 Jul 2023 20:54:48 +0000 (16:54 -0400)]
kernel: bump 5.15 to 5.15.120

All patches automatically rebased.

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>
(cherry picked from commit 0dc0504fc8e5f0c3cafe6c1da7192f51a09c5bc3)

16 months agowolfssl: update to 5.6.3
Nick Hainke [Sun, 2 Apr 2023 21:32:11 +0000 (23:32 +0200)]
wolfssl: update to 5.6.3

Release Notes:
- https://github.com/wolfSSL/wolfssl/releases/tag/v5.6.0-stable
- https://github.com/wolfSSL/wolfssl/releases/tag/v5.6.2-stable
- https://github.com/wolfSSL/wolfssl/releases/tag/v5.6.3-stable

Refresh patch:
- 100-disable-hardening-check.patch

Backport patch:
- 001-fix-detection-of-cut-tool-in-configure.ac.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 0e83b5e6cc8e2970905a2b32c990fa7491ff733c)

16 months agokernel: fix KernelPackage when all KCONFIG are versioned
John Thomson [Sat, 1 Jul 2023 00:23:35 +0000 (10:23 +1000)]
kernel: fix KernelPackage when all KCONFIG are versioned

If a kernel package was defined where all KCONFIG symbols were dynamic,
and versioned, no FILES would be installed, as the foreach evaluation was
providing the value of the variable defined by the KCONFIG symbol name
including the version test

Fix this by calling the version_filter function on the list of KCONFIG
variable names run through by foreach

Example, kernel 6.1:
KCONFIG:=CONFIG_OLD@lt6.1 CONFIG_NEW@ge6.1
filter-out any KCONFIG settings forced by package:
CONFIG_OLD@lt6.1 CONFIG_NEW@ge6.1
there are dynamic settings, so for each of them,
get the value of the make variable defined by symbol name:
    CONFIG_OLD@lt6.1 is not set
    CONFIG_NEW@ge6.1 is not set
  versus
    CONFIG_OLD is not set
    CONFIG_NEW=m
test if any of these are m, or y
if yes, install files, otherwise, nothing to install

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
(cherry picked from commit b3448b3fdb59d25dce05991dc8f322c1020b090b)

16 months agox86: set CONFIG_X86_AMD_PLATFORM_DEVICE
John Audia [Mon, 3 Jul 2023 09:25:56 +0000 (05:25 -0400)]
x86: set CONFIG_X86_AMD_PLATFORM_DEVICE

Needed by AMD processors using Carrizo and later chipsets

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 946100ba4128dbee8faf3c03afb692bca74d75fa)

16 months agomxs: rework image generation
Zoltan HERPAI [Sun, 29 Jan 2023 17:26:10 +0000 (18:26 +0100)]
mxs: rework image generation

Migrate to "new" image generation method. Device profiles will be generated
based on image/Makefile instead of profiles/ , which will also allow to
automatically build images for all supported devices via buildbot.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
16 months agoipq-wifi: fix upstream board-2.bin ZTE M289F snafu
Christian Lamparter [Tue, 4 Jul 2023 18:42:22 +0000 (20:42 +0200)]
ipq-wifi: fix upstream board-2.bin ZTE M289F snafu

The upstream board-2.bin file in the linux-firmware.git
repository for the QCA4019 contains a packed board-2.bin
for this device for both 2.4G and 5G wifis. This isn't
something that the ath10k driver supports.

Until this feature either gets implemented - which is
very unlikely -, or the upstream boardfile is mended
(both, the original submitter and ath10k-firmware
custodian have been notified). OpenWrt will go back
and use its own bespoke boardfile. This unfortunately
means that 2.4G and on some revisions the 5G WiFi is
not available in the initramfs image for this device.

Fixes: #12886
Reported-by: Christian Heuff <christian@heuff.at>
Debugged-by: Georgios Kourachanis <geo.kourachanis@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 75505c5ec724b9b961dcb411bac1d4b9aede3e1d)

16 months agomt76: update to the latest version
Felix Fietkau [Tue, 4 Jul 2023 04:16:44 +0000 (06:16 +0200)]
mt76: update to the latest version

f704e4f83c6f mt76: mt7915: fix copy&paste issue on capability check rework

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 816933bee6e6b68156f6aeea083117208bf859f8)

16 months agoramips: mt7621: add TP-Link EAP613 v1
Sander Vanheule [Sat, 24 Jun 2023 20:18:35 +0000 (22:18 +0200)]
ramips: mt7621: add TP-Link EAP613 v1

The TP-Link EAP613 v1 is a ceiling-mount 802.11ax access point. It can
be powered via PoE or a DC barrel connector (12V). Connecting to the
UART requires fine soldering and careful manipulation of any soldered
wires.

Device details:
  * SoC: MT7621AT
  * Flash: 16 MiB SPI NOR
  * RAM: 256 MiB DDR3L
  * Wi-Fi:
    * MT7905DA + MT7975D: 2.4 GHz + 5 GHz (DBDC), 2x2:2
    * Two stamped metal antennas (ANT1, ANT2)
    * One PCB antenna (ANT3)
    * One unpopulated antenna (ANT4)
  * Ethernet:
    * 1× 10/100/1000 Mbps port with PoE
  * LEDs:
    * Array of four blue LEDs with one control line
  * Buttons:
    * Reset
  * Board test points:
    * UART: next to CPU RF-shield and power circuits
    * JTAG: under CPU RF-shield (untested)
  * Watchdog: 3PEAK TPV706 (not implemented)

  Althought three antennas are populated, the MT7905DA does not support
  the additional Rx chain for background DFS detection (or Bluetooth)
  according to commit 6cbcc34f50a3 ("ramips: disable unsupported
  background radar detection").

MAC addresses:
  * LAN: 48:22:54:xx:xx:a2 (device label)
  * WLAN 2.4 GHz: 48:22:54:xx:xx:a2
  * WLAN 5 GHz: 48:22:54:xx:xx:a3

  The radio calibration blob stored in flash also contains valid MAC
  addresses for both radio bands (OUI 00:0c:43).

Factory install:
  1. Enable SSH on the device via web interface
  2. Log in with SSH, and run `cliclientd stopcs`
  3. Upload -factory.bin image via web interface. It may be necessary to
     shorten the filename of the image to e.g. 'factory.bin'.

Recovery:
  1. Open the device by unscrewing four screws from the backside
  2. Carefully remove board from the housing
  3. Connect to UART (3.3V):
    * Find test points labelled "VCC", "GND", "UART_TX", "UART_RX"
    * Solder wires to test points or connect otherwise. Be careful not
      to damage the PCB e.g. by pulling on soldered wires.
    * Open console with 115200n8 settings
  4. Interrupt bootloader and use tftpboot to start an initramfs:
        setenv ipaddr $DEVICE_IP
        setenv serverip $SERVER_IP
        tftpboot 84000000 openwrt-initramfs-kernel.bin
        bootm

  DO NOT use saveenv to store modified u-boot environment variables. The
  environment is saved at flash offset 0x30000, which erases part of the
  (secondary) bootloader.

  The device uses two bootloader stages. The first stage will load the
  second stage from a uImage stored at flash offset 0x10000. In case of
  a damaged second stage, the first stage should allow uploading a new
  image via y-modem (untested).

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 11588c52b47c2c3b2cdc7849ce9e4804bfdb8bb5)

16 months agofirmware-utils: bump to git HEAD
Sander Vanheule [Thu, 29 Jun 2023 14:13:33 +0000 (16:13 +0200)]
firmware-utils: bump to git HEAD

Add support for a number of new TP-Link devices.

9e2de8515be1 tplink-safeloader: add EAP610 v3 and EAP613 v1
bb12cf5c3fa9 tplink-safeloader: Add support for TP-Link Deco M5
a2d49fb1e188 tplink-safeloader: add RU support-list entry for Archer C6U v1

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 0cdcf0338290a83d7679005e80cf7f547860bfc5)

16 months agomediatek: define NMBM management region for WAX220
David Bauer [Fri, 30 Jun 2023 17:30:09 +0000 (19:30 +0200)]
mediatek: define NMBM management region for WAX220

The NETGEAR WAX220 employs NMBM on SPI-NAND. In order to avoid dealing
with invalid factory data, enable NMBM in the area preceding the UBI
volume.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 92eec257dd562547bc08ee76c1901eb22b66937c)

16 months agolibnl-tiny: update to latest git HEAD
Hauke Mehrtens [Sat, 1 Jul 2023 10:06:34 +0000 (12:06 +0200)]
libnl-tiny: update to latest git HEAD

d433990 Make struct nla_policy and struct nlattr const

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 513bcfdf78d7ffbcf244da2e6910a3d04b17ae01)

16 months agolinux-firmware: ibt-firmware: install sfi/ddc files for AX210 card
Mathew McBride [Tue, 27 Jun 2023 01:23:40 +0000 (01:23 +0000)]
linux-firmware: ibt-firmware: install sfi/ddc files for AX210 card

When using an Intel AX210 card, the Bluetooth hci interface failed
to start due to a missing "ibt-0041-0041.sfi" file.

Bluetooth: hci0: Failed to load Intel firmware file intel/ibt-0041-0041.sfi (-2)

A device specific configuration file (DDC) is also required:
Bluetooth: hci0: Found device firmware: intel/ibt-0041-0041.sfi
Bluetooth: hci0: Waiting for firmware download to complete
...
Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-0041-0041.ddc
Bluetooth: hci0: Applying Intel DDC parameters completed
Bluetooth: hci0: Firmware timestamp 2023.13 buildtype 1 build 62562

Fixes: #8558
Signed-off-by: Mathew McBride <matt@traverse.com.au>
(cherry picked from commit fff6833d4c01205156f9431a111a51f96642b476)

16 months agogeneric: filter out CONFIG_FRAME_WARN
Robert Marko [Tue, 27 Jun 2023 08:11:44 +0000 (10:11 +0200)]
generic: filter out CONFIG_FRAME_WARN

CONFIG_FRAME_WARN value is set by config/Config-kernel.in based on the
target type dynamically since commit:
16a2051 ("kernel: Set CONFIG_FRAME_WARN depending on target").

However, CONFIG_FRAME_WARN was not set to get filtered out so it ended up
in multiple target configs during refreshes.
So, lets filter out CONFIG_FRAME_WARN as its set dynamically to prevent it
ending up in more target configs.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(cherry picked from commit 7a9a4168bb7f4b77c300afb99c163c793305e84f)

16 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>
(cherry picked from commit 008cc836fe42577af2843730dfefd31b750c7de6)

16 months agoramips: add support for Sercomm S1500 devices
Mikhail Zhilkin [Sun, 11 Jun 2023 20:50:23 +0000 (20:50 +0000)]
ramips: add support for Sercomm S1500 devices

This commit adds support for following wireless routers:
 - Beeline SmartBox PRO (Serсomm S1500 AWI)
 - WiFire S1500.NBN (Serсomm S1500 BUC)

This commit is based on this PR:
Link: https://github.com/openwrt/openwrt/pull/4770
 - Author: Maximilian Weinmann <x1@disroot.org>
The opening of this PR was agreed with author.

My changes:
- Sorting, minor changes and some movings between dts and dtsi
- Move leds to dts when possible
- Recipes for the factory image
- Update of the installation/recovery/return to stock guides
- Add reset GPIO for the pcie1

Common specification
--------------------
SoC:        MediaTek MT7621AT (880 MHz, 2 cores)
Switch:     MediaTek MT7530 (via SoC MT7621AT)
Wireless:   2.4 GHz, MT7602EN, b/g/n, 2x2
Wireless:   5 GHz, MT7612EN, a/n/ac, 2x2
Ethernet:   5 ports - 5×GbE (WAN, LAN1-4)
Mini PCIe:  via J2 on PCB, not soldered on the board
UART:       J4 -> GND[], TX, VCC(3.3V), RX
BootLoader: U-Boot SerComm/Mediatek

Beeline SmartBox PRO specification
----------------------------------
RAM (Nanya NT5CB128M16FP): 256 MiB
NAND-Flash (ESMT F59L2G81A): 256 MiB
USB ports: 2xUSB2.0
LEDs: Status (white), WPS (blue), 2g (white), 5g (white) + 10 LED Ethernet
Buttons: 2 button (reset, wps), 1 switch button (ROUT<->REP)
Power: 12 VDC, 1.5 A
PCB Sticker: 970AWI0QW00N256SMT Ver. 1.0
CSN: SG15********
MAC LAN: 94:4A:0C:**:**:**
Manufacturer's code: 0AWI0500QW1

WiFire S1500.NBN specification
------------------------------
RAM (Nanya NT5CC64M16GP): 128 MiB
NAND-Flash (ESMT F59L1G81MA): 128 MiB
USB ports: 1xUSB2.0
LEDs: Status (white), WPS (white), 2g (white), 5g (white) + 10 LED Ethernet
Buttons: 2 button (RESET, WPS)
Power: 12 VDC, 1.0 A
PCB Sticker: 970BUC0RW00N128SMT Ver. 1.0
CSN: MH16********
MAC WAN: E0:60:66:**:**:**
Manufacturer's code: 0BUC0500RW1

MAC address table (PRO)
-----------------------
use   address   source
LAN   *:23      factory 0x1000 (label)
WAN   *:24      factory $label +1
2g    *:23      factory $label
5g    *:25      factory $label +2

MAC addresses (NBN)
-------------------
use   address   source
LAN   *:0e      factory 0x1000
WAN   *:0f      LAN +1 (label)
2g    *:0f      LAN +1
5g    *:10      LAN +2

OEM easy installation
---------------------
1. Remove all dots from the factory image filename (except the dot
   before file extension)
2. Upload and update the firmware via the original web interface
3. Two options are possible after the reboot:
   a. OpenWrt - that's OK, the mission accomplished
   b. Stock firmware - install Stock firmware (to switch booflag from
      Sercomm0 to Sercomm1) and then OpenWrt factory image.

Return to Stock
---------------
1. Change the bootflag to Sercomm1 in OpenWrt CLI and then reboot:
   printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock2
   reboot
2. Install stock firmware via the web OEM firmware interface

Recovery
--------
Use sercomm-recovery tool.
Link: https://github.com/danitool/sercomm-recovery
Tested-by: Pavel Ivanov <pi635v@gmail.com>
Tested-by: Denis Myshaev <denis.myshaev@gmail.com>
Tested-by: Oleg Galeev <olegingaleev@gmail.com>
Tested-By: Ivan Pavlov <AuthorReflex@gmail.com>
Co-authored-by: Maximilian Weinmann <x1@disroot.org>
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit 2d6784a033a994043759fa3b94c48afd5df81f88)

16 months agoramips: sercomm.mk: preparation for Sercomm s1500 devices support
Mikhail Zhilkin [Sun, 11 Jun 2023 20:48:49 +0000 (20:48 +0000)]
ramips: sercomm.mk: preparation for Sercomm s1500 devices support

This commit moves a part of the code from the "sercomm-factory-cqr" recipe
to the separate "sercomm-mkhash" recipe. This simplifies recipes and
allows insert additional recipes between these code blocks (required for
the future support for Beeline SmartBox PRO router).

dd automatically fills the file by 0x00 if the filesize is less than
offset where we start writing. We drop such dd command so we need to add
--extra-padding-size 0x190 to the sercomm-pid.py call.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit f560be583a858bc3099f2b1f0aa0ddec62cfd91c)

16 months agokernel: bump 5.15 to 5.15.119
John Audia [Wed, 28 Jun 2023 10:53:45 +0000 (06:53 -0400)]
kernel: bump 5.15 to 5.15.119

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

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 42cb0f0f260484ac07e3d698ebc5c546e1800051)

16 months agomt76: fix download hash
Felix Fietkau [Sat, 1 Jul 2023 20:09:07 +0000 (22:09 +0200)]
mt76: fix download hash

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit a3e173e00e7a7f647528ec04be432bccfb5995ad)

16 months agomt76: update to the latest version
Felix Fietkau [Thu, 22 Jun 2023 17:37:13 +0000 (19:37 +0200)]
mt76: update to the latest version

2c9c8ffe9d8c wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll
3365c80f4202 wifi: mt76: connac: fix stats->tx_bytes calculation
b69d82130b47 wifi: mt76: connac: do not check WED status for non-mmio devices
1f9cd65b55d7 wifi: mt76: mt7921e: fix probe timeout after reboot
42dace9ce247 wifi: mt76: mt7921: Fix use-after-free in fw features query.
540adbb38205 wifi: mt76: mt7921: add Netgear AXE3000 (A8000) support
150e2d0ffc0c wifi: mt76: mt7996: fix possible NULL pointer dereference in mt7996_mac_write_txwi()
5b7519be2bf6 wifi: mt76: mt7996: fix endianness of MT_TXD6_TX_RATE
40f6e433f747 wifi: mt76: mt76x02: remove WEP support
84ea1a24f5b5 mt76: mt7921: don't assume adequate headroom for SDIO headers
5c28e17f8c78 wifi: mt76: mt7996: fix header translation logic
2386cec860fa wifi: mt76: mt7996: enable BSS_CHANGED_MU_GROUPS support
748d4a2bfebd wifi: mt76: mt7615: enable BSS_CHANGED_MU_GROUPS support
458ad0af21be wifi: mt76: enable UNII-4 channel 177 support
7fb046011293 wifi: mt76: mt7915: fix background radar event being blocked
d2a77a9954bb wifi: mt76: mt7915: report tx retries/failed counts for non-WED path
f76b102b09ca wifi: mt76: mt7915: rework tx packets counting when WED is active
5637d9e37d9e wifi: mt76: mt7915: rework tx bytes counting when WED is active
34bdc7fcb4c0 wifi: mt76: report non-binding skb tx rate when WED is active
d71aa7b992a3 wifi: mt76: mt7915: drop return in mt7915_sta_statistics
251c363c3087 wifi: mt76: mt7996: drop return in mt7996_sta_statistics
150bb95cb153 wifi: mt76: mt7921: do not support one stream on secondary antenna only
d480c3281f21 wifi: mt76: mt7921: remove macro duplication in regs.h
18b1027e5b6e wifi: mt76: mt7915: move mib_stats structure in mt76.h
25ec4b91020e wifi: mt76: mt7996: rely on mib_stats shared definition
6541afa88b3b wifi: mt76: mt7921: rely on mib_stats shared definition
eeb60eb9a5a0 wifi: mt76: mt7915: add support for MT7981 [sync with upstream]
d5b7e6a3d735 wifi: mt76: mt7921e: report tx retries/failed counts in tx free event
f0f19cea6646 wifi: mt76: mt7921: fix skb leak by txs missing in AMSDU
edd8a830f6e3 wifi: mt76: add tx_nss histogram to ethtool stats
e48235308b3e wifi: mt76: mt7915: accumulate mu-mimo ofdma muru stats
a729242363d9 wifi: mt76: mt7921: fix non-PSC channel scan fail
8d52436ee0cd wifi: mt76: mt7921: Support temp sensor
d152c8688c14 wifi: mt76: mt7915: disable WFDMA Tx/Rx during SER recovery
d07785c344ac wifi: mt76: mt7996: disable WFDMA Tx/Rx during SER recovery
2a19784137f9 wifi: mt76: mt7921: make mt7921_mac_sta_poll static
da8e33a15e71 wifi: mt76: mt7915: fix command timeout in AP stop period
cc58d5c4a9c9 mt76: mt7996: rely on mt76_sta_stats in mt76_wcid
98a37c82a373 wifi: mt76: mt7921: get rid of MT7921_RESET_TIMEOUT marco
ece724cf562b wifi: mt76: mt7996: move radio ctrl commands to proper functions
527cbbc5ede7 wifi: mt76: connac: add support for dsp firmware download
44e323340637 wifi: mt76: mt7996: fix bss wlan_idx when sending bss_info command
63f0053df07a wifi: mt76: mt7996: enable VHT extended NSS BW feature
e1bb4ef7b2bb wifi: mt76: connac: add support to set ifs time by mcu command
080ca19cc686 wifi: mt76: mt7996: use correct phy for background radar event
2c163f1812a3 wifi: mt76: mt7996: fix WA event ring size
b511a437ace4 wifi: mt76: mt7996: add muru support
ece67c98dc1c wifi: mt76: mt7996: increase tx token size
7c2515d85117 wifi: mt76: mt7921e: fix init command fail with enabled device
30706095c566 wifi: mt76: mt7915: move sta_poll_list and sta_poll_lock in mt76_dev
b06ed10ee271 wifi: mt76: mt7603: rely on shared sta_poll_list and sta_poll_lock
b59bdae339de wifi: mt76: mt7615: rely on shared sta_poll_list and sta_poll_lock
6da2e0e4ef54 wifi: mt76: mt7996: rely on shared sta_poll_list and sta_poll_lock
b19d3ad88e8b wifi: mt76: mt7921: rely on shared sta_poll_list and sta_poll_lock
595b033275a3 wifi: mt76: mt7915: move poll_list in mt76_wcid
16fcad171849 wifi: mt76: mt7603: rely on shared poll_list field
e19f84091d2e wifi: mt76: mt7615: rely on shared poll_list field
b87e4dad1e84 wifi: mt76: mt7996: rely on shared poll_list field
6d7950e258d0 wifi: mt76: mt7921: rely on shared poll_list field
f5c5eece5038 wifi: mt76: move ampdu_state in mt76_wcid
7e44467469fe mt76: connac: move more mt7921/mt7915 mac shared code in connac lib
39a70710ddcd wifi: mt76: move rate info in mt76_vif
0dc4326991df wifi: mt76: connac: move connac3 definitions in mt76_connac3_mac.h
29cfabbb4b90 wifi: mt76: connac: add connac3 mac library
d60b401867f4 linux-firmware: update firmware for MT7922 WiFi device
9404601a6c97 linux-firmware: update firmware for MT7922 WiFi device
2f851902d6b1 linux-firmware: update firmware for MT7921 WiFi device
f36b921692b9 Revert "wifi: mt76: mt76x02: remove WEP support
c50be0b54cdd wifi: mt76: mt7915: fix capabilities in non-AP mode
d7d7479b00e9 wifi: mt7915: fix beaconing in mesh mode
1377f586c6f5 wifi: mt7915: move capability check to start_ap

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 01885bc6a33dbfa6f3c9e97778fd8f4f60e2514f)
(cherry picked from commit 86ebaef5d427c5732847168f6ceeda12bf528414)

16 months agomediatek: add support for Mercusys MR90X v1
Mikhail Zhilkin [Sat, 13 May 2023 13:51:45 +0000 (13:51 +0000)]
mediatek: add support for Mercusys MR90X v1

This commit adds support for Mercusys MR90X(EU) v1 router.

Device specification
--------------------
SoC Type:   MediaTek MT7986BLA, Cortex-A53, 64-bit
RAM:        MediaTek MT7986BLA (512MB)
Flash:      SPI NAND GigaDevice GD5F1GQ5UEYIGY (128 MB)
Ethernet:   MediaTek MT7531AE + 2.5GbE MaxLinear GPY211C0VC (SLNW8)
Ethernet:   1x2.5Gbe (WAN/LAN 2.5Gbps), 3xGbE (WAN/LAN 1Gbps, LAN1, LAN2)
WLAN 2g:    MediaTek MT7975N, b/g/n/ax, MIMO 4x4
WLAN 5g:    MediaTek MT7975P(N), a/n/ac/ax, MIMO 4x4
LEDs:       1 orange and 1 green status LEDs, 4 green gpio-controlled
            LEDs on ethernet ports
Button:     1 (Reset)
USB ports:  No
Power:      12 VDC, 2 A
Connector:  Barrel
Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI
            slots contain "seconduboot" (also U-Boot 2022.01-rc4)

Serial console (UART)
---------------------
                            V
+-------+-------+-------+-------+
| +3.3V |  GND  |  TX   |  RX   |
+---+---+-------+-------+-------+
    |
    +--- Don't connect

The R3 (TX line) and R6 (RX line) are absent on the PCB. You should
solder them or solder the jumpers.

Installation (UART)
-------------------
1. Place OpenWrt initramfs image on tftp server with IP 192.168.1.2
2. Attach UART, switch on the router and interrupt the boot process by
   pressing 'Ctrl-C'
3. Load and run OpenWrt initramfs image:
      tftpboot initramfs-kernel.bin
      bootm
4. Once inside OpenWrt, set / update env variables:
      fw_setenv baudrate 115200
      fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit"
      fw_setenv fdtcontroladdr 5ffc0e70
      fw_setenv ipaddr 192.168.1.1
      fw_setenv loadaddr 0x46000000
      fw_setenv mtdids "spi-nand0=spi-nand0"
      fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data)"
      fw_setenv netmask 255.255.255.0
      fw_setenv serverip 192.168.1.2
      fw_setenv stderr serial@11002000
      fw_setenv stdin serial@11002000
      fw_setenv stdout serial@11002000
      fw_setenv tp_boot_idx 0
5. Run 'sysupgrade -n' with the sysupgrade OpenWrt image

Installation (without UART)
---------------------------
1.  Login as root via SSH (router IP, port 20001, password - your web
    interface password)
2.  Open for editing /etc/hotplug.d/iface/65-iptv (e.g., using WinSCP and
    SSH settings from the p.1)
3.  Add a newline after "#!/bin/sh":
       telnetd -l /bin/login.sh
4.  Save "65-iptv" file
5.  Toggle "IPTV/VLAN Enable" checkbox in the router web interface and
    save
6.  Make sure that telnetd is running:
       netstat -ltunp | grep 23
7.  Login via telnet to router IP, port 23 (no username and password are
    required)
8  Upload OpenWrt "initramfs-kernel.bin" to the "/tmp" folder of the
    router (e.g., using WinSCP and SSH settings from the p.1)
9.  Stock busybox doesn't contain ubiupdatevol command. Hence, we need to
    download and upload the full version of busybox to the router. For
    example, from here:
    https://github.com/xerta555/Busybox-Binaries/raw/master/busybox-arm64
    Upload busybox-arm64 to the /tmp dir of the router and run:
    in the telnet shell:
       cd /tmp
       chmod a+x busybox-arm64
10. Check "initramfs-kernel.bin" size:
       du -h initramfs-kernel.bin
11. Delete old and create new "kernel" volume with appropriate size
    (greater than "initramfs-kernel.bin" size):
       ubirmvol /dev/ubi0 -N kernel
       ubimkvol /dev/ubi0 -n 1 -N kernel -s 9MiB
12. Write OpenWrt "initramfs-kernel.bin" to the flash:
       ./busybox-arm64 ubiupdatevol /dev/ubi0_1 /tmp/initramfs-kernel.bin
13. u-boot-env can be empty so lets create it (or overwrite it if it
    already exists) with the necessary values:
       fw_setenv baudrate 115200
       fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit"
       fw_setenv fdtcontroladdr 5ffc0e70
       fw_setenv ipaddr 192.168.1.1
       fw_setenv loadaddr 0x46000000
       fw_setenv mtdids "spi-nand0=spi-nand0"
       fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data)"
       fw_setenv netmask 255.255.255.0
       fw_setenv serverip 192.168.1.2
       fw_setenv stderr serial@11002000
       fw_setenv stdin serial@11002000
       fw_setenv stdout serial@11002000
       fw_setenv tp_boot_idx 0
14. Reboot to OpenWrt initramfs:
       reboot
15. Login as root via SSH (IP 192.168.1.1, port 22)
16. Upload OpenWrt sysupgrade.bin image to the /tmp dir of the router
17. Run sysupgrade:
       sysupgrade -n /tmp/sysupgrade.bin

Recovery
--------
1. Press Reset button and power on the router
2. Navigate to U-Boot recovery web server (http://192.168.1.1/) and
   upload the OEM firmware

Recovery (UART)
---------------
1. Place OpenWrt initramfs image on tftp server with IP 192.168.1.2
2. Attach UART, switch on the router and interrupt the boot process by
   pressing 'Ctrl-C'
3. Load and run OpenWrt initramfs image:
      tftpboot initramfs-kernel.bin
      bootm
4. Do what you need (restore partitions from a backup, install OpenWrt
   etc.)

Stock layout
------------
0x000000000000-0x000000200000 : "boot"
0x000000200000-0x000000300000 : "u-boot-env"
0x000000300000-0x000003500000 : "ubi0"
0x000003500000-0x000006700000 : "ubi1"
0x000006700000-0x000006f00000 : "userconfig"
0x000006f00000-0x000007300000 : "tp_data"

ubi0/ubi1 format
----------------
U-Boot at boot checks that all volumes are in place:
+-------------------------------+
| Volume Name: uboot   Vol ID: 0|
| Volume Name: kernel  Vol ID: 1|
| Volume Name: rootfs  Vol ID: 2|
+-------------------------------+

MAC addresses
-------------
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| label   | 00:eb:xx:xx:xx:be | label     |
| LAN     | 00:eb:xx:xx:xx:be | label     |
| WAN     | 00:eb:xx:xx:xx:bf | label+1   |
| WLAN 2g | 00:eb:xx:xx:xx:be | label     |
| WLAN 5g | 00:eb:xx:xx:xx:bd | label-1   |
+---------+-------------------+-----------+
label MAC address was found in UBI partition "tp_data", file
"default-mac". OEM wireless eeprom is also there (file
"MT7986_EEPROM.bin").

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit e4fe3097ef6a961874b66932a0ac4be18070630a)
[Fix merging conflict]
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
16 months agoipq4019: add support for ZTE MF287+ aka DreiNeo
Andreas Böhler [Wed, 7 Jun 2023 19:24:18 +0000 (21:24 +0200)]
ipq4019: add support for ZTE MF287+ aka DreiNeo

The ZTE MF287+ is a LTE router used (exclusively?) by the network operator
"3". The MF287 (i.e. non-plus aka 3Neo) is also supported (the only
difference is the LTE modem)

Specifications
==============

SoC: IPQ4018
RAM: 256MiB
Flash: 8MiB SPI-NOR + 128MiB SPI-NAND
LAN: 4x GBit LAN
LTE: ZTE Cat12 (MF287+) / ZTE Cat6 (MF287)
WiFi: 802.11a/b/g/n/ac SoC-integrated

MAC addresses
=============

LAN: from config + 2
WiFi 1: from config
WiFi 2: from config + 1

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

Option 1 - TFTP
---------------

TFTP installation using UART is preferred. Disassemble the device and
connect serial. Put the initramfs image as openwrt.bin to your TFTP server
and configure a static IP of 192.168.1.100. Load the initramfs image by
typing:

  setenv serverip 192.168.1.100
  setenv ipaddr 192.168.1.1
  tftpboot 0x82000000 openwrt.bin
  bootm 0x82000000

From this intiramfs boot you can take a backup of the currently installed
partitions as no vendor firmware is available for download:

  ubiattach -m14
  cat /dev/ubi0_0 > /tmp/ubi0_0
  cat /dev/ubi0_1 > /tmp/ubi0_1

Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save.

Once booted, transfer the sysupgrade image and run sysupgrade. You might
have to delete the stock volumes first:

  ubirmvol /dev/ubi0 -N ubi_rootfs
  ubirmvol /dev/ubi0 -N kernel

Option 2 - From stock firmware
------------------------------

The installation from stock requires an exploit first. The exploit consists
of a backup file that forces the firmware to download telnetd via TFTP from
192.168.0.22 and run it. Once exploited, you can connect via telnet and
login as admin:admin.

The exploit will be available at the device wiki page.

Once inside the stock firmware, you can transfer the -factory.bin file to
/tmp by using "scp" from the stock frmware or "tftp".

ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write
access - you need to read from one file in /proc. Once done, you need to
erase the UBI partition and flash OpenWrt. Before performing the operation,
make sure that mtd13 is the partition labelled "rootfs" by calling
"cat /proc/mtd".

Complete commands:

  cd /tmp
  tftp -g -r factory.bin 192.168.0.22
  cat /proc/driver/sensor_id
  flash_erase /dev/mtd13 0 0
  dd if=/tmp/factory.bin of=/dev/mtdblock13 bs=131072

Afterwards, reboot your device and you should have a working OpenWrt
installation.

Restore Stock
=============

Option 1 - via UART
-------------------

Boot an OpenWrt initramfs image via TFTP as for the initial installation.
Transfer the two backed-up files to your box to /tmp.

Then, run the following commands - replace $kernel_length and $rootfs_size
by the size of ubi0_0 and ubi0_1 in bytes.

  ubiattach -m 14
  ubirmvol /dev/ubi0 -N kernel
  ubirmvol /dev/ubi0 -N rootfs
  ubirmvol /dev/ubi0 -N rootfs_data
  ubimkvol /dev/ubi0 -N kernel -s $kernel_length
  ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size
  ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0
  ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1

Option 2 - from within OpenWrt
------------------------------

This option requires to flash an initramfs version first so that access
to the flash is possible. This can be achieved by sysupgrading to the
recovery.bin version and rebooting. Once rebooted, you are again in a
default OpenWrt installation, but no partition is mounted.

Follow the commands from Option 1 to flash back to stock.

LTE Modem
=========

The LTE modem is similar to other ZTE devices and controls some more LEDs
and battery management.

Configuring the connection using uqmi works properly, the modem
provides three serial ports and a QMI CDC ethernet interface.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
(cherry picked from commit f70ee53b08466f612546f699c556cbdaa39e1466)

16 months agoipq40xx: Enable gpio-restart in kernel configuration
Andreas Böhler [Sun, 14 May 2023 14:39:15 +0000 (16:39 +0200)]
ipq40xx: Enable gpio-restart in kernel configuration

Some ZTE devices require the gpio-restart driver to support restarting the
LTE modem along with OpenWrt

Signed-off-by: Andreas Böhler <dev@aboehler.at>
(cherry picked from commit 9ffdaa7fa1478146b5d8c77d4b3a5d4d4007a487)

16 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>
(cherry picked from commit 6892603efa11603c6f365bee1cf94e98336d72aa)

16 months agoOpenWrt v23.05.0-rc2: revert to branch defaults
Hauke Mehrtens [Tue, 27 Jun 2023 22:08:33 +0000 (00:08 +0200)]
OpenWrt v23.05.0-rc2: revert to branch defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
16 months agoOpenWrt v23.05.0-rc2: adjust config defaults
Hauke Mehrtens [Tue, 27 Jun 2023 22:08:24 +0000 (00:08 +0200)]
OpenWrt v23.05.0-rc2: adjust config defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
16 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>
(cherry picked from commit 984786a2f7ec622c99e8c9cdada65d0ea0cf4e0b)

16 months agouhttpd: update to latest git HEAD
Hauke Mehrtens [Sun, 25 Jun 2023 18:03:42 +0000 (20:03 +0200)]
uhttpd: update to latest git HEAD

34a8a74 uhttpd/file: fix string out of buffer range on uh_defer_script

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7a6f6b812632a5983cd34ab5c41271d5d4de5fbf)

16 months agokernel: bump 5.15 to 5.15.118
John Audia [Wed, 21 Jun 2023 16:17:06 +0000 (12:17 -0400)]
kernel: bump 5.15 to 5.15.118

All patches automatically rebased.

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>
(cherry picked from commit 1f5fce27c195373fedcf233a48470de97752058f)

17 months agoipq40xx: meraki-mr33, meraki-mr74: disable image generation
Lech Perczak [Wed, 21 Jun 2023 00:30:20 +0000 (02:30 +0200)]
ipq40xx: meraki-mr33, meraki-mr74: disable image generation

After migrating to kernel 5.15, upgrading causes the units to become
soft-bricked, hanging forever at the kernel startup.
Kernel size limitation of 4000000 bytes is suspected here, but this is
not fully confirmed.

Disable the images to protect users from inadvertent bricking of units,
because recovery of those is painful with Cisco's U-boot, until the root
cause is found and fixed.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
(cherry picked from commit 9d64cc068fbb15d9e6498c1eba79851823b2f4f5)

17 months agoramips: fix lan leds for Wavlink WL-WN535K1
Davide Fioravanti [Wed, 21 Jun 2023 19:53:07 +0000 (21:53 +0200)]
ramips: fix lan leds for Wavlink WL-WN535K1

Previously both lan1 and lan2 leds were wrongly labelled as lan2.
Moreover they were connected to the wrong lan port.
Fixes 8fde82095ba0 ("ramips: add support for Wavlink WL-WN535K1")

Reported-by: Nicolò Maria Semprini <nicosemp@gmail.com>
Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
(cherry picked from commit c71dada92654a53c63bbc5bebcc40fe924750ed7)

17 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>
(cherry picked from commit 0bbd5699c81d6887c4d895e85b56d8c23b1211ec)

17 months agoodhcpd: bump to latest git HEAD
Christian Marangi [Sat, 24 Jun 2023 17:06:42 +0000 (19:06 +0200)]
odhcpd: bump to latest git HEAD

5211264 odhcpd: add support for dhcpv6_pd_min_len parameter
c6bff6f router: Add PREF64 (RFC 8781) support

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit acd9981b4ef750544202df9d9e2d0143a6dfd478)

17 months agonetfilter: fix typo in nf-socket and nf-tproxy kconfig
Christian Marangi [Fri, 23 Jun 2023 15:44:10 +0000 (17:44 +0200)]
netfilter: fix typo in nf-socket and nf-tproxy kconfig

Fix a typo where the wrong KCONFIG was used and fix selecting the
correct kernel config option to use these packages.

Fixes: 4f443c885ded ("netfilter: separate packages for kmod-ipt-socket and kmod-ipt-tproxy")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3ebebf08be950a8a0f3bf5b2c3db910621f2cc21)

17 months agomac80211: always use mac80211 loss detection
David Bauer [Wed, 17 May 2023 10:04:00 +0000 (12:04 +0200)]
mac80211: always use mac80211 loss detection

ath10k does not report excessive loss in case of broken block-ack
sessions. The loss is communicated to the host-os, but ath10k does not
trigger a low-ack events by itself.

The mac80211 framework for loss detection however detects this
circumstance well in case of ath10k. So use it regardless of ath10k's
own loss detection mechanism.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit ed816f6ba8b5e3df609e5fc53f7bcb09bdaa16be)

17 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>
(cherry picked from commit 1b467a902ec9b8bf29805c6928627e8bbad0f14c)

17 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>
(cherry-picked from df8e4b6c2e6440bc9a31467de1739c69c328e391)

17 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>
(cherry picked from commit 244328b19c3943bb145b72f0d85062f535e56fbd)

17 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>
(cherry picked from commit 6cb3328b4fd4939f3800d4be9d52744b753de1b6)

17 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>
(cherry picked from commit 6d1265b14850abaf8980e5cebef3e559b1fdcfb9)

17 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>
(cherry picked from commit 62cdca25edc7e02249a7dd01c2218ee83e6ed145)

17 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>
(cherry picked from commit 8fcfb21b16e7537b9a871a1f67cb218c6be93149)

17 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>
(cherry picked from commit 35a4418d3966ccf6229916b0021bd18871ef22dd)

17 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>
(cherry picked from commit 51f57e7c2dd2799e34036ec74b3436bf490fade0)

17 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>
(cherry picked from commit d312f12b1a6ee41e7bf1e07ec0349e141c07b92e)

17 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>
(cherry picked from commit 0e89ba8430a5d9a638f71d9534ea4152fc26e278)

17 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>
(cherry picked from commit 5dc78d8f18e8f536317d9438b096a484a9c49862)

17 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>
(cherry picked from commit fc3383a55877150ffe8068c46fe61f6881b1033c)

17 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>
(cherry picked from commit 5714660643e9170920be2abbb2297d9aac0b9533)

17 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>
(cherry picked from commit 6f5ea752d7c95ba426ca21a6588cae8812bb3e7c)

17 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>
(cherry picked from commit 37e459321360aab13ed89647ed5c5033281047ae)

17 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>
(cherry picked from commit 92b8b18c2685e9e509d2b8b797de7e03424d17d1)

17 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>
(cherry picked from commit 7b4a966de88aa0e1f9b7faa62a4d6cb7b01e9f8f)

17 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>
(cherry picked from commit 0e01ba93610240ad84f9bbc5fc6e5982a07d39f9)

17 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>
(cherry picked from commit 47cc09aa7a9a12cb7b18ef96f0b5d0bcb5d84b9e)

17 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>
(cherry picked from commit d9210c5ff797896317d1b6293a5ad768b7482cfe)

17 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>
(cherry picked from commit 38ebb2eafde604ff6d9b0021d1d21208070a2d09)

17 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>
(cherry picked from commit 434434ca4748ba669176ce38b70a6525f90598b6)

17 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>
(cherry picked from commit e1a55de7a7eafd40a4fab5f29153a1a3c3606818)

17 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>
(cherry picked from 60fc3bc9487cbda7092e1b926467b07ea041bc60)

17 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>
(cherry picked from 464dfac049daecad145184f8c2dd4a46a7fdd37c)

17 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>
(cherry picked from commit 434df8df549a4d709be9eb19c0d2bd8abb4d4881)

17 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>
(cherry picked from commit cdfcac6e246de9f237d1425e498db3f34ddebbaf)

17 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>
(cherry picked from commit 915e914cfaa243ea36f8c7a4f0f045ec890304fa)

17 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>
(cherry picked from commit 8813edd8d9695d4e3939fdaa3c530c682f91de11)

17 months agosifiveu: add new target for SiFive U-based boards
Zoltan HERPAI [Sun, 16 Dec 2018 10:05:58 +0000 (11:05 +0100)]
sifiveu: add new target for SiFive U-based boards

RISC-V is a new CPU architecture aimed to be fully free and open. This
target will add support for it, based on 5.15.

Supports running on:
 - HiFive Unleashed - FU540, first generation
 - HiFive Unmatched - FU740, current latest generation, PCIe

SD-card images are generated, where the partitions are required to have
specific type codes. As it is commonplace nowadays, OpenSBI is used as the
first stage, with U-boot following as the proper bootloader.

Specifications:

HiFive Unleashed:
 - CPU: SiFive FU540 quad-core RISC-V (U54, RV64IMAFDC or RV64GC)
 - Memory: 8Gb
 - Ethernet: 1x 10/100/1000
 - Console: via microUSB

HiFive Unmatched:
 - CPU: SiFive FU740 quad-core RISC-V (U74, RV64IMAFDCB or RV64GCB)
 - Memory: 16Gb
 - Ethernet: 1x 10/100/1000
 - USB: 4x USB 3.2
 - PCIe:  - 1x PCIe Gen3 x8
          - 1x M.2 key M (PCIe x4)
          - 1x M.2 Key E (PCIe x1 / USB2.0)
 - Console: via microUSB

Installation:
Standard SD-card installation via dd-ing the generated image to
an SD-card of at least 256Mb.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
(cherry picked from commit a3469a90c47edd94daae6a23b810b74cd8389ce3)