openwrt/staging/zorun.git
5 years agoipq40xx: consolidate 02_network board defaults
Christian Lamparter [Thu, 31 Jan 2019 21:23:53 +0000 (22:23 +0100)]
ipq40xx: consolidate 02_network board defaults

This patch splits the big board case switch in 02_network in
two functions ipq40xx_setup_interfaces() and ipq40xx_setup_macs()
just like ath79 and ramips do.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agobrcm63xx: dts: Unify naming of gpio-led nodes
Petr Štetiar [Sun, 30 Dec 2018 11:42:53 +0000 (12:42 +0100)]
brcm63xx: dts: Unify naming of gpio-led nodes

In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.

1. https://openwrt.org/submitting-patches#dts_checklist
2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [split up]
5 years agobrcm63xx: dts: Unify naming of gpio-keys nodes
Petr Štetiar [Sun, 30 Dec 2018 11:17:25 +0000 (12:17 +0100)]
brcm63xx: dts: Unify naming of gpio-keys nodes

In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.

1. https://openwrt.org/submitting-patches#dts_checklist
2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [split up]
5 years agoglibc: update to latest 2.27 commit (BZ #24155,BZ #24097)
Hans Dedecker [Mon, 4 Feb 2019 20:24:02 +0000 (21:24 +0100)]
glibc: update to latest 2.27 commit (BZ #24155,BZ #24097)

2ebadb6451 x86-64 memcmp: Use unsigned Jcc instructions on size [BZ #24155]
3a5ae8db68 x86-64 strnlen/wcsnlen: Properly handle the length parameter [BZ #24097]
2c016ffa24 x86-64 strncpy: Properly handle the length parameter [BZ #24097]
d8457edece x86-64 strncmp family: Properly handle the length parameter [BZ #24097]
55f8812858 x86-64 memset/wmemset: Properly handle the length parameter [BZ #24097]
efc3714845 x86-64 memrchr: Properly handle the length parameter [BZ #24097]
a4690969ed x86-64 memcpy: Properly handle the length parameter [BZ #24097]
6465327195 x86-64 memcmp/wmemcmp: Properly handle the length parameter [BZ #24097]
50117e00a1 x86-64 memchr/wmemchr: Properly handle the length parameter [BZ #24097]

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoath10k-firmware: update Candela Tech firmware images
Koen Vandeputte [Mon, 4 Feb 2019 10:48:48 +0000 (11:48 +0100)]
ath10k-firmware: update Candela Tech firmware images

*  Jan 2, 2019
Rebase patches to make 9980 bisectable.

*  Jan 2, 2019
Fix scheduling related assert when wal-peer is deleted with pending
tx buffers (bug 54, and others)

*  Jan 7, 2019:
Fix specifying retransmits for AMPDU frames.  It was previously ignored
since it is a 'software' retransmit instead of a hardware retransmit.

*  Jan 9, 2019
Fix potential way to get zero rates selected (and then assert)

*  Jan 18, 2019
pfsched has specific work-around to just return if we find invalid flags AND
if we are in an out-of-order situation.  Maybe this is last of the pfsched
related issues (bug 54 and similar).

*  Jan 24, 2019
The rcSibUpdate method can be called concurrently with IRQ tx-completion callback,
and that could potentially allow the tx-completion callback to see invalid state
and assert or otherwise mess up the rate-ctrl logic.  So, disable IRQs in
rcSibUpdate to prevent this.  Related to bug 58.

*  Jan 28, 2019
Ensure that cached config is applied to ratectrl objects when fetched from
the cache.  This should fix part of bug 58.

*  Jan 28, 2019
Ensure that ratectrl objects from cachemgr are always initialized.  This fixes
another part of bug 58.

*  Jan 30, 2019
Better use of temporary rate-ctrl object.  Make sure it is initialized, simplify
code path.  This finishes up porting forward similar changes I made for wave-1
firmware long ago, and fixes another potential way to hit bug-58 issues.

*  Jan 30, 2019
Cachemgr did not have a callback for when memory was logically freed.  This means
that peers could keep stale references to rate-ctrl objects that were in process
of being DMA'd into to load a different peer's rate-ctrl state.  This was causing
the bugcheck logic to fail early and often, and I suspect it might be a root cause
of bug 58 as well.  The fix is to add a callback and set any 'deleted' memory references
to NULL so that we cannot access it accidentally.  Thanks to excellent logs and patience
from the bug-58 reporter!

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agotoolchain/gcc: backport FORTIFY patch to 5.5.0
Hans Dedecker [Mon, 4 Feb 2019 07:48:01 +0000 (08:48 +0100)]
toolchain/gcc: backport FORTIFY patch to 5.5.0

Commit e61061a0886e2d0d6b075d75ae9b53d0a6bc9042 added support for hardening
options  in the toolchain. However this breaks the gcc5.5.0 compilation in
case FORTIFY_SOURCE is set different from FORTIFY_SOURCE_NONE as reported
in [1].
Fix this by backporting the upstream patch which fixes this in later gcc versions

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=61164

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agomt76: update to the latest version
Felix Fietkau [Sun, 3 Feb 2019 19:45:26 +0000 (20:45 +0100)]
mt76: update to the latest version

a9d4c0e mt76: mt76x2: avoid running DPD calibration if tx is blocked
4d7e13f mt76: explicitly disable energy detect cca during scan
e3c1aad mt76: run MAC work every 100ms
4e8766a mt76: clear CCA timer stats in mt76x02_edcca_init
e301f23 mt76: measure the time between mt76x02_edcca_check runs
74075ef mt76: increase ED/CCA tx block threshold

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agokernel: Fix drm dependency on drm_panel_orientation_quirks.ko for 4.19
Petr Štetiar [Thu, 3 Jan 2019 20:31:41 +0000 (21:31 +0100)]
kernel: Fix drm dependency on drm_panel_orientation_quirks.ko for 4.19

Package kmod-drm is missing dependencies for the following libraries:

 drm_panel_orientation_quirks.ko

It seems, that since Linux 4.15-rc2 drm depends on drm_panel_orientation_quirks.ko

 commit 8d70f395e6cbece665b12b4bf6dbc48d12623014
 Author: Hans de Goede <j.w.r.degoede@gmail.com>
 Date:   Sat Nov 25 20:35:49 2017 +0100

    drm: Add support for a panel-orientation connector property, v6

    On some devices the LCD panel is mounted in the casing in such a way that
    the up/top side of the panel does not match with the top side of the
    device (e.g. it is mounted upside-down).

    This commit adds the necessary infra for lcd-panel drm_connector-s to
    have a "panel orientation" property to communicate how the panel is
    orientated vs the casing.

    Userspace can use this property to check for non-normal orientation and
    then adjust the displayed image accordingly by rotating it to compensate.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agokernel: bump 4.19 to 4.19.19
Koen Vandeputte [Thu, 31 Jan 2019 15:53:27 +0000 (16:53 +0100)]
kernel: bump 4.19 to 4.19.19

Refreshed all patches.

Remove upstreamed patch:
- 800-v5.0-usb-leds-fix-regression-in-usbport-led-trigger.patch

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.14 to 4.14.97
Koen Vandeputte [Thu, 31 Jan 2019 15:52:41 +0000 (16:52 +0100)]
kernel: bump 4.14 to 4.14.97

Refreshed all patches.

Adapted patches:
- 012-kbuild-add-macro-for-controlling-warnings-to-linux-c.patch

Compile-tested on: ar71xx, cns3xxx, imx6, x86_64
Runtime-tested on: ar71xx, cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.9 to 4.9.154
Koen Vandeputte [Thu, 31 Jan 2019 14:56:42 +0000 (15:56 +0100)]
kernel: bump 4.9 to 4.9.154

Refreshed all patches.

Adapted patches:
- 012-kbuild-add-macro-for-controlling-warnings-to-linux-c.patch

Compile-tested on: ar7
Runtime-tested on: none

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agobcm53xx: add first DTS changes queued for the Linux 5.1
Rafał Miłecki [Fri, 1 Feb 2019 06:07:32 +0000 (07:07 +0100)]
bcm53xx: add first DTS changes queued for the Linux 5.1

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoramips: rb750gr3: License DTS as GPL-2.0-or-later OR MIT
Anton Arapov [Wed, 16 Jan 2019 07:56:08 +0000 (08:56 +0100)]
ramips: rb750gr3: License DTS as GPL-2.0-or-later OR MIT

Adding license in order to fully satisfy dts checklist:
- https://openwrt.org/submitting-patches#dts_checklist

Signed-off-by: Anton Arapov <arapov@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
Acked-by: Thibaut <hacks@slashdirt.org>
Acked-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Acked-by: Chuanhong Guo <gch981213@gmail.com>
Acked-by: Andrew Yong <me@ndoo.sg>
Acked-by: Alex Maclean <monkeh@monkeh.net>
5 years agomt76: update to the latest version
Felix Fietkau [Thu, 31 Jan 2019 22:17:49 +0000 (23:17 +0100)]
mt76: update to the latest version

a4ec45c mt7603: fix LED support (copy CFLAGS from main Makefile)
edda5c5 mt76x02: use mask for vifs
dd52191 mt76x02: use commmon add interface for mt76x2u
a80acaf mt76x02: initialize mutli bss mode when set up address
38e832d mt76x02: minor beaconing init changes
171adaf mt76x02: init beacon config for mt76x2u
dcab682 mt76: beaconing fixes for USB
ff81de1 mt76x02: enable support for IBSS and MESH
8027b5d mt7603: remove copyright headers
e747e80 mt76: fix software encryption issues
2afa0d7 mt7603: remove WCID override for software encrypted frames

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agonetifd: handle hotplug event socket errors
Hans Dedecker [Thu, 31 Jan 2019 21:10:58 +0000 (22:10 +0100)]
netifd: handle hotplug event socket errors

5cd7215 system-linux: handle hotplug event socket ENOBUFS errors

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoopenssl: update list of mirrors
Sven Roederer [Wed, 30 Jan 2019 19:17:10 +0000 (20:17 +0100)]
openssl: update list of mirrors

Host "gd.tuwien.ac.at" does not exists anymore, so we replace it by "ftp.pca.dfn.de" from the official list of mirrors.

Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
5 years agouboot-omap: add 'rootwait' to the kernel cmdline
Andre Heider [Thu, 31 Jan 2019 10:12:25 +0000 (11:12 +0100)]
uboot-omap: add 'rootwait' to the kernel cmdline

Some SD cards take a while to get detected, fix booting of those.

Signed-off-by: Andre Heider <a.heider@gmail.com>
5 years agoomap: fix build without ext4 rootfs
Andre Heider [Thu, 31 Jan 2019 10:12:24 +0000 (11:12 +0100)]
omap: fix build without ext4 rootfs

Same fix as 7b76219e, just for omap.

Signed-off-by: Andre Heider <a.heider@gmail.com>
5 years agoscripts: ipkg-make-index.sh: dereference symbolic links
Jo-Philipp Wich [Thu, 31 Jan 2019 11:25:19 +0000 (12:25 +0100)]
scripts: ipkg-make-index.sh: dereference symbolic links

Use `stat -L` instead of `ls -l` to follow symbolic links when obtaining
the file size of .ipk archives.

Without this change, the size of the symlink, not the size of the target
file is encoded in the package index file.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agodnsmasq: latest pre-2.81 patches
Kevin Darbyshire-Bryant [Fri, 18 Jan 2019 08:56:59 +0000 (08:56 +0000)]
dnsmasq: latest pre-2.81 patches

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agoopkg: update to latest Git head
Jo-Philipp Wich [Thu, 31 Jan 2019 09:22:03 +0000 (10:22 +0100)]
opkg: update to latest Git head

d4ba162 libopkg: only perform size check when information is available

Fixes: e079591b84 ("opkg: update to latest Git head")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoopkg: update to latest Git head
Jo-Philipp Wich [Thu, 31 Jan 2019 07:49:27 +0000 (08:49 +0100)]
opkg: update to latest Git head

cb66403 libopkg: check for file size mismatches

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agomt76: update to the latest version
Felix Fietkau [Wed, 30 Jan 2019 14:17:01 +0000 (15:17 +0100)]
mt76: update to the latest version

c3da1aa mt7603: trigger beacon stuck detection faster
7a53138 mt7603: trigger watchdog reset if flushing CAB queue fails
6eef33b mt7603: remove mt7603_txq_init
ae30c30 mt76: add driver callback for when a sta is associated
0db925f mt7603: update HT/VHT capabilities after assoc
b5ac8e4 mt7603: initialize LED callbacks only if CONFIG_MT76_LEDS is set
c989bac mt76x0: eeprom: fix chan_vs_power map in mt76x0_get_power_info
24bd2c0 mt76x0: phy: report target_power in debugfs
bc7ce2a mt76x0: init: introduce mt76x0_init_txpower routine

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoramips: fix D-Link DIR-615 H1 switch port mapping
Mirko Parthey [Wed, 30 Jan 2019 00:24:36 +0000 (01:24 +0100)]
ramips: fix D-Link DIR-615 H1 switch port mapping

Reuse a device-specific switch port mapping which also applies to the
D-Link DIR-615 H1.

Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
5 years agobase-files: config_get: prevent filename globbing
Günther Kelleter [Mon, 8 Oct 2018 13:30:00 +0000 (15:30 +0200)]
base-files: config_get: prevent filename globbing

When config_get is called as "config_get section option" the option
is unexpectedly globbed by the shell which differs from the way options
are read to a variable with "config_get variable section option".
Add another layer of double quotes to fix it.

Signed-off-by: Günther Kelleter <guenther.kelleter@devolo.de>
5 years agobuild: Use LINUX_DIR for Kernel/Patch
Michal Hrusecky [Thu, 11 Oct 2018 16:23:19 +0000 (18:23 +0200)]
build: Use LINUX_DIR for Kernel/Patch

Use LINUX_DIR as a path when patching kernel. Doesn't break the current usage,
but allows to create packages that will contain variation of a kernel with
kernel being build in some subdirectory of PKG_BUILD_DIR.

Signed-off-by: Michal Hrusecky <michal.hrusecky@nic.cz>
5 years agoar71xx: fix packed-not-aligned error with GCC 8.
Jo-Philipp Wich [Sat, 20 Oct 2018 10:18:03 +0000 (12:18 +0200)]
ar71xx: fix packed-not-aligned error with GCC 8.

Building ar71xx currently fails with:

    In file included from ./include/linux/ipv6.h:5,
                     from ./include/net/ipv6.h:16,
                     from ./include/net/inetpeer.h:16,
                     from ./include/net/ip_fib.h:24,
                     from ./include/net/switchdev.h:17,
                     from ./include/net/dsa.h:23,
                     from arch/mips/ath79/dev-dsa.h:15,
                     from arch/mips/ath79/dev-dsa.c:17:
    ./include/uapi/linux/ipv6.h:107:1: error: alignment 1 of 'struct ipv6_destopt_hao' is less than 2 [-Werror=packed-not-aligned]
     } __attribute__((packed));

Address this issue by correcting the alignment of the struct packing
pragma accordingly.

Fixes: FS#1805
Reported-by: Pascal Ernster <git@hardfalcon.net>
[reword subject, rewrap commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agobuild: fix umask detection bashism
Thorsten Glaser [Mon, 22 Oct 2018 17:28:50 +0000 (19:28 +0200)]
build: fix umask detection bashism

the leading 0 is optional and not emitted by some shells

Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
5 years agobuild: fix STAGING_DIR cleaning for packages
Jeffery To [Wed, 12 Dec 2018 17:33:36 +0000 (01:33 +0800)]
build: fix STAGING_DIR cleaning for packages

This fixes two issues with cleaning package files from STAGING_DIR:

* CleanStaging currently can only remove files and not directories. This
  changes CleanStaging to use clean-package.sh, which does remove
  directories.

* Because of the way directories are ordered in the staging files list,
  clean-package.sh currently tries (and fails) to remove parent
  directories before removing subdirectories. This changes
  clean-package.sh to process the staging files list in reverse, so that
  subdirectories are removed first.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
5 years agobusybox: keep syslog.conf during sysupgrade
Val Kulkov [Thu, 20 Dec 2018 20:04:43 +0000 (15:04 -0500)]
busybox: keep syslog.conf during sysupgrade

If a user finds that logd is too barebone for their needs and wishes
to have more control over syslog, the user presently has an option
to enable CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG and configure syslog
with settings in /etc/syslog.conf.

Presently /etc/syslog.conf silently disappears on sysupgrade. This
patch prevents such unwanted behaviour if busybox syslog is enabled
via CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG.

Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
5 years agoar71xx: use correct wan mac address for the TP-Link Archer C7 v4
David Santamaría Rogado [Fri, 18 Jan 2019 21:28:41 +0000 (22:28 +0100)]
ar71xx: use correct wan mac address for the TP-Link Archer C7 v4

The correct MAC address for this device is lan_mac +1, there is no
need to set lan_mac so use base_mac variable instead lan_mac.

Based on this PR for ath79:
https://github.com/openwrt/openwrt/pull/1726

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
[fix alphabetical ordering, reword subject]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoopenssl: bump to 1.0.2q
Sven Roederer [Mon, 28 Jan 2019 19:11:50 +0000 (20:11 +0100)]
openssl: bump to 1.0.2q

This fixes the following security problems:
 * CVE-2018-5407: Microarchitecture timing vulnerability in ECC scalar multiplication
 * CVE-2018-0734: Timing vulnerability in DSA signature generation
 * Resolve a compatibility issue in EC_GROUP handling with the FIPS Object Module

Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
5 years agouhttpd: disable concurrent requests by default
Jo-Philipp Wich [Wed, 30 Jan 2019 09:12:00 +0000 (10:12 +0100)]
uhttpd: disable concurrent requests by default

In order to avoid straining CPU and memory resources on lower end devices,
avoid running multiple CGI requests in parallel.

Ref: https://forum.openwrt.org/t/high-load-fix-on-openwrt-luci/29006
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoiproute2: drop libbsd dependency
Hans Dedecker [Tue, 29 Jan 2019 12:37:24 +0000 (13:37 +0100)]
iproute2: drop libbsd dependency

As the usage of libbsd is no longer limited to glibc, prevent libbsd
being picked up by removing the dependency on libbsd.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agowpa_supplicant: fix calling channel switch via wpa_cli on mesh interfaces
Felix Fietkau [Mon, 28 Jan 2019 20:36:44 +0000 (21:36 +0100)]
wpa_supplicant: fix calling channel switch via wpa_cli on mesh interfaces

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agohostapd: add support for passing CSA events from sta/mesh to AP interfaces
Felix Fietkau [Mon, 28 Jan 2019 20:35:25 +0000 (21:35 +0100)]
hostapd: add support for passing CSA events from sta/mesh to AP interfaces

Fixes handling CSA when using AP+STA or AP+Mesh

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoramips: move wifi related interrupts off the main core on SMP systems
Felix Fietkau [Mon, 21 Jan 2019 16:14:52 +0000 (17:14 +0100)]
ramips: move wifi related interrupts off the main core on SMP systems

Improves LAN<->WLAN bridging/routing performance

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: fix an issue with allocated tailroom for encrypted mgmt packets
Felix Fietkau [Mon, 28 Jan 2019 12:23:34 +0000 (13:23 +0100)]
mac80211: fix an issue with allocated tailroom for encrypted mgmt packets

Fixes kernel warnings and connectivity issues in encrypted mesh networks

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agokernel: Add missing config option for kernel 4.14
Hauke Mehrtens [Mon, 28 Jan 2019 20:36:28 +0000 (21:36 +0100)]
kernel: Add missing config option for kernel 4.14

Kernel 4.14.96 got the new configuration option
CIFS_ALLOW_INSECURE_LEGACY which allows to deactivate support for old
and insecure SMB versions like 1.0 and 2.0. Still allow these old SMB
version and fix build problems which occurred because this option was
not defined.

This was found by build bot.

Fixes: 3662157d8bed ("kernel: bump 4.14 to 4.14.96")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoimx6: add support for kernel 4.19
Koen Vandeputte [Mon, 28 Jan 2019 15:34:27 +0000 (16:34 +0100)]
imx6: add support for kernel 4.19

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.19 to 4.19.18
Koen Vandeputte [Mon, 28 Jan 2019 12:07:54 +0000 (13:07 +0100)]
kernel: bump 4.19 to 4.19.18

Refreshed all patches.

Removed upstreamed:
- 031-v5.0-MIPS-BCM47XX-Setup-struct-device-for-the-SoC.patch
- 142-jffs2-Fix-use-of-uninitialized-delayed_work-lockdep-.patch

Removed upstreamed hunk in:
- 800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agocns3xxx: don't use invalid mask value for clock events
Koen Vandeputte [Mon, 28 Jan 2019 12:54:02 +0000 (13:54 +0100)]
cns3xxx: don't use invalid mask value for clock events

According to a commit from kernel 4.18-rc3, it's not valid
to use "cpu_mask_all" for clock events and it should be
replaced in favor of "cpu_possible_mask" [1]

This warning was seen when booting kernel 4.19 on a cns3xxx board.
Let's fix it also here just to be safe.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v4.19.18&id=fbfa9260085b5b578a049a90135e5c51928c5f7f

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agocns3xxx: add support for kernel 4.19
Koen Vandeputte [Mon, 28 Jan 2019 09:05:10 +0000 (10:05 +0100)]
cns3xxx: add support for kernel 4.19

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agocns3xxx: use actual size reads for PCIe (4.19)
Koen Vandeputte [Mon, 28 Jan 2019 09:08:24 +0000 (10:08 +0100)]
cns3xxx: use actual size reads for PCIe (4.19)

upstream commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
reimplemented cns3xxx_pci_read_config() using pci_generic_config_read32(),
which preserved the property of only doing 32-bit reads.

It also replaced cns3xxx_pci_write_config() with pci_generic_config_write(),
so it changed writes from always being 32 bits to being the actual size,
which works just fine.

Due to:
- The documentation does not mention that only 32 bit access is allowed.
- Writes are already executed using the actual size
- Extensive testing shows that 8b, 16b and 32b reads work as intended

It makes perfectly sense to also swap 32 bit reading in favor of actual size.

also backport this patch to kernel 4.19

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agocns3xxx: refresh kernel config
Koen Vandeputte [Mon, 28 Jan 2019 13:10:46 +0000 (14:10 +0100)]
cns3xxx: refresh kernel config

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.14 to 4.14.96
Koen Vandeputte [Mon, 28 Jan 2019 10:03:25 +0000 (11:03 +0100)]
kernel: bump 4.14 to 4.14.96

Refreshed all patches.

Remove upstreamed patches:
- 142-jffs2-Fix-use-of-uninitialized-delayed_work-lockdep-.patch

Compile-tested on: ar71xx, cns3xxx, imx6, x86_64
Runtime-tested on: ar71xx, cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.9 to 4.9.153
Koen Vandeputte [Mon, 28 Jan 2019 10:02:46 +0000 (11:02 +0100)]
kernel: bump 4.9 to 4.9.153

Refreshed all patches.

Compile-tested on: ar7
Runtime-tested on: none

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 3.18 to 3.18.133
Koen Vandeputte [Mon, 28 Jan 2019 09:58:35 +0000 (10:58 +0100)]
kernel: bump 3.18 to 3.18.133

Refreshed all patches.

Compile-tested on: adm5120
Runtime-tested on: none

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agobrcm2708: Fix kmod-regmap split
Hauke Mehrtens [Sun, 27 Jan 2019 18:34:42 +0000 (19:34 +0100)]
brcm2708: Fix kmod-regmap split

There are more regmap dependencies missing in the brcm2708 target.

Fixes: fd5c16870169 ("kernel: Build: Split kmod-regmap")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agomap: depend on nat46, provide map-t
Hans Dedecker [Sun, 27 Jan 2019 12:10:28 +0000 (13:10 +0100)]
map: depend on nat46, provide map-t

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years ago464xlat: import from routing, add myself as maintainer
Hans Dedecker [Sun, 27 Jan 2019 12:07:52 +0000 (13:07 +0100)]
464xlat: import from routing, add myself as maintainer

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agonat46: import for routing, add myself as maintainer
Hans Dedecker [Sun, 27 Jan 2019 12:06:40 +0000 (13:06 +0100)]
nat46: import for routing, add myself as maintainer

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoath79: add support for TP-Link Archer C2 V3 (AC900)
Skirmantas Lauzikas [Sun, 28 Oct 2018 04:30:52 +0000 (06:30 +0200)]
ath79: add support for TP-Link Archer C2 V3 (AC900)

This commit adds support for the TP-link Archer C2 V3 (AC900).

Specifications:

 - CPU: QCA9563 750Mhz
 - Ram: 64MB (DDR2)
 - Flash: 8MB (SPI NOR)
 - Ethernet: 5x 10/100/1000
 - Wifi: QCA9563 bgn + QCA9887 an+ac
 - 9x Leds, 2x buttons

Flash instructions:

Upload openwrt-ath79-generic-tplink_archer-c2-v3-squashfs-factory.bin
via the router Web interface and flash as normal firmware update.

Signed-off-by: Skirmantas Lauzikas <skirmantas.lauzikas@blackraven.lt>
[reorder entries, fix trailing whitespace in dts, add firmware partition
 compatible string, remove led default off states, use default on state
 for system led, reuse tplink-safeloader-uimage image build recipe, squash
 with dynamic partitioning commit, reword commit message, add
 installation instructions]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agofirmware-utils: tplink-safeloader: Fix for Archer C2 V3 image generation
Skirmantas Lauzikas [Wed, 14 Nov 2018 13:45:41 +0000 (15:45 +0200)]
firmware-utils: tplink-safeloader: Fix for Archer C2 V3 image generation

Fix for factory image generation, so that stock firmware will accept the
openwrt image.

Ref: https://forum.openwrt.org/t/support-for-tp-link-archer-c2-v3/15617/17
Signed-off-by: Skirmantas Lauzikas <skirmantas.lauzikas@blackraven.lt>
[reword commit message, use correct order for conditions,
 trim trailing whitespace]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agotools: tplink-safeloader: add C7v5 RU Support
Michael Gray [Fri, 18 Jan 2019 07:49:15 +0000 (18:49 +1100)]
tools: tplink-safeloader: add C7v5 RU Support

The added entry originates from TP-Links latest Archer C7 v5 RU firmware.

Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
5 years agobrcm63xx: VH4032N: add missing pinctrl
Daniel Gonzalez Cabanelas [Mon, 31 Dec 2018 11:20:54 +0000 (12:20 +0100)]
brcm63xx: VH4032N: add missing pinctrl

Add missing pin controls for the Observa VH4032N router.

This fixes the wifi radio and ethernet LAN LEDs.

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
5 years agobrcm63xx: VH4032N: fix the power led and the wlan button
Daniel Gonzalez Cabanelas [Sun, 30 Dec 2018 13:59:30 +0000 (14:59 +0100)]
brcm63xx: VH4032N: fix the power led and the wlan button

- use the blue LED for power, since the red LED is already used by
  CFE in emergency mode.
- use the correct code for the wlan button

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
5 years agobrcm2708: Move kmod-sound-soc-3dlab-nano-player to sound modules
Hauke Mehrtens [Sun, 27 Jan 2019 10:07:24 +0000 (11:07 +0100)]
brcm2708: Move kmod-sound-soc-3dlab-nano-player to sound modules

kmod-sound-soc-3dlab-nano-player was in the global kernel menu before,
add the dependency to sound to move it to the correct category.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agokernel: Fix kmod-regmap split
Hauke Mehrtens [Sun, 27 Jan 2019 10:04:58 +0000 (11:04 +0100)]
kernel: Fix kmod-regmap split

Two regmap dependencies were wrong, this patch fixes them.
This was detected by the build bots.

Fixes: fd5c16870169 ("kernel: Build: Split kmod-regmap")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agombedtls: Kconfig option to enable/disable debug functions
Michael Heimpold [Thu, 3 Jan 2019 23:00:41 +0000 (00:00 +0100)]
mbedtls: Kconfig option to enable/disable debug functions

This introduces a new Kconfig option to switch on/off mbedtls' support
for debug functions.

The idea behind is to inspect TLS traffic with Wireshark for debug
purposes. At the moment, there is no native or 'nice' support for
this, but at
https://github.com/Lekensteyn/mbedtls/commit/68aea15833e1ac9290b8f52a4223fb4585fb3986
an example implementation can be found which uses the debug functions
of the library. However, this requires to have this debug stuff enabled
in the library, but at the moment it is staticly patched out.

So this patch removes the static part from the configuration patch
and introduces a dynamic config file editing during build.

When enabled, this heavily increases the library size, so I added
a warning in the Kconfig help section.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
5 years agombedtls: update to 2.16.0
Deng Qingfang [Thu, 3 Jan 2019 11:03:22 +0000 (19:03 +0800)]
mbedtls: update to 2.16.0

Refresh patch

https://tls.mbed.org/tech-updates/releases/mbedtls-2.16.0-2.7.9-and-2.1.18-released

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agoupdate uClibc-ng from 1.0.30 to 1.0.31
protonesso [Fri, 4 Jan 2019 14:57:01 +0000 (06:57 -0800)]
update uClibc-ng from 1.0.30 to 1.0.31

Signed-off-by: protonesso <nagakamira@gmail.com>
5 years agolantiq/led_dsl: Fix netdev led trigger
Martin Schiller [Thu, 10 Jan 2019 07:59:31 +0000 (08:59 +0100)]
lantiq/led_dsl: Fix netdev led trigger

In the upstream netdev led trigger the one mode file was replaced by 3
files named rx, tx and link. Fix the netdev trigger configuration code
to use the modified API.

This fix is based on 201058b35ce ("base-files: Fix netdev led trigger")

Fixes: aa3b6a08c56 ("kernel: Replace ledtrig-netdev with upstream backport")
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
5 years agosunxi: Add support for SY8106A voltage regulator
Daniel Engberg [Tue, 15 Jan 2019 01:36:42 +0000 (02:36 +0100)]
sunxi: Add support for SY8106A voltage regulator

Add support for Silergy SY8106A voltage regulator which is
needed for cpufreq support on boards such as Orange Pi PC

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
[Remove CONFIG_REGULATOR_SY8106A from cortexa7]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agokernel: add kmod-usb-gadget-cdc-composite
Karl Pálsson [Thu, 20 Dec 2018 09:55:09 +0000 (09:55 +0000)]
kernel: add kmod-usb-gadget-cdc-composite

This builds the "g_cdc" gadget module, providing ethernet+serial.

Signed-off-by: Karl Pálsson <karlp@etactica.com>
5 years agobuild: dtc: Disable noisy warnings by default
Petr Štetiar [Mon, 7 Jan 2019 00:08:05 +0000 (01:08 +0100)]
build: dtc: Disable noisy warnings by default

While helping with review and build testing of a few 4.19 pull requests,
I've noticed, that dtc compiler in OpenWrt uses different options then
upstream kernel, which is leading to a very noisy output[1]. It wouldn't
be that bad per se, but a lot of such warnings aren't easily fixable so
I think, that we should follow what upstream does and simply ignore^W
silence those noisy warnings.

So this patch tries to syncs dtc compiler flags with upstream kernel
till version 4.19.13, disabling those warnings as they were added in
upstream kernel:

 v4.6-rc1-2-gbc55398 dtc: turn off dtc unit address warnings by default

  The newly added dtc warning to check DT unit-address without reg
  property and vice-versa generates lots of warnings. Turn off the check
  unless building with W=1 or W=2.

 v4.11-rc2-11-g8654cb8 dtc: update warning settings for new bus and node/property

  dtc gained new warnings checking PCI and simple buses, unit address
  formatting, and stricter node and property name checking. Disable the
  new dtc warnings by default as there are 1000s. As before, warnings are
  enabled with W=1 or W=2. The strict node and property name checks are a
  bit subjective, so they are only enabled for W=2.

 v4.16-rc3-9-g4fd98e3 scripts: turn off some new dtc warnings by default

  The latest dtc update adds some new noisy warnings, so turn them off by
  default. Disable 'avoid_unnecessary_addr_size' and 'alias_paths'. They
  can be re-enabled by building with 'W=1'.

 v4.17-rc1-27-g74656b6 kbuild: disable new dtc graph and unit-address warnings

  dtc gained some new warnings for OF graphs and unique unit addresses,
  but they are currently much too noisy. So turn off
  'graph_child_address', 'graph_port', and 'unique_unit_address' warnings
  by default. They can be enabled by building dtbs with W=1.

Build tested on imx6 and ath79 with 4.14 and 4.19.

1. https://github.com/openwrt/openwrt/pull/1694#issuecomment-450864335

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agomvebu: backport upstream fixes for armada 37xx
Tomasz Maciej Nowak [Sun, 13 Jan 2019 20:30:26 +0000 (21:30 +0100)]
mvebu: backport upstream fixes for armada 37xx

Upstream patches for processor frequency scaling, which fix possible
system hard lockups.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agomvebu: espressobin: correct spi node in dts
Tomasz Maciej Nowak [Sun, 13 Jan 2019 20:30:25 +0000 (21:30 +0100)]
mvebu: espressobin: correct spi node in dts

Drop customizations in:
508-arm64-dts-armada-3720-espressobin-wire-up-spi-flash.patch
and move them to separate patch, with broader explanation.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agomvebu: sort armada 37xx upstream patches chronologically
Tomasz Maciej Nowak [Sun, 13 Jan 2019 20:30:24 +0000 (21:30 +0100)]
mvebu: sort armada 37xx upstream patches chronologically

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agomvebu: move HARDEN_BRANCH_PREDICTOR to common config
Tomasz Maciej Nowak [Sun, 13 Jan 2019 20:29:22 +0000 (21:29 +0100)]
mvebu: move HARDEN_BRANCH_PREDICTOR to common config

This symbol is enabled in all subtargets, move it to common kernel
config.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Acked-by: Rosen Penev <rosenp@gmail.com>
5 years agokernel: Build: Split kmod-regmap
Hauke Mehrtens [Fri, 11 Jan 2019 17:05:11 +0000 (18:05 +0100)]
kernel: Build: Split kmod-regmap

This reduces the needed modifications to the mainline Linux kernel and
also makes the regmap package work with an out of tree kernel which
does not have these modifications.

The regmap-core is only added when it is really build as a module.
The regmap-core is normally bool so it cannot be built as a module in an
unmodified kernel. When it is selected by on other kernel module it will
always be selected as build in and it also does not show up in
$(LINUX_DIR)/modules.builtin as it is not supposed to be a kernel module.
When it is not in $(LINUX_DIR)/modules.builtin the build system expects
it to be built as a .ko file.
Just check if the module is really there and only add it in that case.

This splits the regmap package into multiple packages, one for each bus type.
This way only the bus maps which are really needed have to be added.
This also splits the I2C, SPI and MMIO regmap into separate packages to not
require all these subsystems to build them, on an unmodified upstream kernel
this also causes problems in some situations.

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
5 years agosunxi: spi flash dts changes
Oskari Lemmela [Mon, 14 Jan 2019 17:54:23 +0000 (19:54 +0200)]
sunxi: spi flash dts changes

Backport A64 SPI flash DTS changes to 4.14 kernel.

Add Openwrt specific flash partitions to Sopine.

Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
5 years agosunxi: add spi flash support to kernel
Oskari Lemmela [Mon, 14 Jan 2019 17:54:22 +0000 (19:54 +0200)]
sunxi: add spi flash support to kernel

Some of sunxi devices have onboard SPI flash.
Enable SPI NOR support and MTD fit split in kernel config.

Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
5 years agosunxi: add a64 watchdog support
Oskari Lemmela [Mon, 14 Jan 2019 17:54:21 +0000 (19:54 +0200)]
sunxi: add a64 watchdog support

Backport A64 watchdog DTS change to 4.14 kernel.

Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
5 years agoe2fsprogs: Update to 1.44.5
Rosen Penev [Tue, 15 Jan 2019 00:29:18 +0000 (16:29 -0800)]
e2fsprogs: Update to 1.44.5

Added e4crypt tool for encrypting files and directories. To work properly
requires kernel and work on keyutils. That will be done in a future commit

Some top-level reorganization for consistency between packages.

Tested on GnuBee PC1 (mt7621).

Signed-off-by: Rosen Penev <rosenp@gmail.com>
5 years agoath79: add support for Devolo WiFi Pro 1750e
Django Armstrong [Sun, 20 Jan 2019 16:46:42 +0000 (16:46 +0000)]
ath79: add support for Devolo WiFi Pro 1750e

Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
       1x Atheros AR8033
WiFi2: QCA9558 3T3R (SiGE SE2565T 2.4 GHz power amp x3)
WiFi5: QCA9880 3T3R (Skyworks 5003L1 5 GHz power amp x3)
BTN:   1x Reset
       1x WPS
       1x USB eject
LED:   1x LED blue
       1x LED red
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is pin closest to rear ports)
       Dupont 4 pin header
       Rear RJ45 serial port non-functional
USB:   1x v2.0

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password previously set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: Django Armstrong <iamdjango@hotmail.com>
5 years agoramips: rt3883: drop jimage support
Mathias Kresin [Sat, 26 Jan 2019 17:50:50 +0000 (18:50 +0100)]
ramips: rt3883: drop jimage support

The splitter isn't required by any of the boards in the subtarget.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: disable CONFIG_MTD_SPLIT_FIRMWARE
Mathias Kresin [Sat, 26 Jan 2019 17:48:30 +0000 (18:48 +0100)]
ramips: disable CONFIG_MTD_SPLIT_FIRMWARE

It's no longer needed as all mt7621 devices use DT binding (supported by
upstream mtd code) for specifying "firmware" part format explicitly.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: specify "firmware" partition format for remaining devices
Rafał Miłecki [Thu, 13 Dec 2018 16:16:37 +0000 (17:16 +0100)]
ramips: specify "firmware" partition format for remaining devices

It results in calling the right MTD parser directly instead of trying
them one by one.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
[use the lzma splitter for the AR670W]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agogemini: Add a config for kernel v4.19
Linus Walleij [Sat, 26 Jan 2019 12:36:50 +0000 (13:36 +0100)]
gemini: Add a config for kernel v4.19

This adds a config for kernel v4.19 to the Gemini
target.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 years agogemini: Add v4.19 kernel patches
Linus Walleij [Sat, 26 Jan 2019 12:36:49 +0000 (13:36 +0100)]
gemini: Add v4.19 kernel patches

This is the remainder of kernel patches for the v4.19
kernel. A whole slew of the previous patch stack is now
upstream, so this mainly contains the stuff that was
added upstream between v4.19 and v5.0-rc1, and then
the USB FOTG201 patches from Hans.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 years agouboot-imx6: Bump to 2019.01
Petr Štetiar [Wed, 23 Jan 2019 21:25:39 +0000 (22:25 +0100)]
uboot-imx6: Bump to 2019.01

Build tested: apalis, mx6sabresd, nitrogen6dl, nitrogen6dl2g, nitrogen6q,
              nitrogen6q2g, nitrogen6s, nitrogen6s1g, wandboard

Run tested: apalis (pending PR #1595)

Cc: Felix Fietkau <nbd@nbd.name>
Cc: Vladimir Vid <vladimir.vid@sartura.hr>
Cc: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agou-boot.mk: Fix building of recent U-Boot sources
Petr Štetiar [Wed, 23 Jan 2019 21:25:38 +0000 (22:25 +0100)]
u-boot.mk: Fix building of recent U-Boot sources

This patch fixes following error with U-Boot 2019.01 on imx6:

 In file included from tools/lib/crc16.c:1:0:
 ./tools/../lib/crc16.c: In function 'crc16_ccitt':
 ./tools/../lib/crc16.c:70:2: error: 'for' loop initial declarations are only allowed in C99 mode
   for (int i = 0;  i < len;  i++)
   ^
 ./tools/../lib/crc16.c:70:2: note: use option -std=c99 or -std=gnu99 to compile your code

Code was introduced in the upstream v2019.01-rc1-154-g51c2345:

 commit 51c2345bd24837f9f67f16268da6dc71573f1325
 Author: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
 Date:   Sun Nov 25 19:22:19 2018 +0100

    Roll CRC16-CCITT into the hash infrastructure

Upstream has added -std=gnu11 host flag in v2018.07-rc2-1-gfa89399:

 commit fa893990e9b53425af5f5059e04a2bffde91ccf9
 Author: Tom Rini <trini@konsulko.com>
 Date:   Tue Jun 19 23:53:54 2018 -0400

    Makefile: Ensure we build with -std=gnu11

Build tested on imx6: apalis, mx6sabresd, nitrogen6dl, nitrogen6dl2g,
                      nitrogen6q, nitrogen6q2g, nitrogen6s, nitrogen6s1g,
                      wandboard

Run tested: apalis (pending PR #1595)

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agouboot-mxs: bump to v2019.01
Michael Heimpold [Wed, 16 Jan 2019 21:07:16 +0000 (22:07 +0100)]
uboot-mxs: bump to v2019.01

Also update the U-Boot BSP patch for I2SE Duckbill devices.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
5 years agoramips: add support for Archer C50 v4
David Bauer [Mon, 31 Dec 2018 15:24:26 +0000 (16:24 +0100)]
ramips: add support for Archer C50 v4

This adds support for the TP-Link Archer C50 v4.
It uses the same hardware as the v3 variant, sharing the same FCC-ID.

CPU:   MediaTek MT7628 (580MHz)
RAM:   64M DDR2
FLASH: 8M SPI
WiFi:  2.4GHz 2x2 MT7628 b/g/n integrated
WiFI:  5GHz 2x2 MT7612 a/n/ac
ETH:   1x WAN 4x LAN
LED:   Power, WiFi2, WiFi5, LAN, WAN, WPS
BTN:   WPS/WiFi, RESET
UART:  Near ETH ports, 115200 8n1, TP-Link pinout

Create Factory image
--------------------
As all installation methods require a U-Boot to be integrated into the
Image (and we do not ship one with the image) we are not able to create
an image in the OpenWRT build-process.

Download a TP-Link image from their Wesite and a OpenWRT sysupgrade
image for the device and build yourself a factory image like following:

TP-Link image:             tpl.bin
OpenWRT sysupgrade image:  owrt.bin

 > dd if=tpl.bin of=boot.bin bs=131584 count=1
 > cat owrt.bin >> boot.bin

Installing via Web-UI
---------------------
Upload the boot.bin via TP-Links firmware upgrade tool in the
web-interface.

Installing via Recovery
-----------------------
Activate Web-Recovery by beginning the upgrade Process with a
Firmware-Image from TP-Link. After starting the Firmware Upgrade,
wait ~3 seconds (When update status is switching to 0%), then
disconnect the power supply from the device. Upgrade flag (which
activates Web-Recovery) is written before the OS-image is touched and
removed after write is succesfull, so this procedure should be safe.

Plug the power back in. It will come up in Recovery-Mode on 192.168.0.1.
When active, all LEDs but the WPS LED are off.
Remeber to assign yourself a static IP-address as DHCP is not active in
this mode.

The boot.bin can now be uploaded and flashed using the web-recovery.

Installing via TFTP
-------------------
Prepare an image like following (Filenames from factory image steps
apply here)

 > dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1
 > dd if=tpl.bin of=tmp.bin bs=131584 count=1
 > dd if=tmp.bin of=boot.bin bs=512 skip=1
 > cat boot.bin >> tp_recovery.bin
 > cat owrt.bin >> tp_recovery.bin

Place tp_recovery.bin in root directory of TFTP server and listen on
192.168.0.66/24.

Connect router LAN ports with your computer and power up the router
while pressing the reset button. The router will download the image via
tftp and after ~1 Minute reboot into OpenWRT.

U-Boot CLI
----------
U-Boot CLI can be activated by holding down '4' on bootup.

Dual U-Boot
-----------
This is the first TP-Link MediaTek device to feature a split-uboot
design. The first (factory-uboot) provides recovery via TFTP and HTTP,
jumping straight into the second (firmware-uboot) if no recovery needs
to be performed. The firmware-uboot unpacks and executed the kernel.

Web-Recovery
------------
TP-Link integrated a new Web-Recovery like the one on the Archer C7v4 /
TL-WR1043v5. Stock-firmware sets a flag in the "romfile" partition
before beginning to write and removes it afterwards. If the router boots
with this flag set, bootloader will automatically start Web-recovery and
listens on 192.168.0.1. This way, the vendor-firmware or an OpenWRT
factory image can be written.

By doing the same while performing sysupgrade, we can take advantage of
the Web-recovery in OpenWRT.

It is important to note that Web-Recovery is only based on this flag. It
can't detect e.g. a crashing kernel or other means. Once activated it
won't boot the OS before a recovery action (either via TFTP or HTTP) is
performed. This recovery-mode is indicated by an illuminated WPS-LED on
boot.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agobase-files: sysupgrade: support additional mtd options
David Bauer [Mon, 31 Dec 2018 15:24:26 +0000 (16:24 +0100)]
base-files: sysupgrade: support additional mtd options

Add support for passing additional parameters to mtd called during
sysupgrade. It will be required to toggle the "recovery moe" flag
supported by recent tp-link boards.

Signed-off-by: David Bauer <mail@david-bauer.net>
[split code from board support patch; add commit message]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agomtd: add logic for TP-Link ramips recovery magic
David Bauer [Mon, 31 Dec 2018 15:24:25 +0000 (16:24 +0100)]
mtd: add logic for TP-Link ramips recovery magic

This adds an option to set the recovery flag of newer TP-Link MediaTek
boards and remove it after a successful write.

To make use of this feature, add the '-t' option to mtd-write.

The '-t' option takes the mtd partition containing the recovery flag
(usually 'romfile') as an argument. Make sure this partition is not
flagged as read-only!

Example:
 > mtd -t romfile write owrt.bin firmware

This command writes the recovery-flag before it begins writing the image
to the firmware partition. After the image-write has been successful,
the recovery flag is removed.

This way, the TP-Link web-recovery is automatically enabled on an
unsucessful flash (e.g. power loss).

This option is only available if the mtd package is compiled for the
ramips target.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agotools: mktplinkfw2: add split-uboot layout
David Bauer [Mon, 31 Dec 2018 15:24:24 +0000 (16:24 +0100)]
tools: mktplinkfw2: add split-uboot layout

This commit adds the split-uboot partition layout used by the
Archer C50 v4 to mktplinkfw2.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agogemini: dlink-dir-685: fix rt2800-pci package name
Christian Lamparter [Fri, 25 Jan 2019 21:51:19 +0000 (22:51 +0100)]
gemini: dlink-dir-685: fix rt2800-pci package name

The package is now called kmod-rt2800-pci.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: add support for Linksys EA6350v3
Oever González [Thu, 24 Jan 2019 03:20:55 +0000 (21:20 -0600)]
ipq40xx: add support for Linksys EA6350v3

Specifications:
SOC: Qualcomm IPQ4018
RAM: 256 MiB Samsung K4B2G1646F-BYK0
FLASH1: MX25L1605D 2 MB
FLASH2: Winbond W25N01GV 128Mb
ETH: Qualcomm QCA8075
WLAN0: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n 2x2
WLAN1: Qualcomm Atheros QCA4018 5GHz 802.11n/ac W2 2x2
INPUT: WPS, Reset
LED: Status - Green
SERIAL: Header at J19, Beneath DC Power Jack
        1-VCC ; 2-TX ; 3-RX; 4-GND;
        Serial 115200-8-N-1.

Tested and working:
- USB (requires extra packages)
- LAN Ethernet (Correct MAC-address)
- WAN Ethernet (Correct MAC-address)
- 2.4 GHz WiFi (Correct MAC-address)
- 5 GHz WiFi (Correct MAC-address)
- Factory installation from Web UI
- OpenWRT sysupgrade
- LED
- Reset Button

Need Testing:
- WPS button

Install via Web UI:
- Attach to a LAN port on the router.
- Connect to the Linksys Smart WiFi Page (default 192.168.1.1) and login
- Select the connectivity tab on the left
- In the manual update box on the right
- Select browse, and browse to
  openwrt-ipq40xx-linksys_ea6350v3-squashfs-factory.bin
- Click update.
- Read and accept the warning
- The router LED will start blinking. When the router LED goes solid, you
  can now navigate to 192.168.1.1 to your new OpenWrt installation.

Sysupgrade:
- Flash the sysupgrade image as usual. Please: try to do a reset everytime
  you can (doing it with LuCI is easy and can be done in the same step).

Recovery (Automatic):
- If the device fails to boot after install or upgrade, whilst the unit is
  turned on:
1 - Wait 15 seconds
2 - Switch Off and Wait 10 seconds
3 - Switch on
4 - Repeat steps 1 to 3, 3 times then go to 5.
5 - U-boot will have now erased the failed update and switched back to the
    last working firmware - you should be able to access your router on
    LAN.

Recovery (Manual):
- The steps for manual recovery are the same as the generic u-boot tftp
  client method.

Back To Stock:
- Use the generic recovery using the tftp client method to flash the
  "civic.img". Also you can strip-and-pad the original image and use
  the generic "mtd" method by flashing over the "kernel" partition.
* Just be careful to flash in the partition that the device is currently
  booted.

Signed-off-by: Ryan Pannell <ryan@osukl.com>
Signed-off-by: Oever González <notengobattery@gmail.com>
[minor edits, removed second compatible of nand, added dtb entry to 4.19]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agobuild: add a script for generating Linksys factory images
Oever González [Thu, 24 Jan 2019 03:20:55 +0000 (21:20 -0600)]
build: add a script for generating Linksys factory images

This commit adds the 'Build/linksys-image' rule and the
'linksys-image.sh' script to the build system.

This change is needed for generating factory images for the Linksys
EA6350v3 device. Without this patch, only valid sysupgrade images can be
generated. With this patch, users can flash the device without the
need of physical access or disassembly.

Signed-off-by: Ryan Pannell <ryan@osukl.com>
Signed-off-by: Oever González <notengobattery@gmail.com>
5 years agomtd: add linksys_bootcount to the ipq40xx target
Oever González [Thu, 24 Jan 2019 03:20:55 +0000 (21:20 -0600)]
mtd: add linksys_bootcount to the ipq40xx target

This commit adds the object 'linksys_bootcount_fix.o' to the ipq40xx
target.

This is needed for the Linksys EA6350v3 device. Without this patch, the
device will switch-back between the current and the last flashed firmware
every 3 (three) reboots. With this patch, the device works as expected.

Signed-off-by: Ryan Pannell <ryan@osukl.com>
Signed-off-by: Oever González <notengobattery@gmail.com>
5 years agouboot-envtools: add support for Linksys EA6350v3
Oever González [Thu, 24 Jan 2019 03:20:55 +0000 (21:20 -0600)]
uboot-envtools: add support for Linksys EA6350v3

This commit adds support for the Linksys EA6350v3 device in the ipq40xx
target.

This is needed for uboot-envtools to access the environment. Without this
patch, the Linksys EA6350v3 will not be able to access the uboot
environment. As a side effect, the feature auto_recovery will make the
device unstable by switching between the latest and the current firmware.

Signed-off-by: Ryan Pannell <ryan@osukl.com>
Signed-off-by: Oever González <notengobattery@gmail.com>
5 years agoipq-wifi: add support for Linksys EA6350v3
Oever González [Thu, 24 Jan 2019 03:20:55 +0000 (21:20 -0600)]
ipq-wifi: add support for Linksys EA6350v3

This commit adds support for the Linksys EA6350v3 device in the ipq-wifi
target.

Without this patch, the Linksys EA6350v3 won't be hable to have fully
functional wireless interfaces. This is not permanent: the board data has
already been sent to ath10k _at_ lists _dot_ infradead _dot_ org

Signed-off-by: Ryan Pannell <ryan@osukl.com>
Signed-off-by: Oever González <notengobattery@gmail.com>
5 years agomac80211: ath: add extra 'regulatory domains'
Oever González [Thu, 24 Jan 2019 03:20:55 +0000 (21:20 -0600)]
mac80211: ath: add extra 'regulatory domains'

This patch adds several country codes to the regd.h and regd_common.h
files in order to support devices whose country codes are not present in
the original list.

Without this patch, all devices whose manufacturer programmed any of these
code in their EEPROM will run without wireless interfaces.

Signed-off-by: Oever González <notengobattery@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [matched signed-off]
5 years agouboot-fritz4040: update package to 2019-01-25
Christian Lamparter [Fri, 25 Jan 2019 17:22:28 +0000 (18:22 +0100)]
uboot-fritz4040: update package to 2019-01-25

David Bauer reported a u-boot crash (data abort) at a odd
place (byteswap) when he ran ping/tftp on his 7530.

|(FRITZ7530) # ping 192.168.1.70
|eth0 PHY0 up Speed :1000 Full duplex
|eth0 PHY1 Down Speed :10 Half duplex
|eth0 PHY2 Down Speed :10 Half duplex
|eth0 PHY3 Down Speed :10 Half duplex
|eth0 PHY4 Down Speed :10 Half duplex
|Using eth0 device
|data abort
|pc : [<84234774>]      lr : [<842351a4>]
|sp : 8412fdb0  ip : 0000009b     fp : 00000000
|r10: 00000000  r9 : 00000001     r8 : 8412ff68
|r7 : 00000000  r6 : 0000002a     r5 : 84244e90  r4 : 8425e28e
|r3 : 84244e90  r2 : 14000045     r1 : 8412fdb0  r0 : 8425e28e
|Flags: nZCv  IRQs off  FIQs off  Mode SVC_32
|Resetting CPU ...
|
|resetting ...

This issue is caused by switch from gcc 5.5 to 7.1+ as explained
in the upstream patch:

|From a768e513b07b5999a8e7d7740ac8d9da04ee7e51 Mon Sep 17 00:00:00 2001
|From: Denis Pynkin <denis.pynkin@collabora.com>
|Date: Fri, 21 Jul 2017 19:28:42 +0300
|Subject: [PATCH] net: Use packed structures for networking
|
|PXE boot is broken with GCC 7.1 due option '-fstore-merging' enabled
|by default for '-O2':
|
|BOOTP broadcast 1
|data abort
|pc : [<8ff8bb30>]          lr : [<00004f1f>]
|reloc pc : [<17832b30>]    lr : [<878abf1f>]
|sp : 8f558bc0  ip : 00000000     fp : 8ffef5a4
|r10: 8ffed248  r9 : 8f558ee0     r8 : 8ffef594
|r7 : 0000000e  r6 : 8ffed700     r5 : 00000000  r4 : 8ffed74e
|r3 : 00060101  r2 : 8ffed230     r1 : 8ffed706  r0 : 00000ddd
|Flags: nzcv  IRQs off  FIQs off  Mode S
|
|Core reason is usage of structures for network headers without packed
|attribute.

Reported-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath79: dts: Unify naming of gpio-led nodes
Petr Štetiar [Sun, 30 Dec 2018 11:42:53 +0000 (12:42 +0100)]
ath79: dts: Unify naming of gpio-led nodes

In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.

1. https://openwrt.org/submitting-patches#dts_checklist
2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation

Signed-off-by: Petr Štetiar <ynezz@true.cz>
[split up, removed entries where it could clash due to ath9k-leds]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath79: dts: Unify naming of gpio-keys nodes
Petr Štetiar [Sun, 30 Dec 2018 11:17:25 +0000 (12:17 +0100)]
ath79: dts: Unify naming of gpio-keys nodes

In DTS Checklist[1] we're now demanding proper generic node names, as
the name of a node should reflect the function of the device and use
generic name for that[2]. Everybody seems to be copy&pasting from DTS
files available in the repository today, so let's unify that naming
there as well and provide proper examples.

1. https://openwrt.org/submitting-patches#dts_checklist
2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [split up]
5 years agoramips: fix support for MX25L25635F flash
Deng Qingfang [Sun, 13 Jan 2019 06:25:05 +0000 (14:25 +0800)]
ramips: fix support for MX25L25635F flash

Patch picked from commit 82618062cf7e

This enables 4B opcodes for MX25L25635F, to fix the reboot crash
issue (FS#1120) At least 3 devices are using this flash
- GeHua GHL-R-001
- Youku YK1
- Newifi D1

Now the MX25L25635F can be correctly detected without breaking MX25L25635E
[ 3.034324] spi-mt7621 1e000b00.spi: sys_freq: 220000000
[ 3.045962] m25p80 spi0.0: mx25l25635f (32768 Kbytes)
[ 3.056098] 4 fixed-partitions partitions found on MTD device spi0.0
[ 3.068748] Creating 4 MTD partitions on "spi0.0":

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added deprecation notice]
5 years agompc85xx: add support for OCEDO Panda
David Bauer [Wed, 16 Jan 2019 23:43:13 +0000 (00:43 +0100)]
mpc85xx: add support for OCEDO Panda

CPU:   FSL P1020 (2x 800MHz E500 PPC)
RAM:   1GB DDR3
FLASH: 256MiB NAND
WiFi:  2x Atheros AR9382 2x2:2 abgn
ETH:   2x BCM54616S - 1x BCM53128 8-port switch
LED:   5x LEDs (Power, WiFi1, WiFi2, N/D, SYS)
BTN:   1x RESET

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

1. Download initrams kernel image, dtb binary and sysupgrade image.

2. Place initramfs kernel into tftp root directory. Rename to
"panda-uimage-factory".

3. Place dtb binary into tftp root directory. Rename to "panda.fdt".

4. Start tftp server on 192.168.100.8/24.

5. Power up the device with the reset button pressed. It will download
the initrams and dtb via tftp and boot into OpenWRT in RAM.

6. SSH into the device and remove the factory partitions.

 > ubirmvol /dev/ubi0 --name=kernel1
 > ubirmvol /dev/ubi0 --name=rootfs1
 > ubirmvol /dev/ubi0 --name=devicetree1

You will have around 60 MiB of free space with that.

You can also delete "kernel2", "devicetree2", "rootfs2" and "storage"
respectively in case you do not want to go back to the vendor firmware.

7. Modify the U-Boot bootcmd to allow for booting OpenWRT

 > fw_setenv bootcmd_owrt "ubi part ubi && ubi read 0x1000000 kernel
   && bootm 0x1000000"

 > fw_setenv bootargs_owrt "setenv bootargs console=ttyS0,115200
   ubi.mtd=3,2048"

 > fw_setenv bootcmd "run bootargs_owrt; run bootcmd_owrt"

8. Transfer the sysupgrade image via scp into the /tmp directory.

9. Upgrade the device

 > sysupgrade -n /tmp/<imagename>

Signed-off-by: David Bauer <mail@david-bauer.net>