5 years agobase-files: fix wan6 interface config generation for pppoe
Hans Dedecker [Mon, 18 Sep 2017 07:18:36 +0000 (09:18 +0200)]
base-files: fix wan6 interface config generation for pppoe

Setting ipv6 to auto in case of a pppoe interface will trigger the
creation of a dynamic wan_6 interface meaning two IPv6 interfaces
(wan6 and wan_6) will be active on top of the pppoe interface.
This leads to unpredictable behavior in the network; therefore set
ipv6 to 1 which will prevent the dynamic creation of the wan_6
Further alias the wan6 interface on top of the wan interface for pppoe
as the wan6 interface can only be started when the link local address is
ready. In case of pppoe the link local address is negotiated during the
Internet Protocol Control Protocol when the PPP link is setup meaning
all the IP address info is only available when the wan interface is up.

Signed-off-by: Hans Dedecker <>
5 years agokernel: update 4.9 to 4.9.50
Stijn Tintel [Mon, 18 Sep 2017 00:58:25 +0000 (03:58 +0300)]
kernel: update 4.9 to 4.9.50

Refresh patches.
Compile-tested on ipq8065/nbg6817 and x86/64.
Runtime-tested on ipq8065/nbg6817 and x86/64.

Fixes CVE-2017-1000251.

Signed-off-by: Stijn Tintel <>
[adapt qcom_nandc.c patches to match upstream changes, test ipq8065/nbg6817]
Signed-off-by: Stefan Lippers-Hollmann <>
5 years agokernel: update to 3.18.71
Florian Fainelli [Sat, 16 Sep 2017 23:41:48 +0000 (16:41 -0700)]
kernel: update to 3.18.71

Delete a bunch of fixes that are already included.
Refresh patches.
Compile-tested on malta/mipsel
Runtime-tested on malta/mipsel

Signed-off-by: Florian Fainelli <>
Acked-by: Hauke Mehrtens <>
5 years agotcpdump: noop commit to refer CVEs fixed in 4.9.2
Stijn Tintel [Sun, 17 Sep 2017 22:26:44 +0000 (01:26 +0300)]
tcpdump: noop commit to refer CVEs fixed in 4.9.2

When bumping tcpdump from 4.9.1 to 4.9.2, I did not include the fixed
CVEs in the commit message. As the list of fixed CVEs is quite long,
we should probably mention them in the changelogs of the releases to
come. This commit will make sure this happens.

The following CVEs were fixed in 21014d9708d586becbd62da571effadb488da9fc:


Signed-off-by: Stijn Tintel <>
5 years agomac80211: make iwlwifi select AC support
Hauke Mehrtens [Sat, 16 Sep 2017 23:35:00 +0000 (01:35 +0200)]
mac80211: make iwlwifi select AC support

Some NICs supported by this driver support ieee80211 AC.

Signed-off-by: Hauke Mehrtens <>
5 years agolinux-firmware: pack Intel iwl FW separately
Hauke Mehrtens [Sat, 16 Sep 2017 23:33:35 +0000 (01:33 +0200)]
linux-firmware: pack Intel iwl FW separately

Do not create one big package with all the Intel firmware files
supported by the iwlwifi driver, but use a separate package for each

This also updates some 7000 and 8000 series firmware files to more
recent version. The older versions shipped are not supported by the
current driver any more.

Signed-off-by: Hauke Mehrtens <>
5 years agomac80211: add dev_coredumpm() function
Hauke Mehrtens [Sun, 17 Sep 2017 12:50:01 +0000 (14:50 +0200)]
mac80211: add dev_coredumpm() function

dev_coredumpm() was added with kernel 4.7, but it is used by iwlwifi.
When the dev coredump framework form compat-wireless is used this is not
a problem because it already contains this, but this is deactivated if
the build system finds out that it is already included in the kernel we
compile against. This option was now activated by the bluetooth driver
btmrvl. Having dev coredump in the kernel adds about 400 bytes to the
lzma compressed kernel for brcm47xx.

This is copied from a more recent backports version to add the
dev_coredumpm() function when the internal core devdump is not used.

Fixes: a5922f6 ("kernel: bluetooth: add marvell sdio bluetooth module")
Signed-off-by: Hauke Mehrtens <>
5 years agokernel: kmod-btmrvl: Add kmod-mmc as dependency
Daniel Engberg [Sun, 17 Sep 2017 06:17:54 +0000 (08:17 +0200)]
kernel: kmod-btmrvl: Add kmod-mmc as dependency

This fixes the build of this module and should fix the build bots.

Fixes: a5922f6 ("kernel: bluetooth: add marvell sdio bluetooth module")
Signed-off-by: Daniel Engberg <>
[removed mveub dependency and update commit comment]
Signed-off-by: Hauke Mehrtens <>
5 years agogeneric: drop 704-phy-no-genphy-soft-reset.patch
Florian Fainelli [Sat, 16 Sep 2017 22:16:09 +0000 (15:16 -0700)]
generic: drop 704-phy-no-genphy-soft-reset.patch

4.4.80+ contains 71a165f6397df07a06ce643de5c2dbae29bd3cfb, 4.9.41+ contains
6c78197e4a69c19e61dfe904fdc661b2aee8ec20 which are all backports of upstream
commit 0878fff1f42c18e448ab5b8b4f6a3eb32365b5b6 ("net: phy: Do not perform
software reset for Generic PHY").

Our local patch is no longer needed, all this patch was doing was utilizing
gen10g_soft_reset which does nothing either, so just keep the code unchanged.

Signed-off-by: Florian Fainelli <>
5 years agodnsmasq: Pass TARGET_CPPFLAGS to Makefile
Florian Fainelli [Sat, 16 Sep 2017 23:27:37 +0000 (16:27 -0700)]
dnsmasq: Pass TARGET_CPPFLAGS to Makefile

With the introduction of the ubus notifications, we would now fail building
dnsmasq with external toolchains that don't automatically search for headers.
Pass TARGET_CPPFLAGS to the Makefile to resolve that.

Fixes: 34a206bc1194 ("dnsmasq: add ubus notifications for new leases")
Signed-off-by: Florian Fainelli <>
5 years agoarmvirt: Enable CONFIG_ARM_PMU
Florian Fainelli [Sat, 16 Sep 2017 21:49:37 +0000 (14:49 -0700)]
armvirt: Enable CONFIG_ARM_PMU

We will be prompted with this config symbol when performance monitoring is
enabled in the kernel.

Signed-off-by: Florian Fainelli <>
5 years agomvebu: WRT3200ACM: add bluetooth module
Henryk Heisig [Fri, 7 Jul 2017 07:53:12 +0000 (09:53 +0200)]
mvebu: WRT3200ACM: add bluetooth module

Signed-off-by: Henryk Heisig <>
5 years agokernel: bluetooth: add marvell sdio bluetooth module
Henryk Heisig [Fri, 7 Jul 2017 07:43:10 +0000 (09:43 +0200)]
kernel: bluetooth: add marvell sdio bluetooth module

This commit add support for Marvell bluetooth with SDIO interface.

Signed-off-by: Henryk Heisig <>
[Fix KCONFIG and FILES option]
Signed-off-by: Hauke Mehrtens <>
5 years agolinux-firmware: update to the commit from 2017-09-06
Henryk Heisig [Fri, 7 Jul 2017 07:35:20 +0000 (09:35 +0200)]
linux-firmware: update to the commit from 2017-09-06

update firmware mrvl/sd8887_uapsta.bin

Signed-off-by: Henryk Heisig <>
[update to version 2017-09-06]
Signed-off-by: Hauke Mehrtens <>
5 years agoutils/e2fsprogs: Update to 1.43.6
Daniel Engberg [Thu, 7 Sep 2017 22:44:26 +0000 (00:44 +0200)]
utils/e2fsprogs: Update to 1.43.6

Update e2fsprogs to 1.43.6
Disable compilation of fuse2fs (we don't package it)
Disable thread support (only affects fuse2fs)
Enable linking with libblkid instead of using private (included) version.
The libblkid is ~210KBytes in size, but with using the shared library
the binaries are ~25KBytes smaller. This also brings it in sync with
most other Linux distributions.

Signed-off-by: Daniel Engberg <>
5 years agokernel: add packaging for Xeon iTCO watchdog timer
Philip Prindeville [Fri, 15 Sep 2017 17:03:52 +0000 (11:03 -0600)]
kernel: add packaging for Xeon iTCO watchdog timer

Signed-off-by: Philip Prindeville <>
5 years agomwlwifi: update to version / 2017-08-10
Kabuli Chana [Thu, 10 Aug 2017 16:48:28 +0000 (10:48 -0600)]
mwlwifi: update to version / 2017-08-10

Update mwlwifi

Signed-off-by: Kabuli Chana <>
5 years agolibs/wolfssl: bump to version 3.12.0 ; add myself as maintainer
Alexandru Ardelean [Fri, 25 Aug 2017 13:22:36 +0000 (16:22 +0300)]
libs/wolfssl: bump to version 3.12.0 ; add myself as maintainer

Signed-off-by: Alexandru Ardelean <>
5 years agolibs/wolfssl: adjust symbol defaults against libwolfssl defaults
Alexandru Ardelean [Fri, 25 Aug 2017 11:23:42 +0000 (14:23 +0300)]
libs/wolfssl: adjust symbol defaults against libwolfssl defaults

Some symbols have been renamed.
Some are default enabled/disabled, so we need
to adjust semantics against that.

Signed-off-by: Alexandru Ardelean <>
5 years agolibs/wolfssl: disable hardening check in `settings.h`
Alexandru Ardelean [Fri, 25 Aug 2017 11:15:15 +0000 (14:15 +0300)]
libs/wolfssl: disable hardening check in `settings.h`

This seems to cause a false-positive warning/error
while building `libwebsockets-cyassl`.

make[6]: Leaving directory '/home/sandu/work/lede/build_dir/target-x86_64_musl/libwebsockets-cyassl/libwebsockets-2.2.1'
make[6]: Entering directory '/home/sandu/work/lede/build_dir/target-x86_64_musl/libwebsockets-cyassl/libwebsockets-2.2.1'
[  2%] Building C object CMakeFiles/websockets.dir/lib/base64-decode.c.o
In file included from /home/sandu/work/lede/staging_dir/target-x86_64_musl/usr/include/wolfssl/ssl.h:31:0,
                 from /home/sandu/work/lede/staging_dir/target-x86_64_musl/usr/include/cyassl/ssl.h:33,
                 from /home/sandu/work/lede/staging_dir/target-x86_64_musl/usr/include/cyassl/openssl/ssl.h:30,
                 from /home/sandu/work/lede/build_dir/target-x86_64_musl/libwebsockets-cyassl/libwebsockets-2.2.1/lib/private-libwebsockets.h:256,
                 from /home/sandu/work/lede/build_dir/target-x86_64_musl/libwebsockets-cyassl/libwebsockets-2.2.1/lib/base64-decode.c:43:
/home/sandu/work/lede/staging_dir/target-x86_64_musl/usr/include/wolfssl/wolfcrypt/settings.h:1642:14: error: #warning "For timing resistance / side-channel attack prevention consider using harden options" [-Werror=cpp]
             #warning "For timing resistance / side-channel attack prevention consider using harden options"


Hardening is enabled by default in libwolfssl at build-time.

However, the `settings.h` header is exported (along with other headers)
for build (via Build/InstallDev).

This looks like a small bug/issue with wolfssl.

Signed-off-by: Alexandru Ardelean <>
5 years agocyassl,curl,libustream-ssl: rename every `cyassl` to `wolfssl`
Alexandru Ardelean [Thu, 24 Aug 2017 05:56:40 +0000 (08:56 +0300)]
cyassl,curl,libustream-ssl: rename every `cyassl` to `wolfssl`

This is to eliminate any ambiguity about the cyassl/wolfssl lib.

The rename happened some time ago (~3+ years).
As time goes by, people will start to forget cyassl and
start to get confused about the wolfSSL vs cyassl thing.

It's a good idea to keep up with the times (moving forward).

Signed-off-by: Alexandru Ardelean <>
5 years agolibs/wolfssl: add libcysassl to PROVIDES field (for backwards compat)
Alexandru Ardelean [Fri, 25 Aug 2017 11:25:28 +0000 (14:25 +0300)]
libs/wolfssl: add libcysassl to PROVIDES field (for backwards compat)

Until other packages from feeds decide to rename the
dependency of `+libcyassl` to `+libwolfssl`, this allows
for a bit of backwards compatibility with those packages.

Signed-off-by: Alexandru Ardelean <>
5 years agowwan: json format in some modem definitions
Alexandru Ardelean [Mon, 4 Sep 2017 13:16:00 +0000 (16:16 +0300)]
wwan: json format in some modem definitions

Method used:
cd package/network/utils/wwan/files/data
sed -e 's/}}/}/g' -i *
sed -e 's/}\t"acm": 1/\t"acm": 1/g' -i *
sed -e 's/}\t"generic": 1/\t"generic": 1/g' -i *

Manually adjusted commas.
Validated with
for f in `ls` ; do echo $f ; python -m json.tool < $f || break ; done

Thanks to @lynxis for pointing out the commas.

Signed-off-by: Alexandru Ardelean <>
5 years agotools/e2fsprogs: Update to 1.43.6
Daniel Engberg [Fri, 8 Sep 2017 07:42:23 +0000 (09:42 +0200)]
tools/e2fsprogs: Update to 1.43.6

Update e2fsprogs to 1.43.6
* Remove FreeBSD patch as it's not needed, FreeBSD 9.1 is EoL and this
  is compiling on FreeBSD 11.1.
* Remove libmagic patch, RHEL 5 is EoL (End of Production Phase) since
  March 31, 2017.

Signed-off-by: Daniel Engberg <>
5 years agotools/expat: Update to 2.2.4
Daniel Engberg [Wed, 6 Sep 2017 09:56:15 +0000 (11:56 +0200)]
tools/expat: Update to 2.2.4

Update (lib)expat to 2.2.4

Signed-off-by: Daniel Engberg <>
5 years agotoolchain: gcc: update 7.x to 7.2.0
Kevin Darbyshire-Bryant [Tue, 22 Aug 2017 10:01:07 +0000 (11:01 +0100)]
toolchain: gcc: update 7.x to 7.2.0

Bump gcc from 7.1 to 7.2

Compile & run tested: ar71xx

Trace history of current patches and update with commit ref & comment
to give more clue as to why they're still around/needed.  Some have
changed form since the original commit but some clue is better than no
clue at all.

Signed-off-by: Kevin Darbyshire-Bryant <>
Tested-by: Koen Vandeputte <>
5 years agokernel: update 4.4 to 4.4.88
Kevin Darbyshire-Bryant [Fri, 15 Sep 2017 10:41:09 +0000 (11:41 +0100)]
kernel: update 4.4 to 4.4.88

Refresh patches.
Compile & run tested: ar71xx  Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <>
5 years agoodhcpd: don't enable server mode on non-static lan port
Karl Palsson [Fri, 1 Sep 2017 11:22:11 +0000 (11:22 +0000)]
odhcpd: don't enable server mode on non-static lan port

Instead of blindly enabling the odhcpd v6 server and RA server on the
lan port, only do that if the lan port protocol is "static"

This prevents the unhelpful case of a device being a dhcpv4 client and
v6 server on the same ethernet port.

Signed-off-by: Karl Palsson <>
[PKG_SOURCE_DATE increase; odhcpd.defaults script cleanup]
Signed-off-by: Hans Dedecker <>
5 years agoramips: fix used MAC addresses for Phicomm K2P
Jiawei Wang [Wed, 13 Sep 2017 06:04:22 +0000 (14:04 +0800)]
ramips: fix used MAC addresses for Phicomm K2P

The factory partition of the Phicomm K2P contains two MAC addresses.
The lower MAC address is at offset 0xe006 and the higher one is at
offset 0xe000.

Use the lower MAC address as base mac-address which the switch driver
increments by one for the second (wan) vlan.

The MAC addresses are still inverted in contrast to the stock firmware
where the lower MAC address is used for wan. But at least the use of a
MAC address not intended/reserved for this particular board is fixed.

Signed-off-by: Jiawei Wang <>
5 years agoodhcpd: update to git HEAD version
Hans Dedecker [Wed, 13 Sep 2017 20:18:08 +0000 (22:18 +0200)]
odhcpd: update to git HEAD version

f0bce9c dhcpv4: fix memset compile issue
0ba3278 dhcpv4: rework assignment lookup
e3b49f3 dhcpv4: cleanup dhcpv4_test usage
47fe122 dhcpv4: rework lease expire handling logic
028ab85 dhcpv4: force renew nonce authentication support
a827fca dhcpv4: avoid segfault when there's no IPv4 prefix
bea088b ndp: detect ifindex changes via interface netlink events
f66103e ubus: display accept reconf status for DHCPv6 assignments
f0e354b treewide: replace RELAYD prefix naming in macros
1a313f9 dhcpv4: fix possible segfault when lease is not created
e2d6eb4 dhcpv4: dhcpv4: move interface lease list insertion out of dhcpv4_assign

Signed-off-by: Hans Dedecker <>
5 years agoramips: fix D240 mini-PCIe power control GPIOs
Kristian Evensen [Tue, 12 Sep 2017 16:27:10 +0000 (18:27 +0200)]
ramips: fix D240 mini-PCIe power control GPIOs

In commit b11c51916cb9 ("ramips: Improve Sanlinking D240 config") I made
a mistake with regards GPIO numbering. And in addition to specifying the
wrong GPIO for controling the power of one of the mini-PCIe, I recently
discovered that the power of both slots can be controlled.

This patch specifies the correct GPIO for the left-most mini-PCIe slot
of the D240 (labeled power_mpcie2 since the slot is attached to SIM2),
and adds a GPIO that can be used to control the power of the other
mini-PCIe slot (labeled power_mpcie1).

Signed-off-by: Kristian Evensen <>
[do not use the gpio active macros for the gpio-export value]
Signed-off-by: Mathias Kresin <>
5 years agoramips: add support for TP-Link Archer C20 v1
Maxim Anisimov [Fri, 8 Sep 2017 09:39:17 +0000 (12:39 +0300)]
ramips: add support for TP-Link Archer C20 v1

TP-Link Archer C20 v1 is a router with 5-port FE switch and
non-detachable antennas. It's very similiar to TP-Link Archer C50.
Also it's based on MediaTek MT7620A+MT7610EN.

- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- 8x LED (GPIO-controlled*), 2x button, power input switch
- 1 x USB 2.0 port

* WAN LED in this devices is a dual-color, dual-leads type which isn't
  (fully) supported by gpio-leds driver. This type of LED requires both
  GPIOs state change at the same time to select color or turn it off.
  For now, we support/use only the blue part of the LED.
* MT7610EN ac chip isn't not supported by LEDE. Therefore 5Ghz won't

Factory image notes:

These devices use version 3 of TP-Link header, fortunately without RSA
signature (at least in case of devices sold in Europe). The difference
lays in the requirement for a non-zero value in "Additional Hardware
Version" field. Ideally, it should match the value stored in vendor
firmware header on device.

We are able to prepare factory firwmare file which is accepted and
(almost) correctly flashed from the vendor GUI. As it turned out, it
accepts files without U-Boot image with second header at the beginning
but due to some kind of bug in upgrade routine, flashed image gets
corrupted before it's written to flash. So, to flash this device we must
to prepare image using original firmware from tp-link site with uboot.

Flash instruction:

Until (if at all) TP-Link fixes described problem, the only way to flash
LEDE image in these devices is to use tftp recovery mode in U-Boot.
There are two ways to flash the device to LEDE:

1) Using tftp mode with UART connection and original LEDE image

 - Place lede-ramips-mt7620-ArcherC20-squashfs-factory.bin in tftp
   server directory
 - Configure PC with static IP and tftp server.
 - Connect PC with one of LAN ports, power up the router and press
   key "4" to access U-Boot CLI.
 - Use the following commands to update the device to LEDE:

    setenv serverip
    tftp 0x80060000 lede-ramips-mt7620-ArcherC20-squashfs-factory.bin
    erase tplink 0x20000 0x7a0000
    cp.b 0x80060000 0x20000 0x7a0000

 - After that the device will reboot and boot to LEDE

2) Using tftp mode without UART connection but require some
   manipulations with target image

 - Download and unpack TP-Link Archer C20 v1 firmware from original web
 - Split uboot.bin from original firmware by this command (example):

    dd if=Archer_C20v1_0.9.1_4.0_up_boot(160427)_2016-04-27_13.53.59.bin of=uboot.bin bs=512 count=256 skip=1

 - Create ArcherC20V1_tp_recovery.bin using this command:

    cat uboot.bin lede-ramips-mt7620-ArcherC20-squashfs-factory.bin > ArcherC20V1_tp_recovery.bin

 - Place ArcherC20V1_tp_recovery.bin in tftp server directory.
 - Configure PC with static IP and tftp server.
 - Connect PC with one of LAN ports, press the reset button, power up
   the router and keep button pressed for around 6-7 seconds, until
   device starts downloading the file.
 - Router will download file from server, write it to flash and reboot.

Signed-off-by: Maxim Anisimov <>
5 years agogeneric: drop support for get_port_stats() on ar8xxx
Thibaut VARENE [Tue, 12 Sep 2017 21:22:37 +0000 (23:22 +0200)]
generic: drop support for get_port_stats() on ar8xxx

The implementation is not efficient on ar8xxx switches. It triggers high
CPU load and degrades device performance.

The high CPU load has been traced down to the ar8xxx_reg_wait() call in
ar8xxx_mib_op(), which has to usleep_range() till the MIB busy flag set
by the request to update the MIB counter is cleared.

This commit removes the get_port_stats() code introduced in 4d8a66d and
leaves a note for future hacker's beware.

Fixes: FS#1004
Signed-off-by: Thibaut VARENE <>
5 years agotreewide: fix shellscript syntax errors/typos
Lorenzo Santina [Mon, 11 Sep 2017 13:27:53 +0000 (15:27 +0200)]
treewide: fix shellscript syntax errors/typos

Fix multiple syntax errors in shelscripts (of packages only)
These errors were causing many conditions to not working properly

Signed-off-by: Lorenzo Santina <>
[increase PKG_RELEASE, drop command substitution from]
Signed-off-by: Mathias Kresin <dev@kresin.em>
5 years agoramips: fix hg255d LED status support
David Yang [Sat, 9 Sep 2017 13:16:11 +0000 (21:16 +0800)]
ramips: fix hg255d LED status support

Use the green power LED for boot status indication.

Source: Para 3

Signed-off-by: David Yang <>
5 years agobasefiles: allow suid coredumps
Kevin Darbyshire-Bryant [Mon, 4 Sep 2017 12:13:24 +0000 (13:13 +0100)]
basefiles: allow suid coredumps

Set sysctl fs.suid_dumpable = 2

This allows suid processes to dump core according to kernel.core_pattern
setting.  LEDE typically uses suid to drop root priviledge rather than
gain it but without this setting any suid process would be unable to
produce coredumps (e.g. dnsmasq)

Processes still need to set a non zero core file process limit ('ulimit
-c unlimited' or if procd used 'procd_set_param limits
core="unlimited"') in order to produce a core.  This setting removes an
obscure stumbling block along the way.



This value can be used to query and set the core dump mode for setuid
or otherwise protected/tainted binaries. The modes are

0 - (default) - traditional behaviour. Any process which has changed
privilege levels or is execute only will not be dumped.
1 - (debug) - all processes dump core when possible. The core dump is
owned by the current user and no security is applied. This is
intended for system debugging situations only. Ptrace is unchecked.
This is insecure as it allows regular users to examine the memory
contents of privileged processes.
2 - (suidsafe) - any binary which normally would not be dumped is dumped
anyway, but only if the "core_pattern" kernel sysctl is set to
either a pipe handler or a fully qualified path. (For more details
on this limitation, see CVE-2006-2451.) This mode is appropriate
when administrators are attempting to debug problems in a normal
environment, and either have a core dump pipe handler that knows
to treat privileged core dumps with care, or specific directory
defined for catching core dumps. If a core dump happens without
a pipe handler or fully qualifid path, a message will be emitted
to syslog warning about the lack of a correct setting.

Signed-off-by: Kevin Darbyshire-Bryant <>
Signed-off-by: Hans Dedecker <> [PKG_RELEASE increase]
5 years agoar71xx: fix MAC addresses on TP-Link TL-WR1043ND v4
Matthias Schiffer [Mon, 11 Sep 2017 17:41:41 +0000 (19:41 +0200)]
ar71xx: fix MAC addresses on TP-Link TL-WR1043ND v4

The addresses were read from the 'config' partition, which would not always
contain the addresses at the same offsets, depending on the stock firmware
version used before flashing LEDE. Change this to get the addresses from
the 'product-info' partition, which is read-only.

Reported-and-tested-by: Andreas Ziegler <>
Signed-off-by: Matthias Schiffer <>
5 years agoramips: Add support for ZBT WE1026-5G
Kristian Evensen [Sun, 10 Sep 2017 12:44:47 +0000 (14:44 +0200)]
ramips: Add support for ZBT WE1026-5G

The ZBT WE1026-5G
( is the follow-up
to the ZBT WE1026 and is based on MT7620. For the previous WE1026, the
ZBT WE826 image could be used. However, as the name implies, the -5G
comes equipped with a 5GHz wifi radio. As the WE826 only has a 2.4GHz
radio, the addition of 5GHz means that a separate image is needed for
the WE1026-5G. I suspect that this image will also work on the previous
WE1026, but I don't have a device to test with.

The WE1026-5G has following specifications:
* CPU: MT7620A
* 1x 10/100Mbps Ethernet.
* 16 MB Flash.
* 64 MB RAM.
* 1x USB 2.0 port.
* 1x mini-PCIe slots.
* 1x SIM slots.
* 1x 2.4Ghz WIFI.
* 1x 5GHz wifi (MT7612)
* 1x button.
* 3x controllable LEDs.

* Wifi.
* Switch.
* mini-PCIe slot. Only tested with a USB device (a modem).
* SIM slot.
* Sysupgrade.
* Button (reset).

Not working:
* The 5GHz WIFI LED is completely dead. I suspect the issue is the same
as on other devices with Mediatek 5Ghz wifi-cards/chips. The LED is
controlled by the driver, and mt76 (currently) does not support this.

Not tested:
* SD card reader.

* The modem (labeled 3G/4G) and power LEDs are controlled by the
* There is a 32MB version of this device available, but I do not have
access to it. I have therefor only added support for the 16MB version,
but added all the required infrastructure to make adding support for the
32MB version easy.

The router comes pre-installed with OpenWRT, including a variant of
Luci. The initial firmware install can be done through this UI,
following normal procedure. I.e., access the UI and update the firmware
using the sysupgrade-image. Remember to select that you do not want to
keep existing settings.

If you brick the device, the WE1026-5G supports recovery using HTTP. Keep the
reset button pressed for ~5sec when booting to start the web server. Set the
address of the network interface on your machine to, and
point your browser to to access the recovery UI. From the
recovery UI you can upload a firmware image.

Signed-off-by: Kristian Evensen <>
5 years agoath10k: Re-enable intermediate softqueues for all devices
Toke Høiland-Jørgensen [Wed, 6 Sep 2017 12:53:19 +0000 (14:53 +0200)]
ath10k: Re-enable intermediate softqueues for all devices

The upstream ath10k driver disables the intermediate softqueues for some
devices. This patch reverts that behaviour and always enables the
softqueues (and associated bufferbloat fixes). We have had reports of people
running this with good results:

This also refreshes mac80211 patches.

Signed-off-by: Toke Høiland-Jørgensen <>
5 years agoscripts/ fail loudly if provided hash is unsupported
Baptiste Jonglez [Sun, 3 Sep 2017 12:01:28 +0000 (14:01 +0200)]
scripts/ fail loudly if provided hash is unsupported

Currently, if the provided hash is unsupported (length different from 32
or 64 bytes), we happily download the requested file without any kind of
checksum verification.

This is quite dangerous and may provide a false sense of security, because
a single typo in the hash (e.g. one character deleted by mistake) may skip
checksum verification entirely.

Instead, fail immediately if we don't support the provided hash.
In particular, if an external package repository decides to change the
hash algorithm one day, we will now fail loudly instead of skipping
checksum verification without complaints.

Note: if some users of scripts/ knowingly provide an empty hash
because they don't need checksum verification, this change will break
them.  This does not seem to be the case currently, but if this feature is
ever needed, an option should be added to instead of relying
on the hash being empty.

Fixes: eaa4eba10a89 ("scripts/ add SHA-256 support")
Signed-off-by: Baptiste Jonglez <>
5 years agoar71xx: Add GRO support to ag71xx
Rosen Penev [Sun, 3 Sep 2017 18:35:46 +0000 (11:35 -0700)]
ar71xx: Add GRO support to ag71xx

On a TL-WN710N, this patch increases iperf performance from ~92.5 to ~93.5 mbps. Keep in mind the WN710N is a 100mbps device. I expect greater numbers from gigabit devices.

Signed-off-by: Rosen Penev <>
5 years agoramips: Change ethernet driver to use napi_complete_done.
Rosen Penev [Thu, 7 Sep 2017 02:57:41 +0000 (19:57 -0700)]
ramips: Change ethernet driver to use napi_complete_done.

Backport of mailine linux commit. Speeds up ethernet slightly and reduces latency.

Signed-off-by: Rosen Penev <>
5 years agocns3xxx: fix GPIO controller interrupt enable
Tim Harvey [Fri, 8 Sep 2017 18:56:59 +0000 (11:56 -0700)]
cns3xxx: fix GPIO controller interrupt enable

The cns3xxx interrupt controller uses a single register and as such
the 'mask' reg/functions must be used as opposed to the 'enable'/'disable'

This fixes an issue that occurs if more than one GPIO on a specific controller
(there is GPIOA and GPIOB each having 32 GPIO's) uses interrupts. When one
would get enabled all others would be disabled prior to this patch.

Signed-off-by: Tim Harvey <>
Acked-by: Koen Vandeputte <>
5 years agokernel: update 4.9 to 4.9.49
Stijn Tintel [Sun, 10 Sep 2017 21:37:48 +0000 (23:37 +0200)]
kernel: update 4.9 to 4.9.49

Refresh patches.
Compile-tested on octeon and x86/64.
Runtime-tested on octeon and x86/64.

Fixes CVE-2017-11600.

Signed-off-by: Stijn Tintel <>
5 years agostrace: bump to 4.19
Stijn Tintel [Sun, 10 Sep 2017 20:38:07 +0000 (22:38 +0200)]
strace: bump to 4.19

Signed-off-by: Stijn Tintel <>
5 years agombedtls: update to 2.6.0 CVE-2017-14032
Kevin Darbyshire-Bryant [Fri, 1 Sep 2017 18:04:29 +0000 (19:04 +0100)]
mbedtls: update to 2.6.0 CVE-2017-14032

Fixed an authentication bypass issue in SSL/TLS. When the TLS
authentication mode was set to 'optional',
mbedtls_ssl_get_verify_result() would incorrectly return 0 when the
peer's X.509 certificate chain had more than
MBEDTLS_X509_MAX_INTERMEDIATE_CA intermediates (default: 8), even when
it was not trusted. This could be triggered remotely on both the client
and server side. (Note, with the authentication mode set by
mbedtls_ssl_conf_authmode()to be 'required' (the default), the handshake
was correctly aborted).

Signed-off-by: Kevin Darbyshire-Bryant <>
Tested-by: Magnus Kroken <>
5 years agotcpdump: bump to 4.9.2
Stijn Tintel [Sun, 10 Sep 2017 19:27:26 +0000 (21:27 +0200)]
tcpdump: bump to 4.9.2

Signed-off-by: Stijn Tintel <>
5 years agolldpd: bump to 0.9.8
Stijn Tintel [Sun, 10 Sep 2017 19:27:15 +0000 (21:27 +0200)]
lldpd: bump to 0.9.8

Signed-off-by: Stijn Tintel <>
5 years agoar71xx: add metadata to wpj344 and wpj558 images
Enrique Giraldo [Wed, 2 Aug 2017 15:08:32 +0000 (17:08 +0200)]
ar71xx: add metadata to wpj344 and wpj558 images

This adds metadata to wpj344 and wpj558 images to prevent loading
firmware of wpj344 into wpj558 and vice versa. This until now was
possible and break the units and had to be recovered from the uboot.

Signed-off-by: Enrique Giraldo <>
5 years agoar71xx: wpj558: remove unused eth1 device and fix MAC address
Enrique Giraldo [Thu, 6 Jul 2017 12:04:31 +0000 (14:04 +0200)]
ar71xx: wpj558: remove unused eth1 device and fix MAC address

Signed-off-by: Enrique Giraldo <>
5 years agoar71xx: add support for COMFAST CF-E355AC
Enrique Giraldo [Thu, 29 Jun 2017 10:03:03 +0000 (12:03 +0200)]
ar71xx: add support for COMFAST CF-E355AC

COMFAST CF-E355AC is a ceiling mount AP with PoE support, based on
Qualcomm/Atheros QCA9531 + QCA9882.

Short specification:

- 2x 10/100 Mbps Ethernet, with PoE support
- 64MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, 802.11b/g/n
- 2T2R 5 GHz, 802.11ac/n/a
- built-in 4x 3 dBi antennas
- output power (max): 500 mW (27 dBm)
- 1x RGB LED, 1x button
- built-in watchdog chipset

Flash instruction:

Original firmware is based on OpenWrt.
Use sysupgrade image directly in vendor GUI.

Signed-off-by: Enrique Giraldo <>
[whitespace fixes, ac radio caldata offset fix]
Signed-off-by: Piotr Dymacz <>
5 years agoar71xx: add support for GL.iNet GL-USB150
Piotr Dymacz [Sat, 19 Aug 2017 16:26:46 +0000 (18:26 +0200)]
ar71xx: add support for GL.iNet GL-USB150

GL.iNet GL-USB150 is an USB dongle WiFi router, based on Atheros AR9331.


- 400/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- Realtek RTL8152B USB to Ethernet bridge (connected with AR9331 PHY4)
- 1T1R 2.4 GHz
- 2x LED, 1x button
- UART header on PCB

Flash instruction:

Vendor firmware is based on OpenWrt CC. GUI or sysupgrade can be used
to flash LEDE firmware.

Signed-off-by: Piotr Dymacz <>
5 years agohostapd: fix iapp_interface option
Lorenzo Santina [Sat, 9 Sep 2017 14:40:57 +0000 (16:40 +0200)]
hostapd: fix iapp_interface option

ifname variable were not assigned due to syntax error
causing the hostapd config file to have an empty iapp_interface= option

Signed-off-by: Lorenzo Santina <>
5 years agolantiq: ARV7519RW22: enable PCIe
Jorge Amorós [Sat, 9 Sep 2017 09:30:03 +0000 (11:30 +0200)]
lantiq: ARV7519RW22: enable PCIe

Enable PCIe to make the (still unsupported) WAVE300 wireless visible to
the system.

Signed-off-by: Jorge Amorós <>
5 years agolantiq: VR200v: enable PCI
Vittorio Alfieri [Fri, 8 Sep 2017 10:35:05 +0000 (10:35 +0000)]
lantiq: VR200v: enable PCI

Enable PCI to make the (still unsupported) WAVE300 wireless visible to
the system.

Signed-off-by: Vittorio Alfieri <>
5 years agoramips: Archer C50v1: support US and EU versions
Thibaut VARENE [Fri, 28 Jul 2017 11:00:54 +0000 (13:00 +0200)]
ramips: Archer C50v1: support US and EU versions

For the Archer C50v1, the EU and US versions are differentiated by their
respective HW additional version (0x0 for US, 0x2 for EU).

The stock web interface checks this field before flashing, making it
impossible to flash the current (US) factory image on EU hardware.

However the bootloader does not check this field, making it possible to use
a single sysupgrade image for both hardware.

This patch adds the necessary build bits to generate both EU and US factory
images, and renames the target as "Archer C50v1" since there are as of now
3 different versions of Archer C50 (all with different CPUs).

Signed-off-by: Thibaut VARENE <>
5 years agotools/firmware-utils: mktplinkfw2: allow parameter override
Thibaut VARENE [Fri, 28 Jul 2017 10:59:42 +0000 (12:59 +0200)]
tools/firmware-utils: mktplinkfw2: allow parameter override

This patch enables commandline override of board hw_ver and hw_ver_add

Signed-off-by: Thibaut VARENE <>
5 years agokernel: update 4.4 to 4.4.87
Kevin Darbyshire-Bryant [Thu, 7 Sep 2017 13:13:53 +0000 (14:13 +0100)]
kernel: update 4.4 to 4.4.87

Fixes CVE-2017-11600

No patch refresh required

Compile & run tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <>
5 years agoramips: add support for the HNET C108
Kristian Evensen [Wed, 6 Sep 2017 09:14:16 +0000 (11:14 +0200)]
ramips: add support for the HNET C108

The HNET C108
( is a
mifi based on MT7602A, which has the following specifications:

* CPU: MT7620A
* 1x 10/100Mbps Ethernet.
* 16 MB Flash.
* 64 MB RAM.
* 1x USB 2.0 port. Only power is connected, this port is meant for
charging other devices.
* 1x mini-PCIe slots.
* 1x SIM slots.
* 1x 2.4Ghz WIFI.
* 1x button.
* 6000 mAh battery.
* 5x controllable LEDs.

* Wifi.
* Switch.
* mini-PCIe slot. Only tested with a USB device (a modem).
* SIM slot.
* Sysupgrade.
* Button (reset).

Not working (also applies to the factory firmware):
* Wifi LED. It is always switched on, there is no relation to the
up/down state or activity of the wireless interface.

Not tested:
* SD card reader.

* The C108 has no dedicated status LED. I therefore set the LAN LED as
status LED.

The router comes pre-installed with OpenWRT, including a variant of
Luci. The initial firmware install can be done through this UI,
following normal procedure. I.e., access the UI and update the firmware
using the sysupgrade-image. Remember to select that you do not want to
keep existing settings.

If you brick the device, the C108 supports recovery using TFTP. Keep the
reset button pressed for ~5sec when booting to trigger TFTP. Set the
address of the network interface on your machine to, and
rename your image file to Kernal.bin.

Signed-off-by: Kristian Evensen <>
5 years agokernel: rtl8306: fix port link status
Mathias Kresin [Thu, 31 Aug 2017 05:52:00 +0000 (07:52 +0200)]
kernel: rtl8306: fix port link status

In case the link changes from down to up, the register is only updated
on read. If the link failed/was down, this bit will be 0 until after
reading this bit again.

Fixes a reported link down by swconfig alebit the link is up (query for
the link again will show the correct link status)

Signed-off-by: Mathias Kresin <>
5 years agolantiq: fix xrx200 switch carrier state
Mathias Kresin [Wed, 9 Aug 2017 16:43:56 +0000 (18:43 +0200)]
lantiq: fix xrx200 switch carrier state

In conditions where none of the switch ports is connected during boot,
the priv->port[i].link != priv->port[i].phydev->link condition is false
since both link values are equal (false). The carrier of the switch
netdev is never set to off and the link state reported by ip is UNKNOWN.

Turn the carrier off if none of the switch ports has a link, regardless
whether something has been changed. Add a check for a carrier to
prevent unnecessary calls to netif_carrier_off() if the carrier is
already off.

Based on a patch send by Martin Schiller.

Signed-off-by: Mathias Kresin <>
5 years agodnsmasq: backport arcount edns0 fix
Kevin Darbyshire-Bryant [Fri, 8 Sep 2017 07:56:34 +0000 (08:56 +0100)]
dnsmasq: backport arcount edns0 fix

Don't return arcount=1 if EDNS0 RR won't fit in the packet.

Omitting the EDNS0 RR but setting arcount gives a malformed packet.
Also, don't accept UDP packet size less than 512 in received EDNS0.

Signed-off-by: Kevin Darbyshire-Bryant <>
5 years agomediatek: fix mdio schedule while atomic error
John Crispin [Thu, 7 Sep 2017 08:11:45 +0000 (10:11 +0200)]
mediatek: fix mdio schedule while atomic error

Signed-off-by: John Crispin <>
5 years agodnsmasq: backport official fix for CVE-2017-13704
Kevin Darbyshire-Bryant [Thu, 7 Sep 2017 02:58:23 +0000 (03:58 +0100)]
dnsmasq: backport official fix for CVE-2017-13704

Remove LEDE partial fix for CVE-2017-13704.

Backport official fix from upstream.

Signed-off-by: Kevin Darbyshire-Bryant <>
Signed-off-by: Hans Dedecker <> (PKG_RELEASE increase)
5 years agouclient: update to 2017-09-06
Matthias Schiffer [Wed, 6 Sep 2017 13:44:14 +0000 (15:44 +0200)]
uclient: update to 2017-09-06

24d6eded73de uclient-http: fix Host: header for literal IPv6 addresses
83ce236dab86 uclient-fetch: read_data_cb: fix a potential buffer overflow

Signed-off-by: Matthias Schiffer <>
5 years agoramips: fix default LED configuration
Kristian Evensen [Wed, 6 Sep 2017 06:14:23 +0000 (08:14 +0200)]
ramips: fix default LED configuration

Commit 77645ffcd9ad ("ramips: add support for the GnuBee Personal Cloud
One") dropped the execution permission from 01_leds with the result
that the file isn't started during first boot and no default LED
configuration is added.

Revert the introduced file permission change.

Fixes: FS#979
Signed-off-by: Kristian Evensen <>
[cherry picked the fix from a board support patch]
Signed-off-by: Mathias Kresin <>
5 years agoodhcp6c: add workaround for broken extendprefix scenario
Hans Dedecker [Tue, 5 Sep 2017 12:33:01 +0000 (14:33 +0200)]
odhcp6c: add workaround for broken extendprefix scenario

Extendprefix is typically used to extend an IPv6 RA prefix from a mobile
wan link to the LAN; such scenario requires correct RA prefix settings
like the on link flag not being set.
However some mobile manufacter set the RA prefix on link flag which breaks
basic IPv6 routing.
Work around this issue by filtering out the route being equal to the
extended prefix.

Signed-off-by: Hans Dedecker <>
5 years agolantiq: drop kernel 4.4 support
Mathias Kresin [Mon, 4 Sep 2017 21:25:15 +0000 (23:25 +0200)]
lantiq: drop kernel 4.4 support

Signed-off-by: Mathias Kresin <>
5 years agolantiq: switch to kernel 4.9
Edward O'Callaghan [Sun, 30 Jul 2017 12:49:16 +0000 (22:49 +1000)]
lantiq: switch to kernel 4.9

Signed-off-by: Edward O'Callaghan <>
5 years agokernel: update 4.4 to 4.4.86
Kevin Darbyshire-Bryant [Mon, 4 Sep 2017 09:25:09 +0000 (10:25 +0100)]
kernel: update 4.4 to 4.4.86

Refresh patches

Compile & run tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <>
5 years agoar71xx: WNDR4300: use the switch LED trigger on the WAN port
Daniel Gonzalez Cabanelas [Sun, 3 Sep 2017 17:41:42 +0000 (19:41 +0200)]
ar71xx: WNDR4300: use the switch LED trigger on the WAN port

The WAN port on the Netgear WNDR4300 router has two LEDs,
amber and green. Use the switch LED trigger to behave as the
rest of the LAN HW controlled LEDs
- Green: 1 Gbps
- Amber: 100/10 Mbps

Signed-off-by: Daniel Gonzalez Cabanelas <>
5 years agoramips: fix mt76x8 dependencies
John Crispin [Tue, 5 Sep 2017 06:08:36 +0000 (08:08 +0200)]
ramips: fix mt76x8 dependencies

The commit merging mt7628 and mt7688 failed to update some

Signed-off-by: John Crispin <>
5 years agoar71xx: add support for TL-WR1041N(v2) LAN/WAN LEDs.
Kuang Rufan [Fri, 25 Aug 2017 12:45:19 +0000 (20:45 +0800)]
ar71xx: add support for TL-WR1041N(v2) LAN/WAN LEDs.

1. Add support to LAN/WAN LEDs attached to ar8327.
2. Fix the problem that LAN/WAN LEDs does not blink in hardware (auto)
   mode when connected to 10M/100M ethernet.

Signed-off-by: Kuang Rufan <>
5 years agoodhcp6c: add ra_holdoff config option and update to git HEAD version (FS#964)
Hans Dedecker [Sat, 2 Sep 2017 20:05:01 +0000 (22:05 +0200)]
odhcp6c: add ra_holdoff config option and update to git HEAD version (FS#964)

51733a6 ra: align RA update interval with RFC4861 (FS#964)

Add ra_holdoff config option which allows to configure the RA minimum
update interval which is by default 3 seconds as stated in RFC4861.

Signed-off-by: Hans Dedecker <>
5 years agokernel: update 4.9 to 4.9.47
Stijn Tintel [Sun, 3 Sep 2017 06:34:10 +0000 (09:34 +0300)]
kernel: update 4.9 to 4.9.47

Refresh patches.
Compile-tested on ramips/mt7621 and x86/64.
Runtime-tested on ramips/mt7621 and x86/64.

Signed-off-by: Stijn Tintel <>
5 years agobase-files: add /etc/profile.d to conffiles
Stijn Tintel [Mon, 28 Aug 2017 11:45:23 +0000 (14:45 +0300)]
base-files: add /etc/profile.d to conffiles

Signed-off-by: Stijn Tintel <>
5 years agobase-files: order conffiles alphabetically
Stijn Tintel [Mon, 28 Aug 2017 11:42:22 +0000 (14:42 +0300)]
base-files: order conffiles alphabetically

Signed-off-by: Stijn Tintel <>
5 years agoubox: update to git HEAD version
Hans Dedecker [Fri, 1 Sep 2017 14:02:33 +0000 (16:02 +0200)]
ubox: update to git HEAD version

b1bc8d5 kmodloader: log error message in case of out of memory
f346111 kmodloader: lift restriction on module alias info
f1ef2c3 kmodloader: fix possible segfaults
9cb63df kmodloader: fix endianess check
2cff779 kmodloader: Check module endian before loading
d54f38a kmodloader/get_module_info: initialized aliases to make it more clean
a0b6fef kmodloader: insmod: fix a memoryleak in error case
278c4c4 kmodloader/get_module_name: null-terminate the string
16f7e16 syslog: remove unnecessary sizeof struct between messages

Signed-off-by: Hans Dedecker <>
5 years this patch broken grub2 builds
John Crispin [Fri, 1 Sep 2017 08:17:02 +0000 (10:17 +0200)] this patch broken grub2 builds

Revert " add missing CPP definition"

This reverts commit 569f74ef49bae9326a723050a400346686983d86.

Signed-off-by: John Crispin <>
5 years agogeneric: make switch_port_stats tx/rx_bytes long long
Thibaut VARENE [Fri, 4 Aug 2017 10:32:04 +0000 (12:32 +0200)]
generic: make switch_port_stats tx/rx_bytes long long

This generic structure defines tx_bytes and rx_bytes as unsigned long (u32),
while several devices would typically report unsigned long long (u64).

The code can work as is, but there's a chance that with a sufficiently fast
interface the overflow might happen too fast to be correctly noticed by the
consumers of this data.

This patch makes both field unsigned long long and updates the only known
consumer of this data: swconfig_leds.c

Signed-off-by: Thibaut VARENE <>
5 years agogeneric: provide get_port_stats() on rtl836x switches
Thibaut VARENE [Fri, 4 Aug 2017 10:29:52 +0000 (12:29 +0200)]
generic: provide get_port_stats() on rtl836x switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <>
5 years agogeneric: provide get_port_stats() on b53 switches
Thibaut VARENE [Fri, 4 Aug 2017 10:29:19 +0000 (12:29 +0200)]
generic: provide get_port_stats() on b53 switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <>
5 years agogeneric: provide get_port_stats() on adm6996 switches
Thibaut VARENE [Fri, 4 Aug 2017 10:28:56 +0000 (12:28 +0200)]
generic: provide get_port_stats() on adm6996 switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <>
5 years agogeneric: provide get_port_stats() on ar8xxx switches
Thibaut VARENE [Fri, 4 Aug 2017 10:28:23 +0000 (12:28 +0200)]
generic: provide get_port_stats() on ar8xxx switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

The implementation uses a generic callback that select the correct MIB counter
index based on chip version.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <>
5 years agoramips: provide get_port_stats() on mt7530/762x switches
Thibaut VARENE [Fri, 4 Aug 2017 10:27:32 +0000 (12:27 +0200)]
ramips: provide get_port_stats() on mt7530/762x switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <>
5 years agoprocd: mdns: Support txt values with spaces
Karl Palsson [Wed, 30 Aug 2017 17:44:00 +0000 (17:44 +0000)]
procd: mdns: Support txt values with spaces

Properly quote the arguments so that you can register a service with TXT
entries that contains spaces.

   procd_add_mdns myservice tcp 9999 "key=descriptive text field 1" \
         "another=something equally verbose"

Output before:
$ avahi-browse -r -v _myservice._tcp
_myservice._tcp      local
   hostname = [blah.local]
   address = []
   port = [9999]
   txt = ["verbose" "equally" "another=something" "1" "field" "text" "key=descriptive"]

Output now:
$ avahi-browse -r -v _myservice._tcp
_myservice._tcp      local
   hostname = [blah.local]
   address = []
   port = [9999]
   txt = ["another=something equally verbose" "key=descriptive text field 1"]

Signed-off-by: Karl Palsson <>
5 years agoRevert "dropbear: Link ssh and scp command to /bin instead of /usr/bin"
John Crispin [Thu, 31 Aug 2017 19:09:05 +0000 (21:09 +0200)]
Revert "dropbear: Link ssh and scp command to /bin instead of /usr/bin"

This reverts commit f7528ed0a8586434e18e9007b1bf0d05a18d6418.

Signed-off-by: John Crispin <>
5 years agokernel: update 4.4 to 4.4.85
Kevin Darbyshire-Bryant [Wed, 30 Aug 2017 20:09:17 +0000 (21:09 +0100)]
kernel: update 4.4 to 4.4.85

Refresh patches

Compile & run tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <>
5 years agoar71xx: fix switch port numbering on RB750r2 and RB750UPr2
João Chaínho [Thu, 31 Aug 2017 15:45:39 +0000 (16:45 +0100)]
ar71xx: fix switch port numbering on RB750r2 and RB750UPr2

This patch fixes the switch port numbering on Mikrotik RB750r2 (hEX lite) and RB750UPr2 (hEX PoE lite).
Tested on a RB750UPr2. Maybe this patch is applicable to other devices (e.g. RB951Ui-2nD, RB952Ui-5ac2nD) but I have no way to test them.

Signed-off-by: João Chaínho <>
5 years agodropbear: Link ssh and scp command to /bin instead of /usr/bin
Rosen Penev [Wed, 30 Aug 2017 22:58:09 +0000 (15:58 -0700)]
dropbear: Link ssh and scp command to /bin instead of /usr/bin

ssh and scp commands interfere with OpenSSH when installed in /usr/bin .

One use case is when installing dropbear to get root access when only OpenSSH is available (OpenSSH disallows root password logins). Once dropbear installs, it replaces OpenSSH's executables, even when removed with opkg. OpenSSH must be reinstalled to get them back.

Signed-off-by: Rosen Penev <>
5 years agomusl: update to 1.1.16+ git HEAD 2017-08-30
Koen Vandeputte [Thu, 31 Aug 2017 11:30:11 +0000 (13:30 +0200)]
musl: update to 1.1.16+ git HEAD 2017-08-30

Fixes critical issues for memset() & fflush()


5f7efb8 move IPPORT_RESERVED from netdb.h to netinet/in.h
5f3b652 add powerpc64 and s390x to list of supported archs in INSTALL
9d4c902 fix undefined behavior in memset due to missing sequence points
c7f56b4 __init_libc: add fallbacks for __progname setup
cc08669 add SIOCGSTAMPNS socket ioctl macro to ioctl.h
02b50c9 fix mips ioctl macros to match linux asm/sockios.h
670d6d0 fix unsynchronized access to FILE structure in fflush(0)

Tested on cns3xxx & imx6

Signed-off-by: Koen Vandeputte <>
5 years agobusybox: update to 1.27.2
Magnus Kroken [Wed, 23 Aug 2017 21:13:34 +0000 (23:13 +0200)]
busybox: update to 1.27.2

Refresh patches, delete patches backported from upstream.

This fixes ntpd sync issues (ntpd would not sync if the first provided
peer address was unreachable).

Signed-off-by: Magnus Kroken <>
Signed-off-by: Kevin Darbyshire-Bryant <>
5 years agouboot-envtools: Add support for IPQ806x AP148 and DB149
Ram Chandra Jangir [Wed, 28 Jun 2017 17:54:45 +0000 (23:24 +0530)]
uboot-envtools: Add support for IPQ806x AP148 and DB149

IPQ806x AP148 and DB149 boards didn't have the UCI ubootenv
section initialized, so the usage of fw_printenv required manual
configuration. With this change, the "fw_printenv" and "fw_setenv"
command will automatically work on NOR and NAND based platforms.

Signed-off-by: Ram Chandra Jangir <>
5 years agobusybox: move passwd applet to /bin
Daniel Golle [Wed, 19 Jul 2017 21:53:35 +0000 (23:53 +0200)]
busybox: move passwd applet to /bin

busybox currently installs passwd into /usr/bin which prevents its
'full' shadow-utils variant from being installed.
Move the passwd applet to /bin to avoid that collision.
shadow also provides /usr/bin/login which doesn't collide with busybox
as the busybox login applet is installed at /bin/login.

Signed-off-by: Daniel Golle <>
5 years agobusybox: move traceroute applets to /bin
Daniel Golle [Wed, 19 Jul 2017 21:52:22 +0000 (23:52 +0200)]
busybox: move traceroute applets to /bin

busybox currently installs traceroute and traceroute6 into /usr/bin
which prevents their 'full' iputils variants from being installed.
Move those applets to /bin so they can coexist with their iputils
siblings using the same PATH convention already applied for coreutils
and other drop-in 'full' versions.
Refresh existing patch while at it.

Signed-off-by: Daniel Golle <>
5 years agosamba36: Remove syslog and load printers lines.
Rosen Penev [Sat, 26 Aug 2017 03:12:13 +0000 (20:12 -0700)]
samba36: Remove syslog and load printers lines.

printer support is removed using 200-remove_printer_support.patch. the syslog parameter requires samba to be compiled with --with-syslog. Currently samba does not log to syslog and probably has not for a long time.

Signed-off-by: Rosen Penev <>
5 years agoscripts/ use glob to expand target dir
Zoltan Gyarmati [Sat, 26 Aug 2017 13:14:20 +0000 (15:14 +0200)]
scripts/ use glob to expand target dir

If CONFIG_DOWNLOAD_FOLDER is set to for example "~/dl", the download
script fails to create the .hash and .dl files with the following
 Cannot create file ~/dl/dropbear-2017.75.tar.bz2.dl: No such file or directory
 sh: 1: cannot create ~/dl/dropbear-2017.75.tar.bz2.hash: Directory nonexistent

If the tarball already exists in the ~/dl dir, it's properly found and
used, so this issue only affects the script.
 This patch calls glob() on the target dir parameter, which will expand `~`.

Signed-off-by: Zoltan Gyarmati <>
5 years agomusl: bump to latest 1.1.16+ git HEAD
Koen Vandeputte [Tue, 22 Aug 2017 14:37:33 +0000 (16:37 +0200)]
musl: bump to latest 1.1.16+ git HEAD


1698fe6 fix build failure for sh4a due to missing colon in asm statement
80bf595 trap UB from attempts to join a detached thread
e31c8c2 ppc64: fix setjmp/longjmp handling of TOC pointer
52cf5c1 qsort: add a short comment about the algorithm
dc2f368 disable global visibility override hack (vis.h) by default
947d330 add _NL_LOCALE_NAME extension to nl_langinfo
a08910f fix missing volatile qualifier on lock in __get_locale
2e6e084 remove ineffective compiler assist from printf
bc42dcb fix undefined behavior in ptrace
d906fa3 unify the use of FUTEX_PRIVATE
60ab365 fix undefined behavior in free
f688884 reapply va_arg hacks removal to wprintf
bd00cc8 remove useless declarations in string.h
f3055e0 allow specifying argv[0] when invoking a program via ldso
43c423a fix regression in dlopen promotion from RTLD_LOCAL to
66b53cf ldso: avoid spurious & possible erroneous work for libs with no
94f7441 powerpc64: add single-instruction math functions
9d12a6a fix clang CFLAGS checks and silence unused argument warnings
ce385fc s390x: add single-instruction math functions
e6def54 fix arm run-time abi string functions
91d34c4 fix regression in getspnam[_r] error code for insufficient
buffer size
5948bc1 fix omission of microblaze user.h definitions
b7bfb5c fix iconv conversions for iso88592-iso885916
64f8558 handle errors from localtime_r in ctime_r
2d7d05f set errno when getpw*_r, getgr*_r, and getspnam_r fail
5c10c33 handle localtime errors in ctime
1c86c7f handle mremap failure in realloc of mmap-serviced allocations
1080008 getdate: correctly specify error number
af05173 catopen: set errno to EOPNOTSUPP
84eff79 fix glob failure to match plain "/" to root directory
bc313e8 use hard-coded sh4a atomic opcodes to avoid linker errors on sh
179766a towupper/towlower: fast path for ascii chars
1c49700 remove long-obsolete clang workarounds from mips* syscall_arch.h
4073f03 fix fstatat syscall on mips64
81f4a12 fix fchown fallback on arches without chown(2)
97bd6b0 fix iconv conversions to legacy 8bit encodings
f9f686b have posix_spawnattr_setflags check for supported flags
77e895d add no-op POSIX_SPAWN_USEVFORK to spawn.h
5555041 s390x: provide sigcontext struct definition
bb439bb implement new posix_spawn flag POSIX_SPAWN_SETSID
58e2396 remove va_arg hacks in printf core with undefined behavior
e1232f5 make ttyname[_r] return ENODEV rather than ENOENT
1a7fa5e fix regression in support for resolv.conf attempts option
8c44a06 fix scalbn when result is in the subnormal range
2577b1b allow full-range file offsets to mmap on archs with 64-bit
syscall args
b3751c3 fix dl_iterate_phdr in static PIE binaries
1ca5975 fix read past end of buffer in getaddrinfo backend
54807d4 aarch64: add single instruction math functions
b6e1fe0 fix strptime output for %C without %y
834ef7a fix processing of strptime %p format
85dfab7 fix off-by-one in strptime %j
9571c53 regex: fix newline matching with negated brackets
e6917ec increase limit on locale name length from 15 to 23 bytes
e4fc9ad search locale name variants for gettext translations
16319a5 make setlocale return a single name for LC_ALL if all categories
0c53178 fix dlopen/dlsym regression opening libs already loaded at
dbff2bb fix POSIX-format TZ dst transition times for southern hemisphere
74bca42 s390x: fix fpreg_t and remove unused per_struct
a393d5c precalculate gnu hash rather than doing it lazily in find_sym
inner loop
8cba1dc fix threshold constants in j0f, y0f, j1f, y1f
cb52539 remove unused refcnt field for shared libraries
c49d3c8 avoid loading of multiple libc versions via explicit pathname
3ec8b3a fix one-byte overflow in legacy getpass function
733d1ea fix wide scanf's use of a compound literal past its lifetime
6a209f1 fix possible fd leak, unrestored cancellation state on dns
socket fail
500f5be in static dl_iterate_phdr, fix use of possibly-uninitialized aux
6582baa fix free of uninitialized buffer pointer on error in regexec
6476b81 emulate lazy relocation as deferrable relocation
4823b13 reorder addend handling before symbol lookup in relocation code
4ff234f rework ldso handling of global symbol table for consistency
c9783e4 treat STB_WEAK and STB_GNU_UNIQUE like STB_GLOBAL in find_sym
fc85fb3 fix ld-behavior-dependent crash in ppc64 ldso startup
827c4e6 fix lsearch and lfind to pass key as first arg to the compar
0a4a16d allow page size to vary on arm
b261a24 fix build regression in arm atomics asm with new binutils
9201c3a s390x: implement dlsym
d6601f0 avoid unbounded strlen in gettext functions
dbbb373 fix use of uninitialized pointer in gettext core
01e6bbe fix bindtextdomain logic error deactivating other domains
6894f84 fix spurious EINTR errors from multithreaded set*id, etc.
1f53e7d fix crashes in x32 __tls_get_addr
27b3fd6 fix crash from corrupted tls module list after failed dlopen
809ff8c treat base 1 as an error in strtol-family functions
786fda8 fix getopt[_long] clobbering of optopt on success
150747b reduce impact of REG_* namespace pollution in x86[_64] signal.h

Tested on cns3xxx & imx6

Signed-off-by: Koen Vandeputte <>
Signed-off-by: Kevin Darbyshire-Bryant <>
5 years agosamba36: Don't resolve interfaces.
Rosen Penev [Thu, 24 Aug 2017 23:51:24 +0000 (16:51 -0700)]
samba36: Don't resolve interfaces.

It's redundant and also buggy. IPv6 link local addresses and ::1 are not resolved for example. Doesn't matter since lo and br-lan for example, resolve to them.

Signed-off-by: Rosen Penev <>
Acked-by: Kevin Darbyshire-Bryant <>
5 years agosamba36: Remove guest ok since LuCI configures it.
Rosen Penev [Thu, 24 Aug 2017 23:51:23 +0000 (16:51 -0700)]
samba36: Remove guest ok since LuCI configures it.

guest ok is set per share and as such, don't override it. also, fix an error introduced in the last commit.

Signed-off-by: Rosen Penev <>