openwrt/staging/jow.git
2 years agoath79: add support for GL.iNet GL-XE300
Victorien Molle [Fri, 20 Aug 2021 19:41:19 +0000 (21:41 +0200)]
ath79: add support for GL.iNet GL-XE300

The GL.iNet GL-XE300 is a 4G LTE Wireless router, based on QCA9531 SoC.

Specifications:

 - SoC: QCA9531 (650MHz)
 - RAM: DDR2 128M
 - Flash: SPI NOR 16M + SPI NAND 128M
 - WiFi: 2.4GHz with 2 antennas
 - Ethernet:
   - 1x LAN (10/100M)
   - 1x WAN (10/100M)
 - LTE:
 - USB: 1x USB 2.0 port
 - UART:
   - 3.3V, TX, RX, GND / 115200 8N1

MAC addresses as verified by OEM firmware:

 use    address   source
 LAN    *:c5      art 0x0 (label)
 WAN    *:c6      label + 1
 WLAN   *:c7      art 0x1002

Installation via U-Boot rescue:

1. Press and hold reset and power buttons simultaneously
2. Wait for the LAN led to blink 5 times
3. Release reset and power buttons
4. The rescue page is accessible via http://192.168.1.1
5. Select the OpenWrt factory image and start upgrade
6. Wait for the router to flash new firmware and reboot

Revert to stock firmware:

 i. Download the stock firmware from GL.Inet website
 ii. Use the same method explained above to flash the stock firmware

Signed-off-by: Victorien Molle <victorien.molle@wifirst.fr>
[update commit message]
Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoramips: correct vendor name for COMFAST/Joowin
Rodrigo Araujo [Tue, 18 Jan 2022 14:43:28 +0000 (14:43 +0000)]
ramips: correct vendor name for COMFAST/Joowin

When Joowin WR758AC V1 and V2 devices were added, they should have been
added with the primary manufacturer name which is COMFAST, since Joowin
is just an alternate vendor name on some coutries or stores.

Fix this by changing the the vendor name on the respective files and set
Joowin as ALT0 variants while ensuring compatibility for early users.
Also adjust the model names to better follow the naming rules.

As a side effect, fix mt76x8 network script which was left incorrectly
unsorted on the case block conditions.

Fixes: 766733e172 ("ramips: add support for Joowin WR758AC V1 and V2")
Signed-off-by: Rodrigo Araujo <araujo.rm@gmail.com>
2 years agoramips: read Tenbay T-MB5EU address from single location
David Bauer [Wed, 19 Jan 2022 21:58:17 +0000 (22:58 +0100)]
ramips: read Tenbay T-MB5EU address from single location

Currently the WAN MAC address is read from a different offset contrary
to all other addresses.

There's conflicting information whether offset 0x28 on the factory
partition contains the valid WAN mac for all devices while 0x4 seems to
be uniform.

Read the WAN mac from this location and calculate it.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoramips: update Tenbay T-MB5EU wireless MAC address
David Bauer [Wed, 19 Jan 2022 21:47:37 +0000 (22:47 +0100)]
ramips: update Tenbay T-MB5EU wireless MAC address

The current MAC address assignment is still incorrect.

Use the same MAC address as seen on the stock firmware
for both wireless interfaces.

The 5GHz MAC address OUI is +2 in the first EUI octet. We currently
don't do this in OpenWrt. Ignore this offset for now. With the current
assignment, recurring MAC addresses between radios is already taken care
of.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoutil-linux: Add taskset
Hauke Mehrtens [Wed, 19 Jan 2022 17:10:05 +0000 (18:10 +0100)]
util-linux: Add taskset

This adds the taskset application from util Linux.
It is already built, but not packaged yet.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
2 years agoltq-vdsl-mei: Remove static linking
Hauke Mehrtens [Sun, 16 Jan 2022 21:31:22 +0000 (22:31 +0100)]
ltq-vdsl-mei: Remove static linking

This removes -static compile option. The -static option tells GCC to
link this statically with the libc, which we do not want in OpenWrt. We
want to link everything dynamically to the libc. This fixes a compile
problem with glibc.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoipq806x: Netgear D7800: Fix RAM and enable PCIe #2
David Woodhouse [Fri, 21 Jan 2022 17:18:35 +0000 (17:18 +0000)]
ipq806x: Netgear D7800: Fix RAM and enable PCIe #2

This board has 512MiB of RAM like the R7800, and the VDSL modem is
attached to the second PCIe port.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2 years agoipip: add 'nohostroute' option
Matthew Hagan [Tue, 18 Jan 2022 12:24:54 +0000 (12:24 +0000)]
ipip: add 'nohostroute' option

Add the nohostroute option as available for gre and wg tunnels to
allow the user to prevent explicit creation of a route to the peer
address.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
2 years agoath79: add support for reset key on MikroTik RB912UAG-2HPnD
Denis Kalashnikov [Wed, 19 Jan 2022 10:25:05 +0000 (13:25 +0300)]
ath79: add support for reset key on MikroTik RB912UAG-2HPnD

On MikroTik RB91x board series a reset key shares SoC gpio
line #15 with NAND ALE and NAND IO7. So we need a custom
gpio driver to manage this non-trivial connection schema.
Also rb91x-nand needs to have an ability to disable a polling
of the key while it works with NAND.

While we've been integrating rb91x-key into a firmware, we've
figured out that:
* In the gpio-latch driver we need to add a "cansleep" suffix to
several gpiolib calls,
* When gpio-latch and rb91x-nand fail to get a gpio and an error
is -EPROBE_DEFER, they shouldn't report about this, since this
actually is not an error and occurs when the gpio-latch probe
function is called before the rb91x-key probe.
We fix these related things here too.

Signed-off-by: Denis Kalashnikov <denis281089@gmail.com>
Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agolayerscape: switch to 5.10 Kernel
Paul Spooren [Wed, 29 Dec 2021 13:13:13 +0000 (14:13 +0100)]
layerscape: switch to 5.10 Kernel

Tested by multiple users and since all targets need to be on Kernel 5.10
to be part of the next release, add changes.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agobuild: switch to firewall4 by default
Paul Spooren [Wed, 6 Oct 2021 02:08:25 +0000 (16:08 -1000)]
build: switch to firewall4 by default

This commit replaces firewall aka firewall3 with its nftables based
successor firewall4.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agomvebu: cortexa9: Fix board.d/01_leds
Klaus Kudielka [Tue, 18 Jan 2022 16:32:28 +0000 (17:32 +0100)]
mvebu: cortexa9: Fix board.d/01_leds

Fix syntax error in the case statement

Fixes: 9149ed4f05f8 ("mvebu: cortexa9: Add support for Ctera C200-V2")
Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
2 years agoipq40xx: rename RT-AC42U WLAN/LAN LEDs
Sungbo Eo [Sun, 16 Jan 2022 16:55:37 +0000 (01:55 +0900)]
ipq40xx: rename RT-AC42U WLAN/LAN LEDs

Assign LED numbers properly by adding function-enumerator property in DTS.

While at it, remove default trigger of LAN LEDs as it will be handled in
01_leds anyway.

Fixes: 51b9aef553a8 ("ipq40xx: add support for ASUS RT-ACRH17/RT-AC42U")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2 years agoipq40xx: image: remove unused DTB_SIZE variable
Sungbo Eo [Sun, 16 Jan 2022 16:32:59 +0000 (01:32 +0900)]
ipq40xx: image: remove unused DTB_SIZE variable

It is not included in DEVICE_VARS anyways.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2 years agotreewide: drop use of which
Ansuel Smith [Thu, 25 Nov 2021 01:12:58 +0000 (02:12 +0100)]
treewide: drop use of which

Ubuntu started to flag which as deprecated and it
seems which is not really standard and may vary
across Distro.
Drop the use of which and use the standard 'command -v'
for this simple task.
Which is still present in the prereq if some package/script
still use which.
A utility script called command_all.sh is implemented that
will just mimic the output of which -a.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2 years agobuild: add HOST_CXXFLAGS for host build
Sergey V. Lobanov [Sat, 15 Jan 2022 13:10:47 +0000 (16:10 +0300)]
build: add HOST_CXXFLAGS for host build

Added HOST_CXXFLAGS to specify CXXFLAGS during host-compile
(e.g. to specify c++ standard: HOST_CXXFLAGS += -std=c++11)

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2 years agofirmware-utils: update to latest master
Hauke Mehrtens [Sun, 16 Jan 2022 20:56:51 +0000 (21:56 +0100)]
firmware-utils: update to latest master

d885b49 tplink-safeloader: support Archer C6v3.0 (BR)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoustream-ssl: update to Git version 2022-01-16
Hauke Mehrtens [Sun, 16 Jan 2022 20:51:21 +0000 (21:51 +0100)]
ustream-ssl: update to Git version 2022-01-16

868fd88 ustream-openssl: wolfSSL: Add compatibility for wolfssl >= 5.0

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoomap: add support for the TRNG Hardware Accelerator
Alexey Smirnov [Mon, 10 Jan 2022 09:16:40 +0000 (12:16 +0300)]
omap: add support for the TRNG Hardware Accelerator

According to TI docs (Processor SDK Linux Getting Started Guide)
the Random Number Generator hardware is found on
OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx boards. It already
defined in device tree files. Let's enable it.

Some tests:

root@RTS1_OI:~# rngtest -c 1000 </dev/hwrng
rngtest 6.10
Copyright (c) 2004 by Henrique de Moraes Holschuh
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 999
rngtest: FIPS 140-2 failures: 1
rngtest: FIPS 140-2(2001-10-10) Monobit: 0
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 1
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=198.710; avg=1265.501; max=2976.417)Kibits/s
rngtest: FIPS tests speed: (min=1.780; avg=37.085; max=39.736)Mibits/s
rngtest: Program run time: 15961329 microseconds

Signed-off-by: Alexey Smirnov <s.alexey@gmail.com>
2 years agoltq-deu: add ltq-deu back to default packages
Daniel Kestrel [Thu, 13 Jan 2022 13:30:07 +0000 (14:30 +0100)]
ltq-deu: add ltq-deu back to default packages

After enhancing ltq-deu, build it by default for the devices
using it.

Reverts: 964863b ("ltq-deu: Mark lantiq DEU broken")

Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
2 years agoath79: use lzma-loader for ZyXEL NBG6716
Lech Perczak [Thu, 13 Jan 2022 21:08:38 +0000 (22:08 +0100)]
ath79: use lzma-loader for ZyXEL NBG6716

Since gzip-compressed kernel image stopped fitting on 4MB kernel
partition on the device, use lzma-loader wrapping LZMA-compressed
kernel. This yields bootable device once again, and saves a very
substantial amount of space, the kernel size decreasing from about 4.4MB
to about 2.5MB for 5.10 kernel. This avoids changing of the flash layout
for the device.

While at that, reactivate the build for the device.

Fixes: 5d8ea6d34f9 ("ath79: Deactivate ZyXEL NBG6716 by default")
Cc: André Valentin <avalentin@marcant.net>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2 years agoath79: Add support for OpenMesh OM2P v1
Sven Eckelmann [Mon, 23 Nov 2020 12:41:34 +0000 (13:41 +0100)]
ath79: Add support for OpenMesh OM2P v1

Device specifications:
======================

* Qualcomm/Atheros AR7240 rev 2
* 350/350/175 MHz (CPU/DDR/AHB)
* 32 MB of RAM
* 16 MB of SPI NOR flash
  - 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 1T1R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
  - eth0
    + 18-24V passive POE (mode B)
    + used as WAN interface
  - eth1
    + builtin switch port 4
    + used as LAN interface
* 12-24V 1A DC
* external antenna

The device itself requires the mtdparts from the uboot arguments to
properly boot the flashed image and to support dual-boot (primary +
recovery image). Unfortunately, the name of the mtd device in mtdparts is
still using the legacy name "ar7240-nor0" which must be supplied using the
Linux-specfic DT parameter linux,mtd-name to overwrite the generic name
"spi0.0".

Flashing instructions:
======================

Various methods can be used to install the actual image on the flash.
Two easy ones are:

ap51-flash
----------

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.

initramfs from TFTP
-------------------

The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):

   setenv serverip 192.168.1.21
   setenv ipaddr 192.168.1.1
   tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr

The actual sysupgrade image can then be transferred (on the LAN port) to the
device via

  scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/

On the device, the sysupgrade must then be started using

  sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2 years agoath79: Allow to set spi-nor mtd name via devicetree
Sven Eckelmann [Wed, 30 Dec 2020 23:25:10 +0000 (00:25 +0100)]
ath79: Allow to set spi-nor mtd name via devicetree

On ar71xx, it was possible to overwrite the name of the spi-nor mtd device
identifier using the flash_platform_data which each mach-*.c could adjust
for its devices. A similar feature was introduced for mtd-physmap in
devicetree's. The property linux,mtd-name can be used to set the name and
provide a stable identifier for mtdpart from the bootloader.

But this feature is not yet available upstream for spi-nor devices which
also might receive their partition layout from the bootloader. But the
OpenWrt pistachio support for this property can simply be imported into
ath79 to gain this support.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2 years agoath79: Add support for OpenMesh OM5P-AC v2
Sven Eckelmann [Mon, 23 Nov 2020 12:41:34 +0000 (13:41 +0100)]
ath79: Add support for OpenMesh OM5P-AC v2

Device specifications:
======================

* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/200 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
  - 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2T2R 2.4 GHz Wi-Fi (11n)
* 2T2R 5 GHz Wi-Fi (11ac)
* 4x GPIO-LEDs (3x wifi, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* TI tmp423 (package kmod-hwmon-tmp421) for temperature monitoring
* 2x ethernet
  - eth0
    + AR8035 ethernet PHY (RGMII)
    + 10/100/1000 Mbps Ethernet
    + 802.3af POE
    + used as LAN interface
  - eth1
    + AR8031 ethernet PHY (RGMII)
    + 10/100/1000 Mbps Ethernet
    + 18-24V passive POE (mode B)
    + used as WAN interface
* 12-24V 1A DC
* internal antennas

This device support is based on the partially working stub from commit
53c474abbdfe ("ath79: add new OF only target for QCA MIPS silicon").

Flashing instructions:
======================

Various methods can be used to install the actual image on the flash.
Two easy ones are:

ap51-flash
----------

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.

initramfs from TFTP
-------------------

The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):

   setenv serverip 192.168.1.21
   setenv ipaddr 192.168.1.1
   tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr

The actual sysupgrade image can then be transferred (on the LAN port) to the
device via

  scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/

On the device, the sysupgrade must then be started using

  sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2 years agolantiq: backport latest upstream patches
Aleksander Jan Bajkowski [Mon, 3 Jan 2022 22:40:22 +0000 (23:40 +0100)]
lantiq: backport latest upstream patches

This patch includes a series of performance improvements. All patches
were accepted and should land in 5.17.
NAT Performance results on BT Home Hub 5A (kernel 5.10.89, mtu 1500):

Down Up
Before 539 Mbps 599 Mbps
After 624 Mbps 695 Mbps

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2 years agolantiq: xrx200: enable use of baby jumbo frames
Thomas Nixon [Fri, 9 Jul 2021 22:58:18 +0000 (22:58 +0000)]
lantiq: xrx200: enable use of baby jumbo frames

xrx200 max MTU is reduced so that it works correctly when set to the
max, and the max MTU of the switch is increased to match.

In 5.10, the switch driver now enables non-standard MTUs on a per-port
basis, with the overall frame size set based on the cpu port. When the
MTU is not used, this should have no effect. The maximum packet size is
limited as large packets cause the switch to lock up.

0702-net-lantiq-add-support-for-jumbo-frames.patch comes from net-next
commit 998ac358019e491217e752bc6dcbb3afb2a6fa3e.

In 5.4, all switch ports are configured to accept the max MTU, as 5.4
does not have port_max_mtu/port_change_mtu callbacks.

Signed-off-by: Thomas Nixon <tom@tomn.co.uk>
2 years agomtd-utils: update to 2.1.4
Nick Hainke [Sun, 9 Jan 2022 21:29:30 +0000 (22:29 +0100)]
mtd-utils: update to 2.1.4

Changes from 2.1.3 to 2.1.4:

Features:
      - ubiscan debugging and statistics utility

Fixes:
      - Some mtd-tests erroneously using sub-pages instead of the full page size
      - Buffer overrun in fectest
      - Missing jffs2 kernel header in the last release, leading to build
        failures on some systems.

Changes from 2.1.2 to 2.1.3:

Features:
       flashcp: Add new function that copy only different blocks
       flash_erase: Add flash erase chip
       Add flash_otp_erase
       Add an ubifs mount helper
       Add nandflipbits tool

Fixes:
       mkfs.ubifs: Fix runtime assertions when running without crypto
       mtd-utils: Use AC_SYS_LARGEFILE
       Fix test binary installation
       libmtd: avoid divide by zero
       ubihealthd: fix UBIFS build dependency
       mkfs.ubifs: remove OPENSSL_no_config()
       misc-utils: Add fectest to build system
       mkfs.ubifs: Fix build with SELinux
       Fix typos found by Debian's lintian tool
       Fix jffs2 build if zlib or lzo headers are not in default paths

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agokernel: bump 5.10 to 5.10.92
Rui Salvaterra [Sun, 16 Jan 2022 12:53:21 +0000 (12:53 +0000)]
kernel: bump 5.10 to 5.10.92

Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agokernel: bump 5.10 to 5.10.91
Rui Salvaterra [Tue, 11 Jan 2022 16:08:11 +0000 (16:08 +0000)]
kernel: bump 5.10 to 5.10.91

Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agokernel: bump 5.4 to 5.4.172
John Audia [Sun, 16 Jan 2022 10:49:10 +0000 (05:49 -0500)]
kernel: bump 5.4 to 5.4.172

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/mt7621

Signed-off-by: John Audia <graysky@archlinux.us>
2 years agokernel: bump 5.4 to 5.4.171
John Audia [Wed, 12 Jan 2022 22:59:26 +0000 (17:59 -0500)]
kernel: bump 5.4 to 5.4.171

All patches automatically rebased.

Signed-off-by: John Audia <graysky@archlinux.us>
2 years agoipq40xx: AP-365: fix non-existent node or label "macaddr_mfginfo_1d"
Christian Lamparter [Sun, 16 Jan 2022 12:07:01 +0000 (13:07 +0100)]
ipq40xx: AP-365: fix non-existent node or label "macaddr_mfginfo_1d"

Chen Minqiang reported on github:
|  DTC     arch/arm/boot/dts/qcom-ipq4029-ap-365.dtb
|qcom-ipq4019.dtsi:520.23-560.5: ERROR (phandle_references): /soc/wifi@a000000:
|Reference to non-existent node or label "macaddr_mfginfo_1d"
|
|  also defined at qcom-ipq4029-aruba-glenmorangie.dtsi:243.8-248.3
|qcom-ipq4019.dtsi:562.23-602.5: ERROR (phandle_references): /soc/wifi@a800000:
|Reference to non-existent node or label "macaddr_mfginfo_1d"
|
|  also defined at qcom-ipq4029-aruba-glenmorangie.dtsi:250.8-256.3
|ERROR: Input tree has errors, aborting (use -f to force output)
|scripts/Makefile.lib:326: recipe for target 'qcom-ipq4029-ap-365.dtb' failed

Fixes: cfc13c44595d ("ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data")
Reported-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agolantiq: increase fritz-cal-extract output limit
David Bauer [Sat, 15 Jan 2022 22:05:51 +0000 (23:05 +0100)]
lantiq: increase fritz-cal-extract output limit

It was reported the caldata on the FritzBox 7430 is not only stored at
different offsets, but is also larger than the current output size
limit.

Increase the output file size limit (after deflate) by 1024 bytes.

Ref: FS#3604 ("ath9k firmware is 0 bytes on Fritzbox 7430")
Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agokernel: add missing kmod+regmap-i2c dependency for NCT7802Y module
Christian Lamparter [Sat, 15 Jan 2022 18:38:33 +0000 (19:38 +0100)]
kernel: add missing kmod+regmap-i2c dependency for NCT7802Y module

x86, mt7623 and others buildbot failed due to:
|Package kmod-hwmon-nct7802 is missing dependencies for the following libraries:
|regmap-core.ko
|regmap-i2c.ko

Fixes: 1ed50b92d157 ("package: kernel: add driver module for NCT7802Y")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agobuild: move Build/copy-file to image-commands.mk
Christian Lamparter [Sat, 8 Jan 2022 18:28:09 +0000 (19:28 +0100)]
build: move Build/copy-file to image-commands.mk

This is makro is present in more than one place.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoath79: patch Asus RP-AC66 clean up and fix for sysupgrade image
Tamas Balogh [Fri, 14 Jan 2022 23:56:51 +0000 (00:56 +0100)]
ath79: patch Asus RP-AC66 clean up and fix for sysupgrade image

- clean up leftovers regarding MAC configure in dts
- fix alphabetical order in caldata
- IMAGE_SIZE for sysupgrade image

Signed-off-by: Tamas Balogh <tamasbalogh@hotmail.com>
2 years agomvebu: Move cortexa9 specific config options from global config
Marek BehĂºn [Tue, 11 Jan 2022 13:52:13 +0000 (14:52 +0100)]
mvebu: Move cortexa9 specific config options from global config

Move config options
  CONFIG_PHY_MVEBU_A38X_COMPHY
  CONFIG_RTC_DRV_MV
to cortexa9/config-5.10.

These are not needed for arm64 targets.

Signed-off-by: Marek BehĂºn <kabel@kernel.org>
2 years agomvebu: cortexa9: Add support for Ctera C200-V2
Pawel Dembicki [Sat, 11 Dec 2021 22:23:22 +0000 (23:23 +0100)]
mvebu: cortexa9: Add support for Ctera C200-V2

2-Bay NAS - maximum two 3.5" Harddisks

Hardware:
  - SoC: Marvell 88F6707-A1 ARMv7 Processor 1,2GHz (ARMADA 370 SoC)
  - Ram: 1GB (2x Nanya NT5CC512M8DN-D1)
  - NAND Flash: 256MB (ESMT F59L2G81A-25T)
  - Lan: 1x GBE (Marvell 88E1318-NNB2)
  - Storage: 2x SATA HDD 3.5" Slot
  - USB: 2x USB 3.0 port (Renesas uPD720202)
  - Console: Internal J3 connector (1: Vcc, 2: Rx, 3: Tx, 4: GND)
  - LEDs: 13x GPIO controlled
  - Buttons: 2x GPIO controlled

Known issues:
  - Buzzer is unused due lack of proper driver
  - USB1/2 usbport ledtrigger won't work (through DT)
  - Renesas uPD720202 requires firmware file. It's possible to find
    non-free binary. Please look for 'UPDATE.mem' file and put in into
    '/lib/firmware/renesas_usb_fw.mem' file.

Installation:
  - Apply factory initramfs image via stock web-gui.
  - Do sysupgrade to make installation complete.

Back to stock:
  - OpenWrt rootfs partition use unused space after stock firmware.
  - Full revert is possible.
  - Login via ssh and run:

 ## ctera_c200-v2_back_to_factory start ##
 . /lib/functions.sh
 part=$(find_mtd_part "active_bank")
 active_bank=$(strings "$part" | grep bank)
 if [ "$active_bank" = "bank1" ]; then
  echo "bank2" > /tmp/change_bank
 else
  echo "bank1" > /tmp/change_bank
 fi
 mtd write /tmp/change_bank active_bank
 reboot
 ## ctera_c200-v2_back_to_factory end ##

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
(put back-to-stock script into commit message, removed dup. SUBPAGESIZE var,
added 01_leds for non-working dt-usb-port trigger)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agopackage: kernel: add driver module for NCT7802Y
Pawel Dembicki [Thu, 16 Dec 2021 20:52:37 +0000 (21:52 +0100)]
package: kernel: add driver module for NCT7802Y

This commit add package with hwmon-nct7802 module.

This driver implements support for the Nuvoton NCT7802Y hardware monitoring
chip. NCT7802Y supports 6 temperature sensors, 5 voltage sensors, and 3 fan
speed sensors.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
(fixed c&p'ed module description)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agomvebu: enable watchdog for Armada 37XX
Josef Schlehofer [Sun, 9 Jan 2022 19:50:18 +0000 (20:50 +0100)]
mvebu: enable watchdog for Armada 37XX

This option includes support for watchdog timer on Marvell Armada 37xx
SoCs. [1] It is useful e.g. for Turris MOX, Marvell ESPRESSObin

Enable armada-37xx-watchdog driver as built in for mvebu cortex-a53,
so that kernel can start serving as soon as the driver is probed, until userspace takes over it.

[1] https://cateee.net/lkddb/web-lkddb/ARMADA_37XX_WATCHDOG.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(improved commit message, 2nd paragraph)
Signed-off-by: Marek BehĂºn <kabel@kernel.org>
2 years agomvebu: cortexa53: Enable Armada 37xx rWTM driver
Marek BehĂºn [Sun, 9 Jan 2022 21:01:41 +0000 (22:01 +0100)]
mvebu: cortexa53: Enable Armada 37xx rWTM driver

Enabling Armada 37xx rWTM driver. This gives the kernel access to random
number generator, if provided by the rWTM firmware.

Note that the driver is called turris-mox-rwtm because it was initially
written for Turris MOX, but will also work on other Armada 37xx
platforms, if they use rWTM firmware from CZ.NIC [1].

It makes sense to have this driver built-in, so that kernel has access
to random number generator without needing to load any drivers.

[1] https://gitlab.nic.cz/turris/mox-boot-builder

Signed-off-by: Marek BehĂºn <kabel@kernel.org>
Reviewed-by: Andre Heider <a.heider@gmail.com>
2 years agokernel: 5.10: Backport pending Armada 3720 comphy patches
Marek BehĂºn [Tue, 11 Jan 2022 13:07:22 +0000 (14:07 +0100)]
kernel: 5.10: Backport pending Armada 3720 comphy patches

Backport 5 pending patches [1] for Armada 3720 comphy driver and one
patch for device tree, applied to mvebu-dt64, but pending to appear in
Linus' tree [2].

These patches makes the driver work correctly even with older, buggy
versions of TF-A firmware.

[1] http://lists.infradead.org/pipermail/linux-phy/2022-January/002598.html
[2] http://lists.infradead.org/pipermail/linux-phy/2021-December/002279.html

Signed-off-by: Marek BehĂºn <kabel@kernel.org>
2 years agokernel: 5.10: Backport Armada 3720 comphy patches from 5.15
Marek BehĂºn [Tue, 11 Jan 2022 13:02:12 +0000 (14:02 +0100)]
kernel: 5.10: Backport Armada 3720 comphy patches from 5.15

Backport 2 patches for Armada 3720 comphy from 5.15 kernel.

These are needed for clear application of pending patches that fix this
driver.

Signed-off-by: Marek BehĂºn <kabel@kernel.org>
2 years agokernel: 5.10: Backport pending pci-aardvark changes fixing MSI support
Marek BehĂºn [Mon, 10 Jan 2022 01:12:45 +0000 (02:12 +0100)]
kernel: 5.10: Backport pending pci-aardvark changes fixing MSI support

Backport Aardvark PCIe controller driver changes that fix MSI support,
that were recently sent to the linux-pci mailing list [1].

These changes fix MSI and MSI-X support for this PCIe controller, which,
among other things, make it possible to use NVMe drives with this PCIe
controllers.

[1] https://lore.kernel.org/linux-pci/20220110015018.26359-1-kabel@kernel.org/

Signed-off-by: Marek BehĂºn <kabel@kernel.org>
2 years agokernel: 5.10: Backport pci-aardvark driver changes from 5.17
Marek BehĂºn [Sun, 9 Jan 2022 21:40:31 +0000 (22:40 +0100)]
kernel: 5.10: Backport pci-aardvark driver changes from 5.17

Backport Aardvark PCIe controller driver changes that will appear in
5.17 kernel. They are currently accessible on LKML [1], in linux-next
repository [2], or in Bjorn Helgaas' repository [3].

These changes mainly enhance driver removal method.

[1] https://lore.kernel.org/linux-pci/20211130172913.9727-1-kabel@kernel.org/
[2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/drivers/pci?h=next-20220107
[3] https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=next

Signed-off-by: Marek BehĂºn <kabel@kernel.org>
2 years agomvebu: kernel: enable CONFIG_BLK_DEV_NVME
Josef Schlehofer [Thu, 18 Nov 2021 15:37:17 +0000 (16:37 +0100)]
mvebu: kernel: enable CONFIG_BLK_DEV_NVME

CONFIG_BLK_DEV_NVME [1]:
- This is a kernel driver for SSD connected to PCI or PCIe bus [1].
By default, it is enabled for targets "ipq807x", "rockchip/armv8"
and "x86/64".

With miniPCIe adapter, there is a possibility to connect NVMe disk
to Turris Omnia (cortex-a9), Turris MOX (cortex-a53).

It allows to boot system from NVMe disk, because of that it can not
be kmod package as you can not access the disk to be able to boot from
it.

CONFIG_NVME_CORE [2]:
- This is selected by CONFIG_BLK_DEV_NVME
It does not need to be explicitly enabled, but it is done for "ipq807",
"x64_64" and rockchip/armv8", which has also enabled the previous config
option as well.

Kernel increase: ~28k KiB on mamba kernel

Reference:
[1] https://cateee.net/lkddb/web-lkddb/BLK_DEV_NVME.html
[2] https://cateee.net/lkddb/web-lkddb/NVME_CORE.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2 years agoipq40xx: utilize nvmem-cells for macs & (pre-)calibration data
Christian Lamparter [Mon, 27 Dec 2021 22:41:20 +0000 (23:41 +0100)]
ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data

moves extraction entries out of 11-ath10k-caldata and into
the individual board's device-tree.

Some notes:
 - mmc could work as well (not tested)
 - devices that pass the partitions via mtdparts
   bootargs are kept as is
 - gl-b2200 has a weird pcie wifi device
   (vendor claims 9886 wave 2. But firmware-extraction
   was for a wave 1 device?!)

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: add RT-ACRH13 alternative name to RT-AC58U
Christian Lamparter [Sat, 15 Jan 2022 16:23:49 +0000 (17:23 +0100)]
ipq40xx: add RT-ACRH13 alternative name to RT-AC58U

RT-ACRH13 is another name this device was sold as (US?).

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: add support for ASUS RT-ACRH17/RT-AC42U
Joshua Roys [Thu, 30 Dec 2021 20:25:03 +0000 (15:25 -0500)]
ipq40xx: add support for ASUS RT-ACRH17/RT-AC42U

SOC: IPQ4019
CPU: Quad-core ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
DRAM: 256 MB
NAND: 128 MiB Macronix MX30LF1G18AC
ETH: Qualcomm Atheros QCA8075 Gigabit Switch (4x LAN, 1x WAN)
USB: 1x 3.0 (via Synopsys DesignWare DWC3 controller in the SoC)
WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11bgn 2x2:2
WLAN2: Qualcomm Atheros QCA9984 5GHz 802.11nac 4x4:4
INPUT: 1x WPS, 1x Reset
LEDS: Status, WIFI1, WIFI2, WAN (red & blue), 4x LAN

This board is very similar to the RT-ACRH13/RT-AC58U. It must be flashed
with an intermediary initramfs image, the jffs2 ubi volume deleted, and
then finally a sysupgrade with the final image performed.

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
(added ALT0)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoramips: fix reboot for remaining 32 MB boards
Michael Pratt [Sat, 11 Sep 2021 02:06:10 +0000 (22:06 -0400)]
ramips: fix reboot for remaining 32 MB boards

The following devices have a Winbond W25Q256FV flash chip,
which does not have the RESET pin enabled by default,
and otherwise would require setting a bit in a status register.

Before moving to Linux 5.4, we had the patch:
0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch
which kept specific flash chips with explicit 3-byte and 4-byte address modes
to stay in 3-byte address mode while idle (after an erase or write)
by using a custom flag SPI_NOR_4B_READ_OP that was part of the patch.

this was obsoleted by the patch:
481-mtd-spi-nor-rework-broken-flash-reset-support.patch
which uses the newer upstream flag SNOR_F_BROKEN_RESET
for devices with a flash chip that cannot be hardware reset with RESET pin
and therefore must be left in 3-byte address mode when idle.

The new patch requires that the DTS of affected devices
have the property "broken-flash-reset", which was not yet added for most of them.

This commit adds the property for remaining affected devices in ramips target,
specifically because of the flash chip model.

However, it is possible that there are other devices
where the flash chip uses an explicit 4-byte address mode
and the RESET pin is not connected to the SOC on the board,
and those DTS would also need this property.

Ref: 22d982ea0033 ("ramips: add support for switching between 3-byte and 4-byte addressing")
Ref: dfa521f12953 ("generic: spi-nor: rework broken-flash-reset")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2 years agoat91: drop /etc/config/firewall
Paul Spooren [Fri, 14 Jan 2022 11:23:09 +0000 (12:23 +0100)]
at91: drop /etc/config/firewall

The file can't be part of base files or the base-files and firewall
packages collide. Two packages must not provide the same config files
without having a defined CONFLICT since it would result in an
undeterministic config state depending on what package is installed
last.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agoramips: add support for ipTIME A6004NS-M
SeongUk Moon [Fri, 14 Jan 2022 12:54:05 +0000 (21:54 +0900)]
ramips: add support for ipTIME A6004NS-M

ipTIME A6004NS-M is a 2.4/5GHz band AC1900 router, based on MediaTek MT7621A.

Specifications:
- SoC: MediaTek MT7621A (880MHz, Duel-Core)
- RAM: DDR3 256MB
- Flash: SPI NOR 16MB (Winbond W25Q128BV)
- WiFi: MediaTek MT7615E (2.4GHz, 5GHz)
- Ethernet: MediaTek MT7530 (WAN x1, LAN x4, SoC built-in Estimated)
- USB: USB 3.0 x1
- UART: [3.3V, TX, RX, GND] (57600 8N1)

Installation via web interface:
1. Flash initramfs image using OEM's Firmware Update page.
2. Connect to OpenWrt with an SSH connection to `192.168.1.1`.
3. Perform sysupgrade with sysupgrade image.

Revert to stock firmware:
1.  Flash stock firmware via OEM's Recovery mode

How to use OEM's Recovery mode:
1. Power on the device and connect the shell through UART.
2. Connect to the shell and press the `t` key on the keyboard.
3. Set fixed IP with  `192.168.0.2`  with subnet mask  `255.255.255.0`
4. Flash image via TFTP to  `192.168.0.1`

Additional Notes:
1. The higher the 5Ghz Frequency, the lower the stability. It is recommended to use less than 5.775Ghz.
2. If the 5Ghz frequency is too high, 5Ghz may not work.
3. A6ns-M use shared dtsi file of A6004NS-M. (reference: /mt7621_iptime_a6004ns-m.dtsi).

Signed-off-by: SeongUk Moon <antegral@antegral.net>
[convert CRLF to LF]
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2 years agoramips: add support for HUMAX E2
Kyoungkyu Park [Fri, 24 Dec 2021 19:48:22 +0000 (04:48 +0900)]
ramips: add support for HUMAX E2

HUMAX E2 (also known as HUMAX QUANTUM E2) is a 2.4/5GHz band AC router,
based on MediaTek MT7620A.

Specifications:
- SoC: MT7620A
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB (MXIC MX25L6405D)
- WiFi:
  - 2.4GHz: SoC internal
  - 5GHz: MT7610E
- Ethernet: 1x 10/100Mbps
  - Switch: SoC internal
- UART: J2 (57600 8N1)
  - pinout: [3V3] (RXD) (GND) (TXD)

Installation and Recovery via TFTP:
1. Connect ethernet cable between Router port and PC Ethernet port.
2. Set your computer to a static IP **192.168.1.1**
3. Turn the device off and wait a few seconds. Hold the WPS button on front
   of device and insert power.
4. Send a firmware image to **192.168.1.6** using TFTP.
   You can use any TFTP client. (tftp, curl, Tftpd64...)
5. Wait until Power LED stop flashing. **DO NOT TURN OFF DEVICE!**
   The device will be automatically rebooted.

Signed-off-by: Kyoungkyu Park <choryu.park@choryu.space>
2 years agolantiq: add additional caldata offsets
David Bauer [Sat, 15 Jan 2022 10:15:15 +0000 (11:15 +0100)]
lantiq: add additional caldata offsets

It was reported the AVM FritzBox 7430 has different offsets for the
caldata depending on the device.

Whether this is due to custom bad-block handling or up to the installed
bootloader-version is unknown.

Try both known caldata offsets like it is already done for the ipq40xx
NAND based models. Use the same approach for the FritzBox 7412. While it
is currently unknown, whether it is affected, applying the same logic
has no downsides.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agofirmware-utils: update to latest master
Matthias Schiffer [Fri, 14 Jan 2022 22:13:23 +0000 (23:13 +0100)]
firmware-utils: update to latest master

84dbf8ee49f5 tplink-safeloader: fix Archer A7v5 factory flashing from vendor fw > v1.1.x

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2 years agolantiq: flag FritzBox 7360 family buttons active-low
David Bauer [Fri, 14 Jan 2022 21:03:24 +0000 (22:03 +0100)]
lantiq: flag FritzBox 7360 family buttons active-low

All buttons of the FritzBox 7360 family are active-low, not active-high.
Corrent the GPIO flag. This fixes release triggers upon push of a button.

Reported-by: Jan-Niklas Burfeind <git@aiyionpri.me>
Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agohostapd: add op-class to get_status output
David Bauer [Sat, 8 Jan 2022 11:25:42 +0000 (12:25 +0100)]
hostapd: add op-class to get_status output

Include the current operation class to hostapd get_status interface.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agonetifd: update to git HEAD
Hans Dedecker [Fri, 14 Jan 2022 20:42:35 +0000 (21:42 +0100)]
netifd: update to git HEAD

3043206 system: fix compilation with glibc 2.34

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agomediatek: mt7623: Enable PCIe bus 0 (and thus SATA) on U7623
David Woodhouse [Tue, 11 Jan 2022 13:01:31 +0000 (13:01 +0000)]
mediatek: mt7623: Enable PCIe bus 0 (and thus SATA) on U7623

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2 years agokernel: split kernel version to dedicated files
Ansuel Smith [Mon, 10 Jan 2022 16:02:30 +0000 (17:02 +0100)]
kernel: split kernel version to dedicated files

Move the kernel versions and hash to dedicated files.
This makes kernel bump quicker and fix some annoying
problem with rebasing when multiple kernel bump are proposed.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[Rebased on top of current master]
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2 years agoiptables: enable nftable support by default
Paul Spooren [Thu, 13 Jan 2022 07:50:19 +0000 (08:50 +0100)]
iptables: enable nftable support by default

OpenWrt plans to move over to firewall4 which uses nftables under the
hood. To allow a smooth migration the package `iptables-nft` offer a
transparent wrapper to apply iptables rules to nftables.

Without the config option for nftables the package isn't installed and
therefore can't be tested. This commit enabled it and therefore provides
the wrapper.

The size of the iptables package increases from 25436 to 26500 Bytes.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 years agoramips: enable badblock table support on linksys ea7xxx devices
Felix Fietkau [Thu, 13 Jan 2022 17:32:26 +0000 (18:32 +0100)]
ramips: enable badblock table support on linksys ea7xxx devices

Use remapping only on the kernel partitions.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: add support for the bbt format used on mt7621
Felix Fietkau [Thu, 13 Jan 2022 17:30:51 +0000 (18:30 +0100)]
kernel: mtk_bmt: add support for the bbt format used on mt7621

This does not have spare blocks for remapping, and it is also not suitable
for random write access. It only skips over bad blocks on linear writes of an
image to a partition. As such, it is really only suitable for the kernel
partition, or other partitions with mostly static data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: add abstraction for supporting other formats
Felix Fietkau [Tue, 11 Jan 2022 11:45:52 +0000 (12:45 +0100)]
kernel: mtk_bmt: add abstraction for supporting other formats

Preparation for supporting remapping on MT7621

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoramips: mt7621_nand: fix writing upper half of fdm data
Felix Fietkau [Wed, 12 Jan 2022 19:56:04 +0000 (20:56 +0100)]
ramips: mt7621_nand: fix writing upper half of fdm data

Since the loop iterates from 0-3, subtracting 4 from the shift
multiplier does not make any sense

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomediatek: rework and fix mt7622-rfb1-ubi support
Felix Fietkau [Mon, 10 Jan 2022 11:35:08 +0000 (12:35 +0100)]
mediatek: rework and fix mt7622-rfb1-ubi support

Limit bmt remapping range to cover everything up to and including the kernel image,
use the rest of the flash area for ubi.
Fix partition table and sysupgrade support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: remap blocks after reaching bitflip threshold
Felix Fietkau [Sun, 9 Jan 2022 19:24:41 +0000 (20:24 +0100)]
kernel: mtk_bmt: remap blocks after reaching bitflip threshold

This ensures that blocks are remapped before data becomes corrupt

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: pass number of bitflips on read to the caller
Felix Fietkau [Sun, 9 Jan 2022 19:18:27 +0000 (20:18 +0100)]
kernel: mtk_bmt: pass number of bitflips on read to the caller

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: add support for limiting range of remapping
Felix Fietkau [Sun, 9 Jan 2022 18:56:16 +0000 (19:56 +0100)]
kernel: mtk_bmt: add support for limiting range of remapping

This can be used to support ubi on top of mtk_bmt without reflashing the
boot loader. The boot loader + factory + kernel area is covered, while the
rest is passed through as-is

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: extend debug interface
Felix Fietkau [Sun, 9 Jan 2022 16:27:29 +0000 (17:27 +0100)]
kernel: mtk_bmt: extend debug interface

Add support for showing remapped blocks and garbage collecting old
remapped blocks triggered by using the mark_good/mark_bad files

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: mtk_bmt: fix remapping after read/write failure
Felix Fietkau [Sun, 9 Jan 2022 16:26:46 +0000 (17:26 +0100)]
kernel: mtk_bmt: fix remapping after read/write failure

Copy from the previous block in order to preserve existing data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agokernel: move mediatek BMT support patch to generic patches
Felix Fietkau [Sun, 12 Dec 2021 06:25:41 +0000 (07:25 +0100)]
kernel: move mediatek BMT support patch to generic patches

Preparation for supporting BMT on MT7621. Move source files to the files/
subdirectory in order to simplify maintenance

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agogeneric: platform/mikrotik: use MTD notifier
Denis Kalashnikov [Tue, 16 Nov 2021 16:06:44 +0000 (19:06 +0300)]
generic: platform/mikrotik: use MTD notifier

If the SPI probe is sufficiently delayed, the routerboot driver may fail
to init as the routerboot partitions are not yet available.

Register an MTD user notifier instead of doing straight init so that the
init subroutines are only executed when the target MTD partitions are
present.

Because the init/exit routines can now be called outside of the kernel
normal init/exit calls, they cannot be jettisoned and must always be
available: the __init and __exit qualifiers are thus removed.

Reported-by: Denis Kalashnikov <denis281089@gmail.com>
Signed-off-by: Denis Kalashnikov <denis281089@gmail.com>
Signed-off-by: Thibaut VARĂˆNE <hacks@slashdirt.org>
Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
[bump hardconfig/softconfig versions]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agoath79: qca955x: remove double declaration
Koen Vandeputte [Wed, 12 Jan 2022 14:25:55 +0000 (15:25 +0100)]
ath79: qca955x: remove double declaration

No need to mention the same value twice

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agoath79: rb912: remove unused property
Koen Vandeputte [Wed, 13 Oct 2021 08:37:25 +0000 (10:37 +0200)]
ath79: rb912: remove unused property

ar934x does not define property 'rgmii-enabled' in the parsing code
remove it

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agoath79: rb912: fix pll init issues
Koen Vandeputte [Wed, 12 Jan 2022 15:11:15 +0000 (16:11 +0100)]
ath79: rb912: fix pll init issues

It was reported that some rb912 boards (ar934x) have issues with some ethernet speeds.
Investigation shows that the board failed to adapt the ethernet pll values as shown here:

[    5.284359] ag71xx 19000000.eth: failed to read pll-handle property

added custom prints in code and triggering a link switch:

[   62.821446] Atheros AG71xx: fast reset
[   62.826442] Atheros AG71xx: update pll 2
[   62.830494] Atheros AG71xx: no pll regmap!

Comparison with another very similar board (rb922 - QCA955x) showed a missing
reference clock frequency in dts, which seems to cause a pll init issue.
Unfortunately, no errors are printed when this occurs.

Adding the frequency property fixes the pll init as it can be parsed now
by the ethernet driver.

[   55.861407] Atheros AG71xx: fast reset
[   55.866403] Atheros AG71xx: update pll 2
[   55.870462] Atheros AG71xx: ath79_set_pllval: regmap: 0x81548000, pll_reg: 0x2c, pll_val: 0x02000000

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agomikrotik: make soft_config writable
Oskari Lemmela [Tue, 21 Dec 2021 07:46:01 +0000 (09:46 +0200)]
mikrotik: make soft_config writable

Parent mtd partition needs to be writable

Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
2 years agomikrotik: enable variable size erase
Oskari Lemmela [Tue, 21 Dec 2021 07:46:00 +0000 (09:46 +0200)]
mikrotik: enable variable size erase

Add support for variable size erase blocks.
Enable it to all targets which has mikrotik targets.

Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
2 years agogeneric: platform/mikrotik: make soft_config writable without 4K sectors
Oskari Lemmela [Tue, 21 Dec 2021 07:45:59 +0000 (09:45 +0200)]
generic: platform/mikrotik: make soft_config writable without 4K sectors

Make soft_config writable in all cases. Performing soft_config commit
will fail if mtd partition is not writable.

Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
[bump rb_softconfig version number]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agoimx: bump SDMA firmware to v3.6
Koen Vandeputte [Wed, 20 Oct 2021 13:29:20 +0000 (15:29 +0200)]
imx: bump SDMA firmware to v3.6

No changelog available

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agonetifd: update to git HEAD
Hans Dedecker [Wed, 12 Jan 2022 20:10:23 +0000 (21:10 +0100)]
netifd: update to git HEAD

96902e8 Revert "netifd: add devtype to ubus call"
29e6acf netifd: add devtype to ubus call
7ccbf08 netifd: add devtype to ubus call

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agoprocd: update to git HEAD
Daniel Golle [Wed, 12 Jan 2022 19:14:59 +0000 (19:14 +0000)]
procd: update to git HEAD

 ca6c35c uxc: usage message cosmetics
 e083dd4 uxc: fix two minor issues reported by Coverity
 35dfbff procd: jail/cgroups: correctly enable "rdma" when requested
 3b3ac64 procd: mount /dev with noexec
 ac2b8b3 procd: clean up /dev/pts mounts

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agogeneric: deny write to uImage.FIT sub-image partitions
Daniel Golle [Tue, 11 Jan 2022 00:00:36 +0000 (00:00 +0000)]
generic: deny write to uImage.FIT sub-image partitions

Set policy bit to force read-only mode on uImage.FIT filesystem
sub-images mapped as block partitions by the FIT partition parser.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: mt7623: Re-enable ARM arch timer
David Woodhouse [Mon, 10 Jan 2022 10:23:46 +0000 (10:23 +0000)]
mediatek: mt7623: Re-enable ARM arch timer

CONFIG_ARM_ARCH_TIMER cannot be enabled in the config directly; it is only
selected by CONFIG_HAVE_ARM_ARCH_TIMER. We need to enable the latter in
our config.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Fixes: 4f1c5b01c1 ("mediatek: mt7623: backport musb, improve HDMI console")
2 years agomediatek: mt7623: Disable power button reset for U7623-02 board
David Woodhouse [Mon, 10 Jan 2022 09:46:22 +0000 (09:46 +0000)]
mediatek: mt7623: Disable power button reset for U7623-02 board

The Unielec U7623 doesn't have a physical power button; I think it's hard
wired so that it turns on automatically when power is applied (unlike the
Banana Pi R2 which is a pain).

So the 'reset on long press of power button' behaviour that we get when
we enable the PMIC keyboard driver is kind of unhelpful. Disable it.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Fixes: 0d3f3323a2 ("mediatek: mt7623: enable more hardware features")
2 years agofirewall: update to latest HEAD
Kevin Darbyshire-Bryant [Mon, 10 Jan 2022 10:19:45 +0000 (10:19 +0000)]
firewall: update to latest HEAD

0f16ea5 options.c: add DSCP code LE Least Effort
24ba465 firewall3: remove redundant syn check
df1306a firewall3: fix locking issue
3624c37 firewall3: support table load on access on Linux 5.15+

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agoath79: Add support for OpenMesh OM5P-AC v1
Sven Eckelmann [Mon, 23 Nov 2020 12:41:34 +0000 (13:41 +0100)]
ath79: Add support for OpenMesh OM5P-AC v1

Device specifications:
======================

* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/240 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
  - 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2T2R 2.4 GHz Wi-Fi (11n)
* 2T2R 5 GHz Wi-Fi (11ac)
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* TI tmp423 (package kmod-hwmon-tmp421) for temperature monitoring
* 2x ethernet
  - eth0
    + AR8035 ethernet PHY (RGMII)
    + 10/100/1000 Mbps Ethernet
    + 802.3af POE
    + used as LAN interface
  - eth1
    + AR8035 ethernet PHY (SGMII)
    + 10/100/1000 Mbps Ethernet
    + 18-24V passive POE (mode B)
    + used as WAN interface
* 12-24V 1A DC
* internal antennas

Flashing instructions:
======================

Various methods can be used to install the actual image on the flash.
Two easy ones are:

ap51-flash
----------

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.

initramfs from TFTP
-------------------

The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):

   setenv serverip 192.168.1.21
   setenv ipaddr 192.168.1.1
   tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr

The actual sysupgrade image can then be transferred (on the LAN port) to the
device via

  scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/

On the device, the sysupgrade must then be started using

  sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2 years agoath79: Add support for OpenMesh OM5P-AN
Sven Eckelmann [Mon, 23 Nov 2020 12:41:34 +0000 (13:41 +0100)]
ath79: Add support for OpenMesh OM5P-AN

Device specifications:
======================

* Qualcomm/Atheros AR9344 rev 2
* 560/450/225 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
  - 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 1T1R 2.4 GHz Wi-Fi
* 2T2R 5 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* TI tmp423 (package kmod-hwmon-tmp421) for temperature monitoring
* 2x ethernet
  - eth0
    + AR8035 ethernet PHY
    + 10/100/1000 Mbps Ethernet
    + 802.3af POE
    + used as LAN interface
  - eth1
    + 10/100 Mbps Ethernet
    + builtin switch port 1
    + 18-24V passive POE (mode B)
    + used as WAN interface
* 12-24V 1A DC
* internal antennas

Flashing instructions:
======================

Various methods can be used to install the actual image on the flash.
Two easy ones are:

ap51-flash
----------

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.

initramfs from TFTP
-------------------

The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):

   setenv serverip 192.168.1.21
   setenv ipaddr 192.168.1.1
   tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr

The actual sysupgrade image can then be transferred (on the LAN port) to the
device via

  scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/

On the device, the sysupgrade must then be started using

  sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2 years agoopkg: update to git HEAD of 2022-01-09
Daniel Golle [Sun, 9 Jan 2022 20:09:15 +0000 (20:09 +0000)]
opkg: update to git HEAD of 2022-01-09

 db7fb64 libopkg: pkg_hash: prefer to-be-installed packages
 2edcfad libopkg: set 'const' attribute for argv

This should fix the ImageBuilder problems people are having since we
introduced the 'uci-firewall' providers.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agoath79: add support for ASUS RP-AC66
Tamas Balogh [Mon, 27 Dec 2021 17:04:51 +0000 (18:04 +0100)]
ath79: add support for ASUS RP-AC66

Asus RP-AC66 Repeater

Hardware specifications:
Board: AP152
SoC: QCA9563
DRAM: 64MB DDR2
Flash: 25l128 16MB SPI-NOR
LAN/WAN: 1x1000M QCA8033
WiFi 5GHz: QCA9880
Clocks: CPU:775.000MHz, DDR:650.000MHz, AHB:258.333MHz, Ref:25.000MHz

MAC addresses as verified by OEM firmware:
use            address   source
Lan/Wan   *:24         art 0x1002 (label)
2G             *:24         art 0x1002
5G             *:26         art 0x5006

Installation:

Asus windows recovery tool:
 - install the Asus firmware restoration utility
 - unplug the router, hold the reset button while powering it on
 - release when the power LED flashes slowly
 - specify a static IP on your computer:
     IP address: 192.168.1.75
     Subnet mask 255.255.255.0
 - Start the Asus firmware restoration utility, specify the factory image
    and press upload
 - Do not power off the device after OpenWrt has booted until the LED flashing.

TFTP Recovery method:
 - set computer to a static ip, 192.168.1.75
 - connect computer to the LAN 1 port of the router
 - hold the reset button while powering on the router for a few seconds
 - send firmware image using a tftp client; i.e from linux:
 $ tftp
 tftp> binary
 tftp> connect 192.168.1.1
 tftp> put factory.bin
 tftp> quit

Signed-off-by: Tamas Balogh <tamasbalogh@hotmail.com>
2 years agofirewall4: bump to git HEAD
Stijn Tintel [Sun, 9 Jan 2022 13:30:24 +0000 (15:30 +0200)]
firewall4: bump to git HEAD

 9a509d4 ruleset.uc: consolidate ip and ip6 offload
 21f311d ruleset.uc: don't trim newline before comment sign
 f121383 tests: enable flow offloading in tests
 550df40 tests: add test for unknown defaults option
 47c5a5b tests: add test for deprecated rule option
 69a89d6 tests: add test for unknown rule option
 07579df fw4.uc: handle interface zone option

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agomediatek mt7622: fix 300mhz typo in dts
Fritz D. Ansel [Mon, 2 Aug 2021 17:42:37 +0000 (19:42 +0200)]
mediatek mt7622: fix 300mhz typo in dts

The lowest frequency should be 300MHz, since that is the label
assigned to the OPP in the mt7622.dtsi device tree, while there is one
missing zero in the actual value.

To be clear, the lowest frequency should be 300MHz instead of 30MHz.

As mentioned @dangowrt on the OpenWrt forum there is no benefit in
leaving 30MHz as the lowest frequency.

Signed-off-by: Jip de Beer <gpk6x3591g0l@opayq.com>
Signed-off-by: Fritz D. Ansel <fdansel@yandex.ru>
2 years agox86: improve sysinfo handling of dummy values
Stefan Lippers-Hollmann [Thu, 30 Dec 2021 02:52:07 +0000 (03:52 +0100)]
x86: improve sysinfo handling of dummy values

Fall back to using board_vendor and board_name, if known dummy values
are used for sys_vendor and product_name.

Examples:
To be filled by O.E.M.:To be filled by O.E.M.
--> INTEL Corporation:ChiefRiver

System manufacturer:System Product Name
--> ASUSTeK COMPUTER INC.:P8H77-M PRO

To Be Filled By O.E.M.:To Be Filled By O.E.M.
--> ASRock:Q1900DC-ITX

Gigabyte Technology Co., Ltd.:To be filled by O.E.M.
--> Gigabyte Technology Co., Ltd.:H77M-D3H

empty:empty
--> TYAN Computer Corporation:TYAN Toledo i3210W/i3200R S5211

To Be Filled By O.E.M.:To Be Filled By O.E.M.
--> ASRock:H77 Pro4-M

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
2 years agoipq806x: janitorial work, respect line lengths
Alex Lewontin [Sat, 1 Jan 2022 21:43:57 +0000 (16:43 -0500)]
ipq806x: janitorial work, respect line lengths

This commit breaks up some lines so that they are shorter than
74 charcters.

Signed-off-by: Alex Lewontin <alex.c.lewontin@gmail.com>
2 years agoipq806x: modularize generic subtarget
Alex Lewontin [Sat, 1 Jan 2022 21:25:27 +0000 (16:25 -0500)]
ipq806x: modularize generic subtarget

This commit moves the device profiles within the ipq806x/generic
subtarget into their own includable .mk file, to support eventually
having subtargets other than generic.

Signed-off-by: Alex Lewontin <alex.c.lewontin@gmail.com>
2 years agokernel: add kmod-usb-net-lan78xx
Josef Schlehofer [Tue, 28 Dec 2021 22:43:57 +0000 (23:43 +0100)]
kernel: add kmod-usb-net-lan78xx

Add kernel module for Microchip LAN78XX based USB 2 & USB 3
10/100/1000 Ethernet adapters. [1]

This kernel module is required for the Seeed Studio's Mini Router
based on RPI CM4 [2].

[1] <https://cateee.net/lkddb/web-lkddb/USB_LAN78XX.html>
[2] <https://www.seeedstudio.com/Dual-GbE-Carrier-Board-with-4GB-RAM-32GB-eMMC-RPi-CM4-Case-p-5029.html>

Link: <https://github.com/openwrt/openwrt/pull/4893>
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(added kmod-phy-microchip and kmod-fixed-phy dependencies,
rpi3 needs lan78xx but has it built-in)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokernel: provide kmod-fixed-phy as separate kmod
Christian Lamparter [Thu, 30 Dec 2021 19:05:15 +0000 (20:05 +0100)]
kernel: provide kmod-fixed-phy as separate kmod

Almost all targets have the fixed-phy feature built into the kernel.
One big exception is x86. This caused a problem with the upcoming
LAN78xx usb driver. Hence this patch breaks out the fixed-phy from
of_mdio (which didn't include the .ko) and puts into a separate
module.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokernel: add kmod-phy-microchip
Christian Lamparter [Thu, 30 Dec 2021 19:03:48 +0000 (20:03 +0100)]
kernel: add kmod-phy-microchip

phy drivers for Microchip's LAN88xx PHYs.
This is needed for the "LAN7801" variant
of the upstream lan78xx usb ethernet driver.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agotoolchain/binutils: v2.37 Close the file descriptor if there is no archive fd
Hirokazu MORIKAWA [Sat, 8 Jan 2022 00:33:32 +0000 (09:33 +0900)]
toolchain/binutils: v2.37 Close the file descriptor if there is no archive fd

This fixes the following build error:
/home/build/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-11.2.0_musl/lib/gcc/aarch64-openwrt-linux-musl/11.2.0/../../../../aarch64-openwrt-linux-musl/bin/ld: /home/sergey/openwrt2/build_dir/target-aarch64_cortex-a53_musl/node-v14.18.2/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a: error adding symbols: malformed archive
collect2: error: ld returned 1 exit status

It's a bad error handling related to -EMFILE (too many open files). nodejs is probably just very close to open file limit.

https://sourceware.org/bugzilla/show_bug.cgi?id=28138
https://github.com/nodejs/node/issues/39452

https://github.com/openwrt/packages/issues/17496
https://github.com/openwrt/packages/issues/16729
https://github.com/openwrt/packages/issues/17164

Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
[Take full patch from 2.37 branch and refresh]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agolantiq: replace patches with version accepted upstream
Aleksander Jan Bajkowski [Sat, 22 May 2021 18:07:56 +0000 (20:07 +0200)]
lantiq: replace patches with version accepted upstream

Replace recently added patches with version accepted upstream.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>