openwrt/staging/stintel.git
14 months agomeow qoriq-m200
Stijn Tintel [Wed, 8 Feb 2023 20:32:30 +0000 (22:32 +0200)]
meow

14 months agofoo
Stijn Tintel [Wed, 29 Jun 2022 22:18:56 +0000 (01:18 +0300)]
foo

14 months agoWIP: another attempt to get working network
Stijn Tintel [Tue, 15 Mar 2022 12:40:59 +0000 (14:40 +0200)]
WIP: another attempt to get working network

Configure the switch to see if network on the switchports works.
Unfortunately same problem as with eth0-eth2.

14 months agoWIP: attempt to fix ethernet
Stijn Tintel [Tue, 15 Mar 2022 01:07:04 +0000 (03:07 +0200)]
WIP: attempt to fix ethernet

eth0, eth1 and eth2 have working TX but no RX. Tried rgmii, rgmii-id,
rgmii-rxid, rgmii-txid, sgmii, gmii, but all of them seem to have the
same problem :/

14 months agoqoriq: add support for WatchGuard Firebox M200
Stijn Tintel [Mon, 6 Dec 2021 10:45:12 +0000 (12:45 +0200)]
qoriq: add support for WatchGuard Firebox M200

Boots, no network.

setenv OpenWrt_kernel watchguard_firebox-m200-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=1536; mmc dev 0; ext2load mmc 0:1 $loadaddr $OpenWrt_kernel; bootm $loadaddr'
saveenv
reset

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
14 months agoqoriq: add dtsi for Firebox M200/M300 flash layout
Stijn Tintel [Wed, 13 Apr 2022 07:42:59 +0000 (10:42 +0300)]
qoriq: add dtsi for Firebox M200/M300 flash layout

Both devices use the same flash layout.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
14 months agotoolchain/musl: ppc64: check for AltiVec in setjmp/longjmp
Stijn Tintel [Mon, 6 Dec 2021 21:00:22 +0000 (23:00 +0200)]
toolchain/musl: ppc64: check for AltiVec in setjmp/longjmp

The libc package needs to be rebuilt after applying this change:

make package/toolchain/clean

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
14 months agokernel: foo
Stijn Tintel [Mon, 28 Mar 2022 14:55:41 +0000 (17:55 +0300)]
kernel: foo

14 months agokernel: use default fq_codel memory limit on PPC64
Stijn Tintel [Tue, 26 Apr 2022 11:19:59 +0000 (14:19 +0300)]
kernel: use default fq_codel memory limit on PPC64

The qoriq target is the only PPC64 target, and the only supported device
comes with 4GB RAM. Use the default memory limit on PPC64 for fq_codel,
as 4MB is suboptimal for even gigabit.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
14 months agoqoriq: add /etc/board.d/05_fix-compat-version
Stijn Tintel [Thu, 16 Jun 2022 20:48:14 +0000 (23:48 +0300)]
qoriq: add /etc/board.d/05_fix-compat-version

This file is needed to increase compat_version in /etc/config/system so
that it matches BOARD_COMPAT_VERSION in the device profile.

Fixes: c4b499bc03ab ("qoriq: use FIT uImage for Firebox M300 kernel")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
14 months agoodhcpd: bump to git HEAD
Stijn Tintel [Wed, 8 Feb 2023 15:17:38 +0000 (17:17 +0200)]
odhcpd: bump to git HEAD

14 months agoipq4019: fix dts white-space
Felix Baumann [Wed, 8 Feb 2023 01:25:00 +0000 (02:25 +0100)]
ipq4019: fix dts white-space

Replace blanks with tabs
Remove whitespace from otherwise empty lines

Signed-off-by: Felix Baumann <felix.bau@gmx.de>
14 months agokernel: bump 5.10 to 5.10.167
John Audia [Mon, 6 Feb 2023 11:28:36 +0000 (06:28 -0500)]
kernel: bump 5.10 to 5.10.167

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
14 months agokernel: bump 5.15 to 5.15.92
John Audia [Mon, 6 Feb 2023 11:40:12 +0000 (06:40 -0500)]
kernel: bump 5.15 to 5.15.92

All other patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
14 months agolantiq: ar9/vr9: add fritz-tffs package
Felix Baumann [Sun, 29 Jan 2023 19:25:52 +0000 (20:25 +0100)]
lantiq: ar9/vr9: add fritz-tffs package

Add fritz-tffs package to AVM devices
Reorder some devices packages for consistency

Signed-off-by: Felix Baumann <felix.bau@gmx.de>
14 months agoe2fsprogs: update to 1.46.6
Nick Hainke [Sun, 5 Feb 2023 20:28:40 +0000 (21:28 +0100)]
e2fsprogs: update to 1.46.6

Release information:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.46.6

Remove upstreamed patch:
- 004-CVE-2022-1304-libext2fs-add-sanity-check-to-extent-manipulation.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
14 months agotools/e2fsprogs: update to 1.46.6
Nick Hainke [Sun, 5 Feb 2023 20:14:19 +0000 (21:14 +0100)]
tools/e2fsprogs: update to 1.46.6

Release information:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.46.6

Remove upstreamed patch:
- 004-CVE-2022-1304-libext2fs-add-sanity-check-to-extent-manipulation.patch

Refresh patch:
- 003-no-crond.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
14 months agompc85xx: p2020: kernel: enable CONFIG_BLK_DEV_NVME
Šimon Bořek [Tue, 19 Apr 2022 11:18:42 +0000 (13:18 +0200)]
mpc85xx: p2020: kernel: enable CONFIG_BLK_DEV_NVME

Enables use of NVMe storage devices with appropriate adapter in miniPCIe slots (including for boot)
in Turris 1.x routers and possibly NXP P2020RDB boards
(these are the only currently supported p2020 devices according to docs[^1]).

Proper detection, mountability and readability was proved to be working
on Turris 1.1, OpenWrt 21.02 with similar configuration.

Increases gzip compressed kernel size by approximately 37 KiB (from 3 703 KiB to 3 740 KiB).

Should boot from those devices be possible the driver needs to be built in.
Inclusion as a module would prevent this functionality.

CONFIG_BLK_DEV_NVME=y
Includes NVMe driver in the kernel.[^2]

CONFIG_NVME_CORE=y
Selected by CONFIG_BLK_DEV_NVME.[^3] Not necessarily needed to be enabled explicitly,
but included to match the form of similar functionality implementations
for mvebu, x86_64 and rockchip_armv8 targets.

CONFIG_NVME_MULTIPATH disabled explicitly to prevent using more space than necessary.

[^1]: https://openwrt.org/docs/techref/targets/mpc85xx
[^2]: https://cateee.net/lkddb/web-lkddb/BLK_DEV_NVME.html
[^3]: https://cateee.net/lkddb/web-lkddb/NVME_CORE.html

Signed-off-by: Šimon Bořek <simon.borek@nic.cz>
14 months agompc85xx: p2020: kernel: refresh configuration
Šimon Bořek [Tue, 19 Apr 2022 11:11:43 +0000 (13:11 +0200)]
mpc85xx: p2020: kernel: refresh configuration

'make kernel_oldconfig CONFIG_TARGET=subtarget'
applied to current master

Signed-off-by: Šimon Bořek <simon.borek@nic.cz>
14 months agobase-files: ipcalc.sh: fix awk regex syntax
Leon M. George [Fri, 14 Oct 2022 12:09:34 +0000 (14:09 +0200)]
base-files: ipcalc.sh: fix awk regex syntax

It worked fine before but gawk warns about it.

Signed-off-by: Leon M. George <leon@georgemail.eu>
14 months agobase-files: ipcalc.sh: trim for statement
Leon M. George [Fri, 14 Oct 2022 12:08:19 +0000 (14:08 +0200)]
base-files: ipcalc.sh: trim for statement

For gawk compatibility.

Signed-off-by: Leon M. George <leon@georgemail.eu>
14 months agodnsmasq: refuse to add empty DHCP range
Leon M. George [Sun, 8 May 2022 21:29:06 +0000 (23:29 +0200)]
dnsmasq: refuse to add empty DHCP range

Use ipcalc's return value to react to invalid range specifications.
By simply ignoring the range instead of aborting with an error code,
dnsmasq should still start when there's an error (best effort).
Aborting the config generation or working with invalid range specs leaves
dnsmasq crash-looping which is the right thing to do concerning that
particular interface but it also hinders DHCP service on other interfaces
and DNS on the router itself.

Signed-off-by: Leon M. George <leon@georgemail.eu>
14 months agobase-files: ipcalc.sh: use shebang to invoke awk
Leon M. George [Thu, 5 May 2022 22:03:54 +0000 (00:03 +0200)]
base-files: ipcalc.sh: use shebang to invoke awk

There's hardly an shell logic in ipcalc.sh and a $* that would garble
parameter positions.
Move the awk invokation to the shebang.

A rename from "ipcalc.sh" to "ipcalc" is desirable but could prove tricky
with packages in other repositories depending on the filename.

Signed-off-by: Leon M. George <leon@georgemail.eu>
14 months agobase-files: ipcalc.sh: fail when network is too small
Leon M. George [Thu, 5 May 2022 22:02:52 +0000 (00:02 +0200)]
base-files: ipcalc.sh: fail when network is too small

It's possible to move range boundaries in a way that the start address
lies behind the end address.
Detect this condition and exit with an error message.

Signed-off-by: Leon M. George <leon@georgemail.eu>
14 months agobase-files: ipcalc.sh: don't include own address in range
Leon M. George [Thu, 5 May 2022 21:47:47 +0000 (23:47 +0200)]
base-files: ipcalc.sh: don't include own address in range

Make sure our own address doesn't lie in the calculated range.

Signed-off-by: Leon M. George <leon@georgemail.eu>
14 months agobase-files: ipcalc.sh: check for params before calculating start/end
Leon M. George [Thu, 5 May 2022 21:19:53 +0000 (23:19 +0200)]
base-files: ipcalc.sh: check for params before calculating start/end

With this patch, ipcalc only calculates range boundaries if the
corresponding parameters are supplied.

Signed-off-by: Leon M. George <leon@georgemail.eu>
14 months agobcm47xx: revert bgmac back to the old limited max frame size
Rafał Miłecki [Tue, 7 Feb 2023 17:09:40 +0000 (18:09 +0100)]
bcm47xx: revert bgmac back to the old limited max frame size

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

Allocating 512 (BGMAC_RX_RING_SLOTS) buffers, 10 k each, is clearly a
bad idea on 32 MiB devices. This commit fixes support for Linksys E1000
V2.1 which gives up after allocating ~346 such buffers running 5.15
kernel.

Ref: 230c9da963aa ("bcm53xx: revert bgmac back to the old limited max frame size")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
14 months agoipq806x: add missing enclosing reserved-memory block on C2600/AD7200
Filip Matijević [Sun, 5 Feb 2023 08:34:41 +0000 (09:34 +0100)]
ipq806x: add missing enclosing reserved-memory block on C2600/AD7200

Most of the time when booting kernel prints a warning from
mm/page_alloc.c when pstore/ramoops is being initialized and ramoops is
not functional.

Fix this by moving ramopps node into reserved-memory block as described
in kernel documentation.

Fixes: 2964e5024c ("ipq806x: kernel ramoops storage for C2600/AD7200")
Signed-off-by: Filip Matijević <filip.matijevic.pz@gmail.com>
14 months agoipq807x: refresh kernel config
Robert Marko [Thu, 2 Feb 2023 09:34:52 +0000 (10:34 +0100)]
ipq807x: refresh kernel config

Refresh the ipq807x kernel config to keep it up to date and in sync with
the generic one.

Signed-off-by: Robert Marko <robimarko@gmail.com>
14 months agoiwinfo: bump to latest git HEAD
Christian Marangi [Mon, 6 Feb 2023 20:33:26 +0000 (21:33 +0100)]
iwinfo: bump to latest git HEAD

c7eb8eb nl80211: restore iterating over all devices in nl80211_phy2ifname()

Fixes: #11902
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
14 months agoipq40xx: fix assignment of lan port numbers for Cell C RTL30VW
Cezary Jackiewicz [Sun, 5 Feb 2023 06:24:05 +0000 (07:24 +0100)]
ipq40xx: fix assignment of lan port numbers for Cell C RTL30VW

After switching to DSA, the LAN ports in Cell C RTL30VW have swapped numbers. Assigning the right numbers.

Signed-off-by: Cezary Jackiewicz <cezary@eko.one.pl>
14 months agotools/pkgconf: add PKG_CPE_ID
Nick Hainke [Sun, 5 Feb 2023 13:59:03 +0000 (14:59 +0100)]
tools/pkgconf: add PKG_CPE_ID

Add PKG_CPE_ID to track vulnerabilities.

Signed-off-by: Nick Hainke <vincent@systemli.org>
14 months agotools/pkgconf: update to 1.9.4
Nick Hainke [Sun, 5 Feb 2023 13:06:35 +0000 (14:06 +0100)]
tools/pkgconf: update to 1.9.4

Release information:
https://github.com/pkgconf/pkgconf/blob/master/NEWS

Fixes CVE-2023-24056.

Further, this commit corrects the "-Dtests" flag and changes it from
"false" to "disabled".

Signed-off-by: Nick Hainke <vincent@systemli.org>
14 months agotools/coreutils: update to 9.1
John Audia [Sat, 26 Feb 2022 13:29:02 +0000 (08:29 -0500)]
tools/coreutils: update to 9.1

In addition to version update, this commit applies a fixup to allow building
on MacOS involving renaming: [gt_TYPE_WINT_T] --> [gt_TYPE_WINT_T_GNUTLS]
suggested by zhanhb.

Build system: x86_64
Build-tested: bcm2711/RPi4B

Signed-off-by: John Audia <graysky@archlinux.us>
14 months agoipq806x: onhub: Enable fstools_partname_fallback_scan
Brian Norris [Wed, 25 Jan 2023 06:42:07 +0000 (22:42 -0800)]
ipq806x: onhub: Enable fstools_partname_fallback_scan

When fstools is unable to parse our root=<...> arg correctly, it can
fall back to scanning all block devices for a 'rootfs_data' partition.
This fallback was deemed wrong (or at least, a breaking/incompatible
change) for some targets, so we're forced to opt back into it with
fstools_partname_fallback_scan=1.

Without this, OnHub devices will use a rootfs-appended loop device for
rootfs_data instead of the intended 3rd partition.

While I'm at it, just move all the boot args into the 'cros-vboot'
build rule, instead of using the custom bootargs-append. All cros-vboot
subtargets here are using the same rootwait (to support both eMMC and
USB boot) and root/partition args.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
[ drop unrelated comments in commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
14 months agofstools: bump to latest Git HEAD
Christian Marangi [Sat, 4 Feb 2023 19:04:58 +0000 (20:04 +0100)]
fstools: bump to latest Git HEAD

14d535e partname: Correct fstools_partname_fallback_scan comparison

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
14 months agoipq807x: remove libwolfsslcpu-crypto dependency
Rosen Penev [Fri, 3 Feb 2023 23:51:50 +0000 (15:51 -0800)]
ipq807x: remove libwolfsslcpu-crypto dependency

Signed-off-by: Rosen Penev <rosenp@gmail.com>
14 months agotreewide: replace libustream-wolfssl with -mbedtls
Rosen Penev [Wed, 25 Jan 2023 21:02:12 +0000 (13:02 -0800)]
treewide: replace libustream-wolfssl with -mbedtls

Previous commit does the same for wpad-basic. Also matches
DEFAULT_VARIANT in ustream-ssl Makefile.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
14 months agotreewide: replace wpad-basic-wolfssl default
Rosen Penev [Wed, 28 Dec 2022 04:44:11 +0000 (20:44 -0800)]
treewide: replace wpad-basic-wolfssl default

The newly merged mbedtls backend is smaller and has fewer ABI related
issues than the wolfSSL one.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
14 months agoscripts: size_compare: print a grand total
Andre Heider [Tue, 31 Jan 2023 14:58:08 +0000 (15:58 +0100)]
scripts: size_compare: print a grand total

Usefull to check the impact of treewide changes:
Change  Local Remote  Package
+281 6191 5910 ubus
-547 56166 56713 procd
-13294 91544 104838 ubi-utils
~~~~~~~ total change -13560

Signed-off-by: Andre Heider <a.heider@gmail.com>
14 months agoscripts: size_compare: fix support for CONFIG_BINARY_FOLDER
Andre Heider [Mon, 30 Jan 2023 17:37:39 +0000 (18:37 +0100)]
scripts: size_compare: fix support for CONFIG_BINARY_FOLDER

There is no CONFIG_BINARY_DIR, it's CONFIG_BINARY_FOLDER.

While at it, don't parse the shell compatible .config, eval it.

Signed-off-by: Andre Heider <a.heider@gmail.com>
14 months agoscripts: qemustart: support CONFIG_BINARY_FOLDER
Andre Heider [Sun, 13 Nov 2022 06:06:27 +0000 (07:06 +0100)]
scripts: qemustart: support CONFIG_BINARY_FOLDER

If CONFIG_BINARY_FOLDER is set in .config, use that instead of "bin" as
the bindir.

That allows to set that config and easily run e.g.
`./scripts/qemustart armvirt 32`.

Signed-off-by: Andre Heider <a.heider@gmail.com>
14 months agoramips: mt7621-dts: fix phy-mode of external phy on GB-PC2
Arınç ÜNAL [Mon, 28 Nov 2022 21:33:37 +0000 (00:33 +0300)]
ramips: mt7621-dts: fix phy-mode of external phy on GB-PC2

The phy-mode property must be defined on the MAC instead of the PHY. Define
phy-mode under gmac1 which the external phy is connected to.

Tested-by: Petr Louda <petr.louda@outlook.cz>
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
14 months agobase-files: upgrade: Fix export_partdevice() quoting
Brian Norris [Wed, 21 Dec 2022 06:21:46 +0000 (22:21 -0800)]
base-files: upgrade: Fix export_partdevice() quoting

$BOOTDEV_MAJOR may be empty for many of the uevents parsed in this
function. This condition thus tends to fail benignly (we just skip to
the next device), but it can really clutter the stage2 sysupgrade
stderr, since it looks like the "=" operand doesn't have an appropriate
left-hand argument.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
14 months agox86: add Barracuda Networks F12 interfaces
Tomasz Maciej Nowak [Mon, 23 Jan 2023 13:44:15 +0000 (14:44 +0100)]
x86: add Barracuda Networks F12 interfaces

Match interface numbers with printed numbers on device enclosure and
assign first port as WAN interface.

Notes
Serial console is available through RJ-45 port with Cisco pinout
baud: 19200, parity: none, flow control: none
The device is setup with UEFI. To enter setup hold DEL or ESC key on
boot. Default UEFI Administrator password is: bcndk1
For users using graphics IC it's advisable to disable display with:
i915.disable_display=1
appending to kernel command line inside bootloader, to save about
0.5-0.6W energy on idle.
For users not using graphics IC, disable it in UEFI, this will save about
1.5W energy on idle.
Pins marked CN19 are ATX power On/Off button.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
14 months agoramips: mt7621-dts: fix compatible string for mt7530 on TP-Link EAP615-Wall
Arınç ÜNAL [Thu, 26 Jan 2023 19:17:40 +0000 (22:17 +0300)]
ramips: mt7621-dts: fix compatible string for mt7530 on TP-Link EAP615-Wall

The correct compatible string for the multi-chip module MT7530 switch in
MT7621AT, MT7621DAT and MT7621ST SoCs is mediatek,mt7621. Remove the
property on TP-Link EAP615-Wall which will default to the said string.

Fixes: a1b8a4d7b3ff ("ramips: support TP-Link EAP615-Wall")
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
14 months agokernel: modules: add lkdtm module
Brian Norris [Fri, 27 Jan 2023 20:53:32 +0000 (12:53 -0800)]
kernel: modules: add lkdtm module

Useful for debugging panic/error handling, crash logging, and more.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
14 months agoramips: use on-flash partition table for Sercomm BZV/CHJ
Jan Hoffmann [Fri, 27 Jan 2023 23:01:18 +0000 (00:01 +0100)]
ramips: use on-flash partition table for Sercomm BZV/CHJ

These devices have a partition table stored in flash, which compensates
for any pre-existing bad blocks by enlarging the respective partition.
This means that the current static partition table is only correct for
devices without any bad blocks.

Typical results of this mismatch are degraded wireless performance and
wrong MAC addresses, when the factory partition is shifted due to a bad
block somewhere before it. If there is a bad block already before the
ubi partition, then OpenWrt may not run at all because the kernel can't
find the rootfs.

Use the on-flash partition table to fix these issues. Replace the two
reserved partitions by the full partition list, as the driver does not
allow merging them.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
14 months agoltq-*-app: extend ubus metrics/statistics
Jan Hoffmann [Sat, 28 Jan 2023 19:45:24 +0000 (20:45 +0100)]
ltq-*-app: extend ubus metrics/statistics

Expose a few additional useful values via ubus:

- Channel error counters (CRC, FEC)
- Retransmission counters (MINEFTR, LEFTRS)
- Impulse noise protection level
- Rate adaptation mode
- OLR statistics (Bitswap, SRA, SOS)
- Pilot tones
- Upstream/downstream band information

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
14 months agoltq-vdsl-vr9: fix upstream MINEFTR
Jan Hoffmann [Sat, 28 Jan 2023 19:29:22 +0000 (20:29 +0100)]
ltq-vdsl-vr9: fix upstream MINEFTR

The upstream value read from the device seems to already be in bits per
second, so there is no need to multiply by 1000 again (which for typical
values causes an overflow of the 32-bit unsigned integer).

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
14 months agotreewide: strip useless `default n` Kconfig lines
Tony Butler [Sun, 25 Dec 2022 23:11:48 +0000 (15:11 -0800)]
treewide: strip useless `default n` Kconfig lines

Kconfig docs say:
> The default value deliberately defaults to 'n' in order to avoid
> bloating the build.

Apply this rule everywhere, to avoid more cloning of bad examples

Signed-off-by: Tony Butler <spudz76@gmail.com>
14 months agowolfssl: fix build with make < 4.2
Chen Minqiang [Tue, 24 Jan 2023 23:55:12 +0000 (07:55 +0800)]
wolfssl: fix build with make < 4.2

Inline the preinst.arm-ce script. Support for including was added in
make 4.2 and is not working with older make versions.

Fixes: https://github.com/openwrt/openwrt/issues/11866
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
14 months agoramips: add support for TP-Link Deco M4R v4
Mark Ceeha [Sun, 29 Jan 2023 15:01:40 +0000 (16:01 +0100)]
ramips: add support for TP-Link Deco M4R v4

This commit adds support for the V4 hardware revision of the Deco M4R.
V4 is a complete overhaul of the hardware compared to V1 and V2,
and is much more similar to the Archer C6 V3 and C6U V1.

Specifications:

  SoC: MediaTek MT7621AT (2 cores at 880 MHz, 4 threads)
  RAM: Kingston D1216ECMDXGJD (256 MB)
  Wireless 2.4 GHz: MediaTek MT7603EN
  Wireless 5 GHz: MediaTek MT7613BEN
  Flash: 16 MB SPI NOR

Installation:

Flash the *-factory.bin image in the U-Boot recovery webserver.
You can trigger this webserver by holding the reset button until the LED
flashes yellow, or by hooking up to serial pads on the board (clearly
labeled GND, RX and TX) and pressing `x` early in boot.

Once the factory image has been flashed, you can use the regular upgrade
procedure with sysupgrade images for subsequent flashes.

Signed-off-by: Mark Ceeha <hi@shiz.me>
Tested-by: Mark Ceeha <hi@shiz.me>
14 months agofirmware-utils: bump to git HEAD
Mark Ceeha [Sun, 8 Jan 2023 02:29:07 +0000 (03:29 +0100)]
firmware-utils: bump to git HEAD

Adds support for building TP-Link Deco M4R v4 factory images

    e7233d229c2c tplink-safeloader: Add support for Deco M4R V4

Signed-off-by: Mark Ceeha <hi@shiz.me>
14 months agobcm47xx: Refresh kernel 5.15
Hauke Mehrtens [Sun, 22 Jan 2023 19:04:35 +0000 (20:04 +0100)]
bcm47xx: Refresh kernel 5.15

This makes the patches and the kernel configuration apply on top of
kernel 5.15.

The following patch was removed because the old IDE subsystem was
removed from upstream kernel:
target/linux/bcm47xx/patches-5.15/610-pci_ide_fix.patch

This was tested successfully on a ASUS WL-500g Premium V1.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
14 months agobcm47xx: Copy kernel from 5.10 to 5.15
Hauke Mehrtens [Sun, 22 Jan 2023 18:08:04 +0000 (19:08 +0100)]
bcm47xx: Copy kernel from 5.10 to 5.15

Copy patches and configuration from kernel 5.10 to kernel 5.15 files. No
changes were done.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
14 months agomvebu/uDPU: add quotes to unmount file
Rosen Penev [Sat, 20 Aug 2022 21:10:21 +0000 (14:10 -0700)]
mvebu/uDPU: add quotes to unmount file

This is the last relevant shellcheck warning thrown.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
14 months agomvebu/uDPU: remove $? usage
Rosen Penev [Sat, 20 Aug 2022 21:02:58 +0000 (14:02 -0700)]
mvebu/uDPU: remove $? usage

shellcheck warns against it with SC2086. It also hides a bug that
shellcheck marks with SC2015. Fixed those with explicit if/else.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
14 months agomvebu/uDPU: remove echo y
Rosen Penev [Sat, 20 Aug 2022 20:56:51 +0000 (13:56 -0700)]
mvebu/uDPU: remove echo y

It's a bit of a hack. mkfs.ext4 has an -F parameter that does the same
thing.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
14 months agomvebu/uDPU: simplify grep usage
Rosen Penev [Sat, 20 Aug 2022 20:50:40 +0000 (13:50 -0700)]
mvebu/uDPU: simplify grep usage

Instead of using the shell's evaluation, use grep's -q parameter.

Found with shellcheck's SC2143.

Also replaced a head call with grep's -m.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
14 months agombedtls: x509 crt verify SAN iPAddress
Glenn Strauss [Fri, 28 Oct 2022 02:26:48 +0000 (22:26 -0400)]
mbedtls: x509 crt verify SAN iPAddress

backport from
X509 crt verify SAN iPAddress
https://github.com/Mbed-TLS/mbedtls/pull/6475

addresses
curl built with mbedtls fails on https://1.1.1.1/ (IP address in SubjectAltName)
https://github.com/Mbed-TLS/mbedtls/issues/6473

filed for
mbedTLS: BADCERT_CN_MISMATCH on https://1.1.1.1 with curl+mbedtls
https://github.com/openwrt/packages/issues/19677

Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
14 months agokernel: bump 5.10 to 5.10.166
John Audia [Wed, 1 Feb 2023 20:44:56 +0000 (15:44 -0500)]
kernel: bump 5.10 to 5.10.166

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
14 months agokernel: bump 5.15 to 5.15.91
John Audia [Wed, 1 Feb 2023 20:37:19 +0000 (15:37 -0500)]
kernel: bump 5.15 to 5.15.91

Manually rebased:
  pending-5.15/103-kbuild-export-SUBARCH.patch

All other patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
14 months agomt76: update PKG_SOURCE_HASH
Felix Fietkau [Thu, 2 Feb 2023 10:37:36 +0000 (11:37 +0100)]
mt76: update PKG_SOURCE_HASH

Signed-off-by: Felix Fietkau <nbd@nbd.name>
14 months agomt76: fix typo in PKG_SOURCE_DATE
Felix Fietkau [Thu, 2 Feb 2023 10:36:46 +0000 (11:36 +0100)]
mt76: fix typo in PKG_SOURCE_DATE

Signed-off-by: Felix Fietkau <nbd@nbd.name>
14 months agomt76: update to the latest version, import WED related mtk_eth_soc patches
Felix Fietkau [Thu, 2 Feb 2023 10:08:09 +0000 (11:08 +0100)]
mt76: update to the latest version, import WED related mtk_eth_soc patches

6c256218e59e wifi: mt76: dma: use napi_build_skb
679254c50f27 mt7915: add CONFIG_MT76_LEDS to cflags
15b9dd6b1b6a wifi: mt76: mt7915: call mt7915_mcu_set_thermal_throttling() only after init_work
8e5c21fe7c5c wifi: mt76: mt7915: rework mt7915_mcu_set_thermal_throttling
87cb74fe42d9 wifi: mt76: mt7915: rework mt7915_thermal_temp_store()
c6f24b83eba5 wifi: mt76: mt7915: add error message in mt7915_thermal_set_cur_throttle_state()
99e96b89ee4d wifi: mt76: mt7915: add chip id condition in mt7915_check_eeprom()
833cd420480f wifi: mt76: mt7921: fix channel switch fail in monitor mode
f1f8bae6092d wifi: mt76: mt7921: add ack signal support
f47087a6dd62 wifi: mt76: mt7996: fix chainmask calculation in mt7996_set_antenna()
2f3b0acc1588 wifi: mt76: mt7996: update register for CFEND_RATE
7e9540dcbd70 wifi: mt76: mt7996: do not hardcode vht beamform cap
a37e427d0959 wifi: mt76: connac: fix POWER_CTRL command name typo
98aa346042bd wifi: mt76: mt7915: remove BW160 and BW80+80 support
94fed6a43541 wifi: mt76: mt7921: fix invalid remain_on_channel duration
3c162384d80a wifi: mt76: introduce mt76_queue_is_wed_rx utility routine
a409a9454587 wifi: mt76: mt7915: fix memory leak in mt7915_mcu_exit
8b27ecd3a684 wifi: mt76: mt7996: fix memory leak in mt7996_mcu_exit
683760461dd0 wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup
0c750cf08f85 wifi: mt76: dma: fix memory leak running mt76_dma_tx_cleanup
5de9ae29bea2 wifi: mt76: mt7915: avoid mcu_restart function pointer
dad96dd3e62d wifi: mt76: mt7603: avoid mcu_restart function pointer
19d36dd9c8ea wifi: mt76: mt7615: avoid mcu_restart function pointer
6fe2c2383d3d wifi: mt76: mt7921: avoid mcu_restart function pointer
9df89143bf71 wifi: mt76: mt7915: get rid of wed rx_buf_ring page_frag_cache
8d51d11760cb wifi: mt76: fix switch default case in mt7996_reverse_frag0_hdr_trans
0d8057dbd51c wifi: mt76: mt7921u: add support for Comfast CF-952AX
ddbf4e933d54 wifi: mt76: mt7915: set sku initial value to zero
06a8904e954e wifi: mt76: mt7915: wed: enable red per-band token drop
724a337caef9 wifi: mt76: mt7915: fix WED TxS reporting
747ca943a5bb wifi: mt76: add flexible polling wait-interval support
133d7859977a wifi: mt76: mt7921: reduce polling time in pmctrl
5fe319a0550e wifi: mt76: add memory barrier to SDIO queue kick
822f060b9d19 wifi: mt76: mt7921: fix rx filter incorrect by drv/fw inconsistent
c6794954a723 wifi: mt76: mt7915: fix memory leak in mt7915_mmio_wed_init_rx_buf
9686cd7cc65c wifi: mt76: switch to page_pool allocator
04da4eaa8235 wifi: mt76: enable page_pool stats
1af4a911ebcb wifi: mt76: mt7915: release rxwi in mt7915_wed_release_rx_buf
e8c10835cf06 wifi: mt76: fix compile error without CONFIG_PAGE_POOL_STATS
0cf0ede7cc42 net: ethernet: mtk_wed: add reset to rx_ring_setup callback
715b3ed9708a net: ethernet: mtk_wed: add reset to tx_ring_setup callback
9107381d0ff3 wifi: mt76: mt7921: fix error code of return in mt7921_acpi_read
36d2a5bf7802 wifi: mt76: mt7996: rely on mt76_connac2_mac_tx_rate_val
c67f57d2cda2 wifi: mt76: dma: add reset to mt76_dma_wed_setup signature
3dace36e2941 wifi: mt76: dma: reset wed queues in mt76_dma_rx_reset
4b229d2da562 wifi: mt76: mt7915: add mt7915 wed reset callbacks
f83958376085 wifi: mt76: mt7915: complete wed reset support
321edbb414dc wifi: mt76: mt7996: rely on mt76_connac_txp_common structure
bdb7dc38a6d1 wifi: mt76: mt7996: rely on mt76_connac_txp_skb_unmap
8688756305c6 wifi: mt76: mt7996: rely on mt76_connac_tx_complete_skb
fbf986dbd4c0 wifi: mt76: mt7996: rely on mt76_connac2_mac_decode_he_radiotap
adc556cbce37 wifi: mt76: mt7996: avoid mcu_restart function pointer
5eb4e2303be4 wifi: mt76: remove __mt76_mcu_restart macro
e7a61c5f70f5 wifi: mt76: add EHT phy type
b375845abc10 wifi: mt76: connac: add CMD_CBW_320MHZ
68b17a243332 wifi: mt76: connac: add helpers for EHT capability
02ec1f61b3a2 wifi: mt76: connac: add cmd id related to EHT support
9209294cd81b wifi: mt76: increase wcid size to 1088
5e85136c9b2f wifi: mt76: add EHT rate stats for ethtool
a171f672fdeb wifi: mt76: mt7996: add variants support
eda8fd62c105 wifi: mt76: mt7996: add helpers for wtbl and interface limit
4a5a9f4cdc3b wifi: mt76: mt7996: rework capability init
06b73c155680 wifi: mt76: mt7996: add EHT capability init
ae71a1b8294f wifi: mt76: mt7996: add support for EHT rate report
65bdfae2991d wifi: mt76: mt7996: enable EHT support in firmware
b2360d59747c wifi: mt76: mt7996: add EHT beamforming support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
14 months agoCI: use openwrt official tools container by default
Christian Marangi [Mon, 23 Jan 2023 18:47:41 +0000 (19:47 +0100)]
CI: use openwrt official tools container by default

Use openwrt official tools container by default.
Fork will use openwrt tools container by default.

This can be disabled by setting the option use_openwrt_container to
false for the build.yml and check-kernel-patches.yml.

The push-containers workflow is disabled on forks. The workflow can be
reenabled by commenting the condition in push-containers.yml.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
14 months agoipq807x: Enable CPU frequency scaling stats
Hannu Nyman [Mon, 30 Jan 2023 16:20:38 +0000 (18:20 +0200)]
ipq807x: Enable CPU frequency scaling stats

Enable the CPU frequency scaling statistics in kernel config.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Reviewed-by: Robert Marko <robimarko@gmail.com>
14 months agorealtek: use generic earlycon setup on 5.15
INAGAKI Hiroshi [Thu, 29 Sep 2022 04:13:22 +0000 (13:13 +0900)]
realtek: use generic earlycon setup on 5.15

Use generic earlycon on Linux Kernel instead of initialization in platform
setup.
And also, drop bootargs with console= parameter from I-O DATA BSH-G24MB. It
uses 115200bps as baud-rate, the same as default in rtl838x.dtsi.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
14 months agomxs: switch default kernel to 5.15
Zoltan HERPAI [Tue, 24 Jan 2023 18:42:08 +0000 (19:42 +0100)]
mxs: switch default kernel to 5.15

The testing kernel has been available since Mar/2022, let's switch
to it by default.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
14 months agoath25: mark as source-only
Robert Marko [Mon, 16 Jan 2023 12:18:56 +0000 (13:18 +0100)]
ath25: mark as source-only

ath25 seems to be a target with low number of users according to download
statistics, most of which are for older releases anyway.
Users that we managed to find are currently building images downstream as
due to low amount of RAM (32MB) default config will not work.

Target also suffers from inability for the 5.15 kernel bump to be tested
which is a requirment for the next release.

So, for those reasons, lets mark it as source-only so that Buildbots dont
use the resources for building the images for this target anymore.

Signed-off-by: Robert Marko <robimarko@gmail.com>
14 months agozynq: remove kconfig for 5.10
Chuanhong Guo [Mon, 30 Jan 2023 09:55:55 +0000 (17:55 +0800)]
zynq: remove kconfig for 5.10

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
14 months agozynq: switch default kernel to 5.15
Nick Hainke [Tue, 24 Jan 2023 12:01:07 +0000 (13:01 +0100)]
zynq: switch default kernel to 5.15

The default kernel should be switched to 5.15 in order to enable testing
by a broader audience.

Signed-off-by: Nick Hainke <vincent@systemli.org>
14 months agoubus: fix wrong package mirror hash
Petr Štetiar [Mon, 30 Jan 2023 09:54:45 +0000 (10:54 +0100)]
ubus: fix wrong package mirror hash

I've somehow managed to commit wrong package mirror hash in commit 36076b5a4092
("ubus: update to version 2022-06-15"), so lets fix it by using a proper
one.

Fixes: 36076b5a4092 ("ubus: update to version 2022-06-15")
Reported-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
14 months agorealtek: remove KERNEL_PATCHVER overrides
Sander Vanheule [Sun, 29 Jan 2023 09:57:48 +0000 (10:57 +0100)]
realtek: remove KERNEL_PATCHVER overrides

On the realtek target, the subtarget makefiles include a KERNEL_PATCHVER
setting, shadowing KERNEL_PATCHVER from target/linux/realtek/Makefile.
This makes the realtek target an exception in this regard, and makes
switching kernel version a bit bothersome. Remove the overrides so all
subtargets use the same kernel version.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
15 months agokernel: make it possible for packages to select page pool support
Felix Fietkau [Fri, 27 Jan 2023 18:07:32 +0000 (19:07 +0100)]
kernel: make it possible for packages to select page pool support

Will be used by the next mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agobridger: update to the latest version
Felix Fietkau [Fri, 27 Jan 2023 18:07:00 +0000 (19:07 +0100)]
bridger: update to the latest version

8be8bb9df789 nl: fix accessing hairpin mode and isolated from the right attribute set

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: add fix for a page pool related crash on GRO
Felix Fietkau [Thu, 26 Jan 2023 19:44:21 +0000 (20:44 +0100)]
kernel: add fix for a page pool related crash on GRO

Needed for upcoming mt76 page pool support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: backport page pool fragment support from v5.15
Felix Fietkau [Fri, 27 Jan 2023 10:40:46 +0000 (11:40 +0100)]
kernel: backport page pool fragment support from v5.15

Required for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: backport napi_build_skb for 5.10
Felix Fietkau [Fri, 27 Jan 2023 10:35:41 +0000 (11:35 +0100)]
mac80211: backport napi_build_skb for 5.10

It is needed for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoucode: update to the latest version
Felix Fietkau [Fri, 27 Jan 2023 09:35:51 +0000 (10:35 +0100)]
ucode: update to the latest version

1c8df08824ef style: add .editorconfig file
ec167d39b803 nl80211: refactor command bitmask handling
6704ec0d5b29 nl80211: add support for registering an uloop based listener
48a6eac1da15 fs: implement `fs.pipe()`
f1be0d725735 types: fix array unshift operations and add test coverage
941d14837faf Merge pull request #138 from nbd168/nl80211

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agouboot-envtools: filogic: bpi-r3: fix env selection
Daniel Golle [Sun, 29 Jan 2023 03:42:15 +0000 (03:42 +0000)]
uboot-envtools: filogic: bpi-r3: fix env selection

Selecting the environment when booting from SD card has been broken by
a previous commit. Fix it.

Fixes: f46355b4d7 ("uboot-envtools: mediatek_filogic: fix BPi-R3 when no OS is installed")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agouboot-envtools: mt7622: bpi-r64: fix env selection
Daniel Golle [Sun, 29 Jan 2023 03:40:15 +0000 (03:40 +0000)]
uboot-envtools: mt7622: bpi-r64: fix env selection

Selecting the environment when booting from SD card has been broken by
a previous commit. Fix it.

Fixes: 84b5b0f88c ("uboot-envtools: mediatek/mt7622: don't rely on mapped rootfs")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: fix wrong return code in platform_check_image()
Chen Minqiang [Sun, 18 Dec 2022 00:59:44 +0000 (08:59 +0800)]
mediatek: fix wrong return code in platform_check_image()

Ensure that the platform_check_image() function returns an error code.

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
15 months agobase-files: fix nand_do_platform_check fail
Chen Minqiang [Sun, 18 Dec 2022 00:57:20 +0000 (08:57 +0800)]
base-files: fix nand_do_platform_check fail

This change ensures compatibility with both types of sysupgrade-tar files.

1. For some boards like xiaomi,redmi-router-ax6s, sysupgrade-tar
   is pack in directory `vendor,name/`

2. For some boards like xiaomi,mi-router-3g, sysupgrade-tar is pack
   in directory `vendor_name/`

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
15 months agoucode: move to the lang submenu
Andre Heider [Mon, 28 Nov 2022 10:17:43 +0000 (11:17 +0100)]
ucode: move to the lang submenu

Just as lua or the various languages from the package feed.
libucode is the exception, so move it to the libs menu instead.

Signed-off-by: Andre Heider <a.heider@gmail.com>
15 months agouhttpd: clean up Makefile
Andre Heider [Mon, 28 Nov 2022 09:06:07 +0000 (10:06 +0100)]
uhttpd: clean up Makefile

uhttpd's cmake options all default to ON. Either we set all of them or
none if the defaults need to be changed. Let's go with the latter.

Because support for all modules is always compiled in, remove two unused
and useless config toggles.

uhttpd detects and uses libcrypt itself, no need to add it here again.

Signed-off-by: Andre Heider <a.heider@gmail.com>
15 months agopx5g-mbedtls: Use getrandom()
Hauke Mehrtens [Tue, 27 Dec 2022 23:11:00 +0000 (00:11 +0100)]
px5g-mbedtls: Use getrandom()

Instead of accessing /dev/urandom use the getrandom syscall. This way we
do not have to keep the file open all the time.
This also fixes a compile error with glibc:

--------
px5g-mbedtls.c: In function '_urandom':
px5g-mbedtls.c:48:9: error: ignoring return value of 'read' declared with attribute 'warn_unused_result' [-Werror=unused-result]
   48 |         read(urandom_fd, out, len);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--------

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
15 months agoramips: mt7621: add support for Xiaomi Mi Router 4A Gigabit v2
Dmitry Sokolov [Sun, 15 Jan 2023 21:52:27 +0000 (02:52 +0500)]
ramips: mt7621: add support for Xiaomi Mi Router 4A Gigabit v2

Device is the same as Xiaomi Mi Router 4A Gigabit, except of:
- 5G WiFi is MT7663
- addresses of leds, wifi and eth ports are slightly changed

Specs:
  SoC:  MT7621
  CPU:  2 x 880 MHz
  ROM:  16 MB
  RAM:  128 MB
  WLAN: MT7603, MT7663

MAC addresses:
  WAN     ****  factory 0xe006 (label)
  LAN     *:f7  factory 0xe000
  2.4 GHz *:f8  factory 0x0000+0x4 (mtd-eeprom+0x4)
  5 GHz   *:f9  factory 0x8000+0x4 (mtd-eeprom+0x4)

Installation:

Factory firmware is based on a custom OpenWrt 17.x.
Installation is the same as for Xiaomi Mi Router 4A Gigabit.

Probably the easiest way to install is to use the script from
this repository: https://github.com/acecilia/OpenWRTInvasion/pull/155

In a more advanced case, you can do everything yourself:
- gain access to the device through one of the exploits described
  in the link above
- upload sysupgrade image to /tmp
- overwrite stock firmware:
  # mtd -e OS1 -r write /tmp/sysupgrade.bin OS1

Recovery:

Recovery procedure is the same as for Xiaomi Mi Router 4A Gigabit.
Possible options can be found here:
https://openwrt.org/inbox/toh/xiaomi/xiaomi_mi_router_4a_gigabit_edition

One of the ways is to use another router with OpenWrt:
- connect both routers by their LAN ports
- download stock firmware from [1]
- place it inside /tmp/test.bin on the main router
- configure PXE/TFTP on the main router
- power off 4Av2, hold Reset button, power on
- as soon as image download via TFTP starts, Reset can be released
- blinking blue wan LED will indicate the end of the flashing process,
  now router can be rebooted
[1] http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/r4av2/miwifi_r4av2_firmware_release_2.30.28.bin

Signed-off-by: Dmitry Sokolov <e323w@proton.me>
15 months agoramips: improve support for Zyxel Keenetic Extra II
Maxim Anisimov [Fri, 20 Jan 2023 11:23:40 +0000 (14:23 +0300)]
ramips: improve support for Zyxel Keenetic Extra II

- drop unneeded default-state for led_power
- concat firmware partitions to extend available free space
- increase spi flash frequency to 32 Mhz (value from stock firmware bootlog)
- drop broken-flash-reset because of onboard flash chip W25Q256FV has reset support
- add compatible for pcie wifi according to kernel documetation
- switch to wan mac address with offset 0x28 in rf-eeprom

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
15 months agoramips: use hex value in zyimage command for Keenetic KN-3010
Maxim Anisimov [Fri, 20 Jan 2023 13:09:09 +0000 (16:09 +0300)]
ramips: use hex value in zyimage command for Keenetic KN-3010

This is cosmetic change. The hex value is related to the device
model and more human friendly.

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
15 months agoath79: add LTE packages for GL-XE300
Tom Herbers [Sat, 10 Sep 2022 14:45:42 +0000 (16:45 +0200)]
ath79: add LTE packages for GL-XE300

Add LTE packages required for operating the LTE modems shipped with
the GL-XE300.

Example configuration for an unauthenticated dual-stack APN:

network.wwan0=interface
network.wwan0.proto='qmi'
network.wwan0.device='/dev/cdc-wdm0'
network.wwan0.apn='internet'
network.wwan0.auth='none'
network.wwan0.delay='10'
network.wwan0.pdptype='IPV4V6'

Signed-off-by: Tom Herbers <mail@tomherbers.de>
15 months agoath79: improve support for Letv LBA-047-CH
Shiji Yang [Fri, 20 Jan 2023 03:16:33 +0000 (03:16 +0000)]
ath79: improve support for Letv LBA-047-CH

1. Convert wireless calibration data to NVMEM.
2. Enable control green status LED and change default LED behaviors.
   The three LEDs of LBA-047-CH are in the same position, and the green
   LED will be completely covered by the other two LEDs. So don's use
   green LED as WAN indicator to ensure that only one LED is on at a time.
   LED     Factory          OpenWrt
   blue    internet fail    failsafe && upgrade
   green   internet okay    run
   red     boot             boot
3. Reduce the SPI clock to 30 MHz because the ath79 target does not
   support 50 MHz SPI operation well. Keep the fast-read support to
   ensure the spi-mem feature (b3f9842330) is enabled.
4. Remove unused package "uboot-envtools".
5. Split the factory image into two parts: rootfs and kernel.
   This change can reduce the factory image size and allow users to
   upgrade the OpenWrt kernel loader uImage (OKLI) independently.

   The new installation method: First, rename "squashfs-kernel.bin" to
   "openwrt-ar71xx-generic-ap147-16M-kernel.bin" and rename "rootfs.bin"
   to "openwrt-ar71xx-generic-ap147-16M-rootfs-squashfs.bin". Then we
   can press reset button for about 5 seconds to enter tftp download mode.
   Finally, set IP address to 192.168.67.100 and upload the above two
   parts via tftp server.

Tested on Letv LBA-047-CH

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: calibrate dlink dir-825 c1 and dir-835 a1 with nvmem
Edward Chow [Mon, 2 Jan 2023 11:24:20 +0000 (19:24 +0800)]
ath79: calibrate dlink dir-825 c1 and dir-835 a1 with nvmem

Driver for both soc (2.4GHz Wifi) and pci (5 GHz) now pull the calibration
data from the nvmem subsystem.

This allows us to move the userspace caldata extraction for the pci-e ath9k
supported wifi into the device-tree definition of the device.

Currently, "mac-address-ascii" cells only works for ethernet and wmac devices,
so PCI ath9k device uses the old method to calibrate.

Signed-off-by: Edward Chow <equu@openmail.cc>
15 months agokernel: add kmod-lib-842
Tony Butler [Wed, 7 Dec 2022 00:39:27 +0000 (16:39 -0800)]
kernel: add kmod-lib-842

"842" is a compression scheme and this is the software implementation
which is too slow to really use beyond a proof of concept.  It can be
selected in ZRAM, ZSWAP, or `fs/pstore`, and is here for completeness.
In general you need a Power8 or better with 842-in-hardware for it to
be fast, but other 842-accelerators are emerging.

Signed-off-by: Tony Butler <spudz76@gmail.com>
15 months agoath79: add label-mac-device for GL-XE300
Tom Herbers [Tue, 24 Jan 2023 13:14:58 +0000 (14:14 +0100)]
ath79: add label-mac-device for GL-XE300

This adds an label-mac-device alias which refrences the mac which is
printed on the Label of the device.

Signed-off-by: Tom Herbers <mail@tomherbers.de>
15 months agorealtek: dgs-1210-10mp: update sfp phy-handle
Daniel Groth [Sat, 14 Jan 2023 14:32:00 +0000 (15:32 +0100)]
realtek: dgs-1210-10mp: update sfp phy-handle

Adjust the wrong phy-handle definitions for the sfp ports so that they
match the correct switch ports.

Fixes: 89eb8b50d18d ("realtek: dgs-1210-10mp: add full sfp description")
Signed-off-by: Daniel Groth <flygarn12@gmail.com>
15 months agoath79: add support for Senao Engenius EWS660AP
Michael Pratt [Fri, 13 Jan 2023 05:37:10 +0000 (00:37 -0500)]
ath79: add support for Senao Engenius EWS660AP

FCC ID: A8J-EWS660AP

Engenius EWS660AP is an outdoor wireless access point with
2 gigabit ethernet ports, dual-band wireless,
internal antenna plates, and 802.3at PoE+

**Specification:**

  - QCA9558 SOC 2.4 GHz, 3x3
  - QCA9880 WLAN mini PCIe card, 5 GHz, 3x3, 26dBm
  - AR8035-A PHY RGMII GbE with PoE+ IN
  - AR8033 PHY SGMII GbE with PoE+ OUT
  - 40 MHz clock
  - 16 MB FLASH MX25L12845EMI-10G
  - 2x 64 MB RAM
  - UART at J1 populated, RX grounded
  - 6 internal antenna plates (5 dbi, omni-directional)
  - 5 LEDs, 1 button (power, eth0, eth1, 2G, 5G) (reset)

**MAC addresses:**

  Base MAC addressed labeled as "MAC"
  Only one Vendor MAC address in flash

  eth0 *:d4 MAC art 0x0
  eth1 *:d5 --- art 0x0 +1
  phy1 *:d6 --- art 0x0 +2
  phy0 *:d7 --- art 0x0 +3

**Serial Access:**

  the RX line on the board for UART is shorted to ground by resistor R176
  therefore it must be removed to use the console
  but it is not necessary to remove to view boot log

  optionally, R175 can be replaced with a solder bridge short

  the resistors R175 and R176 are next to the UART RX pin

**Installation:**

  2 ways to flash factory.bin from OEM:

  Method 1: Firmware upgrade page:

    OEM webpage at 192.168.1.1
    username and password "admin"
    Navigate to "Firmware Upgrade" page from left pane
    Click Browse and select the factory.bin image
    Upload and verify checksum
    Click Continue to confirm and wait 3 minutes

  Method 2: Serial to load Failsafe webpage:

    After connecting to serial console and rebooting...
    Interrupt uboot with any key pressed rapidly
    execute `run failsafe_boot` OR `bootm 0x9fd70000`
    wait a minute
    connect to ethernet and navigate to
    "192.168.1.1/index.htm"
    Select the factory.bin image and upload
    wait about 3 minutes

**Return to OEM:**

  If you have a serial cable, see Serial Failsafe instructions
  otherwise, uboot-env can be used to make uboot load the failsafe image

  ssh into openwrt and run
  `fw_setenv rootfs_checksum 0`
  reboot, wait 3 minutes
  connect to ethernet and navigate to 192.168.1.1/index.htm
  select OEM firmware image from Engenius and click upgrade

**TFTP recovery:**

  Requires serial console, reset button does nothing

  rename initramfs.bin to '0101A8C0.img'
  make available on TFTP server at 192.168.1.101
  power board, interrupt boot
  execute tftpboot and bootm 0x81000000

**Format of OEM firmware image:**

  The OEM software of EWS660AP is a heavily modified version
  of Openwrt Kamikaze. One of the many modifications
  is to the sysupgrade program. Image verification is performed
  simply by the successful ungzip and untar of the supplied file
  and name check and header verification of the resulting contents.
  To form a factory.bin that is accepted by OEM Openwrt build,
  the kernel and rootfs must have specific names...

    openwrt-ar71xx-generic-ews660ap-uImage-lzma.bin
    openwrt-ar71xx-generic-ews660ap-root.squashfs

  and begin with the respective headers (uImage, squashfs).
  Then the files must be tarballed and gzipped.
  The resulting binary is actually a tar.gz file in disguise.
  This can be verified by using binwalk on the OEM firmware images,
  ungzipping then untaring.

  Newer EnGenius software requires more checks but their script
  includes a way to skip them, otherwise the tar must include
  a text file with the version and md5sums in a deprecated format.

  The OEM upgrade script is at /etc/fwupgrade.sh.

  OKLI kernel loader is required because the OEM software
  expects the kernel to be no greater than 1536k
  and the factory.bin upgrade procedure would otherwise
  overwrite part of the kernel when writing rootfs.

Note on PLL-data cells:

  The default PLL register values will not work
  because of the external AR8035 switch between
  the SOC and the ethernet port.

  For QCA955x series, the PLL registers for eth0 and eth1
  can be see in the DTSI as 0x28 and 0x48 respectively.
  Therefore the PLL registers can be read from uboot
  for each link speed after attempting tftpboot
  or another network action using that link speed
  with `md 0x18050028 1` and `md 0x18050048 1`.

  The clock delay required for RGMII can be applied
  at the PHY side, using the at803x driver `phy-mode`.
  Therefore the PLL registers for GMAC0
  do not need the bits for delay on the MAC side.
  This is possible due to fixes in at803x driver
  since Linux 5.1 and 5.3

Tested-by: Niklas Arnitz <openwrt@arnitz.email>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
15 months agoath79: add pcie1 wifi device to Senao qca955x AP DTSI
Michael Pratt [Wed, 25 Jan 2023 18:02:56 +0000 (13:02 -0500)]
ath79: add pcie1 wifi device to Senao qca955x AP DTSI

Each individual device DTS now enables either pcie0 or pcie1.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
15 months agoethtool: update to 6.1
Nick Hainke [Wed, 25 Jan 2023 08:07:51 +0000 (09:07 +0100)]
ethtool: update to 6.1

Release notes:
https://lore.kernel.org/netdev/20221219225600.r54vejiqapn266cm@lion.mk-sys.cz/T/

Add patches fixing compilation:
- 100-uapi-Bring-in-if-h.patch
- 101-netlink-Fix-maybe-uninitialized-meters-variable.patch
- 102-raw-marvell-c-Fix-build-with-musl-libc.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>