2 years agotoolchain/binutils: refresh patches
Kevin Darbyshire-Bryant [Sun, 21 Apr 2019 13:57:44 +0000 (14:57 +0100)]
toolchain/binutils: refresh patches

Fix hunk offset warnings.

Signed-off-by: Kevin Darbyshire-Bryant <>
2 years agoodhcpd: update to latest git HEAD (FS#2243, FS#2244)
Hans Dedecker [Fri, 19 Apr 2019 17:21:27 +0000 (19:21 +0200)]
odhcpd: update to latest git HEAD (FS#2243, FS#2244)

6633efe router: fix dns search list option

Signed-off-by: Hans Dedecker <>
2 years agodropbear: allow build without dbclient
Rosy Song [Thu, 18 Apr 2019 02:20:19 +0000 (10:20 +0800)]
dropbear: allow build without dbclient

This can save ~16KBytes size for the ipk

Signed-off-by: Rosy Song <>
2 years agoarmvirt64: enable qemu drm drivers
Lucian Cristian [Thu, 18 Apr 2019 04:26:23 +0000 (07:26 +0300)]
armvirt64: enable qemu drm drivers

adds the qemu video drivers and also fixes the build failure
introduced with drm-kms-helper

Signed-off-by: Lucian Cristian <>
2 years agokernel: add missing drm symbol
Lucian Cristian [Thu, 18 Apr 2019 04:41:10 +0000 (07:41 +0300)]
kernel: add missing drm symbol

dependency introduced with module drm-kms-helper

Signed-off-by: Lucian Cristian <>
2 years agoinclude: remove CRLF_WORKAROUND
Alexandru Ardelean [Wed, 17 Apr 2019 06:11:14 +0000 (09:11 +0300)]
include: remove CRLF_WORKAROUND

This patch doesn't seem to have any more users.
The only one used to be target in

That target has since been removed via commit
1080f68b2b422f1e72e402765a45d0cc3c550825 .

There doesn't seem to be any reason left for this workaround.

Signed-off-by: Alexandru Ardelean <>
2 years agomac80211: brcm: backport brcmfmac 5.2 patches
Rafał Miłecki [Thu, 18 Apr 2019 08:13:13 +0000 (10:13 +0200)]
mac80211: brcm: backport brcmfmac 5.2 patches

This includes some USB fixes and early work on FullMAC firmware crash

Signed-off-by: Rafał Miłecki <>
2 years agolantiq: tdw90x0: Fix WLAN LED on TP-Link W8970 v1.2 (FS#2232)
Petr Štetiar [Wed, 10 Apr 2019 08:10:33 +0000 (10:10 +0200)]
lantiq: tdw90x0: Fix WLAN LED on TP-Link W8970 v1.2 (FS#2232)

This patch fixes disfunctional WLAN LED on TP-Link W8970. The LED was
reported working in the CC release[1], but doesn't work anymore in 18.06.2.


Tested-by: Damian Janarek <>
Signed-off-by: Petr Štetiar <>
2 years agoodhcpd: update to latest git HEAD (FS#2206)
Hans Dedecker [Wed, 17 Apr 2019 12:39:57 +0000 (14:39 +0200)]
odhcpd: update to latest git HEAD (FS#2206)

38bc630 router: use ra_lifetime as lifetime for RA options (FS#2206)
0523bdd router: improve code readibility
0a3b279 Revert "router:"
207f8e0 treewide: align syslog loglevels
f1d7da9 router:
0e048ac treewide: fix compiler warnings
83698f6 CMakeList.txt: enable extra compiler checks

Signed-off-by: Hans Dedecker <>
2 years agoopenssl: change defaults: ENGINE:on, NPN:off, misc
Eneas U de Queiroz [Tue, 16 Apr 2019 20:12:47 +0000 (20:12 +0000)]
openssl: change defaults: ENGINE:on, NPN:off, misc

The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.
Enable engine support by default.  Right now, some packages require
this, so it is always enabled by the bots.  Many packages will compile
differently when engine support is detected, needing engine symbols from
the libraries.

However, being off by default, a user compiling its own image will fail
to run some popular packages from the official repo.
Note that disabling engines did not work in 1.0.2, so this problem never
showed up before.

NPN support has been removed in major browsers & servers, and has become
a small bloat, so it does not make sense to leave it on by default.

Remove deprecated CONFIG_ENGINE_CRYPTO symbol that is no longer needed.

Signed-off-by: Eneas U de Queiroz <>
2 years agokernel: Fix kmod-drm-amdgpu and kmod-drm-radeon dependencies
Lucian Cristian [Sat, 13 Apr 2019 17:26:07 +0000 (20:26 +0300)]
kernel: Fix kmod-drm-amdgpu and kmod-drm-radeon dependencies

Currently the Geode builds fails on following kernel module missing

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

So this patch tries to fix the kmod-drm-amdgpu module dependecies.

Fixes: 2f239c0 ("x86: video: add amdgpu DRM kernel package")
Fixes: 2f6918e ("x86: video: add radeon DRM module support")
Tested-by: Tomasz Maciej Nowak <>
Signed-off-by: Lucian Cristian <>
2 years agoprocd/hotplug: add dependency to dialout and audio group
Martin Schiller [Thu, 11 Apr 2019 07:54:37 +0000 (09:54 +0200)]
procd/hotplug: add dependency to dialout and audio group

Commit 6e060bd62c85 introduced a dependency to the dialout group.
Adding this group to the "group" file in the base-files package is not
enough to handle this dependency, because after a sysupgrade this entry
will be missing in the "group" file.

To address this problem the dependencies to the required groups needs to
be set in the Makefile of the procd package.
Then, the uci-default script "13_fix_group_user" will add the groups
on first boot-up after a sysupgrade.

Fixes: 6e060bd62c85 ("base-files/hotplug: fix dedicated group for tty devices")
Tested-by: Michael Heimpold <>
Signed-off-by: Martin Schiller <>
2 years agonetifd: update to latest git HEAD
Hans Dedecker [Mon, 15 Apr 2019 21:18:36 +0000 (23:18 +0200)]
netifd: update to latest git HEAD

666c14f system-linux: remove debug tracing
08989e4 interface: add neighbor config support
bfd4de3 interface: fix "if-down" hotplug event handling

Signed-off-by: Hans Dedecker <>
2 years agolayerscape: unbreak ehci-fsl interaction with mpc85xx
Christian Lamparter [Sun, 14 Apr 2019 20:34:52 +0000 (22:34 +0200)]
layerscape: unbreak ehci-fsl interaction with mpc85xx

Both targets have their own idea of how to use ehci-fsl.
This patch reverts part of commit
68b8d3b0796d ("kernel: usb: add FSL EHCI package") and moves
ehci-fsl back into kmod-usb2, while also making it hopefully
useable for the mpc85xx target.

Signed-off-by: Christian Lamparter <>
2 years agompc85xx: disable bricking TL-WDR4900v1 images
Christian Lamparter [Sun, 14 Apr 2019 21:54:33 +0000 (23:54 +0200)]
mpc85xx: disable bricking TL-WDR4900v1 images

The current mpc85xx build is failing because the
TL-WDR4900v1 kernel image no longer fits into the
partition. Extending the kernel is not possible
without updating u-boot's kernel loader commands.

This patch disables the WDR4900v1 until the kernel
image size issue is fixed so the buildbot can still
compile the Sophos RED 15w Rev.1 . Installing the
WDR4900v1 images would cause the routers to get

For the discussion, please go to:

Signed-off-by: Christian Lamparter <>
2 years agokernel: MIPS: perf: ath79: Fix perfcount IRQ assignment
Petr Štetiar [Thu, 11 Apr 2019 20:34:46 +0000 (22:34 +0200)]
kernel: MIPS: perf: ath79: Fix perfcount IRQ assignment

Currently it's not possible to use perf on ath79 due to genirq flags
mismatch happening on static virtual IRQ 13 which is used for
performance counters hardware IRQ 5.

On TP-Link Archer C7v5:

  2:          0      MIPS   2  ath9k
  4:        318      MIPS   4  19000000.eth
  7:      55034      MIPS   7  timer
  8:       1236      MISC   3  ttyS0
 12:          0      INTC   1  ehci_hcd:usb1
 13:          0  gpio-ath79   2  keys
 14:          0  gpio-ath79   5  keys
 15:         31  AR724X PCI    1  ath10k_pci

 $ perf top
 genirq: Flags mismatch irq 13. 00014c83 (mips_perf_pmu) vs. 00002003 (keys)

On TP-Link Archer C7v4:

  4:          0      MIPS   4  19000000.eth
  5:       7135      MIPS   5  1a000000.eth
  7:      98379      MIPS   7  timer
  8:         30      MISC   3  ttyS0
 12:      90028      INTC   0  ath9k
 13:       5520      INTC   1  ehci_hcd:usb1
 14:       4623      INTC   2  ehci_hcd:usb2
 15:      32844  AR724X PCI    1  ath10k_pci
 16:          0  gpio-ath79  16  keys
 23:          0  gpio-ath79  23  keys

 $ perf top
 genirq: Flags mismatch irq 13. 00014c80 (mips_perf_pmu) vs. 00000080 (ehci_hcd:usb1)

This problem is happening, because currently statically assigned virtual
IRQ 13 for performance counters is not claimed during the initialization
of MIPS PMU during the bootup, so the IRQ subsystem doesn't know, that
this interrupt isn't available for further use.

So this patch fixes the issue by simply booking hardware IRQ 5 for MIPS PMU.

Signed-off-by: Petr Štetiar <>
2 years agoumbim: update to latest git HEAD
Petr Štetiar [Thu, 11 Apr 2019 20:06:45 +0000 (22:06 +0200)]
umbim: update to latest git HEAD

24f9dc7 Iron out all extra compiler warnings
9d8dbc9 Enable extra compiler checks
ff8d356 mbim-proxy support
ccca03f umbim: add registration set support

Signed-off-by: Petr Štetiar <>
2 years agoRevert "ath79: Add WPS button to TP-Link Archer C7v5"
Petr Štetiar [Tue, 9 Apr 2019 12:24:11 +0000 (14:24 +0200)]
Revert "ath79: Add WPS button to TP-Link Archer C7v5"

Reverting this commit as I've missed the fact, that the button is
already present in the included DTSI file.

Signed-off-by: Petr Štetiar <>
2 years agomac80211: Fix rate_idx underflow in mwl8k (FS#2218)
Petr Štetiar [Mon, 8 Apr 2019 08:20:32 +0000 (10:20 +0200)]
mac80211: Fix rate_idx underflow in mwl8k (FS#2218)

Add a patch for mwl8k which fixes endless reboot loops on Linksys EA4500
with certain 5G configurations.

Signed-off-by: Petr Štetiar <>
2 years agoramips: add support for Rakwireless RAK633
Eike Feldmann [Tue, 26 Feb 2019 22:04:53 +0000 (23:04 +0100)]
ramips: add support for Rakwireless RAK633

It's OEM module with 2*26 pin header, similar to LinkIt Smart 7688 or


CPU:       MT7628 580 MHz. MIPS 24K
RAM:       64 MB
Flash:     8 MB
WIFI:      802.11n/g/b 20/40 MHz
USB:       1x Port USB 2.0
Ethernet:  5 Port ethernet switch
UART:      2x

Installation: Use the installed uboot Bootloader. Connect a serial cable
to serialport 0. Turn power on.  Choose the option: "Load system code
then write to Flash via TFTP".  Choose the local device IP and the TFTP
server IP and the file name of the system image.  After if the
Bootloader will copy the image to the local flash.

Notes: The I2C Kernel module work not correctly. You can send and
receive data. But the command i2cdetect doesn’t work. FS#845

Signed-off-by: Eike Feldmann <>
[commit subject and message touches, DTS whitespace fixes, wifi LED
rename, pinctrl fixes, network settings fixes, lan/wmac mac addresses,
removed i2c kernel modules]
Signed-off-by: Petr Štetiar <>
2 years agoramips: add support for GL.iNet VIXMINI
David Bauer [Fri, 12 Apr 2019 22:05:47 +0000 (00:05 +0200)]
ramips: add support for GL.iNet VIXMINI

SoC:   MediaTek MT7628NN
RAM:   64M DDR2 (Etron EM68B16CWQD-25H)
FLASH: 8M (Winbond W25Q64JVSIQ)
LED:   Power - WLAN
BTN:   Reset
UART:  115200 8N1
       TX and RX are labled on the board as pads next to the SoC

Installation via web-interface
1. Visit the web-interface at
   Note: The ethernet port is by default WAN. So you need to connect to
   the router via WiFi

2. Navigate to the Update tab on the left side.

3. Select "Local Update"

4. Upload the OpenWrt sysupgrade image.
   Note: Make sure you select not to preserve the configuration.

Installation via U-Boot
1. Hold down the reset button while powering on the device.
   Wait for the LED to flash 5 times.

2. Assign yourself a static IPv4 in

3. Upload the OpenWrt sysupgrade image at

Signed-off-by: David Bauer <>
2 years agompc85xx: generic: Check kernel size for the TL-WDR4900
Pawel Dembicki [Tue, 29 Jan 2019 18:26:28 +0000 (18:26 +0000)]
mpc85xx: generic: Check kernel size for the TL-WDR4900

TP-Link TL-WDR 4900 have u-boot with read-only env.
Boot command read only 0x29F000 data from flash.
Bigger images causes crc error. It can't be changed.

This patch add kernel size checking.

Signed-off-by: Pawel Dembicki <>
Signed-off-by: Christian Lamparter <> [utilize KERNEL_SIZE]
2 years agompc85xx: clean up device package selection
David Bauer [Mon, 8 Apr 2019 18:09:35 +0000 (20:09 +0200)]
mpc85xx: clean up device package selection

Remove wireless and USB packages from the device-specific package
selection as they are already selected by the target itself.

Signed-off-by: David Bauer <>
2 years agompc85xx: remove USB support from kernel
David Bauer [Mon, 8 Apr 2019 18:09:34 +0000 (20:09 +0200)]
mpc85xx: remove USB support from kernel

This removes USB support from the compiled kernel. Because of this, the
kernel is just small enough for the TP-Link WDR4900 to boot the
resulting kernel.

This is necessary to support the WDR4900 in the upcoming 19.xx release.
In the long run, this should be fixed with a second stage bootloader, as
the vendor bootloader only loads the first 2684k bytes.

Signed-off-by: David Bauer <>
2 years agokernel: usb: add FSL EHCI package
David Bauer [Mon, 8 Apr 2019 18:09:33 +0000 (20:09 +0200)]
kernel: usb: add FSL EHCI package

Add kernel module package for the Freescale USB2 EHCI used on the
mpc85xx platform.

Signed-off-by: David Bauer <>
2 years agoath79: remove unnecessary packages from I-O DATA ETG3-R
INAGAKI Hiroshi [Sat, 13 Apr 2019 03:21:02 +0000 (12:21 +0900)]
ath79: remove unnecessary packages from I-O DATA ETG3-R

I-O DATA ETG3-R is a wired router. So wireless-related packages are
unnecessary and remove those packages from default configuration to
reduce flash usage.

Signed-off-by: INAGAKI Hiroshi <>
2 years agoath79: add TP-Link WR842N v3
Sven Roederer [Sun, 24 Mar 2019 23:03:19 +0000 (00:03 +0100)]
ath79: add TP-Link WR842N v3

This adds support for the TP-Link WR842N v3 which is already supported on ar71xx
target (0b45bec22c59cc6e6b2fa71dc9a88386c5587132).

* SoC: QCA9533 ver 2 rev 0
* 16 MB Flash (gd25q128)
* 64 MB RAM
* 1 WAN 10/100 MBit/s (blue connector)
* 4 LAN 10/100 MBit/s (AR8229; 4 ports; yellow connectors)
* Atheros AR9531 (2,4GHz, two fixed antennas)
* Reset / WPS button
* WiFi button (rf kill)
* 8 green leds; 1 red/green led
* serial console (115200 8N1, according to the OpenWrt-wiki some soldering is needed)

* flash via vendor WebUI (the filename must not exceed certain length)
* sysupgrade from installed OpenWrt (also ar71xx)

Thanks to Holger Drefs for providing the hardware

Tested-by: @kofec (github)
Signed-off-by: Sven Roederer <>
2 years agomac80211: rt2x00: replace patch with upstream version
Daniel Golle [Fri, 12 Apr 2019 20:07:29 +0000 (22:07 +0200)]
mac80211: rt2x00: replace patch with upstream version

Replace the patch introduced by commit d0b969eee8 ("mac80211: rt2x00:
do not increment sequence number while re-transmitting") was merged
into wireless-drivers.git. Replace our version with the merged version.

Signed-off-by: Daniel Golle <>
2 years agoramips: fix pinctrl to allow hardware i2c on WRTNODE2R
Daniel Golle [Thu, 11 Apr 2019 20:26:28 +0000 (22:26 +0200)]
ramips: fix pinctrl to allow hardware i2c on WRTNODE2R

Instead of assigning I2C pins as GPIOs by default, leave it up to the
user whether to install kmod-i2c-mt7621 and use them for hardware I2C

Signed-off-by: Daniel Golle <>
2 years agokernel: move and replace accepted patch
Daniel Golle [Thu, 11 Apr 2019 17:19:49 +0000 (19:19 +0200)]
kernel: move and replace accepted patch

Signed-off-by: Daniel Golle <>
2 years agouboot-envtools: fix fw_env.config for ox820/stg-212
Daniel Golle [Tue, 9 Apr 2019 19:09:02 +0000 (21:09 +0200)]
uboot-envtools: fix fw_env.config for ox820/stg-212

Signed-off-by: Daniel Golle <>
2 years agobuild: switch default target from ar71xx to ath79
Kevin Darbyshire-Bryant [Thu, 11 Apr 2019 15:38:01 +0000 (16:38 +0100)]
build: switch default target from ar71xx to ath79

ar71xx is in the process of being deprecated as a target accepting new
devices.  The replacement target for the same hardware is DTS
based ath79.

Switch the default build target selection from ar71xx to ath79.

This is intended to encourage DTS takeup & support for ath79 and longer
term will also aid kernel upstream support.

Signed-off-by: Kevin Darbyshire-Bryant <>
2 years agohostapd: fix CVE-2019-9497, CVE-2019-9498, CVE-2019-9499
Stefan Lippers-Hollmann [Thu, 11 Apr 2019 00:57:09 +0000 (02:57 +0200)]
hostapd: fix CVE-2019-9497, CVE-2019-9498, CVE-2019-9499

EAP-pwd missing commit validation

Published: April 10, 2019
- CVE-2019-9497 (EAP-pwd server not checking for reflection attack)
- CVE-2019-9498 (EAP-pwd server missing commit validation for
- CVE-2019-9499 (EAP-pwd peer missing commit validation for

Latest version available from:


EAP-pwd implementation in hostapd (EAP server) and wpa_supplicant (EAP
peer) was discovered not to validate the received scalar and element
values in EAP-pwd-Commit messages properly. This could result in attacks
that would be able to complete EAP-pwd authentication exchange without
the attacker having to know the used password.

A reflection attack is possible against the EAP-pwd server since the
hostapd EAP server did not verify that the EAP-pwd-Commit contains
scalar/element values that differ from the ones the server sent out
itself. This allows the attacker to complete EAP-pwd authentication
without knowing the password, but this does not result in the attacker
being able to derive the session key (MSK), i.e., the attacker would not
be able to complete the following key exchange (e.g., 4-way handshake in

An attack using invalid scalar/element values is possible against both
the EAP-pwd server and peer since hostapd and wpa_supplicant did not
validate these values in the received EAP-pwd-Commit messages. If the
used crypto library does not implement additional checks for the element
(EC point), this could result in attacks where the attacker could use a
specially crafted commit message values to manipulate the exchange to
result in deriving a session key value from a very small set of possible
values. This could further be used to attack the EAP-pwd server in a
practical manner. An attack against the EAP-pwd peer is slightly more
complex, but still consider practical. These invalid scalar/element
attacks could result in the attacker being able to complete
authentication and learn the session key and MSK to allow the key
exchange to be completed as well, i.e., the attacker gaining access to
the network in case of the attack against the EAP server or the attacker
being able to operate a rogue AP in case of the attack against the EAP

While similar attacks might be applicable against SAE, it should be
noted that the SAE implementation in hostapd and wpa_supplicant does
have the validation steps that were missing from the EAP-pwd
implementation and as such, these attacks do not apply to the current
SAE implementation. Old versions of wpa_supplicant/hostapd did not
include the reflection attack check in the SAE implementation, though,
since that was added in June 2015 for v2.5 (commit 6a58444d27fd 'SAE:
Verify that own/peer commit-scalar and COMMIT-ELEMENT are different').

Vulnerable versions/configurations

All hostapd versions with EAP-pwd support (CONFIG_EAP_PWD=y in the build
configuration and EAP-pwd being enabled in the runtime configuration)
are vulnerable against the reflection attack.

All wpa_supplicant and hostapd versions with EAP-pwd support
(CONFIG_EAP_PWD=y in the build configuration and EAP-pwd being enabled
in the runtime configuration) are vulnerable against the invalid
scalar/element attack when built against a crypto library that does not
have an explicit validation step on imported EC points. The following
list indicates which cases are vulnerable/not vulnerable:
- OpenSSL v1.0.2 or older: vulnerable
- OpenSSL v1.1.0 or newer: not vulnerable
- BoringSSL with commit 38feb990a183 ('Require that EC points are on the
  curve.') from September 2015: not vulnerable
- BoringSSL without commit 38feb990a183: vulnerable
- LibreSSL: vulnerable
- wolfssl: vulnerable


Thanks to Mathy Vanhoef (New York University Abu Dhabi) for discovering
and reporting the issues and for proposing changes to address them in
the implementation.

Possible mitigation steps

- Merge the following commits to wpa_supplicant/hostapd and rebuild:

  EAP-pwd server: Detect reflection attacks

  EAP-pwd server: Verify received scalar and element
  EAP-pwd: Check element x,y coordinates explicitly

  EAP-pwd client: Verify received scalar and element
  EAP-pwd: Check element x,y coordinates explicitly

  These patches are available from

- Update to wpa_supplicant/hostapd v2.8 or newer, once available

Signed-off-by: Stefan Lippers-Hollmann <>
Signed-off-by: Jo-Philipp Wich <>
2 years agohostapd: fix CVE-2019-9496
Stefan Lippers-Hollmann [Thu, 11 Apr 2019 00:56:37 +0000 (02:56 +0200)]
hostapd: fix CVE-2019-9496

hostapd: fix SAE confirm missing state validation

Published: April 10, 2019
- CVE-2019-9496 (SAE confirm missing state validation in hostapd/AP)
Latest version available from:


When hostapd is used to operate an access point with SAE (Simultaneous
Authentication of Equals; also known as WPA3-Personal), an invalid
authentication sequence could result in the hostapd process terminating
due to a NULL pointer dereference when processing SAE confirm
message. This was caused by missing state validation steps when
processing the SAE confirm message in hostapd/AP mode.

Similar cases against the wpa_supplicant SAE station implementation had
already been tested by the hwsim test cases, but those sequences did not
trigger this specific code path in AP mode which is why the issue was
not discovered earlier.

An attacker in radio range of an access point using hostapd in SAE
configuration could use this issue to perform a denial of service attack
by forcing the hostapd process to terminate.

Vulnerable versions/configurations

All hostapd versions with SAE support (CONFIG_SAE=y in the build
configuration and SAE being enabled in the runtime configuration).

Possible mitigation steps

- Merge the following commit to hostapd and rebuild:

  SAE: Fix confirm message validation in error cases

  These patches are available from

- Update to hostapd v2.8 or newer, once available

Signed-off-by: Stefan Lippers-Hollmann <>
Signed-off-by: Jo-Philipp Wich <>
2 years agohostapd: fix CVE-2019-9495
Stefan Lippers-Hollmann [Thu, 11 Apr 2019 00:55:12 +0000 (02:55 +0200)]
hostapd: fix CVE-2019-9495

EAP-pwd side-channel attack

Published: April 10, 2019
- CVE-2019-9495 (cache attack against EAP-pwd)
Latest version available from:


Number of potential side channel attacks were recently discovered in the
SAE implementations used by both hostapd and wpa_supplicant (see
security advisory 2019-1 and VU#871675). EAP-pwd uses a similar design
for deriving PWE from the password and while a specific attack against
EAP-pwd is not yet known to be tested, there is no reason to believe
that the EAP-pwd implementation would be immune against the type of
cache attack that was identified for the SAE implementation. Since the
EAP-pwd implementation in hostapd (EAP server) and wpa_supplicant (EAP
peer) does not support MODP groups, the timing attack described against
SAE is not applicable for the EAP-pwd implementation.

A novel cache-based attack against SAE handshake would likely be
applicable against the EAP-pwd implementation. Even though the
wpa_supplicant/hostapd PWE derivation iteration for EAP-pwd has
protections against timing attacks, this new cache-based attack might
enable an attacker to determine which code branch is taken in the
iteration if the attacker is able to run unprivileged code on the victim
machine (e.g., an app installed on a smart phone or potentially a
JavaScript code on a web site loaded by a web browser). This depends on
the used CPU not providing sufficient protection to prevent unprivileged
applications from observing memory access patterns through the shared
cache (which is the most likely case with today's designs).

The attacker could use information about the selected branch to learn
information about the password and combine this information from number
of handshake instances with an offline dictionary attack. With
sufficient number of handshakes and sufficiently weak password, this
might result in full recovery of the used password if that password is
not strong enough to protect against dictionary attacks.

This attack requires the attacker to be able to run a program on the
target device. This is not commonly the case on an authentication server
(EAP server), so the most likely target for this would be a client
device using EAP-pwd.

The commits listed in the end of this advisory change the EAP-pwd
implementation shared by hostapd and wpa_supplicant to perform the PWE
derivation loop using operations that use constant time and memory
access pattern to minimize the externally observable differences from
operations that depend on the password even for the case where the
attacker might be able to run unprivileged code on the same device.

Vulnerable versions/configurations

All wpa_supplicant and hostapd versions with EAP-pwd support
(CONFIG_EAP_PWD=y in the build configuration and EAP-pwd being enabled
in the runtime configuration).

It should also be noted that older versions of wpa_supplicant/hostapd
prior to v2.7 did not include additional protection against certain
timing differences. The definition of the EAP-pwd (RFC 5931) does not
describe such protection, but the same issue that was addressed in SAE
earlier can be applicable against EAP-pwd as well and as such, that
implementation specific extra protection (commit 22ac3dfebf7b, "EAP-pwd:
Mask timing of PWE derivation") is needed to avoid showing externally
visible timing differences that could leak information about the
password. Any uses of older wpa_supplicant/hostapd versions with EAP-pwd
are recommended to update to v2.7 or newer in addition to the mitigation
steps listed below for the more recently discovered issue.

Possible mitigation steps

- Merge the following commits to wpa_supplicant/hostapd and rebuild:

  OpenSSL: Use constant time operations for private bignums
  Add helper functions for constant time operations
  OpenSSL: Use constant time selection for crypto_bignum_legendre()
  EAP-pwd: Use constant time and memory access for finding the PWE

  These patches are available from

- Update to wpa_supplicant/hostapd v2.8 or newer, once available

- Use strong passwords to prevent dictionary attacks

Signed-off-by: Stefan Lippers-Hollmann <>
Signed-off-by: Jo-Philipp Wich <>
2 years agohostapd: fix CVE-2019-9494
Stefan Lippers-Hollmann [Thu, 11 Apr 2019 00:53:10 +0000 (02:53 +0200)]
hostapd: fix CVE-2019-9494

SAE side-channel attacks

Published: April 10, 2019
- VU#871675
- CVE-2019-9494 (cache attack against SAE)
Latest version available from:


Number of potential side channel attacks were discovered in the SAE
implementations used by both hostapd (AP) and wpa_supplicant
(infrastructure BSS station/mesh station). SAE (Simultaneous
Authentication of Equals) is also known as WPA3-Personal. The discovered
side channel attacks may be able to leak information about the used
password based on observable timing differences and cache access
patterns. This might result in full password recovery when combined with
an offline dictionary attack and if the password is not strong enough to
protect against dictionary attacks.

Cache attack

A novel cache-based attack against SAE handshake was discovered. This
attack targets SAE with ECC groups. ECC group 19 being the mandatory
group to support and the most likely used group for SAE today, so this
attack applies to the most common SAE use case. Even though the PWE
derivation iteration in SAE has protections against timing attacks, this
new cache-based attack enables an attacker to determine which code
branch is taken in the iteration if the attacker is able to run
unprivileged code on the victim machine (e.g., an app installed on a
smart phone or potentially a JavaScript code on a web site loaded by a
web browser). This depends on the used CPU not providing sufficient
protection to prevent unprivileged applications from observing memory
access patterns through the shared cache (which is the most likely case
with today's designs).

The attacker can use information about the selected branch to learn
information about the password and combine this information from number
of handshake instances with an offline dictionary attack. With
sufficient number of handshakes and sufficiently weak password, this
might result in full discovery of the used password.

This attack requires the attacker to be able to run a program on the
target device. This is not commonly the case on access points, so the
most likely target for this would be a client device using SAE in an
infrastructure BSS or mesh BSS.

The commits listed in the end of this advisory change the SAE
implementation shared by hostapd and wpa_supplicant to perform the PWE
derivation loop using operations that use constant time and memory
access pattern to minimize the externally observable differences from
operations that depend on the password even for the case where the
attacker might be able to run unprivileged code on the same device.

Timing attack

The timing attack applies to the MODP groups 22, 23, and 24 where the
PWE generation algorithm defined for SAE can have sufficient timing
differences for an attacker to be able to determine how many rounds were
needed to find the PWE based on the used password and MAC
addresses. When the attack is repeated with multiple times, the attacker
may be able to gather enough information about the password to be able
to recover it fully using an offline dictionary attack if the password
is not strong enough to protect against dictionary attacks. This attack
could be performed by an attacker in radio range of an access point or a
station enabling the specific MODP groups.

This timing attack requires the applicable MODP groups to be enabled
explicitly in hostapd/wpa_supplicant configuration (sae_groups
parameter). All versions of hostapd/wpa_supplicant have disabled these
groups by default.

While this security advisory lists couple of commits introducing
additional protection for MODP groups in SAE, it should be noted that
the groups 22, 23, and 24 are not considered strong enough to meet the
current expectation for a secure system. As such, their use is
discouraged even if the additional protection mechanisms in the
implementation are included.

Vulnerable versions/configurations

All wpa_supplicant and hostapd versions with SAE support (CONFIG_SAE=y
in the build configuration and SAE being enabled in the runtime


Thanks to Mathy Vanhoef (New York University Abu Dhabi) and Eyal Ronen
(Tel Aviv University) for discovering the issues and for discussions on
how to address them.

Possible mitigation steps

- Merge the following commits to wpa_supplicant/hostapd and rebuild:

  OpenSSL: Use constant time operations for private bignums
  Add helper functions for constant time operations
  OpenSSL: Use constant time selection for crypto_bignum_legendre()
  SAE: Minimize timing differences in PWE derivation
  SAE: Avoid branches in is_quadratic_residue_blind()
  SAE: Mask timing of MODP groups 22, 23, 24
  SAE: Use const_time selection for PWE in FFC
  SAE: Use constant time operations in sae_test_pwd_seed_ffc()

  These patches are available from

- Update to wpa_supplicant/hostapd v2.8 or newer, once available

- In addition to either of the above alternatives, disable MODP groups
  1, 2, 5, 22, 23, and 24 by removing them from hostapd/wpa_supplicant
  sae_groups runtime configuration parameter, if they were explicitly
  enabled since those groups are not considered strong enough to meet
  current security expectations. The groups 22, 23, and 24 are related
  to the discovered side channel (timing) attack. The other groups in
  the list are consider too weak to provide sufficient security. Note
  that all these groups have been disabled by default in all
  hostapd/wpa_supplicant versions and these would be used only if
  explicitly enabled in the configuration.

- Use strong passwords to prevent dictionary attacks

Signed-off-by: Stefan Lippers-Hollmann <>
Signed-off-by: Jo-Philipp Wich <>
2 years agoprocd: update to latest git HEAD
Hans Dedecker [Wed, 10 Apr 2019 11:40:43 +0000 (13:40 +0200)]
procd: update to latest git HEAD

baaf38c procd: instance: Support deleting stopped instances

Signed-off-by: Hans Dedecker <>
2 years agowireguard: remove obvious comments
Florian Eckert [Tue, 9 Apr 2019 09:00:37 +0000 (11:00 +0200)]
wireguard: remove obvious comments

Remove obvious comments to save disk space.

Signed-off-by: Florian Eckert <>
2 years agowireguard: converted whitespaces from space to tab
Florian Eckert [Tue, 9 Apr 2019 08:52:03 +0000 (10:52 +0200)]
wireguard: converted whitespaces from space to tab

With this change, the file is reduced from 5186 bytes to 4649 bytes that
its approximately 10.5 percent less memory consumption. For small
devices, sometimes every byte counts.
Also, all other protocol handler use tabs instead of spaces.

Signed-off-by: Florian Eckert <>
2 years agoethtool: bump to 5.0
Hans Dedecker [Mon, 8 Apr 2019 08:06:46 +0000 (10:06 +0200)]
ethtool: bump to 5.0

170d821 Release version 5.0.
909f8c0 Revert "ethtool: change to new sane powerpc64 kernel headers"
a484274 ethtool: dsa: mv88e6xxx: add pretty dump for others
034a17b ethtool: dsa: mv88e6xxx: add pretty dump for 88E6390
7f1cc44 ethtool: dsa: mv88e6xxx: add pretty dump for 88E6352
a13a053 ethtool: dsa: mv88e6xxx: add pretty dump for 88E6161
4e98029 ethtool: dsa: mv88e6xxx: add pretty dump for 88E6185
ff99e46 ethtool: dsa: mv88e6xxx: add pretty dump
cb8e980 ethtool: dsa: add pretty dump
4df55c8 ethtool: change to new sane powerpc64 kernel headers
0cb963e ethtool: zero initialize coalesce struct
8f05538 ethtool: don't report UFO on kernels v4.14 and above

Signed-off-by: Hans Dedecker <>
2 years agoimx6: bump sdma firmware to 3.4
Koen Vandeputte [Mon, 8 Apr 2019 16:06:38 +0000 (18:06 +0200)]
imx6: bump sdma firmware to 3.4

Signed-off-by: Koen Vandeputte <>
2 years agoath79: add support for Netgear EX6400 and EX7300
Daniel Gimpelevich [Fri, 14 Sep 2018 04:08:51 +0000 (21:08 -0700)]
ath79: add support for Netgear EX6400 and EX7300

This is sold as a dual-band 802.11ac range extender. It has a sliding
switch for Extender mode or Access Point mode, a WPS button, a recessed
Reset button, a hard-power button, and a multitude of LED's, some
multiplexed via an NXP 74AHC164D chip. The internal serial header pinout is
Vcc, Tx, Rx, GND, with GND closest to the corner of the board. You may
connect at 115200 bps, 8 data bits, no parity, 1 stop bit.

- System-On-Chip: QCA9558
- CPU/Speed: 720 MHz
- Flash-Chip: Winbond 25Q128FVSG
- Flash size: 16 MiB
- RAM: 128 MiB
- Wireless No1: QCA9558 on-chip 2.4GHz 802.11bgn, 3x3
- Wireless No2: QCA99x0 chip 5GHz 802.11an+ac, 4x4
- PHY: Atheros AR8035-A

If you can get to the stock firmware's firmware upgrade option, just feed
it the factory.img and boot as usual. As an alternative, TFTP the
factory.img to the bootloader.

Signed-off-by: Daniel Gimpelevich <>
[whitespace fix in DTS and reorder of make variables]
Signed-off-by: Petr Štetiar <>
2 years agoath79: remove more duplicate image build variables
Daniel Gimpelevich [Wed, 2 Jan 2019 22:19:04 +0000 (14:19 -0800)]
ath79: remove more duplicate image build variables

Remove Netgear-specific image build variables which are set to the same

Signed-off-by: Daniel Gimpelevich <>
[reordering of variables, removed stray newline]
Signed-off-by: Petr Štetiar <>
2 years agosunxi: Remove already applied patch
Hauke Mehrtens [Mon, 8 Apr 2019 18:18:37 +0000 (20:18 +0200)]
sunxi: Remove already applied patch

This patch is already included in kernel v4.19.31.

Fixes: 8df12d76c642 ("kernel: bump 4.19 to 4.19.34")
Signed-off-by: Hauke Mehrtens <>
2 years agoscripts/qemustart: Allow specifying custom rootfs for malta
Petr Štetiar [Thu, 28 Mar 2019 21:13:26 +0000 (21:13 +0000)]
scripts/qemustart: Allow specifying custom rootfs for malta

Currently it's not possible to test boot squashfs root images, so this
patch now allows this use case as well.

Cc: Yousong Zhou <>
Signed-off-by: Petr Štetiar <>
2 years agoscripts/qemustart: Allow specifying custom kernel for x86
Petr Štetiar [Thu, 28 Mar 2019 20:51:34 +0000 (20:51 +0000)]
scripts/qemustart: Allow specifying custom kernel for x86

Currently it's not possible to test boot squashfs root images, so this
patch now allows this use case as well.

Cc: Yousong Zhou <>
Signed-off-by: Petr Štetiar <>
2 years agoscripts/qemustart: Allow usage without networking
Petr Štetiar [Thu, 28 Mar 2019 16:44:17 +0000 (16:44 +0000)]
scripts/qemustart: Allow usage without networking

For basic tests it's not necessary to have the networking setup and this
allows testing as a normal user as well, without root privileges.

So this patch adds `--no-network` long option or `-n` short option,
which allows starting QEMU without network.

Cc: Yousong Zhou <>
Signed-off-by: Petr Štetiar <>
2 years agoar71xx: Correct MAC address for WAN interface of Archer C7 v5
Adrian Schmutzler [Wed, 3 Apr 2019 17:05:19 +0000 (19:05 +0200)]
ar71xx: Correct MAC address for WAN interface of Archer C7 v5

This device shares the network config with v4, thus the WAN MAC
also needs to be fixed the same way. However, the partition
where the MAC address resides has been changed.

Based on:

Tested-by: Adrian Schmutzler <>
Signed-off-by: Adrian Schmutzler <>
2 years agoar71xx: Add "info" partition for TP-Link Archer C7 v5
Adrian Schmutzler [Thu, 4 Apr 2019 12:16:19 +0000 (14:16 +0200)]
ar71xx: Add "info" partition for TP-Link Archer C7 v5

This adds the "info" MTD partition, as it is specified in the
ath79 DTS:

This is required to set the WAN MAC address, as it is build based
on the LAN MAC address, which in turn has to be read from the
"info" partition:

Tested-by: Adrian Schmutzler <>
Signed-off-by: Adrian Schmutzler <>
2 years agoath79: Add WPS button to TP-Link Archer C7v5
Petr Štetiar [Mon, 8 Apr 2019 16:30:11 +0000 (18:30 +0200)]
ath79: Add WPS button to TP-Link Archer C7v5

This patch adds currently missing support for the WPS button on TP-Link
Archer C7v5.

Signed-off-by: Petr Štetiar <>
2 years agoath79: Correct MAC address for WAN interface of Archer A7/C7 v5
Adrian Schmutzler [Wed, 3 Apr 2019 17:07:52 +0000 (19:07 +0200)]
ath79: Correct MAC address for WAN interface of Archer A7/C7 v5

These devices share the network config with C7v4, thus the WAN MAC
also needs to be fixed the same way. However, the partition
where the MAC address resides has been changed.

Based on:

Tested-by: Adrian Schmutzler <>
Signed-off-by: Adrian Schmutzler <>
2 years agoath79: Fix GPIO reset button on TP-Link Archer C7v5
Adrian Schmutzler [Thu, 4 Apr 2019 08:50:17 +0000 (10:50 +0200)]
ath79: Fix GPIO reset button on TP-Link Archer C7v5

The GPIO for the reset button for the Archer C7v5 changed from
ar71xx to ath79. An investigation based on tests revealed
that the A7v5 responds on "11", while the C7v5 responds on
"5" as set for ar71xx.

Thus, we just define this in the DTS files instead of in the
common DTSI.

Tested-by: Adrian Schmutzler <>
Signed-off-by: Adrian Schmutzler <>
2 years agoath79: Utilize new LED modes from for Archer A7/C7 v5
Adrian Schmutzler [Tue, 2 Apr 2019 15:02:43 +0000 (17:02 +0200)]
ath79: Utilize new LED modes from for Archer A7/C7 v5

Tested-by: Adrian Schmutzler <>
Signed-off-by: Adrian Schmutzler <>
2 years agoath79: Consolidate LEDs in Archer A7/C7 v5 DTSI
Adrian Schmutzler [Tue, 2 Apr 2019 15:01:13 +0000 (17:01 +0200)]
ath79: Consolidate LEDs in Archer A7/C7 v5 DTSI

Definition is split here without obvious reason. Just merge it
(and align order to that from C7 v4).

Tested-by: Adrian Schmutzler <>
Signed-off-by: Adrian Schmutzler <>
2 years agoath79: add support for Ubiquiti airCube ISP
Christian Mauderer [Fri, 15 Mar 2019 20:02:54 +0000 (21:02 +0100)]
ath79: add support for Ubiquiti airCube ISP

The Ubiquiti Network airCube ISP is a cube shaped 2.4 GHz with internal
2x2 MIMO antennas. It can be supplied via a USB connector or via PoE.
There are for 10/100 Mbps ports (1 * WAN + 3 * LAN). There is an
optional PoE passthrough from the first LAN port to the WAN port.

SoC:       Qualcomm / Atheros QCA9533-BL3A
RAM:       64 MB DDR2
Flash:     16 MB SPI NOR
Ethernet:  4x 10/100 Mbps (1 WAN + 3 LAN)
LEDS:      1x via a SPI controller (not yet supported)
Buttons:   1x Reset
Serial:    1x (only RX and TX); 115200 baud, 8N1

Missing points:
- LED not yet supported
- Factory upgrade via web IF or TFTP recovery not yet supported
  (Needs RSA signed images, for details see PR#1958)

The serial port is on a four pin connextor labeled J1 and located
between Ethernet and USB connector. The pinout is:
1. 3V3 (out)
2. Rx (in)
3. Tx (out)
4. GND

Upgrading via serial port / U-Boot:
- Connect the serial port via a level converter
- Power the system and stop U-Boot with pressing any key when `Hit any
  key to stop autoboot` is displayed. Note: Pressing space multiple
  times untill U-Boot reaches that location works well.
- Connect a PC with the IP (or some other in that net)
  running a TFTP-Server to one of the LAN ports. Copy the sysupgrade
  image to the server.
- Set the U-Boot server IP with
    setenv serverip
- Load the flash image to RAM with
    tftpboot 0x81000000 sysupgrade.bin
- Erase the flash with
    erase 0x9f050000 0x9ffaffff
- Write the new flash content with
    cp 0x81000000 0x9f050000 ${filesize}
- Reset the device with

Signed-off-by: Christian Mauderer <>
[removed full stop in subject and added lockdown note to commit message]
Signed-off-by: Petr Štetiar <>
2 years agoath79: add support for OCEDO Ursus
Markus Scheck [Thu, 21 Mar 2019 15:43:27 +0000 (16:43 +0100)]
ath79: add support for OCEDO Ursus

SOC:   Qualcomm Atheros QCA9558
RAM:   128MB
FLASH: 16MB (Macronix MX25L12845EMI-10G)
WLAN1: QCA9558 2.4GHz 802.11bgn 3SS
WLAN2: QCA9880 5GHz 802.11ac 3SS
LED:   Power, LAN1, LAN2, 2.4GHz, 5GHz
Serial:Next to SPI Flash,
       Pinout is 3V3 - GND - TX - RX (Square Pin is 3V3)
       The Serial setting is 115200-8-N-1


1. Serve an OpenWrt ramdisk image named "ursus.bin".
   Set your IP-address to
2. Connect to the serial. Power up the device and interrupt
   the boot process.
3. Set the correct bootcmd with
   > setenv bootcmd run bootcmd_1
   > saveenv
4. Run
   > tftpboot 0x81000000 ursus.bin
   > bootm 0x81000000
5. Wait for OpenWrt to boot up.
6. Transfer OpenWrt sysupdate image and flash via sysupgrade.

Signed-off-by: Markus Scheck <>
Tested-by: David Bauer <>
[whitespace fix, renamed LED labels and SoC type fix]
Signed-off-by: Petr Štetiar <>
2 years agoath79: ag71xx: Enable tx hang workaround for the rest of ar724x SoCs
Petr Štetiar [Fri, 4 Jan 2019 14:57:07 +0000 (15:57 +0100)]
ath79: ag71xx: Enable tx hang workaround for the rest of ar724x SoCs

In ar71xx we check for stuck DMA on devices which fall in the is_ar724x
SoC group (ar724x, ar933x, ar934x, qca9533, tp9343, qca955x, qca956x).

In ath79 we're currently performing this check only for devices with
ar7240 SoC, so this patch tries to sync the dma stuck checking behavior
with what is being done in ar71xx.

Signed-off-by: Petr Štetiar <>
2 years agoar71xx: ag71xx: Fix broken networking on some devices (FS#2177)
Petr Štetiar [Wed, 3 Apr 2019 08:05:26 +0000 (10:05 +0200)]
ar71xx: ag71xx: Fix broken networking on some devices (FS#2177)

It was reported, that latest ar71xx builds have broken networking on
TP-Link TL-WPA8630 and Nanostation M5 XW devices and that by reverting
the offending commit, everything is back to normal.

Fixes: d3506d1 ("ar71xx: ag71xx: fix compile error when enabling debug")
Signed-off-by: Petr Štetiar <>
2 years agoar71xx: Add support for Ubiquity Bullet M (XW)
Petr Štetiar [Sat, 17 Nov 2018 07:01:55 +0000 (08:01 +0100)]
ar71xx: Add support for Ubiquity Bullet M (XW)

CPU: AR9342 SoC
RAM:     64 MB DDR2
Flash:    8 MB NOR SPI
Ports:  100 MBit (24V PoE in)
WLAN: 2.4/5 GHz
UART:     1 UART on PCB marked as J1 with 115200 8N1 config
LEDs:       Power, Ethernet, 4x RSSI LEDs (orange, red, 2x green)
Buttons:    Reset

UART connection details

  |                                 |
[ETH]          J1                 [ANT]
  |    o VCC o RX o TX o GND        |

Flashing instructions using recovery method over TFTP

 1. Unplug the ethernet cable from the router.
 2. Using paper clip press and hold the router's reset button. Make sure
    you can feel it depressed by the paper clip. Do not release the button
    until step 4.
 3. While keeping the reset button pressed in, plug the ethernet cable
    back into the AP. Keep the reset button depressed until you see the
    device's LEDs flashing in upgrade mode (alternating LED1/LED3 and
    LED2/LED4), this may take up to 25 seconds.
 4. You may release the reset button, now the device should be in TFTP
    transfer mode.
 5. Set a static IP on your Computer's NIC. A static IP of
    should work.
 6. Plug the PoE injector's LAN cable directly to your computer.
 7. Start tftp client and issue following commands:
     tftp> binary
     tftp> connect
     tftp> put openwrt-ar71xx-generic-ubnt-bullet-m-xw-squashfs-factory.bin

Tested only on Bullet M2HP.

Signed-off-by: Petr Štetiar <>
2 years agoar71xx: ubnt-m-xw: Fix factory image flashing using TFTP recovery
Petr Štetiar [Mon, 19 Nov 2018 20:44:50 +0000 (21:44 +0100)]
ar71xx: ubnt-m-xw: Fix factory image flashing using TFTP recovery

This is backport of the same functionality in ath79, from commit
 d42a7c469 ("ath79: ubnt-m-xw: Fix factory image flashing using TFTP
             recovery method")

Ubiquity allows flashing of unsigned factory images via TFTP recovery
method[1]. They claim in airOS v6.0.7 release changelog[2] following:

 All future airOS versions will be signed in this way and not allow
 unsigned firmware to be loaded except via TFTP.

U-boot bootloader on M-XW devices expects factory image revision
version in specific format. On airOS v6.1.7 with `U-Boot 1.1.4-s1039
(May 24 2017 - 15:58:18)` bootloader checks if the revision major(?)
number is actually a number, but in currently generated images there's
OpenWrt text and so the check fails:

 Hit any key to stop autoboot:  0
 Setting default IP
 Starting TFTP server...
 Receiving file from
 Received 4981148 bytes
 Firmware check failed! (1)

By placing arbitrary correct number first in major version, we make the
bootloader happy and we can flash factory images over TFTP again:

 Received 3801500 bytes
 Firmware Version: XW.ar934x.v6.0.4-42.OpenWrt-r9766+2-be42e44
 Setting U-Boot environment variables
 Un-Protected 1 sectors
 Erasing Flash.... done

Patch provided by AREDN[3] project, tested on Bullet M2 XW.


Signed-off-by: Petr Štetiar <>
2 years agoimx6: Add support for Toradex Apalis family of CoMs
Petr Štetiar [Fri, 23 Nov 2018 09:33:24 +0000 (10:33 +0100)]
imx6: Add support for Toradex Apalis family of CoMs

This patch adds support for the following computer on modules (CoM) from

 Apalis iMX6 Quad 2GB IT - i.MX 6Quad 800MHz, 2GB DDR3, 4GB eMMC
                                             -40° to +85° C Temp
 Apalis iMX6 Quad 1GB    - i.MX 6Quad 1GHz,   1GB DDR3, 4GB eMMC
                                               0° to +70° C Temp
 Apalis iMX6 Dual 1GB IT - i.MX 6Dual 800MHz, 1GB DDR3, 4GB eMMC
                                             -40° to +85° C Temp
 Apalis iMX6 Dual 512MB  - i.MX 6Dual 1GHz, 512MB DDR3, 4GB eMMC
                                               0° to +70° C Temp

I've developed and tested it on Quad 2GB IT v1.1A and Dual 512MB v1.1A
CoMs, using Ixora[B] carrier board v1.0A, but it should hopefuly work on
Eval[C] board as well.


Flashing/recovery instructions:

 1. Download and compile imx_loader for OpenWrt from

 2. Enter recovery mode as desribed in

 3. Connect board via USB to the host computer, check that it's connected
    by lsusb:

    15a2:0054 Freescale Semiconductor, Inc. i.MX 6Dual/6Quad SystemOnChip
              in RecoveryMode

 4. Copy following OpenWrt images to imx_loader directory:

 5. Run imx_usb in imx_loader directory

Signed-off-by: Petr Štetiar <>
2 years agoimx6: image: Split imx6-sdcard image for reusability
Petr Štetiar [Fri, 23 Nov 2018 08:25:13 +0000 (09:25 +0100)]
imx6: image: Split imx6-sdcard image for reusability

I'm going to reuse the imx6-sdcard image commands for building of Apalis
eMMC images.

Signed-off-by: Petr Štetiar <>
2 years agouboot-envtools: imx6: Add support for Toradex Apalis board family
Petr Štetiar [Tue, 27 Nov 2018 20:22:41 +0000 (21:22 +0100)]
uboot-envtools: imx6: Add support for Toradex Apalis board family

This patch is needed in order to be able to use fw_{set,print}env

Signed-off-by: Petr Štetiar <>
2 years agouboot-imx6: Add support for Toradex Apalis board family
Petr Štetiar [Mon, 26 Nov 2018 22:31:53 +0000 (23:31 +0100)]
uboot-imx6: Add support for Toradex Apalis board family

This patch is needed in order to properly boot OpenWrt bootscript.

Signed-off-by: Petr Štetiar <>
2 years agoglibc: update to latest 2.27 commit [BZ #22964]
Hans Dedecker [Mon, 8 Apr 2019 07:53:25 +0000 (09:53 +0200)]
glibc: update to latest 2.27 commit [BZ #22964]

de9d4aa353 ja_JP locale: Add entry for the new Japanese era [BZ #22964]

Signed-off-by: Hans Dedecker <>
2 years agokernel: bump 4.19 to 4.19.34
Koen Vandeputte [Mon, 8 Apr 2019 12:15:26 +0000 (14:15 +0200)]
kernel: bump 4.19 to 4.19.34

Refreshed all patches.

- 030-PCI-dwc-skip-MSI-init-if-MSIs-have-been-explicitly-d.patch

- 366-netfilter-nf_flow_table-clean-up-and-fix-dst-handlin.patch
- 650-netfilter-add-xt_OFFLOAD-target.patch
- 662-remove_pfifo_fast.patch
- 332-arc-add-OWRTDTB-section.patch
- 100-clocksource-drivers-arch_timer-Workaround-for-Allwin.patch
- 702-phy_add_aneg_done_function.patch

New symbols:

Compile-tested: cns3xxx, imx6, sunxi
Runtime-tested: cns3xxx, imx6

Signed-off-by: Koen Vandeputte <>
2 years agokernel: bump 4.14 to 4.14.111
Koen Vandeputte [Mon, 8 Apr 2019 11:39:00 +0000 (13:39 +0200)]
kernel: bump 4.14 to 4.14.111

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <>
2 years agokernel: bump 4.9 to 4.9.168
Koen Vandeputte [Mon, 8 Apr 2019 11:37:02 +0000 (13:37 +0200)]
kernel: bump 4.9 to 4.9.168

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <>
2 years agokernel: bump 4.14 to 4.14.110
Koen Vandeputte [Fri, 5 Apr 2019 08:58:45 +0000 (10:58 +0200)]
kernel: bump 4.14 to 4.14.110

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <>
2 years agokernel: bump 4.9 to 4.9.167
Koen Vandeputte [Fri, 5 Apr 2019 08:55:56 +0000 (10:55 +0200)]
kernel: bump 4.9 to 4.9.167

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <>
2 years agodropbear: bump to 2019.78
Hans Dedecker [Sun, 7 Apr 2019 18:22:19 +0000 (20:22 +0200)]
dropbear: bump to 2019.78

Fix dbclient regression in 2019.77. After exiting the terminal would be left
in a bad state. Reported by Ryan Woodsmall

drop patch applied upstream:

Signed-off-by: Hans Dedecker <>
2 years agoubox: bump to git HEAD
Stijn Tintel [Sun, 7 Apr 2019 16:36:30 +0000 (19:36 +0300)]
ubox: bump to git HEAD

5130fa4 kmodloader: fix and optimize loading of failed modules

Signed-off-by: Stijn Tintel <>
2 years agotools: cbootimage: depend on automake
Tomasz Maciej Nowak [Sun, 7 Apr 2019 13:15:36 +0000 (15:15 +0200)]
tools: cbootimage: depend on automake

Fix missing aclocal reported by buildbot.

Fixes: 8595bb0 ("tools: add cbootimage for tegra")
Signed-off-by: Tomasz Maciej Nowak <>
2 years agofirmware-utils: fix nec-enc build on older architectures
Christian Lamparter [Sat, 6 Apr 2019 18:29:35 +0000 (20:29 +0200)]
firmware-utils: fix nec-enc build on older architectures

This patch enable gnu99 mode for the nec-enc utility which
fixes the following build-breaking errors on some older

nec-enc.c: In function ‘xor_data’:
nec-enc.c:34:2: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
  for (int i = 0; i < len; i++) {
nec-enc.c:34:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
nec-enc.c: In function ‘main’:
nec-enc.c:101:3: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
   for (int i = 0; i < n; i++) {

Spotted-By: Buildbot
Fixes: fac27643f057 ("firmware-utils: add nec-enc")
Signed-off-by: Christian Lamparter <>
2 years agoramips: correct DTS for Belkin F9K1109v1 to include switch definition
Kip Porterfield [Fri, 5 Apr 2019 23:46:33 +0000 (19:46 -0400)]
ramips: correct DTS for Belkin F9K1109v1 to include switch definition

Add switch definition for the rtl8367b switch to the DTS/DTSi for
the Belkin F9K1109v1 that was mistakenly omitted from the initial

Fixes: 017ec068e3df (ramips: add support for Belkin F9K1109v1)
Signed-off-by: Kip Porterfield <>
2 years agoath79: add support for NEC Aterm WG1200CR
INAGAKI Hiroshi [Sat, 16 Mar 2019 04:27:32 +0000 (13:27 +0900)]
ath79: add support for NEC Aterm WG1200CR

NEC Aterm WG1200CR is a 2.4/5 GHz band 11ac router,
based on Qualcomm Atheros QCA9563.


- SoC : Qualcomm Atheros QCA9563
- RAM : DDR2 128 MiB
- Flash : SPI-NOR 8 MiB
- WLAN : 2.4/5 GHz 2T2R
  - 2.4 GHz : QCA9563 (SoC)
  - 5 GHz : QCA9888
- Ethernet : 2x 10/100/1000 Mbps
  - Switch : QCA8334
- LEDs/Input : 12x/4x (2x buttons, 1x slide-switch)
- UART : through-hole on PCB
  - JP1: Vcc, GND, NC, TX, RX from power connector side
  - 115200 bps

Flash instruction using factory image:

1. Boot WG1200CR normaly
2. Access to "" 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

Known issues:

- cannot be controlled LEDs other than Power (Green/Red)
  - only Power LEDs are connected to SoC GPIO; other LEDs
    connected to the gpiochip on ath10k chip (QCA9888)

Signed-off-by: INAGAKI Hiroshi <>
Signed-off-by: Christian Lamparter <> [commit
message formatting]

2 years agofirmware-utils: add nec-enc
INAGAKI Hiroshi [Sat, 16 Mar 2019 04:19:24 +0000 (13:19 +0900)]
firmware-utils: add nec-enc

nec-enc provides firmware encoding/decoding with model specific key
for NEC devices.

known devices:

  - Aterm WF1200CR
  - Aterm WG1200CR
  - Aterm WG2600HS


  nec-enc -i infile -o outfile -k key

Signed-off-by: INAGAKI Hiroshi <>
Signed-off-by: Christian Lamparter <>
[checkpatch fixes, marked usage as noreturn, added static function,
moved buf* from stack to the global data segment]

2 years agoramips: backport mt7621-spi from linux-next-20190329
Chuanhong Guo [Fri, 29 Mar 2019 09:46:36 +0000 (17:46 +0800)]
ramips: backport mt7621-spi from linux-next-20190329

Upstream driver has gone through a series of cleanup and was moved
from drivers/staging into drivers/spi. Backport it to replace our
messy driver.

Tested-by: Jörg Schüler-Maroldt <>
[LinkIt Smart 7688, AcSIP AI7688H Wi-Fi module]
Tested-by: Rosen Penev <>
Tested-by: Tian Xiao bo <>
[Newifi-D2 MediaTek MT7621 ver:1 eco:3]
Signed-off-by: Chuanhong Guo <>
2 years agobuild: remove sgid permission from tar
Eneas U de Queiroz [Thu, 28 Mar 2019 16:58:07 +0000 (16:58 +0000)]
build: remove sgid permission from tar

Otherwise tar will keep the sgid bit when running
from a sgid-set directory, resulting in a different
file being generated.

Signed-off-by: Eneas U de Queiroz <>
Signed-off-by: Christian Lamparter <>
[reworked commit message, removed DMARC]

2 years agowpan-tools: clean up Makefile
Michael Heimpold [Tue, 26 Mar 2019 21:09:14 +0000 (22:09 +0100)]
wpan-tools: clean up Makefile

When we only call the default, we do not need to define it explicitly.

Signed-off-by: Michael Heimpold <>
2 years agofconfig: cleanup Makefile
Michael Heimpold [Tue, 26 Mar 2019 21:09:24 +0000 (22:09 +0100)]
fconfig: cleanup Makefile

We do not need to define an empty Build/Configure since
the default checks for existing ./configure and does nothing
in case nothing is found.

Similar for Build/Compile: we can remove the definition
when we only call the default.

Signed-off-by: Michael Heimpold <>
2 years agotools/xz: Compile with PIC to fix linking errors
Rosen Penev [Wed, 27 Mar 2019 07:50:16 +0000 (00:50 -0700)]
tools/xz: Compile with PIC to fix linking errors

I made a similar change to this here:

However, it turns out this did not fix the problem as the problem has to
do with tools/xz and not the xz package. The error is the same and causes
linking errors as can be seen above.

Signed-off-by: Rosen Penev <>
2 years agoath79: Utilize tplink-safeloader definition
Adrian Schmutzler [Wed, 27 Mar 2019 18:14:34 +0000 (19:14 +0100)]
ath79: Utilize tplink-safeloader definition

Currently, tplink-safeloader definition is only used a base for
another common definition.

This patch adjusts tplink-safeloader so it can be actually used
for some targets in

This patch is cosmetic except for the order of
"check-size $$$$(IMAGE_SIZE)" and "append-metadata" exchanged
for the tplink_re350k-v1 .

Signed-off-by: Adrian Schmutzler <>
Signed-off-by: Christian Lamparter <> [dealed with
tplink_cpe210-v2 and tplink_cpe210-v3, removed tplink-safeloader-uimage's
extra IMAGE/sysupgrade.bin rule]

2 years agokernel: Add RIPEMD160 module
Rosen Penev [Wed, 27 Mar 2019 20:39:49 +0000 (13:39 -0700)]
kernel: Add RIPEMD160 module

After getting rid of cryptsetup's heavy openssl dependency, there is now
the problem of missing RIPEMD160 support. RIPEMD160 is used for True/Vera
crypt volumes as well as old LUKS1 ones.

Signed-off-by: Rosen Penev <>
2 years agoramips: enable R6120 USB power
David Bauer [Thu, 28 Mar 2019 19:58:04 +0000 (20:58 +0100)]
ramips: enable R6120 USB power

Enable the USB power for the Netgear R6120. Otherwise, no power is
supplied to an attached USB device.

Signed-off-by: David Bauer <>
2 years agotools: tplink-safeloader: add C7v5 KR Support
Michael Gray [Sun, 17 Mar 2019 11:46:59 +0000 (22:46 +1100)]
tools: tplink-safeloader: add C7v5 KR Support

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

Signed-off-by: Michael Gray <>
2 years agoath79: engenius epg5000: add leds migration script
Tomasz Maciej Nowak [Thu, 21 Mar 2019 17:03:39 +0000 (18:03 +0100)]
ath79: engenius epg5000: add leds migration script

With transition from ar71xx to ath79 some of devices change their naming
of LEDs. When upgrading from ar71xx target images this will require the
user to adjust previously working configuration. This commit adds
migration script which can be used to rename old names to new ones.
With this previously working configuration will be automatically
adjusted, wihtout user intervention.

This commit adds migration case for EnGenius EPG5000, the wireless LEDs
names have changed from epg5000:blue:wlan2-g and epg5000:blue:wlan-5g to
epg5000:blue:wlan2g and epg5000:blue:wlan5g.

Signed-off-by: Tomasz Maciej Nowak <>
2 years agobase-files: add leds migration
Tomasz Maciej Nowak [Thu, 21 Mar 2019 17:03:38 +0000 (18:03 +0100)]
base-files: add leds migration

Currently leds migration scripts in ar71xx and lantiq share a lot of
logic and introducing leds migration to another target would mean
copying this code, again. Therefore add common logic to library in
base-files package.

Suggested-by: Petr Štetiar <>
Signed-off-by: Petr Štetiar <>
Signed-off-by: Tomasz Maciej Nowak <>
2 years agoramips: add support for Youku YK-L2
Zhao Yu [Mon, 11 Mar 2019 16:21:58 +0000 (16:21 +0000)]
ramips: add support for Youku YK-L2

Hardware spec:

RAM: 256MB
ROM: 16MB SPI Flash
WiFi: MT7603EN + MT7612EN
Button: 2 buttons (reset, wps)
LED: 8 LEDs (Power 2G 5G WPS Internet LAN1 LAN2 USB)
Ethernet: 3 ports, 2 LAN + 1 WAN
Other: USB3.0

Flashing instructions:

Visit the openwrt forum topic for this router:

to get the bootloader and unlock firmware.

0. upgrade your router with the telnet firmware via the
   firmware upgrade page on the webui.

1. telnet from your PC

2. Download the pb-boot-youku_l2-20190317-61b6d33.bin and transfer
   it to the /tmp directory of the router.

3. mtd write /tmp/pb-boot-youku_l2-20190317-61b6d33.bin Bootloader

4. turn off the power

5. Push the reset button while turning on the router and
   wait until LED start blinking (~10sec.)

6. Connect Ethernet port and goto

7. Upload the firmware to firmware restore page in webui.

Signed-off-by: Zhao Yu <>
Signed-off-by: Christian Lamparter <> [rewrote the
flashing instructions, fixed author]

2 years agowireguard: bump to 0.0.20190406
Jason A. Donenfeld [Sat, 6 Apr 2019 11:24:09 +0000 (13:24 +0200)]
wireguard: bump to 0.0.20190406

* allowedips: initialize list head when removing intermediate nodes

Fix for an important regression in removing allowed IPs from the last
snapshot. We have new test cases to catch these in the future as well.

* tools: warn if an AllowedIP has a nonzero host part

If you try to run `wg set wg0 peer ... allowed-ips`, wg(8)
will now print a warning. Even though we mask this automatically down to, usually when people specify it like this, it's a mistake.

* wg-quick: add 'strip' subcommand

The new strip subcommand prints the config file to stdout after stripping
it of all wg-quick-specific options. This enables tricks such as:
`wg addconf $DEV <(wg-quick strip $DEV)`.

* tools: avoid unneccessary next_peer assignments in sort_peers()

Small C optimization the compiler was probably already doing.

* peerlookup: rename from hashtables
* allowedips: do not use __always_inline
* device: use skb accessor functions where possible

Suggested tweaks from Dave Miller.

* blake2s: simplify
* blake2s: remove outlen parameter from final

The blake2s implementation has been simplified, since we don't use any of the
fancy tree hashing parameters or the like. We also no longer separate the
output length at initialization time from the output length at finalization

* global: the _bh variety of rcu helpers have been unified
* compat: nf_nat_core.h was removed upstream
* compat: backport skb_mark_not_on_list

The usual assortment of compat fixes for Linux 5.1.

Signed-off-by: Jason A. Donenfeld <>
2 years agotarget/octeon: Add Linux 4.19 support
Daniel Engberg [Thu, 7 Feb 2019 23:41:47 +0000 (23:41 +0000)]
target/octeon: Add Linux 4.19 support

This commit adds support for Linux 4.19 kernel, various cleanups
listed below.

Drop 170-cisco-hack.patch as these devices never seems to have been

Unset kernel symbols:

  No supported hardware uses CN63XXP1 and it causes "slight decrease in


Removed kernel symbols:

  These are not in if you do a vanilla config of a MIPS Octeon kernel
  and I can't find any references about support on this platform.

  No need to have this in by default, not defined in most other targets

  Can't find any documentation why this should be enabled by default

  Set by

  No need to have this in by default

  Already set by default

  No need to have this in by default, not defined in most other targets

  No need to have this in by default, not defined in most other targets

  No need to have this in by default

  None of the supported devices have IDE

* # CONFIG_HZ_100 is not set
* CONFIG_HZ_250=y
  This is broken with generic config

  No need to have this in by default, not defined in most other targets

  No need to have this in by default, not defined in most other targets

  No need to have this in by default

  No need to have this in by default, not defined in most other targets

  Deprecated symbol

  Discouraged usage in general

  No need to have this in by default, not defined in most other targets

  No need to have this in by default, not defined in most other targets

Signed-off-by: Daniel Engberg <>
2 years agomvebu: sysupgrade: sdcard: keep user added partitons
Tomasz Maciej Nowak [Thu, 28 Mar 2019 17:07:09 +0000 (18:07 +0100)]
mvebu: sysupgrade: sdcard: keep user added partitons

Currently sysupgrade overwrites whole disk and destroys partitions added
by user. Sync the sysupgrade code with the one present in x86 target to
remedy this behaviour.

Signed-off-by: Tomasz Maciej Nowak <>
2 years agomvebu: base-files: autodetect upgrade device
Tomasz Maciej Nowak [Thu, 28 Mar 2019 17:07:08 +0000 (18:07 +0100)]
mvebu: base-files: autodetect upgrade device

Since some boards could be also booted from other mediums than SD card,
lets make the upgrade block device autodetected.

Signed-off-by: Tomasz Maciej Nowak <>
2 years agomvebu: shrink amount of packages and reorganize them
Tomasz Maciej Nowak [Thu, 28 Mar 2019 17:07:07 +0000 (18:07 +0100)]
mvebu: shrink amount of packages and reorganize them

Since most of devices using SD card image to boot, use ext4 as boot
files system we can drop fat fs related packages. Also move packages
which are added repeatedly across subtargets to their default packages,
with droping the ones that are enabled in target kernel configugation.

Signed-off-by: Tomasz Maciej Nowak <>
2 years agomvebu: use ext4 for clearfog image bootfs
Tomasz Maciej Nowak [Thu, 28 Mar 2019 17:07:06 +0000 (18:07 +0100)]
mvebu: use ext4 for clearfog image bootfs

This will allow to drop additional packages and shrink image size.

Cc: Jonas Gorski <>
Signed-off-by: Tomasz Maciej Nowak <>
2 years agomvebu: make bootfs size for sdcard image configurable
Tomasz Maciej Nowak [Thu, 28 Mar 2019 17:07:05 +0000 (18:07 +0100)]
mvebu: make bootfs size for sdcard image configurable

Let's take this oportunity to implement boot-part and rootfs-part feature

Signed-off-by: Tomasz Maciej Nowak <>
2 years agozynq: replace storage related configs by packages
Luis Araneda [Mon, 1 Apr 2019 03:33:08 +0000 (00:33 -0300)]
zynq: replace storage related configs by packages

Select build-in packages by default and remove the
associated kernel configs

Signed-off-by: Luis Araneda <>
2 years agozynq: replace CAN kconfig options by device packages
Luis Araneda [Mon, 1 Apr 2019 03:33:07 +0000 (00:33 -0300)]
zynq: replace CAN kconfig options by device packages

The options are managed on a generic way by the can
kmod packages

Additionally, select can packages only for devices that
currently has CAN enabled, which is only the ZC702

Signed-off-by: Luis Araneda <>
2 years agokernel: can: add Xilinx CAN IP kernel module package
Luis Araneda [Mon, 1 Apr 2019 03:33:06 +0000 (00:33 -0300)]
kernel: can: add Xilinx CAN IP kernel module package

This driver is required to use the CAN IP on devices
from the zynq target

Signed-off-by: Luis Araneda <>
2 years agozynq: kernel: remove video/camera kconfig options
Luis Araneda [Mon, 1 Apr 2019 03:33:05 +0000 (00:33 -0300)]
zynq: kernel: remove video/camera kconfig options

The options are managed on a generic way by video packages

Additionally, only one of the currently supported boards
has a camera interface, but it requires programming
the FPGA fabric first

Signed-off-by: Luis Araneda <>