openwrt/staging/ldir.git
3 years agoramips: reorganize DTSI files for D-Link DIR-8xx
Adrian Schmutzler [Sun, 20 Jun 2021 15:11:09 +0000 (17:11 +0200)]
ramips: reorganize DTSI files for D-Link DIR-8xx

 * Remove micro-DTSI mt7621_dlink_dir-882-x1.dtsi to ease reading
   config without too much inheritance
 * Use "separate" partitioning DTSIs so we can use the partitioning
   without a complete match on the other settings (i.e. without the
   former parent DTSI)
 * Rename files to express the new organization

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agotreewide: remove PKG_INSTALL from CMake packages
Rosen Penev [Sat, 19 Jun 2021 03:43:28 +0000 (20:43 -0700)]
treewide: remove PKG_INSTALL from CMake packages

It's already default with cmake.mk

Found with:

git grep PKG_INSTALL\: | cut -d ':' -f 1 | sort -u > ins
git grep cmake.mk | cut -d ':' -f 1 > cmake
comm -1 -2 ins cmake

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotreewide: remove BUILD_PARALLEL from CMake packages
Rosen Penev [Sat, 19 Jun 2021 03:35:14 +0000 (20:35 -0700)]
treewide: remove BUILD_PARALLEL from CMake packages

It's already default. The only exception is mt76 which has Ninja
disabled.

Found with:

git grep BUILD_PARALLEL | cut -d ':' -f 1 | sort -u > par
git grep cmake.mk | cut -d ':' -f 1 > cmake
comm -1 -2 par cmake

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agofirmware-utils: tplink-safeloader: support Archer A6 v3 CA
Stijn Segers [Wed, 16 Jun 2021 12:47:06 +0000 (14:47 +0200)]
firmware-utils: tplink-safeloader: support Archer A6 v3 CA

The Canadian edition of the TP-Link Archer A6 v3 uses a different header, but
otherwise it's identical to the already supported EU/US editions.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
Tested-by: Brian Lee <dev@leebrian.me>
Reviewed-by: Philip Prindeville <philipp@redfish-solutions.com>
3 years agobuild: Config-images: fix unit of partition sizes
Paul Fertser [Wed, 16 Jun 2021 14:15:59 +0000 (17:15 +0300)]
build: Config-images: fix unit of partition sizes

The code interprets these config values as Mebibytes rather than
Megabytes so modify the description accordingly.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
[fix commit title prefix]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agotools/ccache: update to 4.3
Rosen Penev [Fri, 18 Jun 2021 05:55:38 +0000 (22:55 -0700)]
tools/ccache: update to 4.3

Remove BUILD_PARALLEL as it's default now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agomac80211: fix an issue with wds links on 802.11ax devices
Felix Fietkau [Sat, 19 Jun 2021 10:16:49 +0000 (12:16 +0200)]
mac80211: fix an issue with wds links on 802.11ax devices

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agokernel: disable CONFIG_PCIE_BUS_PERFORMANCE
Felix Fietkau [Fri, 18 Jun 2021 12:33:28 +0000 (14:33 +0200)]
kernel: disable CONFIG_PCIE_BUS_PERFORMANCE

The option was added in 5.9 and for some reason, it is causing performance
issues at least on an APU2 board with the igb device.
Switch CONFIG_PCIE_BUS_DEFAULT to fix the performance issues and match the
older kernel's behavior

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: remove extra patch accidentally added during rebase
Felix Fietkau [Fri, 18 Jun 2021 07:55:46 +0000 (09:55 +0200)]
mac80211: remove extra patch accidentally added during rebase

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agokernel: make cryptoapi support needed by mac80211 built-in
Felix Fietkau [Fri, 18 Jun 2021 07:31:05 +0000 (09:31 +0200)]
kernel: make cryptoapi support needed by mac80211 built-in

This reduces the flash space impact, since built-in code is much smaller
than a bunch of kernel modules on squashfs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: remove patches stripping down crypto support
Felix Fietkau [Fri, 18 Jun 2021 07:20:54 +0000 (09:20 +0200)]
mac80211: remove patches stripping down crypto support

Use of WPA3 and things like FILS is getting much more common, and platforms
that can't affort the extra kilobytes for this code are fading away.
Let's not hold back modern authentication methods any longer

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: system hang caused by deferring calls into minstrel to dequeue
Felix Fietkau [Thu, 17 Jun 2021 16:10:36 +0000 (18:10 +0200)]
mac80211: system hang caused by deferring calls into minstrel to dequeue

Move the aggregation check to mac80211

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: fix minstrel sample time check
Felix Fietkau [Thu, 17 Jun 2021 10:40:15 +0000 (12:40 +0200)]
mac80211: fix minstrel sample time check

We need to skip sampling if the next sample time is after jiffies, not before.
This patch fixes an issue where in some cases only very little sampling (or none
at all) is performed, leading to really bad data rates

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: select iwinfo
Felix Fietkau [Thu, 17 Jun 2021 10:03:48 +0000 (12:03 +0200)]
mac80211: select iwinfo

Since iwinfo is now used in the core scripts, it needs to be present on the system

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: fix processing HE capabilities (FS#3871)
Felix Fietkau [Thu, 17 Jun 2021 09:04:27 +0000 (11:04 +0200)]
mac80211: fix processing HE capabilities (FS#3871)

Use the right argument to fix setting unsupported capabilities to 0

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobuild: preserve profiles.json between builds
Moritz Warning [Sun, 21 Feb 2021 23:18:10 +0000 (00:18 +0100)]
build: preserve profiles.json between builds

Keep other profiles.json content if the data belongs to the current
build version.

Also useful for the ImageBuilder, which builds for a single model each
time. Without this commit the profiles.json would only contain the
latest build profile information.

Signed-off-by: Moritz Warning <moritzwarning@web.de>
[improve commit message]
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agougps: start also in case device is absent
Daniel Golle [Thu, 27 May 2021 10:34:38 +0000 (12:34 +0200)]
ugps: start also in case device is absent

Don't bail out from init script in case the GPS device is missing.
Some modems take time to come up, and some people may use things like
'kplex' to feed ugpsd. Hence it is better to always start ugpsd
unconditionally and let procd's respawn take care of retrying.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agobuild: ensure that dash isn't prepended twice to abi version suffix
Jo-Philipp Wich [Tue, 15 Jun 2021 07:54:45 +0000 (09:54 +0200)]
build: ensure that dash isn't prepended twice to abi version suffix

The ABIV_$(pkgname) variable already is formatted so return it as-is from
the GetABISuffix macro and only filter through FormatABISuffix if we read
the raw ABI version value from a version stamp file.

This ensures that binary intra-package dependencies on ABI versioned
libraries are properly formatted.

Ref: https://github.com/openwrt/packages/issues/15871
Fixes: f6a03bff5b ("build: prepend ABI suffixes with a dash if package name ends with digit")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agobase-files: fix typo in config_generate MAC check
Rafał Miłecki [Mon, 14 Jun 2021 20:29:49 +0000 (22:29 +0200)]
base-files: fix typo in config_generate MAC check

Fixes: 8d8eb9d13fc6 ("base-files: set MAC for bridge ports (devices) instead of bridge itself")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agobase-files: set MAC for bridge ports (devices) instead of bridge itself
Rafał Miłecki [Mon, 14 Jun 2021 18:18:14 +0000 (20:18 +0200)]
base-files: set MAC for bridge ports (devices) instead of bridge itself

This restores the original config_generate behaviour. With MAC set for
bridged devices the bridge automatically gets its MAC adjusted (it picks
the lowest MAC of bridged devices).

This fixes confusing interfaces setup (bridge ports not having custom
MAC assigned).

Reported-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
Fixes: e002179a6d2e ("base-files: simplify setting device MAC")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agobuild: prepend ABI suffixes with a dash if package name ends with digit
Jo-Philipp Wich [Mon, 14 Jun 2021 12:58:37 +0000 (14:58 +0200)]
build: prepend ABI suffixes with a dash if package name ends with digit

Ensure that ABI suffixes are separated with a dash from the package name if
the name happens to end with a digit. This implementation detail got lost
during the recent refactoring of the ABI_VERSION handling in buildroot.

Ref: https://github.com/openwrt/packages/pull/14237#issuecomment-860473585
Fixes: c921650382 ("build: drop ABI version from metadata")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agokernel: bump 5.10 to 5.10.43
Rui Salvaterra [Thu, 10 Jun 2021 18:51:01 +0000 (19:51 +0100)]
kernel: bump 5.10 to 5.10.43

No deleted or manually refreshed patches.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agoramips: refresh at803x patch
David Bauer [Sun, 13 Jun 2021 23:33:03 +0000 (01:33 +0200)]
ramips: refresh at803x patch

This patch failed to apply, breaking builds for the ramips target.

Fixes commit c44cefceb3ad ("generic: kernel 5.4: fix probe error for AR803x PHYs")

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoopkg: update to git HEAD
Hauke Mehrtens [Sun, 13 Jun 2021 21:43:36 +0000 (23:43 +0200)]
opkg: update to git HEAD

 1bf042d libopkg: pkg_hash: print unresolved dependencies

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoopkg: Fix download over git
Hauke Mehrtens [Sun, 13 Jun 2021 21:40:00 +0000 (23:40 +0200)]
opkg: Fix download over git

Set the PKG_SOURCE_URL using a lazy set to allow evaluating
$(PROJECT_GIT) later. Without this change PKG_SOURCE_URL is evaluated
immediately, before PROJECT_GIT is defined and the download over git is
not working.

Fixes: 6687a2483a09 ("opkg: use $(PROJECT_GIT), $(AUTORELEASE) and SPDX")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agotreewide: mark selected packages nonshared
Hannu Nyman [Sun, 6 Jun 2021 15:15:08 +0000 (18:15 +0300)]
treewide: mark selected packages nonshared

Mark uci, ubus, libubox, lua, libnl-tiny and libjson-c
as nonshared packages. This helps to keep coherent dependencies
if these ABI versioned packages are later updated.

Before this commit it is possible to get missing dependencies
in target-specific nonshared packages (like iwinfo) that depend
on these shared ABI versioned packages. If these are later updated
and rebuilt, only the new ABI version will be available for download,
while the target-specific packages in releases continue to depend on
the old ABI version.

After this commit the packages are built along the other nonshared
packages by the phase1 images buildbot and will be available at the
target/ download directories instead of packages/base dir. That will
help to keep a coherent set available.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
3 years agokernel: move some drm symbols to generic config
Tomasz Maciej Nowak [Sun, 13 Jun 2021 16:28:21 +0000 (18:28 +0200)]
kernel: move some drm symbols to generic config

These are architecture independent, so move them to generic config.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
3 years agotegra: add support for kernel 5.10
Tomasz Maciej Nowak [Sun, 13 Jun 2021 16:28:20 +0000 (18:28 +0200)]
tegra: add support for kernel 5.10

Mark it as testing for now.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
3 years agotegra: copy files for kernel 5.10
Tomasz Maciej Nowak [Sun, 13 Jun 2021 16:28:19 +0000 (18:28 +0200)]
tegra: copy files for kernel 5.10

Dumb copy of current kernel 5.4 config and patches.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
3 years agotegra: refresh kernel config
Tomasz Maciej Nowak [Sun, 13 Jun 2021 16:28:18 +0000 (18:28 +0200)]
tegra: refresh kernel config

Recent filtering rules alow to trim the kernel configuration in size, do
that to reduce the diff between current config and upcoming one.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
3 years agoath79: add support for TP-Link TL-WR841HP v3
Andy Lee [Sun, 23 May 2021 13:02:19 +0000 (20:02 +0700)]
ath79: add support for TP-Link TL-WR841HP v3

Specifications:
- QCA9533 SoC, 8 MB nor flash, 64 MB DDR2 RAM
- 2x2 9dBi antenna, wifi 2.4Ghz 300Mbps
- 4x Ethernet LAN 10/100, 1x Ethernet WAN 10/100
- 1x WAN, LAN, Wifi, PWR, WPS, RE Leds
- Reset, Wifi on/off, WPS, RE buttons
- Serial UART at J4 onboard: 3.3v GND RX TX, 1152008N1

Label MAC addresses based on vendor firmware:
LAN      *:ea    label
WAN      *:eb    label +1
2.4 GHz  *:ea    label
The label MAC address in found in u-boot 0x1fc00

Installation:
Upload openwrt-ath79-generic-tplink_tl-wr841hp-v3-squashfs-factory.bin
from stock firmware webgui.
Maybe we need rename to shorten file name due to stock webgui error.

Revert back to stock firmware instructions:
- set your PC to static IP address 192.168.0.66 netmask 255.255.255.0
- download stock firmware from Tp-link website
- put it in the root directory of tftp server software
- rename it to wr841hpv3_tp_recovery.bin
- power on while pressing Reset button until any Led is lighting up
- wait for the router to reboot. done

Forum support topic:
https://forum.openwrt.org/t/support-for-tp-link-tl-wr841hp-v3-router

Signed-off-by: Andy Lee <congquynh284@yahoo.com>
[rebase and squash]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Sun, 13 Jun 2021 20:25:42 +0000 (22:25 +0200)]
odhcpd: update to latest git HEAD

564d25e config: fix ra_flags none setting

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
3 years agoapm821xx: move CONFIG_REGULATOR to target config
David Bauer [Sat, 12 Jun 2021 22:05:59 +0000 (00:05 +0200)]
apm821xx: move CONFIG_REGULATOR to target config

This moves CONFIG_REGULATOR to the target config instead of the
subtarget config.

For kernel 5.10, CONFIG_AT803X_PHY depends on CONFIG_REGULATOR.
As we do not have a size constraint, move this symbol to the
target configuration for kernel 5.4 as well as 5.10.

Reported-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agogeneric: kernel 5.4: fix probe error for AR803x PHYs
David Bauer [Sat, 12 Jun 2021 11:12:40 +0000 (13:12 +0200)]
generic: kernel 5.4: fix probe error for AR803x PHYs

Atheros PHYs using the at803x driver apart from the AR8031/AR8033 fail
to probe with kernel 5.4, due to ret in at803x_probe being
uninitialized.

[    1.403461] Atheros 8035 ethernet: probe of 4ef600c00.ethernet:01
       failed with error -1066114012

Initialize ret in order to successfully prove the PHYs on kernel 5.4.

Kernel 5.10 is not affected, as the ret is always assigned prior to
returning.

Tested on OCEDO Koala.

Reported-by: Russell Senior <russell@personaltelco.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoramips: add support for TP-Link Archer C6 v3
Amish Vishwakarma [Sat, 5 Jun 2021 07:01:00 +0000 (12:31 +0530)]
ramips: add support for TP-Link Archer C6 v3

The patch adds support for the TP-Link Archer C6 v3 (FCC ID TE7A6V3)
The patch adds identification changes to the existing TP-Link Archer A6,
by Vinay Patil <post2vinay@gmail.com>, which has identical hardware.

Specification
-------------
MediaTek MT7621 SOC
RAM:         128MB DDR3
SPI Flash:   W25Q128 (16MB)
Ethernet:    MT7530 5x 1000Base-T
WiFi 5GHz:   Mediatek MT7613BE
WiFi 2.4GHz: Mediatek MT7603E
UART/Serial: 115200 8n1

Device Configuration & Serial Port Pins
---------------------------------------
ETH Ports:    LAN4 LAN3 LAN2 LAN1 WAN
             _______________________
             |                     |
Serial Pins: |   VCC GND TXD RXD   |
             |_____________________|

LEDs:         Power Wifi2G Wifi5G LAN WAN

Build Output
------------
The build will generate following set of files
[1] openwrt-ramips-mt7621-tplink_archer-c6-v3-initramfs-kernel.bin
[2] openwrt-ramips-mt7621-tplink_archer-c6-v3-squashfs-factory.bin
[3] openwrt-ramips-mt7621-tplink_archer-c6-v3-squashfs-sysupgrade.bin

How to Use - Flashing from TP-Link Web Interface
------------------------------------------------
* Go to "Advanced/System Tools/Firmware Update".
* Click "Browse" and upload the OpenWrt factory image: factory.bin[2]
* Click the "Upgrade" button, and select "Yes" when prompted.

TFTP Booting
------------
Setup a TFTP boot server with address 192.168.0.5.
While starting U-boot press '4' key to stop autoboot.
Copy the initramfs-kernel.bin[1] to TFTP server folder, rename as test.bin
From u-boot command prompt run tftpboot followed by bootm.

Recovery
--------
Archer A6 V3 has recovery page activated if SPI booting from flash fails.
Recovery page can be activated by powercycling the router four times
before the boot process is complete.
Note: TFTP boot can be activated only from u-boot serial console.
Device recovery address: 192.168.0.1

Signed-off-by: Amish Vishwakarma <vishwakarma.amish@gmail.com>
[fix indent]
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoprereq-build: diff requirement to GNU
Rosen Penev [Sat, 12 Jun 2021 23:02:29 +0000 (16:02 -0700)]
prereq-build: diff requirement to GNU

tools/quilt requires GNU diffutils to compile. Failure can be simulated
by installing Alpine Linux without diffutils.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agobase-files: upgrade: use procd to kill managed daemons
Michael Pratt [Sat, 29 May 2021 13:03:11 +0000 (09:03 -0400)]
base-files: upgrade: use procd to kill managed daemons

These processes are managed by procd and set to start again when killed
via the procd instance parameter "respawn" being set during init.

Example:
procd_set_param respawn 3600 1 0

When they are killed manually during sysupgrade,
they are started again in 5 seconds or less, depending on
how the "respawn" parameter is set.

Use procd through ubus to disable the instances that respawn them,
however, allow dnsmasq, netifd, and logd to restart for remote logging.

Properly closing all these processes increases free memory by about 3 MB,
which should help low memory devices upgrade without crashing.

For very low memory devices (set to 32 MB for now)
also kill dnsmasq, netifd, and logd for an additional 3 MB of free memory.

Also, bump sleep values to allow at least 10 seconds
for network interfaces and daemons
to come up after they are killed and restarted
before caches are dropped.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
3 years agoREADME: switch from freenode to oftc
Paul Spooren [Sat, 12 Jun 2021 22:38:30 +0000 (12:38 -1000)]
README: switch from freenode to oftc

We recently switched from freenode.net to oftc.net, reflect that in the
README and update the links.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoREADME: update routing.git URL
Paul Spooren [Sat, 12 Jun 2021 18:27:16 +0000 (08:27 -1000)]
README: update routing.git URL

The routing packages feed moved from `openwrt-routing/packages` to
`openwrt/routing`, reflect that in the README.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agobuild: do not override DESTDIR for cmake ninja host builds
Felix Fietkau [Sat, 12 Jun 2021 12:32:41 +0000 (14:32 +0200)]
build: do not override DESTDIR for cmake ninja host builds

The full prefix is already passed to cmake

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agotools: build ninja before ccache to fix the build order
Felix Fietkau [Sat, 12 Jun 2021 12:24:40 +0000 (14:24 +0200)]
tools: build ninja before ccache to fix the build order

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agotools: fix dependencies of cmake packages
Felix Fietkau [Sat, 12 Jun 2021 10:40:02 +0000 (12:40 +0200)]
tools: fix dependencies of cmake packages

Make cmake depend on ninja, so that other cmake based tools also depend on it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobuild: use ninja for cmake packages by default
Felix Fietkau [Thu, 10 Jun 2021 12:01:04 +0000 (14:01 +0200)]
build: use ninja for cmake packages by default

Speed goes from:

Executed in     178.08 secs     fish            external
usr time        20.16 mins      509.00 micros   20.16 mins
sys time        2.88 mins       39.00 micros    2.88 mins

To:

Executed in     175.90 secs     fish            external
usr time        20.19 mins      0.00 micros     20.19 mins
sys time        2.85 mins       497.00 micros   2.85 mins

Tested with "time make -j 12" on AMD Ryzen 3600

When building individual packages, the build time difference is often
significantly bigger than that.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agopackage: fix cmake packages build with ninja
Rosen Penev [Sun, 6 Jun 2021 21:24:43 +0000 (14:24 -0700)]
package: fix cmake packages build with ninja

+= is needed for CMAKE_OPTIONS.

mt76 needs Ninja disabled as the kernel stuff uses normal make.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agobuild: add ninja build tool and make it available for cmake
Felix Fietkau [Sun, 6 Jun 2021 12:31:01 +0000 (14:31 +0200)]
build: add ninja build tool and make it available for cmake

ninja is faster at building cmake packages than make, and according to reports
also more reliable at handling parallel builds
This commit includes a patch that adds GNU make jobserver support, in order to
allow more precise control over the number of parallel tasks

Enable parallel build by default for packages using ninja

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agou-boot: support verbose build
Felix Fietkau [Sat, 29 Aug 2020 20:24:59 +0000 (22:24 +0200)]
u-boot: support verbose build

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: add support for 802.3 encap offload with software rate control
Felix Fietkau [Sun, 6 Jun 2021 18:58:33 +0000 (20:58 +0200)]
mac80211: add support for 802.3 encap offload with software rate control

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: improve rate control performance
Felix Fietkau [Sun, 6 Jun 2021 18:57:39 +0000 (20:57 +0200)]
mac80211: improve rate control performance

Call rate control handler after intermediate queueuing

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agorockchip: add NanoPi R4S support
Tianling Shen [Fri, 25 Dec 2020 12:03:14 +0000 (20:03 +0800)]
rockchip: add NanoPi R4S support

Hardware
--------
RockChip RK3399 ARM64 (6 cores)
4GB LPDDR4 RAM
2x 1000 Base-T
3 LEDs (LAN / WAN / SYS)
1 Button (Reset)
Micro-SD slot
2x USB 3.0 Port

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card using
dd.

=====================================
NOTICE FOR USERS WHO USE 1GB VERSION:
     BY NOW IT IS NOT SUPPORTED
====================================

[initialed target]
Co-developed-by: Marty Jones <mj8263788@gmail.com>
Signed-off-by: Marty Jones <mj8263788@gmail.com>
[fixed bootscript]
Co-developed-by: Jayantajit Gogoi <jayanta.gogoi525@gmail.com>
Signed-off-by: Jayantajit Gogoi <jayanta.gogoi525@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
3 years agouboot-rockchip: add NanoPi R4S support
Tianling Shen [Thu, 13 May 2021 13:49:59 +0000 (21:49 +0800)]
uboot-rockchip: add NanoPi R4S support

Add support for the FriendlyARM NanoPi R4S.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
3 years agox86: add upgrade support to diag.sh
Chris Blake [Wed, 9 Jun 2021 12:23:11 +0000 (07:23 -0500)]
x86: add upgrade support to diag.sh

Similar to how this is done in the diag.sh found in the base-files
package, we should blink our status LED (if we have one) during the
upgrade process. This follows the same blink pattern as seen at
./package/base-files/files/etc/diag.sh#L36

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
3 years agomac80211: rely on iwinfo for phy->path and path->phy lookups
Felix Fietkau [Wed, 9 Jun 2021 12:32:32 +0000 (14:32 +0200)]
mac80211: rely on iwinfo for phy->path and path->phy lookups

This avoids inconsistencies from having multiple implementations do the same thing

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoiwinfo: update to the latest version
Felix Fietkau [Thu, 10 Jun 2021 06:52:28 +0000 (08:52 +0200)]
iwinfo: update to the latest version

aa0e3c4bbe12 iwinfo: nl80211: add support for printing the device path for a phy
dd6d6d2dec35 iwinfo: nl80211: use new path lookup function for nl80211_phy_idx_from_uci_path
268bb26d2e2a iwinfo: nl80211: support looking up phy by path=.. and macaddr=...
c0414642fead iwinfo: nl80211: fix typo

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoramips: fix LAN LED trigger assignment for Xiaomi Router 3 Pro
Adam Elyas [Tue, 8 Jun 2021 00:09:18 +0000 (08:09 +0800)]
ramips: fix LAN LED trigger assignment for Xiaomi Router 3 Pro

The default trigger for the amber lights on lan1 and lan3 were
mistakenly swapped after the device's migration to DSA. This
caused activity on one port to trigger the amber light on the
other port. Swapping their default trigger in the DTS file
fixes that.

Signed-off-by: Adam Elyas <adamelyas@outlook.com>
[minor commit title adjustment, wrap commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: mt7620: disable Jboot devices build
Pawel Dembicki [Wed, 9 Jun 2021 10:52:51 +0000 (12:52 +0200)]
ramips: mt7620: disable Jboot devices build

At this moment kernel size in mt7620 snapshot builds is bigger than 2048k.
It should be disabled by default.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
3 years agoramips: mt7620: add kernel size for Jboot devices
Pawel Dembicki [Wed, 9 Jun 2021 10:22:39 +0000 (12:22 +0200)]
ramips: mt7620: add kernel size for Jboot devices

Since few months multiple users reported problems with various JBoot
devices. [0][1][2][3] All of them was bricked.

On my Lava LR-25G001 it freezes with current snapshot:

CDW57CAM_003 Jboot B695
Giga Switch AR8327 init
AR8327/AR8337 id   ==> 0x1302
JRecovery Version R1.2 2014/04/01 18:25
SPI FLASH: MX25l12805d 16M
.
.
(freeze)

The kernel size is >2048k.

I built current master with minimal config and it boots well:

CDW57CAM_003 Jboot B695
Giga Switch AR8327 init
AR8327/AR8337 id   ==> 0x1302
JRecovery Version R1.2 2014/04/01 18:25
SPI FLASH: MX25l12805d 16M
.
...........................
Starting kernel @80000000...
[    0.000000] Linux version 5.4.124

Kernel size is <2048k.

Jboot bootloader isn't open source, so it's impossible to find
solution in code. It looks, that some buffer for kernel have 2MB size.

To avoid bricked devices, this commit introduces 2048k limit kernel
size for all jboot routers.

[0] https://bugs.openwrt.org/index.php?do=details&task_id=3539
[1] https://eko.one.pl/forum/viewtopic.php?pid=254344
[2] https://eko.one.pl/forum/viewtopic.php?id=20930
[3] https://eko.one.pl/forum/viewtopic.php?pid=241376#p241376

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
[remove Fixes:]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: fix Ethernet random MAC address for HILINK HLK-7628N
Liu Yu [Tue, 8 Jun 2021 01:50:02 +0000 (09:50 +0800)]
ramips: fix Ethernet random MAC address for HILINK HLK-7628N

Set the ethernet address from flash.

MAC addresses as verified by OEM firmware:

  use   interface  source
  2g    wlan0      factory 0x04 (label)
  LAN   eth0.1     factory 0x28 (label+1)
  WAN   eth0.2     factory 0x2e (label+2)

Fixes: 671c9d16e382 ("ramips: add support for HILINK HLK-7628N")
Signed-off-by: Liu Yu <f78fk@live.com>
[drop old MAC address setup from 02_network, cut out state_default
changes, face-lift commit message, add Fixes:]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agotoolchain/gdb: fix broken non-python build
Felix Fietkau [Wed, 9 Jun 2021 11:16:11 +0000 (13:16 +0200)]
toolchain/gdb: fix broken non-python build

Append configure args instead of overwriting them

Fixes: 74417f8b3a80 ("toolchain: gdb: Add optional python support")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agobuild: fix build for devices without initramfs
David Bauer [Tue, 8 Jun 2021 17:30:12 +0000 (19:30 +0200)]
build: fix build for devices without initramfs

Don't attempt to copy initramfs images for devices which do not output
an initramfs image.

This was breaking builds for mpc85xx-p1010 since mid-march.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoscripts/feeds: generate index after all feeds are updated
Karel Kočí [Thu, 11 Feb 2021 09:57:06 +0000 (10:57 +0100)]
scripts/feeds: generate index after all feeds are updated

This separates index update from feed update. The result is that all
requested feeds are first updated and only then indexed.

The reason for this change is to prevent errors being reported and
potentially invalid index being generated thanks to cross feeds
dependency.
The feeds script pulls in default all feeds as they come and on install
prefers packages from first feeds (unless special feed is requested).
Thus order of feeds in some way specifies preferences. This is handy for
downstream distributions as they can simply override any package from
upstream feeds by placing their feed before them. This removes need to
patch or fork upstream feeds.
The problem is that such feed most likely depends in some way also on
subsequent feeds. The most likely feeds are 'packages' or 'luci'. The
example would be Python package that needs 'python.mk' from 'packages'
feed. Ordering custom feed after dependent feeds is sometimes just not
possible because of preference requirement described before.
The solution is to just first pull all feeds and generate indexes only
after that. In the end this ensures that index is generated correctly at
first try without any error.

In terms of code this removes 'perform_update' argument from
'update_feed' as with index update removal the update is the only action
performed in that subroutine. Thus this moves condition to 'update'
subroutine.

Signed-off-by: Karel Kočí <karel.koci@nic.cz>
3 years agoramips: fix patch location
David Bauer [Sun, 6 Jun 2021 23:05:24 +0000 (01:05 +0200)]
ramips: fix patch location

The patch for adding the config_aneg function for the Atheros
AR8031/AR8033 PHY was formatted in a way it moved to different PHY
models while refreshing patches on kernel updates.

Move the diff directly below the PHY name so this won't happen in the
future.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoramips: mt7620: enable autonegotiation for all ports
Gaspare Bruno [Wed, 13 Jan 2021 21:03:39 +0000 (18:03 -0300)]
ramips: mt7620: enable autonegotiation for all ports

This enables autonegotiation for all ephy ports on probe.
Some devices do not configure the ports, particularly port 4.

Signed-off-by: Gaspare Bruno <gaspare@anlix.io>
[replace magic values ; reword commit message]
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoramips: make PHY initialization more descriptive
David Bauer [Sun, 6 Jun 2021 17:45:24 +0000 (19:45 +0200)]
ramips: make PHY initialization more descriptive

The basic mode control register of the ESW PHYs is modified in this
codeblock. Use the respective macros to make this code more readable.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agolinux-firmware: update to 20210511
Tomas Lara [Tue, 1 Jun 2021 18:00:15 +0000 (14:00 -0400)]
linux-firmware: update to 20210511

git log --pretty=oneline --abbrev-commit 20201118..20210511

7685cf4 (HEAD, tag: 20210511) nvidia: Update Tegra194 XUSB firmware to v60.09
cf32752 nvidia: Update Tegra186 XUSB firmware to v55.18
cb8ca82 nvidia: Update Tegra210 XUSB firmware to v50.26
f99d6a1 linux-firmware: update firmware for mhdp8546
ecdfcf8 Merge branch 'adlp_dmc_firmware' of git://anongit.freedesktop.org/drm/drm-firmware into main
547b202 Merge https://github.com/suraj714/linux-firmware-venus into main
3d32f21 i915: Add ADL-P DMC Support
3f23f51 amdgpu: add new polaris 12 MC firmware
a2565bb firmware: nvidia: Add VIC firmware for Tegra194
17ec2a5 qcom: add gpu firmwares for sc7280
b653cf4 Merge https://github.com/pkshih/linux-firmware into main
2a96c08 brcm: Add a link to enable khadas VIM2's WiFi
ffc64a2 rtw89: 8852a: update fw to v0.13.8.0
3e3497c rtl_bt: Update RTL8852A BT USB firmware to 0xD9A8_7893
c7b11ed qcom: Add venus firmware files for VPU-2.0
2f4f0f8 rtw89: 8852a: update fw to v0.13.8.0
fa0efef linux-firmware: Update firmware file for Intel Bluetooth AX210
9be3daa linux-firmware: Update firmware file for Intel Bluetooth 9560
687d64a linux-firmware: Update firmware file for Intel Bluetooth 9260
a7f1249 linux-firmware: Update firmware file for Intel Bluetooth AX200
47650a0 linux-firmware: Update firmware file for Intel Bluetooth AX201
195ecf1 linux-firmware: Intel BT 7265: Fix Security Issues
4116d72 linux-firmware: Update firmware file for Intel Bluetooth 8265
ca83c73 qcom: update venus firmware files for v5.4
1334578 Merge branch 'mrvl-prestera' of https://github.com/PLVision/linux-firmware into main
16052e4 mrvl: prestera: Add Marvell Prestera Switchdev firmware 3.0 version
bdf929d rtw88: 8822c: Update normal firmware to v9.9.9
0b558e8 brcm: add missing symlink for Pi Zero W NVRAM file
cfa004c amdgpu: update arcturus firmware from 21.10
d5567c5 amdgpu: update navy flounder firmware from 21.10
ef5ea5d amdgpu: update sienna cichlid firmware from 21.10
f35700f amdgpu: update vega20 firmware from 21.10
1be98f1 amdgpu: update picasso firmware from 21.10
fee0497 amdgpu: update navi14 firmware from 21.10
15003b0 amdgpu: update green sardine firmware from 21.10
64555fb amdgpu: update vega12 firmware from 21.10
eb07276 amdgpu: update navi12 firmware from 21.10
e36c82a amdgpu: update vega10 firmware from 21.10
4a5eaa2 amdgpu: update renoir firmware from 21.10
65eb326 amdgpu: update navi10 firmware from 21.10
8bdca03 amdgpu: update raven2 firmware from 21.10
c9e44ca amdgpu: update raven firmware from 21.10
bc3e610 rtl_nic: add new firmware for RTL8153 and RTL8156 series
8528618 Merge branch 'for-upstream' of git://git.chelsio.net/pub/git/linux-firmware into main
940b7f4 cxgb4: Update firmware to revision 1.25.4.0
f66adc3 Merge branch 'main' of gitolite.kernel.org:/pub/scm/linux/kernel/git/maks/linux-firmware into main
f350e91 Merge https://github.com/rjliao-qca/qca-btfw into main
9bc1bcc Merge https://github.com/Netronome/linux-firmware into main
2f30708 Mellanox: Add new mlxsw_spectrum firmware xx.2008.2438
393f272 brcm: Link CM4's WiFi firmware with DMI machine name.
73144e0 linux-firmware: Update firmware file for Intel Bluetooth AX201
8ab7aba amdgpu: update navi14 smc firmware
4fe6e53 amdgpu: update navi10 SMC firmware
c296849 QCA: Update Bluetooth firmware for QCA6174
d6a18e9 WHENCE: link to similar config file for rtl8821a support
6c419ae nfp: update Agilio SmartNIC flower firmware to rev AOTC-2.14.A.6
af1ca28 amdgpu: add arcturus firmware
0dd245d Merge branch 'sm8250-new-fw' of https://github.com/lumag/linux-firmware into main
55cab07 rtl_bt: Add rtl8723bs_config-OBDA0623.bin symlink
2548d06 brcm: Add nvram for the Chuwi Hi8 (CWI509) tablet
e45c137 brcm: Add nvram for the Predia Basic tablet
d8fa0cf qcom: sm8250: update remoteproc firmware
84af0e0 qcom: update a650 firmware files
3f026a2 rtl_bt: Update RTL8822C BT(UART I/F) FW to 0x59A_76A3
c82cb46 amdgpu: update sienna cichlid firmware for 20.50
24fe696 amdgpu: update vega20 firmware for 20.50
e05d197 amdgpu: update picasso firmware for 20.50
76d07cd amdgpu: update navi14 firmware for 20.50
b2fc037 amdgpu: update vega12 firmware for 20.50
25451a4 amdgpu: update navi12 firmware for 20.50
b938597 amdgpu: update vega10 firmware for 20.50
2542ba7 amdgpu: update renoir firmware for 20.50
b55d063 amdgpu: update navi10 firmware for 20.50
1a62f28 amdgpu: update raven2 firmware for 20.50
4df488f amdgpu: update raven firmware for 20.50
a29bdb2 amdgpu: add initial support for navy flounder
3568f96 (tag: 20210315) linux-firmware: Update firmware file for Intel Bluetooth AX210
9e96e50 linux-firmware: Update firmware file for Intel Bluetooth AX200
c8d0db5 linux-firmware: Update firmware file for Intel Bluetooth AX201
5e2a387 Merge tag 'iwlwifi-fw-2021-03-05-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware into main
b0d3e31 rtw88: 8822c: Update normal firmware to v9.9.6
5a2fd63 iwlwifi: add new FWs from core59-66 release
4f54906 iwlwifi: update 9000-family firmwares
11b7607 iwlwifi: update 7265D firmware
e425f76 Merge branch 'add-silabs-wf200' of github.com:jerome-pouiller/linux-firmware into main
5ecd13f Mellanox: Add new mlxsw_spectrum firmware xx.2008.2406
58fb90a linux-firmware: add frimware for mediatek bluetooth chip (MT7921)
e576a1b rtw89: 8852a: add firmware v0.9.12.2
048a7cb WHENCE: add missing symlink for BananaPi M3
aa6c6e7 Add symlink for BananaPi M2 to brcmfmac43430-sdio config
58825f7 brcm: Fix Raspberry Pi 4B NVRAM file
520f71b silabs: add new firmware for WF200
f7915a0 amdgpu: add initial firmware for green sardine
80cb579 rtw88: RTL8822C: Update normal firmware to v9.9.5
b79d239 (tag: 20210208) Merge branch 'DG1-guc-huc-ADLS-dmc' of git://anongit.freedesktop.org/drm/drm-firmware into main
66970e1 Merge branch 'qcom-rb5' of https://github.com/lumag/linux-firmware into main
cf6fc2b Mellanox: Add new mlxsw_spectrum firmware xx.2008.2304
391fd50 linux-firmware: add firmware for MT7921
c5e3240 rtw88: RTL8821C: Update firmware to v24.8
d33d2d8 linux-firmware: Update firmware file for Intel Bluetooth AX210
3027ae4 linux-firmware: Update firmware file for Intel Bluetooth AX200
13979c3 linux-firmware: Update firmware file for Intel Bluetooth AX201
348d8a9 i915: Add DMC v2.01 for ADL-S
f33f1f7 i915: Add HuC v7.7.1 for DG1
6a422f5 i915: Add GuC v49.0.1 for DG1
df822a8 qcom: Add venus firmware files for VPU-1.0
11a1db1 qcom: Add SM8250 Compute DSP firmware
e55248b qcom: Add SM8250 Audio DSP firmware
da74cc6 qcom: add firmware files for Adreno a650
0578970 brcm: Link RPi4's WiFi firmware with DMI machine name.
d528862 brcm: Add NVRAM for Vamrs 96boards Rock960
870b805 brcm: Update Raspberry Pi 3B+/4B NVRAM for downstream changes
a28a590 cypress: Fix link direction
060ad8b cypress: Link the new cypress firmware to the old brcm files
0f0aefd brcm: remove old brcm firmwares that have newer cypress variants
f580dc2 rtl_bt: Update RTL8822C BT(UART I/F) FW to 0x059A_25CB
7df2220 rtl_bt: Update RTL8822C BT(USB I/F) FW to 0x099a_7253
e79405d rtl_bt: Add firmware and config files for RTL8852A BT USB chip
ef3813d rtl_bt: Update RTL8821C BT(USB I/F) FW to 0x829a_7644
646f159 (tag: 20201218) make AP6212 in bananpi m2 plus/zero work
28185ec linux-firmware: Update firmware file for Intel Bluetooth AX210
23da869 linux-firmware: Update firmware file for Intel Bluetooth AX200
2099248 linux-firmware: Update firmware file for Intel Bluetooth AX201
94de5e2 linux-firmware: Update firmware file for Intel Bluetooth 9560
27a3689 linux-firmware: Update firmware file for Intel Bluetooth 9260
5c3c4af Merge branch 'lt9611uxc' of https://github.com/lumag/linux-firmware into main
aaed4a8 Merge branch 'v1.1.6' of https://github.com/irui-wang/linux_fw_vpu_v1.1.6 into main
d8c9865 Merge branch 'master' of https://github.com/sampnimm/linux-firmware-BT into main
63ab3db linux-firmware: add firmware for Lontium LT9611UXC DSI to HDMI bridge
0fe0fe0 mediatek: update MT8173 VPU firmware to v1.1.6
1a08ec9 QCA : Updated firmware files for WCN3991
7455a36 Merge branch 'guc_v49' of git://anongit.freedesktop.org/drm/drm-firmware into main
7eb7fda linux-firmware: Update firmware file for Intel Bluetooth AX210
5cbf459 linux-firmware: Update firmware file for Intel Bluetooth AX210
c487f7d i915: Add GuC firmware v49.0.1 for all platforms
d9ffb07 i915: Remove duplicate KBL DMC entry
b362fd4 Mellanox: Add new mlxsw_spectrum firmware xx.2008.2018
bc9cd0b linux-firmware: Update AMD SEV firmware
54c797a amdgpu: add sienna cichlid firmware for 20.45
1340e9c amdgpu: update vega20 firmware for 20.45
b260c9c amdgpu: update vega12 firmware for 20.45
d683bd5 amdgpu: update vega10 firmware for 20.45
7c81cc2 amdgpu: update renoir firmware for 20.45
3619e57 amdgpu: update navi14 firmware for 20.45
68ce0fb amdgpu: update navi12 firmware for 20.45
e889b80 amdgpu: update navi10 firmware for 20.45
f4edc15 amdgpu: update raven2 firmware for 20.45
e71210f amdgpu: update raven firmware for 20.45

Signed-off-by: Tomas Lara <tl849670@gmail.com>
[rebased; removed brcmfmac changes due to removed firmware]
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agogeneric: backport at803x fixes
David Bauer [Fri, 4 Jun 2021 13:12:14 +0000 (15:12 +0200)]
generic: backport at803x fixes

As patches for the AR8031/AR8033 copper page selection were merged
upstream, we can backport these patches.

This also fixes a PHY capabilities detection issue on the Ubiquiti
ER-X-SFP.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoethtool: update to version 5.12
Robert Marko [Sun, 16 May 2021 16:01:28 +0000 (18:01 +0200)]
ethtool: update to version 5.12

Update ethtool to newly released 5.12 version.

Signed-off-by: Robert Marko <robimarko@gmail.com>
3 years agougps: update to git HEAD
Daniel Golle [Mon, 7 Jun 2021 22:13:18 +0000 (23:13 +0100)]
ugps: update to git HEAD

 86ee86e nmea: parse $GPZDA sentences for date/time
 8e12414 nmea: parse $GPGLL sentences for position
 5e88403 ubus: display only available information

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoath79: fix eth0 PLL registers on WD My Net Wi-Fi Range Extender
Jonathan A. Kollasch [Fri, 11 Sep 2020 19:33:39 +0000 (14:33 -0500)]
ath79: fix eth0 PLL registers on WD My Net Wi-Fi Range Extender

This replaces the register bits for RGMII delay on the MAC side in favor
of having the RGMII delay on the PHY side by setting the phy-mode
property to rgmii-id (RGMII internal delay), which is supported by the
at803x driver.  Speed 1000 is fixed as a result, so now all ethernet
speeds function.

Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Reviewed-by: Michael Pratt <mcpratt@pm.me>
3 years agoath79: Support for Ubiquiti Rocket 5AC Lite
Nick Hainke [Sun, 25 Apr 2021 20:41:46 +0000 (22:41 +0200)]
ath79: Support for Ubiquiti Rocket 5AC Lite

The Ubiquiti Rocket 5AC Lite (R5AC-Lite) is an outdoor router.

Specifications:
 - SoC: Qualcomm Atheros QCA9558
 - RAM: 128 MB
 - Flash: 16 MB SPI
 - Ethernet: 1x 10/100/1000 Mbps
 - WiFi 5 GHz: QCA988x
 - Buttons: 1x (reset)
 - LEDs: 1x power, 1x Ethernet, 4x RSSI

Installation:
- Instructions for XC-type Ubiquiti:
  https://openwrt.org/toh/ubiquiti/common

Signed-off-by: Nick Hainke <vincent@systemli.org>
3 years agoath79: add support for NEC Aterm WF1200CR
INAGAKI Hiroshi [Wed, 24 Mar 2021 15:19:59 +0000 (00:19 +0900)]
ath79: add support for NEC Aterm WF1200CR

NEC Aterm WF1200CR is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on
QCA9561.

Specification:

- SoC : Qualcomm Atheros QCA9561
- RAM : DDR2 128 MiB (W971GG6SB-25)
- Flash : SPI-NOR 8 MiB (MX25L6433FM2I-08G)
- WLAN : 2.4/5 GHz 2T2R
  - 2.4 GHz : QCA9561 (SoC)
  - 5 GHz : QCA9888
- Ethernet : 2x 10/100 Mbps
  - Switch : QCA9561 (SoC)
- LEDs/Keys : 8x/3x (2x buttons, 1x slide-switch)
- UART : through-hole on PCB
  - JP1: Vcc, GND, NC, TX, RX from "JP1" marking
  - 115200n8
- Power : 12 VDC, 0.9 A

Flash instruction using factory image (stock: < v1.3.2):

1. Boot WF1200CR normally with "Router" mode
2. Access to "http://192.168.10.1/" and open firmware update page
   ("ファームウェア更新")
3. Select the OpenWrt factory image and click update ("更新") button to
   perform firmware update
4. Wait ~150 seconds to complete flashing

Alternate flash instruction using initramfs image (stock: >= v1.3.2):

1. Prepare the TFTP server with the IP address 192.168.1.10 and place
   the OpenWrt initramfs image to the TFTP directory with the name
   "0101A8C0.img"
2. Connect serial console to WF1200CR
3. Boot WF1200CR and interrupt with any key after the message
   "Hit any key to stop autoboot:  2", the U-Boot starts telnetd after
   the message "starting telnetd server from server 192.168.1.1"
4. login the telnet (address: 192.168.1.1)
5. Perform the following commands to modify "bootcmd" variable
   temporary and check the value
   (to ignore the limitation of available commands, "tp; " command at
   the first is required as dummy, and the output of "printenv" is
   printed on the serial console)

   tp; set bootcmd 'set autostart yes; tftpboot'
   tp; printenv

6. Save the modified variable with the following command and reset
   device

   tp; saveenv
   tp; reset

7. The U-Boot downloads initramfs image from TFTP server and boots it
8. On initramfs image, download the sysupgrade image to the device and
   perform the following commands to erase stock firmware and sysupgrade

   mtd erase firmware
   sysupgrade <sysupgrade image>

9. After the rebooting by completion of sysupgrade, start U-Boot telnetd
   and login with the same way above (3, 4)
10. Perform the following commands to reset "bootcmd" variable to the
    default and reset the device

    tp; run seattle
    tp; reset

    (the contents of "seattle":
     setenv bootcmd 'bootm 0x9f070040' && saveenv)
11. Wait booting-up the device

Known issues:

- the following 6x LEDs are connected to the gpio controller on QCA9888
  chip and the implementation of control via the controller is missing in
  ath10k/ath10k-ct

  - "ACTIVE" (Red/Green)
  - "2.4GHz" (Red/Green)
  - "5GHz"   (Red/Green)

Note:

- after the version v1.3.2 of stock firmware, "offline update" by
  uploading image by user is deleted and the factory image cannot be
  used

- the U-Boot on WF1200CR doesn't configure the port-side LEDs on WAN/LAN
  and the configuration is required on OpenWrt

  - gpio-hog: set the direction of GPIO 14(WAN)/19(LAN) to output
  - pinmux: set GPIO 14/19 as switch-controlled LEDs

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agoramips: Add support for SERCOMM NA502
Andreas Böhler [Sun, 14 Mar 2021 23:07:17 +0000 (00:07 +0100)]
ramips: Add support for SERCOMM NA502

The SERCOMM NA502 is a smart home gateway manufactured by SERCOMM and sold
under different brands (among others, A1 Telekom Austria SmartHome
Gateway). It has multi-protocol radio support in addition to LAN and WiFi.

Note: BLE is currently unsupported.

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

  - MT7621ST 880MHz, Single-Core, Dual-Thread
  - MT7603EN 2.4GHz WiFi
  - MT7662EN 5GHz WiFi + BLE
  - 128MiB NAND
  - 256MiB DDR3 RAM
  - SD3503 ZWave Controller
  - EM357 Zigbee Coordinator

MAC address assignment
----------------------

LAN MAC is read from the config partition, WiFi 2.4GHz is LAN+2 and matches
the OEM firmware. WiFi 5GHz with LAN+1 is an educated guess since the
OEM firmware does not enable 5GHz WiFi.

Installation
------------
Attach serial console, then boot the initramfs image via TFTP.
Once inside OpenWrt, run sysupgrade -n with the sysupgrade file.

Attention: The device has a dual-firmware design. We overwrite kernel2,
since kernel1 contains an automatic recovery image.

If you get NAND ECC errors and are stuck with bad eraseblocks, try to
erase the mtd partition first with

mtd unlock ubi
mtd erase ubi

This should only be needed once.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
[use kiB for IMAGE_SIZE]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agotreewide: do not quote compatible in shell scripts
Adrian Schmutzler [Sun, 6 Jun 2021 17:17:47 +0000 (19:17 +0200)]
treewide: do not quote compatible in shell scripts

The compatible is a literal string without any problematic
characters, so there is no reason to quote it.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agouboot-kirkwood: refresh patches
Adrian Schmutzler [Sun, 6 Jun 2021 17:06:29 +0000 (19:06 +0200)]
uboot-kirkwood: refresh patches

This is only cosmetic, but the next one adding a patch here would
have to do it anyway, and thus will get a smaller diff for review
now.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokirkwood: Add support for Sheevaplug
BERENYI Balazs [Sat, 2 Jan 2021 18:49:42 +0000 (18:49 +0000)]
kirkwood: Add support for Sheevaplug

Globalscale SheevaPlug:
* Marvell Kirkwood 88F6281
* 512 MB SDRAM
* 512 MB Flash
* Gigabit Network
* USB 2.0
* SD slot
* Serial console

The device is supported in mainline uboot/linux the commit adds only
some openwrt config for building an image.

Installation:
1 - Update uboot:
setenv ipaddr '192.168.0.111'
setenv serverip '192.168.0.1'
tftpboot u-boot.kwb
nand erase 0x0 0x100000
nand write 0x800000 0x0 0x100000
reset
2 - Install OpenWRT:
setenv ethaddr 00:50:43:01:xx:xx
saveenv
setenv ipaddr '192.168.0.111'
setenv serverip '192.168.0.1'
tftpboot openwrt-kirkwood-globalscale_sheevaplug-squashfs-factory.bin
nand erase.part ubi
nand write 0x800000 ubi 0x600000
reset

Signed-off-by: BERENYI Balazs <balazs@wee.hu>
Reviewed-by: Pawel Dembicki <paweldembicki@gmail.com>
[add vendor name for uboot-kirkwood, merge patches, copy to 5.10,
add AUTORELEASE for uboot-kirkwood, refresh patches]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: add support for the Wavlink WL-WN579X3
Ben Gainey [Sun, 31 Jan 2021 11:15:38 +0000 (11:15 +0000)]
ramips: add support for the Wavlink WL-WN579X3

About the device
----------------

SoC: MediaTek MT7620a @ 580MHz
RAM: 64M
FLASH: 8MB
WiFi: SoC-integrated: MediaTek MT7620a bgn
WiFi: MediaTek MT7612EN nac
GbE: 2x (RTL8211F)
BTN: - WPS
- Reset
- Router/Repeater/AP (3-way slide-switch)
LED: - WPS (blue)
- 3-segment Wifi signal representation (blue)
- WiFi (blue)
- WAN (blue)
- LAN (blue)
- Power (blue)
UART: UART is present as Pads with through-holes on the PCB. They are
located next to the reset button and are labelled Vcc/TX/RX/GND as
appropriate. Use 3.3V, 57600-8N1.

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

Using the webcmd interface
--------------------------

Warning: Do not update to the latest Wavlink firmware (version
20201201) as this removes the webcmd console and you will need to
use the serial port instead.

You will need to have built uboot/sqauashfs image for this device,
and you will need to provide an HTTP service where the image can
be downloaded from that is accessible by the device.
You cannot use the device manufacturers firmware upgrade interface
as it rejects the OpenWrt image.

1. Log into the device's admin portal. This is necessary to
   authenticate you as a user in order to be able to access the
   webcmd interface.
2. Navigate to http://<device-ip>/webcmd.shtml - you can access
   the console directly through this page, or you may wish to
   launch the installed `telnetd` and use telnet instead.
   * Using telnet is recommended since it provides a more
     convenient shell interface that the web form.
   * Launch telnetd from the form with the command `telnetd`.
   * Check the port that telnetd is running on using
     `netstat -antp|grep telnetd`, it is likely to be 2323.
   * Connect to the target using `telnet`. The username should
     be `admin2860`, and the password is your admin password.
3. On the target use `curl` to download the image.
   e.g.  `curl -L -O http://<some-other-lan-ip>/openwrt-ramips-mt7620-\
          wavlink_wl-wn579x3-squashfs-sysupgrade.bin`.
   Check the hash using `md5sum`.
4. Use the mtd_write command to flash the image.
   * The flash partition should be mtd4, but check
     /sys/class/mtd/mtd4/name first. The partition should be
     called 'Kernel'.
   * To flash use the following command:
     `mtd_write -r -e /dev/mtd<n> write <image-file> /dev/mtd<n>`
     Where mtd<n> is the Kernel partition, and <image-file> is
     the OpenWrt image previously downloaded.
   * The command above will erase, flash and then reboot the
     device. Once it reboots it will be running OpenWrt.

Connect via ssh to the device at 192.168.1.1 on the LAN port.
The WAN port will be configured via DHCP.

Using the serial port
---------------------

The device uses uboot like many other MT7260a based boards. To
use this interface, you will need to connect to the serial
interface, and provide a TFTP server. At boot follow the
bootloader menu and select option 2 to erase/flash the image.
Provide the address and filename details for the tftp server.
The bootloader will do the rest.

Once the image is flashed, the board will boot into OpenWrt. The
console is available over the serial port.

Signed-off-by: Ben Gainey <ba.gainey@googlemail.com>
3 years agoath79: add support for Devolo dLAN pro 1200+ WiFi ac
Felix Matouschek [Thu, 18 Feb 2021 22:12:01 +0000 (23:12 +0100)]
ath79: add support for Devolo dLAN pro 1200+ WiFi ac

This patch adds support for the Devolo dLAN pro 1200+ WiFi ac.
This device is a plc wifi AC2400 router/extender with 2 Ethernet ports,
has a QCA7500 PLC and uses the HomePlug AV2 standard.

Other than the PLC the hardware is identical to the Devolo Magic 2 WIFI.
Therefore it uses the same dts, which was moved to a dtsi to be included
by both boards.

This is a board that was previously included in the ar71xx tree.

Hardware:
   SoC:         AR9344
   CPU:         560 MHz
   Flash:       16 MiB (W25Q128JVSIQ)
   RAM:         128 MiB DDR2
   Ethernet:    2xLAN 10/100/1000
   PLC:         QCA75000 (Qualcomm HPAV2)
   PLC Uplink:  1Gbps MIMO
   PLC Link:    RGMII 1Gbps (WAN)
   WiFi:        Atheros AR9340 2.4GHz 802.11bgn
                Atheros AR9882-BR4A 5GHz 802.11ac
   Switch:      QCA8337, Port0:CPU, Port2:PLC, Port3:LAN1, Port4:LAN2
   Button:      3x Buttons (Reset, wifi and plc)
   LED:         3x Leds (wifi, plc white, plc red)
   GPIO Switch: 11-PLC Pairing (Active Low)
                13-PLC Enable
                21-WLAN power

MACs Details verified with the stock firmware:
   Radio1: 2.4 GHz &wmac     *:4c Art location: 0x1002
   Radio0: 5.0 GHz &pcie     *:4d Art location: 0x5006
   Ethernet        &ethernet *:4e = 2.4 GHz + 2
   PLC uplink      ---       *:4f = 2.4 GHz + 3
Label MAC address is from PLC uplink

The Powerline (PLC) interface of the dLAN pro 1200+ WiFi ac requires 3rd
party firmware which is not available from standard OpenWrt package
feeds. There is a package feed on github which you must add to
OpenWrt buildroot so you can build a firmware image which supports the
plc interface.

See: https://github.com/0xFelix/dlan-openwrt (forked from Devolo and
added compatibility for OpenWrt 21.02)

Flash instruction (TFTP):
 1. Set PC to fixed ip address 192.168.0.100
 2. Download the sysupgrade image and rename it to uploadfile
 3. Start a tftp server with the image file in its root directory
 4. Turn off the router
 5. Press and hold Reset button
 6. Turn on router with the reset button pressed and wait ~15 seconds
 7. Release the reset button and after a short time
    the firmware should be transferred from the tftp server
 8. Allow 1-2 minutes for the first boot.

Signed-off-by: Felix Matouschek <felix@matouschek.org>
[add "plus" to compatible and device name]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agomac80211: Update to backports-5.10.42
Hauke Mehrtens [Sat, 5 Jun 2021 16:21:57 +0000 (18:21 +0200)]
mac80211: Update to backports-5.10.42

The removed patches were integrated upstream.

The brcmf_driver_work workqueue was removed in brcmfmac with kernel
5.10.42, the asynchronous call was covered to a synchronous call. There
is no need to wait any more.
This part was removed manually from this patch:
brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agomt76: update to the latest version
Felix Fietkau [Sun, 6 Jun 2021 08:40:05 +0000 (10:40 +0200)]
mt76: update to the latest version

Add mt7915e dependency on kmod-thermal

22b690334c0f mt76: mt7915: do not fail if the cooling device could not be registered

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agolinux-firmware: update to version 20210315 and trim down broadcom FW
Josef Schlehofer [Sat, 1 May 2021 06:51:12 +0000 (08:51 +0200)]
linux-firmware: update to version 20210315 and trim down broadcom FW

In there linux-firmware repository located in kernel, there were removed old
broadcom firmware [1] as they seem to be likely vulnerable to KrØØk vulnerability
(CVE-2019-15126), because Cypress released new versions and superseded
by it.

In OpenWrt, there is Makefile for cypress-firmware, which already provides
the same named packages like it was in linux-firmware. For example, cypress-firmware-43455-sdio
provides brcmfmac-firmware-43455-sdio [2].

Changelog between 2020118 and 20210315:
3568f96 (tag: 20210315) linux-firmware: Update firmware file for Intel Bluetooth AX210
9e96e50 linux-firmware: Update firmware file for Intel Bluetooth AX200
c8d0db5 linux-firmware: Update firmware file for Intel Bluetooth AX201
5e2a387 Merge tag 'iwlwifi-fw-2021-03-05-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware into main
b0d3e31 rtw88: 8822c: Update normal firmware to v9.9.6
5a2fd63 iwlwifi: add new FWs from core59-66 release
4f54906 iwlwifi: update 9000-family firmwares
11b7607 iwlwifi: update 7265D firmware
e425f76 Merge branch 'add-silabs-wf200' of github.com:jerome-pouiller/linux-firmware into main
5ecd13f Mellanox: Add new mlxsw_spectrum firmware xx.2008.2406
58fb90a linux-firmware: add frimware for mediatek bluetooth chip (MT7921)
e576a1b rtw89: 8852a: add firmware v0.9.12.2
048a7cb WHENCE: add missing symlink for BananaPi M3
aa6c6e7 Add symlink for BananaPi M2 to brcmfmac43430-sdio config
58825f7 brcm: Fix Raspberry Pi 4B NVRAM file
520f71b silabs: add new firmware for WF200
f7915a0 amdgpu: add initial firmware for green sardine
80cb579 rtw88: RTL8822C: Update normal firmware to v9.9.5
b79d239 (tag: 20210208) Merge branch 'DG1-guc-huc-ADLS-dmc' of git://anongit.freedesktop.org/drm/drm-firmware into main
66970e1 Merge branch 'qcom-rb5' of https://github.com/lumag/linux-firmware into main
cf6fc2b Mellanox: Add new mlxsw_spectrum firmware xx.2008.2304
391fd50 linux-firmware: add firmware for MT7921
c5e3240 rtw88: RTL8821C: Update firmware to v24.8
d33d2d8 linux-firmware: Update firmware file for Intel Bluetooth AX210
3027ae4 linux-firmware: Update firmware file for Intel Bluetooth AX200
13979c3 linux-firmware: Update firmware file for Intel Bluetooth AX201
348d8a9 i915: Add DMC v2.01 for ADL-S
f33f1f7 i915: Add HuC v7.7.1 for DG1
6a422f5 i915: Add GuC v49.0.1 for DG1
df822a8 qcom: Add venus firmware files for VPU-1.0
11a1db1 qcom: Add SM8250 Compute DSP firmware
e55248b qcom: Add SM8250 Audio DSP firmware
da74cc6 qcom: add firmware files for Adreno a650
0578970 brcm: Link RPi4's WiFi firmware with DMI machine name.
d528862 brcm: Add NVRAM for Vamrs 96boards Rock960
870b805 brcm: Update Raspberry Pi 3B+/4B NVRAM for downstream changes
a28a590 cypress: Fix link direction
060ad8b cypress: Link the new cypress firmware to the old brcm files
0f0aefd brcm: remove old brcm firmwares that have newer cypress variants
f580dc2 rtl_bt: Update RTL8822C BT(UART I/F) FW to 0x059A_25CB
7df2220 rtl_bt: Update RTL8822C BT(USB I/F) FW to 0x099a_7253
e79405d rtl_bt: Add firmware and config files for RTL8852A BT USB chip
ef3813d rtl_bt: Update RTL8821C BT(USB I/F) FW to 0x829a_7644
646f159 (tag: 20201218) make AP6212 in bananpi m2 plus/zero work
28185ec linux-firmware: Update firmware file for Intel Bluetooth AX210
23da869 linux-firmware: Update firmware file for Intel Bluetooth AX200
2099248 linux-firmware: Update firmware file for Intel Bluetooth AX201
94de5e2 linux-firmware: Update firmware file for Intel Bluetooth 9560
27a3689 linux-firmware: Update firmware file for Intel Bluetooth 9260
5c3c4af Merge branch 'lt9611uxc' of https://github.com/lumag/linux-firmware into main
aaed4a8 Merge branch 'v1.1.6' of https://github.com/irui-wang/linux_fw_vpu_v1.1.6 into main
d8c9865 Merge branch 'master' of https://github.com/sampnimm/linux-firmware-BT into main
63ab3db linux-firmware: add firmware for Lontium LT9611UXC DSI to HDMI bridge
0fe0fe0 mediatek: update MT8173 VPU firmware to v1.1.6
1a08ec9 QCA : Updated firmware files for WCN3991
7455a36 Merge branch 'guc_v49' of git://anongit.freedesktop.org/drm/drm-firmware into main
7eb7fda linux-firmware: Update firmware file for Intel Bluetooth AX210
5cbf459 linux-firmware: Update firmware file for Intel Bluetooth AX210
c487f7d i915: Add GuC firmware v49.0.1 for all platforms
d9ffb07 i915: Remove duplicate KBL DMC entry
b362fd4 Mellanox: Add new mlxsw_spectrum firmware xx.2008.2018
bc9cd0b linux-firmware: Update AMD SEV firmware
54c797a amdgpu: add sienna cichlid firmware for 20.45
1340e9c amdgpu: update vega20 firmware for 20.45
b260c9c amdgpu: update vega12 firmware for 20.45
d683bd5 amdgpu: update vega10 firmware for 20.45
7c81cc2 amdgpu: update renoir firmware for 20.45
3619e57 amdgpu: update navi14 firmware for 20.45
68ce0fb amdgpu: update navi12 firmware for 20.45
e889b80 amdgpu: update navi10 firmware for 20.45
f4edc15 amdgpu: update raven2 firmware for 20.45
e71210f amdgpu: update raven firmware for 20.45

[1] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=0f0aefd733f70beae4c0246edbd2c158d5ce974c

[2] https://github.com/openwrt/openwrt/blob/eeda8652f1655d4f9c11e9c9f51ddcd3377d119a/package/firmware/cypress-firmware/Makefile#L124

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
3 years agox86: add Roqos Core RC10 ethernet interfaces
Tomasz Maciej Nowak [Mon, 24 May 2021 12:41:15 +0000 (14:41 +0200)]
x86: add Roqos Core RC10 ethernet interfaces

eth0 -> single NIC (i211at)
eth1 -> single NIC (i211at) -> 4-port unmanaged switch (BCM53125U)

Notes
UART is exposed on J4 connector, pinout starting from pin marked 1:
1. GND, 2. NC?, 3. NC?, 4. RX, 5. TX, 6. NC?
baud: 115200, parity: none, flow control: none
The board is setup by coreboot with UEFI. To enter setup screen hold
ESC key on boot.
The 5-LED multicolor matrix is attached on first I2C device named
"Synopsys DesignWare I2C adapter" at address 0x60. Controlling values
are stored in /opt/roqos/etc/rcLED.conf of original firmware.
Remember to backup the original firmware, there are no downloadable
copies.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
3 years agokernel: package Synopsys Designware PCI to I2C controller
Tomasz Maciej Nowak [Mon, 24 May 2021 12:41:14 +0000 (14:41 +0200)]
kernel: package Synopsys Designware PCI to I2C controller

This is present on Roqos Core RC10 and needed to control LED matrix.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
3 years agomvebu: armada-37xx: remove ethernet alias patch
Tomasz Maciej Nowak [Tue, 25 May 2021 12:53:43 +0000 (14:53 +0200)]
mvebu: armada-37xx: remove ethernet alias patch

This patch has been added with initial support for ESPRESSObin board and
mistakenly it affects all boards with this SoC. Drop this patch since
the aliases are now in upstream dts for ESPRESSObin. If any boards are
relying on this, please add the respective alias to that board dts.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
3 years agoipq40xx: add uboot-envtools to default packages
Tomasz Maciej Nowak [Tue, 25 May 2021 13:26:06 +0000 (15:26 +0200)]
ipq40xx: add uboot-envtools to default packages

When support for Luma WRTQ-329ACN was added, the instructions for
flashing this device include using tools from uboot-envtools package.
Unfortunately the OpenWrt buildroot system omits packages from
DEVICE_PACKAGES when CONFIG_TARGET_MULTI_PROFILE,
CONFIG_TARGET_PER_DEVICE_ROOTFS, CONFIG_TARGET_ALL_PROFILES are set. In
result the official images are without tools mentioned in the
instruction. The workoround for the fashing would be installing
uboot-envtools when booted with initramfs image, but not always the
access to internet is available. The other method would be to issue the
necesary command in U-Boot environment but some serial terminals default
configuration don't work well with pasting lines longer than 80 chars.
Therefore add uboot-envtools to default packages, which adds really
small flash footprint to rootfs, where increased size usually is not an
issue.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
3 years agotools/isl: bump to 0.24
Rui Salvaterra [Thu, 27 May 2021 10:56:37 +0000 (11:56 +0100)]
tools/isl: bump to 0.24

Tested with Graphite and -floop-nest-optimize, without issues.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agotoolchain: gdb: Add optional python support
Hauke Mehrtens [Fri, 28 May 2021 16:35:40 +0000 (18:35 +0200)]
toolchain: gdb: Add optional python support

Compile gdb with python support optionally.

To use the Python support in gdb some extra python files are needed,
install them too. While at it also install other shared files which we
did not install before.

If gdb is built without Python support the python folder does not
exists.

Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
3 years agoipq806x: fix LAN and WAN port assignments on TP-Link AD7200
Alex Henrie [Fri, 4 Jun 2021 04:37:49 +0000 (22:37 -0600)]
ipq806x: fix LAN and WAN port assignments on TP-Link AD7200

LAN port 4 was swapped with the WAN port and the remaining three LAN
ports were numbered in reverse order from their labels on the case.

Fixes: 1a775a4fd033 ("ipq806x: add support for TP-Link Talon AD7200")
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
3 years agolayerscape: armv8_64b: enable CONFIG_ARM_PSCI_CPUIDLE
Martin Schiller [Wed, 19 May 2021 10:33:26 +0000 (12:33 +0200)]
layerscape: armv8_64b: enable CONFIG_ARM_PSCI_CPUIDLE

Enable PSCI firmware based CPUidle driver.
PSCI firmware is the standard power management control for all ARM64
based platforms.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
3 years agokernel: usb: add kmod-usb-gadget-ncm
Kuan-Yi Li [Sat, 29 May 2021 23:35:38 +0000 (07:35 +0800)]
kernel: usb: add kmod-usb-gadget-ncm

Add kernel module package for USB Network Control Model (NCM) Gadget
support.

Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
3 years agox86: kernel: enable Fusion-MPT SAS driver
Mark Carroll [Sat, 8 May 2021 11:42:50 +0000 (11:42 +0000)]
x86: kernel: enable Fusion-MPT SAS driver

Compile in MPT SAS driver required to mount rootfs on some VMWare
systems (e.g. required for 1&1 IONOS).

Signed-off-by: Mark Carroll <git@markcarroll.net>
3 years agoath10k-ct: update to latest version
Michael Yartys [Thu, 3 Jun 2021 21:50:12 +0000 (23:50 +0200)]
ath10k-ct: update to latest version

Changelog:
- ath10k-ct: Add security fixes.
- ath10k-ct: Add 5.12 kernel version.
- ath10k-ct: Fix the beacon/mcast/bcast override issue
- ath10k-ct 5.7: Fix setting mcast/bcast/beacon rate from debugfs.
- ath10k-ct: Add 5.11 driver.

Delete upstreamed patch and refresh the rest. Also, use the opportunity to
set PKG_RELEASE to $(AUTORELEASE).

Runtime-tested on ipq806x (Netgear R7800).

Signed-off-by: Michael Yartys <michael.yartys@protonmail.com>
3 years agokernel: bump 5.4 to 5.4.124
John Audia [Thu, 3 Jun 2021 18:46:59 +0000 (14:46 -0400)]
kernel: bump 5.4 to 5.4.124

Manually rebased:
  generic/hack-5.4/662-remove_pfifo_fast.patch

All other patches automatically rebased.

Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
[manual changes to ramips/patches-5.10/835-asoc-add-mt7620-support.patch]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agokernel: bump 5.10 to 5.10.42
Rui Salvaterra [Thu, 3 Jun 2021 10:12:02 +0000 (11:12 +0100)]
kernel: bump 5.10 to 5.10.42

Deleted (reverse-appliable):
generic/pending-5.10/110-perf-jevents-fix-getting-maximum-number-of-fds.patch

Manually refreshed:
ramips/patches-5.10/835-asoc-add-mt7620-support.patch

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agotreewide: remove "+" sign for increment with macaddr_add
Adrian Schmutzler [Sat, 5 Jun 2021 21:54:37 +0000 (23:54 +0200)]
treewide: remove "+" sign for increment with macaddr_add

Many people appear to use an unneeded "+" prefix for the increment
when calculating a MAC address with macaddr_add. Since this is not
required and used inconsistently [*], just remove it.

[*] As a funny side-fact, copy-pasting has led to almost all
    hotplug.d files using the "+", while nearly all of the
    02_network files are not using it.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: split Youku YK1 to YK-L1 and YK-L1c
Shiji Yang [Sun, 16 May 2021 13:21:09 +0000 (21:21 +0800)]
ramips: split Youku YK1 to YK-L1 and YK-L1c

Device specifications:
* Model: Youku YK-L1/L1c
* CPU: MT7620A
* RAM: 128 MiB
* Flash: 32 MiB (YK-L1)/ 16 MiB (YK-L1c)
* LAN: 2* 10M/100M Ports
* WAN: 1* 10M/100M Port
* USB: 1* USB2.0
* SD: 1* MicroSD socket
* UART: 1* TTL, Baudrate 57600

Descriptions:
  Previous supported device YOUKU yk1 is actually Youku YK-L1. Though they look
  really different, the only hardware difference between the two models is flash
  size, YK-L1 has 32 MiB flash but YK-L1c has 16MiB. It seems that YK-L1c can
  compatible with YK-L1's firmware but it's better to split it to different models.

  It is easy to identify the models by looking at the label on the bottom of the
  device. The label has the model number "YK-L1" or "YK-L1c". Due to different flash
  sizes, YK-L1c that using previous YK-L1's firmware needs to apply "force update"
  to install compatible firmware, so please backup config file before system upgrade.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[use more specific name for DTSI]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobcm63xx: drop USB LEDs for Technicolor TG582N / ADB P.DG A4001N
Daniele Castro [Tue, 11 May 2021 12:17:50 +0000 (13:17 +0100)]
bcm63xx: drop USB LEDs for Technicolor TG582N / ADB P.DG A4001N

Remove the USB status red and green LEDs for
- ADB P.DG A4001N A-000-1A1-AX
- Technicolor TG582N
- Technicolor TG582N Telecom Italia

After having mounted an SMD socket for the flash memory for
JTAG reverse engineering, and so be able to easly swap between
OpenWrt and the stock FW, it turned out that the stock FW does
not light up the red and green USB LEDs exactly as I remembered.

Signed-off-by: Daniele Castro <danielecastro@hotmail.it>
[improve commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoath79: use dynamic partitioning for TP-Link CPE series
Michael Pratt [Wed, 5 May 2021 03:32:00 +0000 (23:32 -0400)]
ath79: use dynamic partitioning for TP-Link CPE series

CPExxx and WBSxxx boards with AR9344 SOC
use the OKLI lzma kernel loader
with the offset of 3 blocks of length 4k (0x3000)
in order to have a fake "kernel" that cannot grow larger
than how it is defined in the now static OEM partition table.

Before recent changes to the mtdsplit driver,
the uImage parser for OKLI only supported images
that started exactly on an eraseblock boundary.

The mtdsplit parser for uImage now supports identifying images
with any magic number value
and at any offset from the eraseblock boundary
using DTS properties to define those values.

So, it is no longer necessary to use fixed sizes
for kernel and rootfs

Tested-by: Andrew Cameron <apcameron@softhome.net> [CPE510 v2]
Tested-by: Bernhard Geier <freifunk@geierb.de> [WBS210 v2]
Tested-by: Petrov <d7c48mWsPKx67w2@gmail.com> [CPE210 v1]
Signed-off-by: Michael Pratt <mcpratt@pm.me>
3 years agoumbim: fix return value of proto_mbim_setup()
Adrian Schmutzler [Sat, 5 Jun 2021 15:59:39 +0000 (17:59 +0200)]
umbim: fix return value of proto_mbim_setup()

The variable name appears to be mistyped.

Suggested-by: Howard Chu <hyc@symas.com>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoumbim: fix whitespace issues
Adrian Schmutzler [Sat, 5 Jun 2021 15:47:56 +0000 (17:47 +0200)]
umbim: fix whitespace issues

Make leading whitespaces consistent and remove trailing one.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoipq806x: add support for Askey RT4230W REV6
Lauro Moreno [Wed, 28 Oct 2020 20:59:47 +0000 (14:59 -0600)]
ipq806x: add support for Askey RT4230W REV6

This adds support for the Askey RT4230W REV6
(Branded by Spectrum/Charter as RAC2V1K)

At this time, there's no way to reinstall the stock firmware so don't install
this on a router that's being rented.

Specifications:

    Qualcomm IPQ8065
    1 GB of RAM (DDR3)
    512 MB Flash (NAND)
    2x Wave 2 WiFi cards (QCA9984)
    5x 10/100/1000 Mbps Ethernet (Switch: QCA8337)
    1x LED (Controlled by a microcontroller that switches it between red and
        blue with different patterns)
    1x USB 3.0 Type-A
    12V DC Power Input
    UART header on PCB - pinout from top to bottom is RX, TX, GND, 5V
    Port settings are 115200n8

More information: https://forum.openwrt.org/t/askey-rac2v1k-support/15830
https://deviwiki.com/wiki/Askey_RAC2V1K

To check what revision your router is, restore one of these config backups
through the stock firmware to get ssh access then run
"cat /proc/device-tree/model".
https://forum.openwrt.org/t/askey-rac2v1k-support/15830/17
The revision number on the board doesn't seem to be very consistent so that's
why this is needed. You can also run printenv in the uboot console and if
machid is set to 177d, that means your router is rev6.

Note: Don't install this if the router is being rented from an ISP. The defined
partition layout is different from the OEM one and even if you changed the
layout to match, backing up and restoring the OEM firmware breaks /overlay so
nothing will save and the router will likely enter a bootloop.

How to install:

Method 1: Install without opening the case using SSH and tftp

    You'll need:
    RAC2V1K-SSH.zip:
https://github.com/lmore377/openwrt-rt4230w/blob/master/RAC2V1K-SSH.zip
    initramfs and sysupgrade images

    Connect to one of the router's LAN ports

    Download the RAC2V1K-SSH.zip file and restore the config file that
corresponds to your router's firmware (If you're firmware is newer than what's
in the zip file, just restore the 1.1.16 file)

    After a reboot, you should be able to ssh into the router with username:
"4230w" and password: "linuxbox" or "admin". Run the following commannds
     fw_setenv ipaddr 10.42.0.10 #IP of router, can be anything as long as
it's in the same subnet as the server
     fw_setenv serverip 10.42.0.1# #IP of tftp server that's set up in next
steps
     fw_setenv bootdelay 8
     fw_setenv bootcmd "tftpboot initramfs.bin; bootm; bootipq"

    Don't reboot the router yet.

    Install and set up a tftp server on your computer

    Set a static ip on the ethernet interface of your computer (use this for
serverip in the above commands)

    Rename the initramfs image to initramfs.bin, and host it with the tftp
server

    Reboot the router. If you set up everything right, the router led should
switch over to a slow blue glow which means openwrt is booted. If for some
reason the file doesn't get loaded into ram properly, it should still boot to
the OEM firmware.
    After openwrt boots, ssh into it and run these commands:
    fw_setenv bootcmd "setenv mtdids nand0=nand0 && setenv mtdparts
 mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware && ubi
read 0x44000000 kernel 0x6e0000 && bootm"
    fw_setenv bootdelay 2

    After openwrt boots up, figure out a way to get the sysupgrade file onto it
(scp, custom build with usb kernel module included, wget, etc.) then flash it
with sysupgrade. After it finishes flashing, it should reboot, the light should
start flashing blue, then when the light starts "breathing" blue that means
openwrt is booted.

Method 2: Install with serial access (Do this if something fails and you can't
boot after using method 1)

    You'll need:
    initramfs and sysupgrade images
    Serial access:
https://openwrt.org/inbox/toh/askey/askey_rt4230w_rev6#opening_the_case

    Install and set up a tftp server

    Set a static ip on the ethernet interface of your computer

    Download the initramfs image, rename it to initramfs.bin, and host it with
the tftp server

    Connect the wan port of the router to your computer

    Interrupt U-Boot and run these commands:
    setenv serverip 10.42.0.1 (You can use whatever ip you set for the computer)
    setenv ipaddr 10.42.0.10 (Can be any ip as long as it's in the same subnet)
    setenv bootcmd "setenv mtdids nand0=nand0 &&
set mtdparts mtdparts=nand0:0x1A000000@0x2400000(firmware) && ubi part firmware
&& ubi read 0x44000000 kernel 0x6e0000 && bootm"

    saveenv
    tftpboot initramfs.bin
    bootm

    After openwrt boots up, figure out a way to get the sysupgrade file onto it
(scp, custom build with usb kernel module included, wget, etc.) then flash it
with sysupgrade. After it finishes flashing, it should reboot, the light should
start flashing blue, then when the light starts "breathing" blue that means
openwrt is booted.

Signed-off-by: Lauro Moreno <lmore377@gmail.com>
[add entry in 5.10 patch, fix whitespace issues]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: add support for Linksys EA8100 v1
Tee Hao Wei [Mon, 17 May 2021 19:46:36 +0000 (03:46 +0800)]
ramips: add support for Linksys EA8100 v1

Specifications:
- SoC: MT7621AT
- RAM: 256MB
- Flash: 128MB NAND
- Ethernet: 5 Gigabit ports
- WiFi: 2.4G/5G MT7615N
- USB: 1 USB 3.0, 1 USB 2.0

This device is very similar to the EA7300 v1/v2 and EA7500 v2.

Installation:

Upload the generated factory image through the factory web interface.

(following part taken from EA7300 v2 commit message:)

This might fail due to the A/B nature of this device. When flashing, OEM
firmware writes over the non-booted partition. If booted from 'A',
flashing over 'B' won't work. To get around this, you should flash the
OEM image over itself. This will then boot the router from 'B' and
allow you to flash OpenWRT without problems.

Reverting to factory firmware:

Hard-reset the router three times to force it to boot from 'B.' This is
where the stock firmware resides. To remove any traces of OpenWRT from
your router simply flash the OEM image at this point.

With thanks to Leon Poon (@LeonPoon) for the initial bringup.

Signed-off-by: Tee Hao Wei <angelsl@in04.sg>
[add missing entry in 10_fix_wifi_mac]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>