openwrt/staging/linusw.git
2 years agoath79: bsap18x0: pad rootfs image
Tomasz Maciej Nowak [Tue, 7 Jun 2022 13:58:30 +0000 (15:58 +0200)]
ath79: bsap18x0: pad rootfs image

This image is supposed to be written with help of bootloader to the
flash, but as it stands, it's not aligned to block size and RedBoot will
happily create non-aligned partition size in FIS directory. This could
lead to kernel to mark the partition as read-only, therefore pad the
image to block erase size boundary.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2 years agoath79: ja76pf2: use nvmem cells to specify MAC addresses
Tomasz Maciej Nowak [Tue, 7 Jun 2022 13:58:29 +0000 (15:58 +0200)]
ath79: ja76pf2: use nvmem cells to specify MAC addresses

The bootloader on this board hid the partition containig MAC addresses
and prevented adding this space to FIS directory, therefore those had to
be stored in RedBoot configuration as aliases to be able to assigne them
to proper interfaces. Now that fixed partition size are used instead of
redboot-fis parser, the partition containig MAC addresses could be
specified, and with marking it as nvmem cell, we can assign them without
userspace involvement.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2 years agoath79: move image check for devices with RedBoot
Tomasz Maciej Nowak [Tue, 7 Jun 2022 13:58:28 +0000 (15:58 +0200)]
ath79: move image check for devices with RedBoot

Don't comence the switch to RAMFS when the image format is wrong. This
led to rebooting the device, which could lead to false impression that
upgrade succeded.
Being here, factor out the code responsible for upgrading RedBoot
devices to separate file.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2 years agoath79: switch some RedBoot based devices to OKLI loader
Tomasz Maciej Nowak [Tue, 7 Jun 2022 13:58:27 +0000 (15:58 +0200)]
ath79: switch some RedBoot based devices to OKLI loader

After the kernel has switched version to 5.10, JA76PF2 and
RouterStations lost the capability to sysupgrade the OpenWrt version.
The cause is the lack of porting the patches responsible for partial
flash erase block writing and these boards FIS directory and RedBoot
config partitions share the same erase block. Because of that the FIS
directory can't be updated to accommodate kernel/rootfs partition size
changes. This could be remedied by bootloader update, but it is very
intrusive and could potentially lead to non-trivial recovery procedure,
if something went wrong. The less difficult option is to use OpenWrt
kernel loader, which will let us use static partition sizes and employ
mtd splitter to dynamically adjust kernel and rootfs partition sizes.
On sysupgrade from ath79 19.07 or 21.02 image, which still let to modify
FIS directory, the loader will be written to kernel partition, while the
kernel+rootfs to rootfs partition.

The caveats are:
* image format changes, no possible upgrade from ar71xx target images
* downgrade to any older OpenWrt version will require TFTP recovery or
  usage of bootloader command line interface

To downgrade to 19.07 or 21.02, or to upgrade if one is already on
OpenWrt with kernel 5.10, for RouterStations use TFTP recovery
procedure. For JA76PF2 use instructions from this commit message:
commit 0cc87b3bacee ("ath79: image: disable sysupgrade images for routerstations and ja76pf2"),
replacing kernel image with loader (loader.bin suffix) and rootfs
image with firmware (firmware.bin suffix).

Fixes: b10d6044599d ("kernel: add linux 5.10 support")
Fixes: 15aa53d7ee65 ("ath79: switch to Kernel 5.10")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
(mkubntimage was moved to generic-ubnt.mk)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoath79: jj76pf2: enable TCN75 sensor
Tomasz Maciej Nowak [Tue, 7 Jun 2022 13:58:26 +0000 (15:58 +0200)]
ath79: jj76pf2: enable TCN75 sensor

This SBC has Microchip TCN75 sensor, wich measures ambient temperature.
Specify it in dts to allow readout by applications using kernel hwmon
API.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2 years agoinclude/prereq-build.mk: macOS cross build improvements
Mark Mentovai [Thu, 9 Jun 2022 15:00:58 +0000 (11:00 -0400)]
include/prereq-build.mk: macOS cross build improvements

This updates prereq-build.mk to find a suitable realpath utility, and
adds another place to look for a suitable getopt utility.

realpath has been used most notably by scripts/ipkg-build since
commit bb95be9265a9 ("scripts,ipkg-build: use realpath for pkg_dir")
and there are assorted other uses of it during a build.
It is ordinarily provided by GNU coreutils. This adds a SetupHostCommand
to locate it either under its own name or under grealpath, the name that
it will be available as under MacPorts or Homebrew, which use
--program-prefix=g.

Similarly, update the SetupHostCommand for getopt to be able to locate a
util-linux getopt at the default path used by MacPorts, in the same
fashion that
commit cc16f5d73e77 ("build: try to find getopt in macOS homebrew's standard location")'
did for Homebrew. As there is no standard alternative --program-prefix
for util-linux utilities in the way that GNU packages often use a "g"
prefix, this path-based approach is required in case a non-util-linux
getopt (such as one provided by an OS) shadows the util-linux getopt
in the PATH.

Signed-off-by: Mark Mentovai <mark@moxienet.com>
2 years agoomap: enable 5.15 as testing kernel
Alexey Smirnov [Mon, 4 Apr 2022 08:59:25 +0000 (11:59 +0300)]
omap: enable 5.15 as testing kernel

Compiled for and run-tested on BBB

Signed-off-by: Alexey Smirnov <s.alexey@gmail.com>
2 years agoomap: update config for 5.15
Alexey Smirnov [Mon, 4 Apr 2022 08:58:48 +0000 (11:58 +0300)]
omap: update config for 5.15

This was done by executing make kernel_oldconfig

Signed-off-by: Alexey Smirnov <s.alexey@gmail.com>
2 years agoomap: copy config from 5.10 to 5.15
Alexey Smirnov [Mon, 4 Apr 2022 08:06:27 +0000 (11:06 +0300)]
omap: copy config from 5.10 to 5.15

copy config from 5.10 to 5.15

Signed-off-by: Alexey Smirnov <s.alexey@gmail.com>
2 years agokernel: add kmod-leds-turris-omnia
Stefan Kalscheuer [Thu, 19 May 2022 19:10:34 +0000 (21:10 +0200)]
kernel: add kmod-leds-turris-omnia

Add support for LEDs of the CZ.NIC Turris Omnia using the upstream
driver.

There is no generic way to control the LEDs in UCI manner, however
the kernel module is the first step to actually use the RGB LEDs in
custom logic.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
(removed DMARC notice, added driver to Turris Omnia, moved module
recipe to target/linux/mvebu/modules.mk)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoramips: force ZyXEL NR7101 to boot from "Kernel" partition
Bjørn Mork [Fri, 29 Apr 2022 14:38:27 +0000 (16:38 +0200)]
ramips: force ZyXEL NR7101 to boot from "Kernel" partition

Make sure BootingFlag points to the system partition we install to.

The BootingFlag variable selects which system partition the system
boots from (0 => "Kernel", 1 => "Kernel2"). OpenWrt does not yet have
device specific support for this dual image scheme, and can therefore
only boot from "Kernel".

This has not been an issue until now, since all known OEM firmware
versions have ignored "Kernel2" - leaving the BootingFlag fixed at 0.
But the newest OEM firmware has a new upgrade procedure, installing
to the "inactive" system partition and setting BootingFlag accordingly.

This workaround is needed until the dual image scheme is fully
supported.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2 years agoramips: mt7621-dts: fix claiming rgmii2 pin group for EdgeRouter X SFP
Arınç ÜNAL [Thu, 17 Mar 2022 13:10:08 +0000 (16:10 +0300)]
ramips: mt7621-dts: fix claiming rgmii2 pin group for EdgeRouter X SFP

For a TX->TX connected external phy to transmit/receive data, the rgmii2
pin group needs to be claimed with gpio function, at least for EdgeRouter X
SFP. We already claim the pin group under the pinctrl node with gpio
function on the gpio node on mt7621_ubnt_edgerouter-x.dtsi.

However, we should claim a pin group under its consumer node. It's the
ethernet node in this case, which we already claim the rgmii2 pin group
under it on mt7621.dtsi. Therefore, set the function as gpio on the rgmii2
node for EdgeRouter X SFP and get rid of claiming the rgmii2 pin group
under the pinctrl node. With this change, we also get to remove a
definition from mt7621_ubnt_edgerouter-x.dtsi which is specific to
EdgeRouter X SFP.

This change is tested on an EdgeRouter X SFP.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2 years agobcm53xx: copy patch disabling GRO to kernel 5.15
Rafał Miłecki [Fri, 24 Jun 2022 07:09:02 +0000 (09:09 +0200)]
bcm53xx: copy patch disabling GRO to kernel 5.15

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agobcm53xx: enable & setup packet steering
Rafał Miłecki [Fri, 10 Jun 2022 08:51:23 +0000 (10:51 +0200)]
bcm53xx: enable & setup packet steering

Packet steering can improve NAT masquarade performance on Northstar by
40-50%. It makes reaching 940-942 Mb/s possible on BCM4708 (and
obviously BCM47094 too). Add scripts setting up the most optimal
Northstar setup.

Below are testing results for running iperf TCP traffic from LAN to WAN.
They were used to pick up golden values.

┌──────────┬──────────┬────────────────────┬────────────────────┐
│   eth0   │  br-lan  │ flow_offloading=0  │ flow_offloading=1  │
│          │          ├─────────┬──────────┼─────────┬──────────┤
│ rps_cpus │ rps_cpus │ BCM4708 │ BCM47094 │ BCM4708 │ BCM47094 │
├──────────┼──────────┼─────────┼──────────┼─────────┼──────────┤
│        0 │        0 │     387 │      671 │     707 │      941 │
│        0 │        1 │     343 │      576 │     705 │      941 │
│        0 │        2 │   ✓ 574 │    ✓ 941 │     704 │      940 │
│        1 │        0 │     320 │      549 │     561 │      941 │
│        1 │        1 │     327 │      551 │     553 │      941 │
│        1 │        2 │     523 │    ✓ 940 │     559 │      940 │
│        2 │        0 │     383 │      652 │   ✓ 940 │      941 │
│        2 │        1 │     448 │      754 │   ✓ 942 │      941 │
│        2 │        2 │     404 │      655 │   ✓ 941 │      941 │
└──────────┴──────────┴─────────┴──────────┴─────────┴──────────┘

Above tests were performed with all eth0 interrupts handled by CPU0.
Setting "echo 2 > /proc/irq/38/smp_affinity" was tested on BCM4708 but
it didn't increased speeds (just required different steering):

┌──────────┬──────────┬───────────┐
│   eth0   │  br-lan  │ flow_offl │
│   rx-0   │   rx-0   │ oading=0  │
│ rps_cpus │ rps_cpus │  BCM4708  │
├──────────┼──────────┼───────────┤
│        0 │        0 │       384 │
│        0 │        1 │     ✓ 574 │
│        0 │        2 │       348 │
│        1 │        0 │       383 │
│        1 │        1 │       412 │
│        1 │        2 │       448 │
│        2 │        0 │       321 │
│        2 │        1 │       520 │
│        2 │        2 │       327 │
└──────────┴──────────┴───────────┘

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agobcm53xx: disable GRO by default at kernel level
Rafał Miłecki [Mon, 20 Jun 2022 08:21:20 +0000 (10:21 +0200)]
bcm53xx: disable GRO by default at kernel level

This improves NAT masquarade network performance.

An alternative to kernel change would be runtime setup but that requires
ethtool and identifying relevant network interface and all related
switch ports interfaces.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agorealtek: fix gcc-12 build with -Werror=array-compare
Bjørn Mork [Sun, 19 Jun 2022 13:59:27 +0000 (15:59 +0200)]
realtek: fix gcc-12 build with -Werror=array-compare

Removing this gcc-12 error:

arch/mips/rtl838x/setup.c:64:30: error: comparison between two arrays [-Werror=array-compare]
   64 |         else if (__dtb_start != __dtb_end)

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2 years agorealtek: make "u-boot-env" partition writable for Netgear 3xx series
Andreas Böhler [Sun, 19 Jun 2022 17:53:12 +0000 (19:53 +0200)]
realtek: make "u-boot-env" partition writable for Netgear 3xx series

The Netgear GS3xx devices do not properly initialise the port LEDs during
startup unless the boot command in U-Boot is changed. Making the U-Boot
env partition writable allows this modification to be done from within
OpenWrt by calling "fw_setenv bootcmd rtk network on\; boota".

Signed-off-by: Andreas Böhler <dev@aboehler.at>
2 years agorealtek: make Netgear GS1xx u-boot env partition writable
Stijn Segers [Sun, 19 Jun 2022 17:55:28 +0000 (19:55 +0200)]
realtek: make Netgear GS1xx u-boot env partition writable

Make the u-boot environment partition for the NETGEAR
GS108T v3 and GS110TPP writable (they share a DTS), so
the values can be manipulated from userspace.

See https://forum.openwrt.org/t/57875/1567 for a real
world example.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2 years agoath79: support for TP-Link EAP225-Outdoor v3
Paul Maruhn [Tue, 22 Mar 2022 20:06:42 +0000 (21:06 +0100)]
ath79: support for TP-Link EAP225-Outdoor v3

This model is almost identical to the EAP225-Outdoor v1.
Major difference is the RTL8211FS PHY Chipset.

Device specifications:
* SoC: QCA9563 @ 775MHz
* Memory: 128MiB DDR2
* Flash: 16MiB SPI-NOR
* Wireless 2.4GHz (SoC): b/g/n 2x2
* Wireless 5GHz (QCA9886): a/n/ac 2x2 MU-MIMO
* Ethernet (RTL8211FS): 1× 1GbE, PoE

Flashing instructions:
* ssh into target device with recent (>= v1.6.0) firmware
* run `cliclientd stopcs` on target device
* upload factory image via web interface

Debricking:
To recover the device, you need access to the serial port. This requires
fine soldering to test points, or the use of probe pins.
* Open the case and solder wires to the test points: RXD, TXD and TPGND4
  * Use a 3.3V UART, 115200 baud, 8n1
* Interrupt bootloader by holding ctrl+B during boot
* upload initramfs via built-in tftp client and perform sysupgrade
    setenv ipaddr 192.168.1.1 # default, change as required
    setenv serverip 192.168.1.10 # default, change as required
    tftp 0x80800000 initramfs.bin
    bootelf $fileaddr

MAC addresses:
MAC address (as on device label) is stored in device info partition at
an offset of 8 bytes. ath9k device has same address as ethernet, ath10k
uses address incremented by 1.
From stock ifconfig:

    ath0      Link encap:Ethernet  HWaddr D8:...:2E
    ath10     Link encap:Ethernet  HWaddr D8:...:2F
    br0       Link encap:Ethernet  HWaddr D8:...:2E
    eth0      Link encap:Ethernet  HWaddr D8:...:2E

Signed-off-by: Paul Maruhn <paulmaruhn@posteo.de>
Co-developed-by: Philipp Rothmann <philipprothmann@posteo.de>
Signed-off-by: Philipp Rothmann <philipprothmann@posteo.de>
[Add pre-calibraton nvme-cells]
Tested-by: Tido Klaassen <tido_ff@4gh.eu>
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agoath79: generic: add support for Realtek PHY
Philipp Rothmann [Tue, 21 Jun 2022 19:39:39 +0000 (21:39 +0200)]
ath79: generic: add support for Realtek PHY

Some models of the TP-Link EAP225 series use a Realtek PHY,
therefore the driver is added.

Signed-off-by: Philipp Rothmann <philipprothmann@posteo.de>
2 years agomt76: update to the latest version
Felix Fietkau [Tue, 21 Jun 2022 18:55:24 +0000 (20:55 +0200)]
mt76: update to the latest version

4554ee652caf mt76: mt7921: fix warning Using plain integer as NULL pointer
a3f1d6ccf3ca mt76: mt7921: add missing bh-disable around rx napi schedule
9aeca2a5ce47 mt76: mt7921: get rid of mt7921_mcu_exit
fee8a5911c76 mt76: connac: move shared fw structures in connac module
db4d784ae7ba mt76: mt7921: move fw toggle in mt7921_load_firmware
16ab6bf49556 mt76: connac: move mt76_connac2_load_ram in connac module
29fd748801c6 mt76: connac: move mt76_connac2_load_patch in connac module
051c68d18214 mt76: mt7663: rely on mt76_connac2_fw_trailer
d6ae3505ac6c mt76: enable the VHT extended NSS BW feature
488a5ccc9762 mt76: mt7921: rely on mt76_dev in mt7921_mac_write_txwi signature
934029bb93e2 mt76: mt7915: rely on mt76_dev in mt7915_mac_write_txwi signature
ecefae4c7d72 mt76: connac: move mac connac2 defs in mt76_connac2_mac.h
b5eecc841df8 mt76: connac: move connac2_mac_write_txwi in mt76_connac module
012e619a07b9 mt76: connac: move mt76_connac2_mac_add_txs_skb in connac module
1b492be795ea mt76: mt7921: not support beacon offload disable command
f1f46d3b4b19 mt76: mt7921: fix command timeout in AP stop period
cae61112ef1d mt76: connac: move HE radiotap parsing in connac module
487674062643 mt76: connac: move mt76_connac2_reverse_frag0_hdr_trans in mt76-connac module
649bdc4983c4 mt76: connac: move mt76_connac2_mac_fill_rx_rate in connac module
cb75aaa39252 mt76: mt7921s: remove unnecessary goto in mt7921s_mcu_drv_pmctrl
e0eaf66eaebb mt76: mt7615: do not update pm stats in case of error
f8d125b4ea30 mt76: mt7921: do not update pm states in case of error
6329a834907e mt76: mt7921s: fix possible sdio deadlock in command fail
8a04f1b04662 mt76: mt7921: fix aggregation subframes setting to HE max
e52283439094 mt76: mt7915: disable UL MU-MIMO for mt7915
fd3958970e3d mt76: mt7921: enlarge maximum VHT MPDU length to 11454
18df38fe77f7 mt76: mt7915: get rid of unnecessary new line in mt7915_mac_write_txwi
149e95f5d7a6 mt76: connac: move mt76_connac_fw_txp in common module
899d192e8a79 mt76: move mt7615_txp_ptr in mt76_connac module
7184f0a6f6a5 mt76: connac: move mt76_connac_tx_free in shared code
c42d45278fa5 mt76: connac: move mt76_connac_tx_complete_skb in shared code
0993f4ef96f8 mt76: connac: move mt76_connac_write_hw_txp in shared code
467960fab791 mt76: connac: move mt7615_txp_skb_unmap in common code
2e758064b085 mt76: mt7915: rely on mt76_connac_tx_free
2065a7901671 mt76: move mcu_txd/mcu_rxd structures in shared code
576c1b7c472b mt76: move mt76_connac2_mcu_fill_message in mt76_connac module
7275f7758090 mt76: mt7915: fix incorrect testmode ipg on band 1 caused by wmm_idx

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: filter -no-plt from KCFLAGS
Kevin Darbyshire-Bryant [Tue, 21 Jun 2022 13:15:40 +0000 (14:15 +0100)]
kernel: filter -no-plt from KCFLAGS

Compiler option -no-plt will break kernel builds on some architectures
eg. (x86)  Filter this option from the recently introduced handling of
KCFLAGS vs EXTRA_OPTIMISATION

Fixes: 1d42af720c6b ("kernel: use KCFLAGS for passing EXTRA_OPTIMIZATION flags")
Suggested-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agohostapd: document ubus methods
Stijn Tintel [Mon, 9 May 2022 11:55:42 +0000 (14:55 +0300)]
hostapd: document ubus methods

Document the ubus methods we added to hostapd so that people don't have
to read code to figure out which methods are available and what they do.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobcm47xx: Fix Netgear WNR3500L v2 image format
Florian Fainelli [Tue, 14 Dec 2021 20:27:43 +0000 (12:27 -0800)]
bcm47xx: Fix Netgear WNR3500L v2 image format

CFE on these devices expects to find the kernel compressed with LZMA but
with no dictionnary and no loader, adjust the image generation
accordingly.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2 years agobcm47xx: Updated devices database for Netgear WNR3500L V2
Florian Fainelli [Wed, 22 Dec 2021 20:45:52 +0000 (12:45 -0800)]
bcm47xx: Updated devices database for Netgear WNR3500L V2

Update the device databases to contain an entry for the Netgear WNR3500L
v2 router, the same buttons and LEDs mapping as v1 is used.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2 years agobcm47xx: Add support for brcmnand controller on BCMA bus
Florian Fainelli [Thu, 23 Dec 2021 03:25:14 +0000 (19:25 -0800)]
bcm47xx: Add support for brcmnand controller on BCMA bus

Back port the patches being submitted upstream in order to make the NAND
controller work on BCM47187/5358. This is a prerequisite for supporting
devices like the Netgear WNR3500L V2.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2 years agobroadcom-wl: Fix compilation with kernel 5.10
Florian Fainelli [Wed, 22 Dec 2021 22:26:02 +0000 (14:26 -0800)]
broadcom-wl: Fix compilation with kernel 5.10

This adds a few fixes for compiling against Linux 5.10:

1. segment_eq() has been removed with upstream commit
   428e2976a5bf7e7f5554286d7a5a33b8147b106a ("uaccess: remove
   segment_eq") and can use uaccess_kernel() instead
2. ioremap_nocache() is removed and is now an alias for ioremap() with
   upstream commit 4bdc0d676a643140bdf17dbf7eafedee3d496a3c ("remove
   ioremap_nocache and devm_ioremap_nocache")

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2 years agokernel: drop patch adding hardcoded kernel compilation flags
Rafał Miłecki [Wed, 15 Jun 2022 10:36:37 +0000 (12:36 +0200)]
kernel: drop patch adding hardcoded kernel compilation flags

1. KCFLAGS should be used for custom flags
2. Optimization flags are arch / SoC specific
3. -fno-reorder-blocks may *worsen* network performace on some SoCs
4. Usage of flags was *reversed* since 5.4 and noone reported that

If we really need custom flags then CONFIG_KERNEL_CFLAGS should get
default value adjusted properly (per target).

Ref: 4e0c54bc5bc8 ("kernel: add support for kernel 5.4")
Link: http://lists.openwrt.org/pipermail/openwrt-devel/2022-June/038853.html
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20190409093046.13401-1-zajec5@gmail.com/
Cc: Felix Fietkau <nbd@nbd.name>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: Rui Salvaterra <rsalvaterra@gmail.com>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agokernel: support setting extra CFLAGS for kernel compilation
Rafał Miłecki [Wed, 15 Jun 2022 10:36:36 +0000 (12:36 +0200)]
kernel: support setting extra CFLAGS for kernel compilation

They may be used e.g. to optimize kernel size or performance.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agolantiq: dts: fix reset controller reference on Danube and AR9
Martin Blumenstingl [Mon, 20 Jun 2022 17:25:47 +0000 (19:25 +0200)]
lantiq: dts: fix reset controller reference on Danube and AR9

ar9.dtsi and danube.dtsi only have one reset controller and they are
naming it "reset". This is equivalent to "reset0" in vr9.dtsi. Fix the
references to the reset controller in the recently added PCI controller
reset line.

Fixes: 087f2cba26faf0 ("lantiq: dts: Add the reset line for the PCI controller")
Reported-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2 years agoramips: fix booting on ZyXEL NBG-419N v2
Piotr Dymacz [Mon, 23 May 2022 15:50:19 +0000 (17:50 +0200)]
ramips: fix booting on ZyXEL NBG-419N v2

This fixes a well known "LZMA ERROR 1" error, reported previously on
numerous of other devices from 'ramips' target.

Fixes: #9842
Fixes: #8964
Reported-by: Juergen Hench <jurgen.hench@gmail.com>
Tested-by: Juergen Hench <jurgen.hench@gmail.com>
Signed-off-by: Demetris Ierokipides <ierokipides.dem@gmail.com>
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2 years agokernel: use KCFLAGS for passing EXTRA_OPTIMIZATION flags
Rafał Miłecki [Wed, 15 Jun 2022 08:41:37 +0000 (10:41 +0200)]
kernel: use KCFLAGS for passing EXTRA_OPTIMIZATION flags

This uses kernel's generic variable and doesn't require patching it with
a custom Makefile change. It's expected *not* to change any behaviour.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agokernel: backport mtd parser for Sercomm partitions
Rafał Miłecki [Sun, 19 Jun 2022 20:03:28 +0000 (22:03 +0200)]
kernel: backport mtd parser for Sercomm partitions

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years ago464xlat: delete SNATed conntracks on interface teardown
Alin Nastac [Wed, 8 Jun 2022 09:58:00 +0000 (11:58 +0200)]
464xlat: delete SNATed conntracks on interface teardown

Existing conntracks will continue to be SNATed to 192.0.0.1 even after
464xlat interface gets teared down. To prevent this, matching
conntracks must be killed.

Signed-off-by: Alin Nastac <alin.nastac@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
2 years agomvebu: add SolidRun ClearFog GT 8K
Logan Blyth [Wed, 8 Jun 2022 01:46:22 +0000 (21:46 -0400)]
mvebu: add SolidRun ClearFog GT 8K

ClearFog GT 8K is device sold by SolidRun. It is marketed as a
development board, not a consumer product. The device tree file for this board
is upstream in kernel.org.

Signed-off-by: Logan Blyth <mrbojangles3@gmail.com>
2 years agoapm821xx: align gpio-keys node names with dt-schema
Christian Lamparter [Fri, 17 Jun 2022 14:10:16 +0000 (16:10 +0200)]
apm821xx: align gpio-keys node names with dt-schema

As per the series:
<https://www.spinics.net/lists/devicetree/msg508906.html>

"Enforce specific naming pattern for children (keys) to narrow the
pattern thus do not match other properties.  This will require all
children to be properly prefixed or suffixed (button, event, switch
or key)."

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agofailsafe: run on all consoles listed in /proc/cmdline
Mark Mentovai [Mon, 6 Jun 2022 04:59:14 +0000 (00:59 -0400)]
failsafe: run on all consoles listed in /proc/cmdline

On x86, when both CONFIG_GRUB_CONSOLE and CONFIG_GRUB_SERIAL are set (as
they are by default), the kernel command line will have two console=
entries, such as

    console=tty0 console=ttyS0,115200n8

Failsafe was only running a shell on the first defined console, the VGA
console. This is a problem for devices like apu2, where there is only a
serial console and it appears on ttyS0.

Moreover, the console prompt to enter failsafe during boot was delivered
to, and its input read from, the last console= on the kernel command
line. So while the failsafe shell was on the first defined console, only
the last defined console could be used to enter failsafe during boot.

In contrast, the x86 bootloader (GRUB) operates on both the serial
console and the VGA console by virtue of "terminal_{input,output}
console serial". GRUB also provided an alternate means to enter failsafe
from either console. The presence of two console= kernel command line
parameters causes kernel messages to be delivered to both. Under normal
operation (not failsafe), procd runs login in accordance with inittab,
which on x86 specifies ttyS0, hvc0, and tty1, allowing login through any
of serial, hypervisor, or VGA console. Thus, serial access was
consistently available on x86 devices with serial consoles under normal
operation, except for shell access in failsafe mode (without editing the
kernel command line).

By presenting the failsafe prompt, reading failsafe prompt input, and
running failsafe shells on all consoles listed in /proc/cmdline,
failsafe mode will work correctly on devices with a serial console (like
apu2), and the same image without any need for reconfiguration can be
shared by devices with the more traditional (for x86) VGA console. This
improvement should benefit any system with multiple console= arguments,
including x86 and bcm27xx (Raspberry Pi).

Signed-off-by: Mark Mentovai <mark at moxienet.com>
2 years agolibusb: fix missing link
Leo Soares [Thu, 16 Jun 2022 22:25:39 +0000 (23:25 +0100)]
libusb: fix missing link

adds `libusb-1.0.so` link on the target root again.

Fixes: 43539a6aabbe ("libusb: make InstallDev explicit")
Signed-off-by: Leo Soares <leo@hyper.ag>
(added fixed tag, reworded commit)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agolantiq: dts: Add the reset line for the PCI controller
Martin Blumenstingl [Thu, 16 Jun 2022 19:43:48 +0000 (21:43 +0200)]
lantiq: dts: Add the reset line for the PCI controller

The PCI controller has it's reset line wired up to bit 13 of RCU.
Describe this in our .dtsi files.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2 years agoath10k: backport encapsulation offload support
Zhijun You [Thu, 16 Jun 2022 07:07:07 +0000 (15:07 +0800)]
ath10k: backport encapsulation offload support

This backports encap offload support from upstream.
On some ath10k devices there can be about 10% improvement on tx throughput.
Users can turn it on by setting frame_mode=2.

Signed-off-by: Zhijun You <hujy652@gmail.com>
2 years agoath79: add support for Netgear PGZNG1
Chris Blake [Sun, 12 Jun 2022 19:47:43 +0000 (14:47 -0500)]
ath79: add support for Netgear PGZNG1

This adds support for the Netgear PGZNG1, also known as the ADT Pulse
Gateway.

Hardware:
CPU: Atheros AR9344
Memory: 256MB
Storage: 256MB NAND Hynix H27U2G8F2CTR-BC
USB: 1x USB 2.0
Ethernet: 2x 100Mb/s
WiFi: Atheros AR9340 2.4GHz 2T2R
Leds: 8 LEDs
Button: 1x Reset Button
UART:
Header marked JPE1. Pinout is VCC, TX, RX, GND. The marked pin, closest
to the JPE1 marking, is VCC. Note VCC isn't required to be connected
for UART to work.

Enable Stock Firmware Shell Access:
1. Interrupt u-boot and run the following commands
setenv console_mode 1
saveenv
reset

This will enable a UART shell in the firmware. You can then login using
the root password of `icontrol`. If that doesn't work, the device is
running a firmware based on OpenWRT where you can drop into failsafe to
mount the FS and then modify /etc/passwd.

Installation Instructions:
1. Interupt u-boot and run the following commands
setenv active_image 0
setenv stock_bootcmd nboot 0x81000000 0 \${kernel_offset}
setenv openwrt_bootcmd nboot 0x82000000 0 \${kernel_offset}
setenv bootcmd run openwrt_bootcmd
saveenv

2. boot initramfs image via TFTP u-boot
tftpboot 0x82000000 openwrt-ath79-nand-netgear_pgzng1-initramfs-kernel.bin; bootm 0x82000000

3. Once booted, use LuCI sysupgrade to
flash openwrt-ath79-nand-netgear_pgzng1-squashfs-sysupgrade.bin

MAC Table:
WAN (eth0): xx:xa - caldata 0x0
LAN (eth1): xx:xb - caldata 0x6
WLAN (phy0): xx:xc - burned into ath9k caldata

Not Working:
Z-Wave
RS422

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
(added more hw-info, fixed file permissions)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokernel: add kmod-leds-pca955x
Chris Blake [Tue, 15 Feb 2022 00:55:32 +0000 (18:55 -0600)]
kernel: add kmod-leds-pca955x

This patch adds support for the mainline kernel module for the PCA955x
LED driver. Note this requires i2c and GPIO support. Also worth calling
out this driver also enables GPIO support, depending on device tree
configuration.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2 years agokernel: add upstream patches for pca955x led driver
Chris Blake [Tue, 15 Feb 2022 00:54:02 +0000 (18:54 -0600)]
kernel: add upstream patches for pca955x led driver

These patches are to support the pca955x led with OpenWRT correctly via
device tree on linux 5.10. Without these, the new LED function/color/reg
features can not be used.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2 years agouboot-rockchip: drop CONFIG_IDENT_STRING
Josef Schlehofer [Mon, 6 Jun 2022 19:55:13 +0000 (21:55 +0200)]
uboot-rockchip: drop CONFIG_IDENT_STRING

This row is no longer necessary as it was replaced by LOCALVERSION in
uboot.mk, which explicitly sets OpenWrt version to all U-boot packages accross
OpenWrt. [1]

[1] https://github.com/openwrt/openwrt/commit/d6aa9d9e071d9f23ed26f5142991bc66aefe20f5

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agotools/libressl: update to version 3.4.3
Josef Schlehofer [Mon, 6 Jun 2022 20:08:42 +0000 (22:08 +0200)]
tools/libressl: update to version 3.4.3

Release notes:
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.4.3-relnotes.txt

```
It includes the following security fix:

    * A malicious certificate can cause an infinite loop.
      Reported by and fix from Tavis Ormandy and David Benjamin, Google.
```

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agompc85xx: p2020: add RTC ds1307 to kernel
Josef Schlehofer [Sat, 11 Jun 2022 07:37:43 +0000 (09:37 +0200)]
mpc85xx: p2020: add RTC ds1307 to kernel

If the RTC module is compiled as a module, the hctosys fails to
initialize because ds1307 is loaded later.

Fixes:
[    2.004145] hctosys: unable to open rtc device (rtc0)
[   11.957997] rtc-ds1307 0-006f: registered as rtc0

This is similar to commit 5481ce9a1157a43d8b2c963e03fb243e70974361,
which was done for imx6 target.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agoipq40xx: add support for Meraki MR74
Matthew Hagan [Tue, 14 Jun 2022 09:08:22 +0000 (10:08 +0100)]
ipq40xx: add support for Meraki MR74

The Meraki MR74 is part of the "Insect" series. This device is
essentially an outdoor variant of the MR33 with identical hardware, but
requiring a config@3 DTS option to be set to allow booting with the
stock u-boot.

The install procedure is replicated from the MR33, with the exception
being that the MR74 sysupgrade image must be used.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
2 years agoapm821xx: MBL: make mtd chip work
Christian Lamparter [Sun, 12 Jun 2022 09:48:01 +0000 (11:48 +0200)]
apm821xx: MBL: make mtd chip work

The MBL has a 512KiB Microchip SST39VF040 chip for uboot and
not much else.

Thanks to Ewald who figured out that the "jedec-probe" vs.
"jedec-flash" was the wrong binding. With this information
and the jedec-probe support enabled => the chip works.

| physmap-flash 4fff80000.nor_flash: physmap platform flash device: [mem 0x4fff80000-0x4ffffffff]
| Found: SST 39LF040
4fff80000.nor_flash: Found 1 x8 devices at 0x0 in 8-bit bank

Suggested-by: Ewald Comhaire <e.comhaire@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agompc85xx: enable NAND support for all subtargets
Josef Schlehofer [Tue, 7 Jun 2022 11:13:11 +0000 (13:13 +0200)]
mpc85xx: enable NAND support for all subtargets

In subtarget p2020, there wasn't enabled nand support, and because of
that there weren't available tools from mtd-utils package, which has
utilities for NAND flash memory even though reference board, which
is the only currently supported device in p2020 subtarget has NAND [1].

All subtargets in mpc85xx has already enabled nand support, let's do it
globally.

[1] https://www.nxp.com/design/qoriq-developer-resources/p2020-reference-design-board:P2020RDB

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agokernel: Backport mv88e6xxx patch to keep pvid at 0 if VLAN-unaware and remove hack
Marek Behún [Mon, 21 Mar 2022 16:53:10 +0000 (17:53 +0100)]
kernel: Backport mv88e6xxx patch to keep pvid at 0 if VLAN-unaware and remove hack

Keeping the pvid at 0 when VLAN-unaware makes it possible to drop the
hack introduced in commit 920eaab1d817 ("kernel: DSA roaming fix for
Marvell mv88e6xxx"). Dropping the hack makes it possible to use VLAN
interfaces with VID 1 on DSA ports without problems with FDB.

Signed-off-by: Marek Behún <kabel@kernel.org>
(cherry picked from commit 9caa6f0aa742253901c72f43eebecd2c8da5f127)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
[drop kernel patch hack from Linux version 5.15, drop paragraph about
backport patch, which is not necessary as it is included in kernel 5.15]

2 years agobcm53xx: remove 07_set_preinit_iface_bcm53xx
Christian Lamparter [Fri, 10 Jun 2022 23:08:58 +0000 (01:08 +0200)]
bcm53xx: remove 07_set_preinit_iface_bcm53xx

with the switch to DSA setup, the switch gets correctly
programmed via the device-tree now. This hack is no
longer necessary.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokernel: move Toshiba-TC58NVG0S3H patch to ipq40xx redux
Christian Lamparter [Mon, 6 Jun 2022 19:41:07 +0000 (21:41 +0200)]
kernel: move Toshiba-TC58NVG0S3H patch to ipq40xx redux

Linux' upstream MTD-Maintainer Miquèl Raynal noted:
|Reverting seems the safest option here, not knowing how many devices
|have these damaged/counterfeit chips. If it is just a couple and only on
|Fritzboxes, as suggested in the Github issue this patch could be
|carried through OpenWrt and that would seem more future proof IMHO.

This patch follows up with the first patch. It actually
moves the patches out of target/linux/generic/pending into
the ipq40xx's patch heap and adds a little note what happend.

For more information, discussions or reports about bad TC58NVG0S3Hs,
please visit the OpenWrt's Github Issue #9962:
<https://github.com/openwrt/openwrt/issues/9962>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agonetfilter: kmod-nft-xfrm
Florian Eckert [Mon, 16 May 2022 14:14:41 +0000 (16:14 +0200)]
netfilter: kmod-nft-xfrm

Add kmod-nft-xfrm package.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2 years agorealtek: add support for power LED on Netgear GS108Tv3
Pascal Ernster [Sat, 18 Jun 2022 11:28:30 +0000 (13:28 +0200)]
realtek: add support for power LED on Netgear GS108Tv3

The Netgear GS108Tv3 is already supported by OpenWrt, but is missing LED
support. After OpenWrt installation, all LEDs are off which makes the
installation quite confusing.
This enables support for the green/amber power LED to give feedback
about the current status.

This is basically just a verbatim copy of commit c4927747d25a ("realtek:
add support for power LED on Netgear GS308Tv1").

Please note that both LEDs are wired up in an anti-parallel fashion,
which means that only one of both LEDs/colors can be switched on at the
same time. If both LEDs/colors are switched on simultanously, the LED
goes dark.

Tested-by: Pascal Ernster <git@hardfalcon.net>
Signed-off-by: Pascal Ernster <git@hardfalcon.net>
[add title to commit reference]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: add support for D-Link DGS-1210-20
Markus Stockhausen [Thu, 16 Jun 2022 09:41:02 +0000 (11:41 +0200)]
realtek: add support for D-Link DGS-1210-20

 Hardware specification
 ----------------------

 * RTL8382M SoC, 1 MIPS 4KEc core @ 500MHz
 * 128MB DRAM
 * 32MB NOR Flash
 * 16 x 10/100/1000BASE-T ports
    - Internal PHY with 8 ports (RTL8218B)
    - External PHY with 8 ports (RTL8218B)
 * 4 x Gigabit RJ45/SFP Combo ports
    - External PHY with 4 SFP ports (RTL8214FC)
 * Power LED
 * Reset button on front panel
 * UART (115200 8N1) via unpopulated standard 0.1" pin header marked J6

 UART pinout
 -----------

  [o]ooo|J6
   | ||`------ GND
   | |`------- RX
   | `-------- TX
   `---------- Vcc (3V3)

 Boot initramfs image from U-Boot
 --------------------------------

  1. Press Escape key during `Hit Esc key to stop autoboot` prompt
  2. Press CTRL+C keys to get into real U-Boot prompt
  3. Init network with `rtk network on` command
  4. Load image with `tftpboot 0x8f000000 openwrt-realtek-rtl838x-d-link_dgs-1210-20-initramfs-kernel.bin` command
  5. Boot the image with `bootm` command

To install, upload the sysupgrade image to the OEM webpage or sysupgrade
from the system running from initramfs image.

It has been developed and tested on device with F1 revision.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[correct initramfs image name]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorockchip: add kernel 5.15 as testing
Juergen Wurzer [Thu, 16 Jun 2022 19:03:20 +0000 (21:03 +0200)]
rockchip: add kernel 5.15 as testing

Add kernel 5.15 as testing kernel for the rockchip-armv8 target.

Signed-off-by: Juergen Wurzer <wurzer.juergen@gmail.com>
[squash commits, update commit message]
Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoramips: fix RT-AC57U button level
David Bauer [Sat, 18 Jun 2022 18:46:33 +0000 (20:46 +0200)]
ramips: fix RT-AC57U button level

Both buttons on the RT-AC57U are active-low. Fix the GPIO flag for the
WPS cutton to fix button behavior.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: update to 2022-06-02
David Bauer [Fri, 10 Jun 2022 08:48:14 +0000 (10:48 +0200)]
hostapd: update to 2022-06-02

4383528e0 P2P: Use weighted preferred channel list for channel selection
f2c5c8d38 QCA vendor attribute to configure RX link speed threshold for roaming
94bc94b20 Add QCA vendor attribute for DO_ACS to allow using existing scan entries
b9e2826b9 P2P: Filter 6 GHz channels if peer doesn't support them
d5a9944b8 Reserve QCA vendor sub command id 206..212
ed63c286f Remove space before tab in QCA vendor commands
e4015440a ProxyARP: Clear bridge parameters on deinit only if hostapd set them
02047e9c8 hs20-osu-client: Explicit checks for snprintf() result
cd92f7f98 FIPS PRF: Avoid duplicate SHA1Init() functionality
5c87fcc15 OpenSSL: Use internal FIPS 186-2 PRF with OpenSSL 3.0
9e305878c SAE-PK: Fix build without AES-SIV
c41004d86 OpenSSL: Convert more crypto_ec_key routines to new EVP API
667a2959c OpenSSL: crypto_ec_key_get_public_key() using new EVP_PKEY API
5b97395b3 OpenSSL: crypto_ec_key_get_private_key() using new EVP_PKEY API
177ebfe10 crypto: Convert crypto_ec_key_get_public_key() to return new ec_point
26780d92f crypto: Convert crypto_ec_key_get_private_key() to return new bignum
c9c2c2d9c OpenSSL: Fix a memory leak on crypto_hash_init() error path
6d19dccf9 OpenSSL: Free OSSL_DECODER_CTX in tls_global_dh()
4f4479ef9 OpenSSL: crypto_ec_key_parse_{priv,pub}() without EC_KEY API
b092d8ee6 tests: imsi_privacy_attr
563699174 EAP-SIM/AKA peer: IMSI privacy attribute
1004fb7ee tests: Testing functionality to discard DPP Public Action frames
355069616 tests: Add forgotten files for expired IMSI privacy cert tests
b9a222cdd tests: sigma_dut and DPP curve-from-URI special functionality
fa36e7ee4 tests: sigma_dut controlled STA and EAP-AKA parameters
99165cc4b Rename wpa_supplicant imsi_privacy_key configuration parameter
dde7f90a4 tests: Update VM setup example to use Ubuntu 22.04 and UML
426932f06 tests: EAP-AKA and expired imsi_privacy_key
35eda6e70 EAP-SIM peer: Free imsi_privacy_key on an error path
1328cdeb1 Do not try to use network profile with invalid imsi_privacy_key
d1652dc7c OpenSSL: Refuse to accept expired RSA certificate
866e7b745 OpenSSL: Include rsa.h for OpenSSL 3.0
bc99366f9 OpenSSL: Drop security level to 0 with OpenSSL 3.0 when using TLS 1.0/1.1
39e662308 tests: Work around reentrant logging issues due to __del__ misuse
72641f924 tests: Clean up failed test list in parallel-vm.py
e36a7c794 tests: Support pycryptodome
a44744d3b tests: Set ECB mode for AES explicitly to work with cryptodome
e90ea900a tests: sigma_dut DPP TCP Configurator as initiator with addr from URI
ed325ff0f DPP: Allow TCP destination (address/port) to be used from peer URI
e58dabbcf tests: DPP URI with host info
37bb4178b DPP: Host information in bootstrapping URI
1142b6e41 EHT: Do not check HE PHY capability info reserved fields
7173992b9 tests: Flush scan table in ap_wps_priority to make it more robust
b9313e17e tests: Update ap_wpa2_psk_ext_delayed_ptk_rekey to match implementation
bc3699179 Use Secure=1 in PTK rekeying EAPOL-Key msg 1/4 and 2/4
d2ce1b4d6 tests: Wait for request before responding in dscp_response

Compile-tested: all versions / ath79-generic, ramips-mt7621
Run-tested: hostapd-wolfssl / ath79-generic, ramips-mt7621

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agobase-files: allow ignoring minor compat-version check
David Bauer [Fri, 13 May 2022 23:26:02 +0000 (01:26 +0200)]
base-files: allow ignoring minor compat-version check

Downstream projects might re-generate device-specific configuration
based on OpenWrt's defaults on each upgrade, thus being unaffected by
forward- as well as backwards-breaking configuration.

Add a new sysupgrade parameter, which allows sysupgrades between minor
compat-versions. Upgrades will still fail upon mismatching major compat
versions.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoath79: TP-Link EAP225 v3: use pre-calibration nvmem-cell
Sander Vanheule [Sat, 18 Jun 2022 13:43:33 +0000 (15:43 +0200)]
ath79: TP-Link EAP225 v3: use pre-calibration nvmem-cell

ath10k Wave-2 hardware requires an nvmem-cell called "pre-calibration"
to load the device specific caldata, not "calibration". Rename the nvmem
cell node and label to match the updated cell name.

Fixes: eca0d7301198 ("ath79: TP-Link EAP225 v3: convert ath10k to nvmem-cells")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: TP-Link EAP225-Wall v2: use pre-calibration nvmem-cell
Sander Vanheule [Sat, 18 Jun 2022 13:38:37 +0000 (15:38 +0200)]
ath79: TP-Link EAP225-Wall v2: use pre-calibration nvmem-cell

ath10k Wave-2 hardware requires an nvmem-cell called "pre-calibration"
to load the device specific caldata, not "calibration". Rename the nvmem
cell node and label to match the updated cell name.

Fixes: 48625a04453b ("ath79: TP-Link EAP225-Wall v1: convert radios to nvmem-cells")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: TP-Link EAP225-Outdoor v1: use pre-calibration nvmem-cell
Nick Hainke [Sat, 18 Jun 2022 12:42:08 +0000 (14:42 +0200)]
ath79: TP-Link EAP225-Outdoor v1: use pre-calibration nvmem-cell

Fixes errors in the form of:
  ath10k_pci 0000:00:00.0: failed to fetch board data for bus=pci,
  vendor=168c,device=0056,subsystem-vendor=0000,subsystem-device
  =0000 from ath10k/QCA9888/hw2.0/board-2.bin
  ath10k_pci 0000:00:00.0: failed to fetch board-2.bin or board.bin
  from ath10k/QCA9888/hw2.0
  ath10k_pci 0000:00:00.0: failed to fetch board file: -12
  ath10k_pci 0000:00:00.0: could not probe fw (-12)

As described already in 2d3321619b2b ("ath79: TP-Link EAP245 v3: use
pre-calibration nvmem-cell"):
  Ath10k Wave-2 hardware requires an nvmem-cell called "pre-calibration"
  to load the device specific caldata, not "calibration".

Further rename the nvmem cell node and label to match the updated cell name.

Fixes: 23b904074500 ("ath79: TP-Link EAP225-Outdoor v1: convert ath10k to nvmem-cells")
Suggested-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agomediatek: UniFi 6 LR: disable RTC
Daniel Golle [Sat, 18 Jun 2022 16:30:02 +0000 (17:30 +0100)]
mediatek: UniFi 6 LR: disable RTC

There is not RTC battery connected to the SoC of the UniFi 6 LR board.
Disable the RTC to prevent the system coming up with time set to
2000-01-01 00:00:00 after each reboot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoath79: D-Link DAP-2xxx (QCA953x): convert ath9k caldata to nvmem
Sander Vanheule [Sat, 11 Jun 2022 11:16:24 +0000 (13:16 +0200)]
ath79: D-Link DAP-2xxx (QCA953x): convert ath9k caldata to nvmem

Convert the calibration data reference for the ath9k radio to an
nvmem-cell, replacing the downstream mtd-cal-data property.

Since the 'art' label is no longer used, it can be dropped.

Cc: Sebastian Schaper <openwrt@sebastianschaper.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: D-Link DAP-2xxx (QCA953x): move art partition to DTSI
Sander Vanheule [Sat, 11 Jun 2022 11:15:28 +0000 (13:15 +0200)]
ath79: D-Link DAP-2xxx (QCA953x): move art partition to DTSI

The art partition containing the radio calibration data is in the same
location for all supported devices. Move the definition to the base file
so the reference from the wmac node can reference the same file.

Cc: Sebastian Schaper <openwrt@sebastianschaper.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: D-Link DAP-3662 A1: convert ath10k caldata to nvmem
Sander Vanheule [Sat, 11 Jun 2022 10:52:37 +0000 (12:52 +0200)]
ath79: D-Link DAP-3662 A1: convert ath10k caldata to nvmem

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using nvmem-cells.

MAC address assignment is moved to '10_fix_wifi_mac', so the device can
then be removed from the caldata extraction script '11-ath10k-caldata'.

Cc: Sebastian Schaper <openwrt@sebastianschaper.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: D-Link DAP-2695 A1: convert ath10k caldata to nvmem
Sander Vanheule [Sat, 11 Jun 2022 10:51:43 +0000 (12:51 +0200)]
ath79: D-Link DAP-2695 A1: convert ath10k caldata to nvmem

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using nvmem-cells.

MAC address assignment is moved to '10_fix_wifi_mac', so the device can
then be removed from the caldata extraction script '11-ath10k-caldata'.

Cc: Sebastian Schaper <openwrt@sebastianschaper.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: D-Link DAP-2660 A1: convert ath10k caldata to nvmem
Sander Vanheule [Sat, 11 Jun 2022 10:42:14 +0000 (12:42 +0200)]
ath79: D-Link DAP-2660 A1: convert ath10k caldata to nvmem

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using nvmem-cells.

MAC address assignment is moved to '10_fix_wifi_mac', so the device can
then be removed from the caldata extraction script '11-ath10k-caldata'.

Cc: Sebastian Schaper <openwrt@sebastianschaper.net>
Tested-by: Sebastian Schaper <openwrt@sebastianschaper.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: D-Link DAP-2680 A1: convert ath10k caldata to nvmem
Sander Vanheule [Sat, 11 Jun 2022 09:56:26 +0000 (11:56 +0200)]
ath79: D-Link DAP-2680 A1: convert ath10k caldata to nvmem

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the pre-calibration data using nvmem-cells.

MAC address assignment is moved to '10_fix_wifi_mac', so the device can
then be removed from the caldata extraction script '11-ath10k-caldata'.

Cc: Sebastian Schaper <openwrt@sebastianschaper.net>
Tested-by: Sebastian Schaper <openwrt@sebastianschaper.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: D-Link DAP-2xxx (QCA955x): convert ath9k caldata to nvmem
Sander Vanheule [Sat, 11 Jun 2022 09:29:15 +0000 (11:29 +0200)]
ath79: D-Link DAP-2xxx (QCA955x): convert ath9k caldata to nvmem

Convert the calibration data reference for the ath9k radio to an
nvmem-cell, replacing the downstream mtd-cal-data property.

Cc: Sebastian Schaper <openwrt@sebastianschaper.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: D-Link DAP-2xxx (QCA955x): move art partition to DTSI
Sander Vanheule [Sat, 11 Jun 2022 09:25:06 +0000 (11:25 +0200)]
ath79: D-Link DAP-2xxx (QCA955x): move art partition to DTSI

The art partition containing the radio calibration data is in the same
location for all supported devices. Move the definition to the base file
so the reference from the wmac node can refer to the same file.

Cc: Sebastian Schaper <openwrt@sebastianschaper.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoRevert "mac80211: add airtime fairness rework/fixes"
Felix Fietkau [Sat, 18 Jun 2022 08:34:15 +0000 (10:34 +0200)]
Revert "mac80211: add airtime fairness rework/fixes"

This reverts commit 96012227e578a0d8dcfa86823db97345e98e2c8f.
Needs some more work until it is ready

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoRevert "mac80211: sync airtime fairness fixes with updated upstream submission"
Felix Fietkau [Sat, 18 Jun 2022 08:33:47 +0000 (10:33 +0200)]
Revert "mac80211: sync airtime fairness fixes with updated upstream submission"

This reverts commit 958785508cc802de75698607670f9a236883d24d.
Needs some more work until it is ready

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: backport upstream mtk_eth_soc patches
Felix Fietkau [Thu, 16 Jun 2022 17:18:11 +0000 (19:18 +0200)]
kernel: backport upstream mtk_eth_soc patches

Includes MT7986 ethernet support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: move mtk flow offload patches to backport-5.15
Felix Fietkau [Thu, 16 Jun 2022 16:53:38 +0000 (18:53 +0200)]
kernel: move mtk flow offload patches to backport-5.15

They were accepted upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoath79: TP-Link EAP245 v3: use pre-calibration nvmem-cell
Sander Vanheule [Sat, 18 Jun 2022 07:04:54 +0000 (09:04 +0200)]
ath79: TP-Link EAP245 v3: use pre-calibration nvmem-cell

ath10k Wave-2 hardware requires an nvmem-cell called "pre-calibration"
to load the device specific caldata, not "calibration".

Update the nvmem-cell name to make the 5GHz radio work again.

Fixes: d4b3b2394233 ("ath79: TP-Link EAP245 v3: convert radios to nvmem-cells")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: add support for power LED on Netgear GS308Tv1
Andreas Böhler [Wed, 15 Jun 2022 22:50:28 +0000 (00:50 +0200)]
realtek: add support for power LED on Netgear GS308Tv1

The Netgear GS308Tv1 is already supported by OpenWrt, but is missing LED
support. After OpenWrt installation, all LEDs are off which makes the
installation quite confusing.
This enables support for the green/amber power LED to give feedback
about the current status.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
2 years agofirewall4: bump to git HEAD
Stijn Tintel [Fri, 17 Jun 2022 11:58:20 +0000 (14:58 +0300)]
firewall4: bump to git HEAD

  11f5c7b fw4.uc: fix zone helper assignment
  b9d35ff fw4.uc: don't skip zone for unavailable helper
  e35e26b tests: add test for zone helpers
  a063317 ruleset: fix conntrack helpers
  e1cb763 ruleset: reuse zone-jump.uc template for notrack and helper chain jumps
  11410b8 ruleset: reorder declarations & output tweaks
  880dd31 fw4: fix skipping invalid IPv6 ipset entries
  5994466 fw4: simplify `is_loopback_dev()`
  53886e5 fw4: fix crash in parse_cthelper() if no helpers are present
  11256ff fw4: add support for configurable includes
  3b5a033 tests: add test coverage for firewall includes
  d79911c fw4: support sets with timeout capability but without default expiry
  15c3831 fw4: add support for `option log` in rule and redirect sections

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobcm53xx: copy bgmac revert (performance fix) to 5.15
Rafał Miłecki [Fri, 17 Jun 2022 05:58:00 +0000 (07:58 +0200)]
bcm53xx: copy bgmac revert (performance fix) to 5.15

Ref: 230c9da963aa ("bcm53xx: revert bgmac back to the old limited max frame size")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agoath79: move ethernet phy node for TP-Link EAP devices
Sander Vanheule [Sun, 5 Jun 2022 09:55:58 +0000 (11:55 +0200)]
ath79: move ethernet phy node for TP-Link EAP devices

Move the ethernet phy definition from the eap2x5-1port include to the
device-specific DTS files. This is to prepare for new devices that have
a different ethernet phy, at another MDIO address.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: TP-Link EAP225-Wall v1: convert radios to nvmem-cells
Sander Vanheule [Sun, 5 Jun 2022 11:29:23 +0000 (13:29 +0200)]
ath79: TP-Link EAP225-Wall v1: convert radios to nvmem-cells

Replace the mtd-cal-data phandle by an nvmem-cell reference to the art
partition for the 2.4GHz ath9k radio.

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using nvmem-cells.

Use mac-address-increment to ensure the MAC address is set correctly,
and remove the device from the caldata extraction and patching script.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: TP-Link EAP245 v3: convert radios to nvmem-cells
Sander Vanheule [Sun, 5 Jun 2022 10:58:24 +0000 (12:58 +0200)]
ath79: TP-Link EAP245 v3: convert radios to nvmem-cells

Replace the mtd-cal-data phandle by an nvmem-cell reference from the art
partition for the 2.4GHz ath9k radio.

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using an nvmem-cell.

Use mac-address-increment to ensure the MAC address is set correctly,
and remove the device from the caldata extraction and patching script.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: TP-Link EAP225 v3: convert ath10k to nvmem-cells
Sander Vanheule [Sun, 5 Jun 2022 10:03:15 +0000 (12:03 +0200)]
ath79: TP-Link EAP225 v3: convert ath10k to nvmem-cells

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using nvmem-cells.

Use mac-address-increment to ensure the MAC address is set correctly,
and remove the device from the caldata extraction and patching script.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: TP-Link EAP225-Outdoor v1: convert ath10k to nvmem-cells
Sander Vanheule [Sun, 5 Jun 2022 10:01:51 +0000 (12:01 +0200)]
ath79: TP-Link EAP225-Outdoor v1: convert ath10k to nvmem-cells

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using nvmem-cells.

Use mac-address-increment to ensure the MAC address is set correctly,
and remove the device from the caldata extraction and patching script.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: TP-Link EAP225 v1: convert ath10k to nvmem-cells
Sander Vanheule [Sun, 5 Jun 2022 09:57:04 +0000 (11:57 +0200)]
ath79: TP-Link EAP225 v1: convert ath10k to nvmem-cells

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using nvmem-cells.

Use mac-address-increment to ensure the MAC address is set correctly,
and remove the device from the caldata extraction and patching script.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: TP-Link EAP245 v1: convert ath10k to nvmem-cells
Sander Vanheule [Sat, 4 Jun 2022 15:27:51 +0000 (17:27 +0200)]
ath79: TP-Link EAP245 v1: convert ath10k to nvmem-cells

Add the PCIe node for the ath10k radio to the devicetree, and refer to
the art partition for the calibration data using nvmem-cells.

Use mac-address-increment to ensure the MAC address is set correctly,
and remove the device from the caldata extraction and patching script.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: convert 1-port TP-Link EAP ath9k to nvmem-cells
Sander Vanheule [Sun, 5 Jun 2022 11:42:29 +0000 (13:42 +0200)]
ath79: convert 1-port TP-Link EAP ath9k to nvmem-cells

Replace the mtd-cal-data phandle with an nvmem-cell reference for the
2.4GHz ath9k radio. This affects the following devices:
  - TP-Link EAP225 v1
  - TP-Link EAP225 v3
  - TP-Link EAP225-Outdoor v1
  - TP-Link EAP245 v1

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agouboot-mediatek: update UniFi 6 LR board name
Daniel Golle [Thu, 16 Jun 2022 18:55:02 +0000 (19:55 +0100)]
uboot-mediatek: update UniFi 6 LR board name

Select matching U-Boot for both v1 and v2 variants.

Fixes: 15a02471bb ("mediatek: new target mt7622-ubnt-unifi-6-lr-v1")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agohostapd: add owe_transition_ifname
David Bauer [Wed, 15 Jun 2022 23:55:26 +0000 (01:55 +0200)]
hostapd: add owe_transition_ifname

Add the owe_transition_ifname config option to wifi-ifaces.

This allows to configure OWE transition VAPs without adding SSID / BSSID
to the uci conifg but instead autodiscovering these parameters from
other networks on the same PHY.

The following configuration creates a OWE transition mode network
constellation.

config wifi-iface 'open0'
option device 'radio0'
option ifname 'open0'
option network 'lan'
option mode 'ap'
option ssid 'FreeNet'
option encryption 'none'
option owe_transition_ifname 'owe0'

config wifi-iface 'owe0'
option device 'radio0'
option ifname 'owe0'
option network 'lan'
option mode 'ap'
option ssid 'owe_tm.FreeNet'
option encryption 'owe'
option hidden '1'
option owe_transition_ifname 'open0'

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agomac80211: sync airtime fairness fixes with updated upstream submission
Felix Fietkau [Tue, 14 Jun 2022 09:06:25 +0000 (11:06 +0200)]
mac80211: sync airtime fairness fixes with updated upstream submission

- fix ath10k latency issues
- reject too large weight values
- code cleanup

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoath79: drop phy-mask property
Sander Vanheule [Sun, 5 Jun 2022 12:01:16 +0000 (14:01 +0200)]
ath79: drop phy-mask property

The phy-mask property is no longer supported by the ag71xx-mdio driver,
so let's drop it.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agoath79: ag71xx-mdio: remove phy-mask property
Sander Vanheule [Sun, 5 Jun 2022 13:00:37 +0000 (15:00 +0200)]
ath79: ag71xx-mdio: remove phy-mask property

The phy-mask property is read by the ag71xx-mdio driver to set the
mii_bus's phy_mask field. On OF platforms, the devicetree is expected to
provide all present ethernet phy-s however, so the phy_mask field is
later set to all-ones. Having a devicetree override is of no use then,
so let's drop it.

Cc: David Bauer <mail@david-bauer.net>
Cc: John Crispin <john@phrozen.org>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Acked-by: David Bauer <mail@david-bauer.net>
2 years agobcm53xx: revert bgmac back to the old limited max frame size
Rafał Miłecki [Fri, 10 Jun 2022 12:02:19 +0000 (14:02 +0200)]
bcm53xx: revert bgmac back to the old limited max frame size

Bumping max frame size has significantly affected network performance.
It was done by upstream commit that first appeared in the 5.7 release.

This change bumps NAT masquarade speed from 196 Mb/s to 383 Mb/s for the
BCM4708 SoC.

Ref: f55f1dbaad33 ("bcm53xx: switch to the kernel 5.10")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agoswconfig: parse "switch_vlan" before "switch_port"
Rafał Miłecki [Tue, 5 Apr 2022 06:49:58 +0000 (08:49 +0200)]
swconfig: parse "switch_vlan" before "switch_port"

Before this change UCI sections of both types were parsed in order as
specified in UCI. That didn't work well with all drivers (e.g. b53).

It seems that VLAN setup can reset / overwrite previously set ports
parameters. It resulted in "switch_port" options defined above
"switch_vlan"s being silently ignored.

Ideally swconfig & all drivers should be improved to handle that
properly but it'd be a waste of time at this point as DSA replaces
swconfig. Use this minor parsing change as a quick fix.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agoqoriq: use FIT uImage for Firebox M300 kernel
Stijn Tintel [Tue, 26 Apr 2022 15:21:11 +0000 (18:21 +0300)]
qoriq: use FIT uImage for Firebox M300 kernel

This requires U-Boot environment changes:

  setenv OpenWrt_kernel watchguard_firebox-m300-fit-uImage.itb
  setenv loadaddr 0x20000000
  setenv wgBootSysA 'setenv bootargs root=/dev/mmcblk0p2 rw rootdelay=2 console=$consoledev,$baudrate fsl_dpaa_fman.fsl_fm_max_frm=1530; mmc dev 0; ext2load mmc 0:1 $loadaddr $OpenWrt_kernel; bootm $loadaddr'

Trying to sysupgrade an image containing this change on an M300 already
running OpenWrt will fail with the following error:

  Tue Jun 14 12:06:21 EEST 2022 upgrade: The device is supported, but the config is incompatible to the new image (1.0->1.1). Please upgrade without keeping config (sysupgrade -n).
  Tue Jun 14 12:06:21 EEST 2022 upgrade: Kernel switched to FIT uImage. Update U-Boot environment.
  Tue Jun 14 12:06:21 EEST 2022 upgrade: Reading partition table from bootdisk...
  Tue Jun 14 12:06:21 EEST 2022 upgrade: Extract boot sector from the image
  Tue Jun 14 12:06:21 EEST 2022 upgrade: Reading partition table from image...
  Image check failed.

This is to prevent rendering your device unbootable. Make the U-Boot
environment changes as instruced above, and then flash the image using
sysupgrade -F. The config can be kept, there is no need to use -n.

After the new image booted successfully, you can increase the compat_version:

  uci set system.@system[0].compat_version='1.1'
  uci commit

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoqoriq: use KERNEL_SUFFIX in Build/sdcard-img
Stijn Tintel [Tue, 26 Apr 2022 15:18:20 +0000 (18:18 +0300)]
qoriq: use KERNEL_SUFFIX in Build/sdcard-img

Use the KERNEL_SUFFIX variable in Build/sdcard-img, rather than
using hardcoded "-kernel.bin", to allow overriding KERNEL_SUFFIX for a
device.

Fixes: 080a769b4da8 ("qoriq: new target")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agotools/ninja: update to 1.11.0
Rosen Penev [Tue, 17 May 2022 00:21:48 +0000 (17:21 -0700)]
tools/ninja: update to 1.11.0

Updated patchset to latest.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agoramips: add support for MTS WG430223
Mikhail Zhilkin [Wed, 4 May 2022 15:16:38 +0000 (15:16 +0000)]
ramips: add support for MTS WG430223

MTS WG430223 is a wireless AC1300 (WiFi 5) router manufactured by
Arcadyan company. It's very similar to Beeline Smartbox Flash (Arcadyan
WG443223).

Device specification
--------------------
SoC Type: MediaTek MT7621AT
RAM: 128 MiB
Flash: 128 MiB (Winbond W29N01HV)
Wireless 2.4 GHz (MT7615DN): b/g/n, 2x2
Wireless 5 GHz (MT7615DN): a/n/ac, 2x2
Ethernet: 3xGbE (WAN, LAN1, LAN2)
USB ports: No
Button: 1 (Reset/WPS)
LEDs: 2 (Red, Green)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot (Ralink UBoot Version: 5.0.0.2)
OEM: Arcadyan WG430223

Installation
------------
1. Login to the router web interface (superadmin:serial number)
2. Navigate to Administration -> Miscellaneous -> Access control lists &
   enable telnet & enable "Remote control from any IP address"
3. Connect to the router using telnet (default admin:admin)
4. Place *factory.trx on any web server (192.168.1.2 in this example)
5. Connect to the router using telnet shell (no password required)
6. Save MAC adresses to U-Boot environment:
   uboot_env --set --name eth2macaddr --value $(ifconfig | grep eth2 | \
    awk '{print $5}')
   uboot_env --set --name eth3macaddr --value $(ifconfig | grep eth3 | \
    awk '{print $5}')
   uboot_env --set --name ra0macaddr --value $(ifconfig | grep ra0 | \
    awk '{print $5}')
   uboot_env --set --name rax0macaddr --value $(ifconfig | grep rax0 | \
    awk '{print $5}')
7. Ensure that MACs were saved correctly:
   uboot_env --get --name eth2macaddr
   uboot_env --get --name eth3macaddr
   uboot_env --get --name ra0macaddr
   uboot_env --get --name rax0macaddr
8. Download and write the OpenWrt images:
   cd /tmp
   wget http://192.168.1.2/factory.trx
   mtd_write erase /dev/mtd4
   mtd_write write factory.trx /dev/mtd4
9. Set 1st boot partition and reboot:
   uboot_env --set --name bootpartition --value 0

Back to Stock
-------------
1. Run in the OpenWrt shell:
   fw_setenv bootpartition 1
   reboot
2. Optional step. Upgrade the stock firmware with any version to
   overwrite the OpenWrt in Slot 1.

MAC addresses
-------------
+-----------+-------------------+----------------+
| Interface | MAC               | Source         |
+-----------+-------------------+----------------+
| label     | A4:xx:xx:51:xx:F4 | No MACs was    |
| LAN       | A4:xx:xx:51:xx:F6 | found on Flash |
| WAN       | A4:xx:xx:51:xx:F4 | [1]            |
| WLAN_2g   | A4:xx:xx:51:xx:F5 |                |
| WLAN_5g   | A6:xx:xx:21:xx:F5 |                |
+-----------+-------------------+----------------+
[1]:
a. Label wasb't found neither in factory nor in other places.
b. MAC addresses are stored in encrypted partition "glbcfg". Encryption
   key hasn't known yet. To ensure the correct MACs in OpenWrt, a hack
   with saving of the MACs to u-boot-env during the installation was
   applied.
c. Default Ralink ethernet MAC address (00:0C:43:28:80:A0) was found in
   "Factory" 0xfff0. It's the same for all MTS WG430223 devices. OEM
   firmware also uses this MAC when initialazes ethernet driver. In
   OpenWrt we use it only as internal GMAC (eth0), all other MACs are
   unique. Therefore, there is no any barriers to the operation of several
   MTS WG430223 devices even within the same broadcast domain.

Stock firmware image format
---------------------------
The same as Beeline Smartbox Flash but with another trx magic
+--------------+---------------+----------------------------------------+
| Offset       |               | Description                            |
+==============+===============+========================================+
| 0x0          | 31 52 48 53   | TRX magic "1RHS"                       |
+--------------+---------------+----------------------------------------+

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2 years agoramips: create new dtsi for Arcadyan routers
Mikhail Zhilkin [Wed, 4 May 2022 15:07:28 +0000 (15:07 +0000)]
ramips: create new dtsi for Arcadyan routers

This commit moves common properties for the boards below to a new dtsi:
Beeline Smartbox Flash (Arcadyan WG443223)
MTS WG430223 (Arcadyan WG430223)

The boards are almost the same. Here is the differences:
+------+----------+----------+
|      | WG430223 | WG443223 |
+------+----------+----------+
| RAM  | 128      | 256      |
+------+----------+----------+
| USB  | -        | 1x3.0    |
+------+----------+----------+
| LEDS | RG       | RGB      |
+------+----------+----------+

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2 years agoramips: allow custom trx magic for Arcadyan
Mikhail Zhilkin [Thu, 28 Apr 2022 18:24:07 +0000 (18:24 +0000)]
ramips: allow custom trx magic for Arcadyan

This commit:
1. Renames beeline-trx recipe in mt7621.mk to arcadyan-trx. The recipe
   is necessary for:
   - MTS WG430223 (Arcadyan WG430223)
   - Beeline Smartbox Flash (Arcadyan WG443223)
2. Allows specify custom trx magic which is different for the routers
   mentined above.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>