openwrt/staging/luka.git
6 years agomac80211: tweak TSQ settings
Felix Fietkau [Thu, 16 Nov 2017 08:57:13 +0000 (09:57 +0100)]
mac80211: tweak TSQ settings

Latencies can be much higher on wifi devices, especially with
aggregation. Tune the network stack setting introduced in the previous
commit to account for that.
This commit reintroduces the previously reverted one with a fix for the
crash issues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: add missing reset button for Nexx WT1520
INAGAKI Hiroshi [Sat, 25 Nov 2017 16:42:50 +0000 (01:42 +0900)]
ramips: add missing reset button for Nexx WT1520

This commit adds missing the GPIO key used as reset button.
Nexx WT1520 has a GPIO key for factory reset, but it's not defined in
WT1520.dtsi and cannot use it.

Drop the UART (full) from the device tree source file, it was never
used for this board. Adjust the kernel bootargs accordingly.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[add note about dropped UART (full) to the commit message]
Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agodnsmasq: fix dhcp-host entries with empty macs
Jo-Philipp Wich [Tue, 28 Nov 2017 11:38:40 +0000 (11:38 +0000)]
dnsmasq: fix dhcp-host entries with empty macs

Due to improper localization of helper variables, "config host" entries
without a given mac address may inherit the mac address of a preceeding,
leading to invalid generated netive configuration.

Fix the issue by marking the "macs" and "tags" helper variables in
dhcp_host_add() local, avoiding the need for explicitely resetting them
with each invocation.

Reported-by: Russell Senior <russell@personaltelco.net>
Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agoRevert "mac80211: tweak TSQ settings"
Felix Fietkau [Tue, 28 Nov 2017 13:23:09 +0000 (14:23 +0100)]
Revert "mac80211: tweak TSQ settings"

This reverts commit 2dc485250d516f1535eeaf53f0f2f5742e5f9e0c.
This patch needs some additional checks in order to avoid overwriting
unrelated fields for request sockets.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agowireguard: bump to snapshot 20171127
Kevin Darbyshire-Bryant [Mon, 27 Nov 2017 10:14:54 +0000 (10:14 +0000)]
wireguard: bump to snapshot 20171127

== Changes ==

 * compat: support timespec64 on old kernels
 * compat: support AVX512BW+VL by lying
 * compat: fix typo and ranges
 * compat: support 4.15's netlink and barrier changes
 * poly1305-avx512: requires AVX512F+VL+BW

 Numerous compat fixes which should keep us supporting 3.10-4.15-rc1.

 * blake2s: AVX512F+VL implementation
 * blake2s: tweak avx512 code
 * blake2s: hmac space optimization

 Another terrific submission from Samuel Neves: we now have an implementation
 of Blake2s using AVX512, which is extremely fast.

 * allowedips: optimize
 * allowedips: simplify
 * chacha20: directly assign constant and initial state

 Small performance tweaks.

 * tools: fix removing preshared keys
 * qemu: use netfilter.org https site
 * qemu: take shared lock for untarring

 Small bug fixes.

Remove myself from the maintainers list: we have enough and I'm happy to
carry on doing package bumps on ad-hoc basis without the 'official'
title.

Run-tested: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agolldpd: bump to 0.9.9
Stijn Tintel [Mon, 27 Nov 2017 08:43:23 +0000 (09:43 +0100)]
lldpd: bump to 0.9.9

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agonghttp2: bump to 1.28.0
Hans Dedecker [Mon, 27 Nov 2017 08:53:37 +0000 (09:53 +0100)]
nghttp2: bump to 1.28.0

939ad5dd Update manual pages
24d92b97 Add deprecation warning when spdylay support is enabled
4c92ff18 Bump up version number to 1.28.0, LT revision to 29:0:15
280db5c6 Update neverbleed
7fbcb2d0 Merge pull request #1074 from nghttp2/fix-doc
53aeb2c3 Fix doc
ff200bfc clang-format-5.0
fee3151f Switch to clang-format-5.0
99a85159 Update manual pages
2a981a3f Merge pull request #1066 from nghttp2/nghttpx-add-affinity-cookie-secure
0028275d nghttpx: Add affinity-cookie-secure parameter to backend option
ee8bfddf Merge pull request #1063 from nghttp2/error_callback2
194acb1f src: Use nghttp2_error_callback2
43a2a70a Add nghttp2_error_callback2
73344ae9 nghttpx: Use plain hex string format for client serial
c479f612 Merge pull request #1060 from nghttp2/nghttpx-add-client-serial
eca0a302 nghttpx: Add $tls_client_serial log variable
4720c5cb nghttpx: Make client serial available in mruby script
cd55ab28 nghttpx: Add function to get serial number from certificate
d402cfdf Merge pull request #1057 from nghttp2/nghttpx-add-tls-client-issuer-name
22502182 Add tls_client_issuer_name log variable and expose it to mruby
05e1fd5e Update manual pages
943d7923 Add Session Affinity section to nghttpx howto
568ecbfb doc: Add missing port
f5ddd7f4 nghttpx: Make initial_addr_idx_ unsigned
88abbce7 nghttpx: Fix compile error with gcc
16e90365 nghttpx: Fix affinity retry
fa7945c6 nghttpx: Refactor
daca43f0 nghttpx: Fix stalled backend connection on retry
16bc11e6 nghttpx: Remove duplicated util::make_socket_nodelay
6f7e94cd Merge pull request #1047 from PiotrSikora/go_vet
61efa15a integration: Fix issues reported by the `go vet` tool.
8c0ea56b Merge pull request #1036 from nghttp2/nghttpx-affinity-cookie
54905371 nghttpx: Refactor
6010d393 integration: Add tests
be5c39a1 src: Add tests
b8fda680 nghttpx: Cookie based session affinity
e29b9c12 Merge pull request #1045 from nghttp2/nghttpx-sha1-fingerprint
539e2781 nghttpx: Add tls_client_fingerprint_sha1 to mruby and accesslog
7008afd4 nghttpx: Refactor get_x509_fingerprint to accept hash function
77a41756 Merge pull request #1041 from nghttp2/fix-examples-client-server
b15045d6 Merge pull request #1040 from nghttp2/nghttpx-mruby-add-more-tls-vars
03084f75 examples: Make client and server work with libevent-2.1.8
60baca27 nghttpx: Add more TLS related attributes to mruby Env object
86990db2 Merge pull request #1038 from nghttp2/nghttpx-add-more-logging-vars
cb376bcd nghttpx: Add client fingerprint and subject name to accesslog
f2b8edd1 nghttpx: Fix memory leak
c4f8afcf nghttpx: Get TLS info only when it is necessary when writing accesslog
1a1a216d Merge pull request #1037 from nghttp2/nghttpx-mruby-tls-client-vars
9f80a82c nghttpx: Add client fingerprint and subject name to mruby env
c573c80b nghttpx: Pass a pointer to SSL instead of TLSSessionInfo to LogSpec
3cd6817e Fix typos
d4a69658 Add another warning about mruby
8e06fe49 Fix typo
aaeeec8f Fix typos
66d5e246 Bump up version number to 1.28.0-DEV

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agobuild: accept gcc/g++ without minor version
Justin Kilpatrick [Sat, 25 Nov 2017 21:14:59 +0000 (16:14 -0500)]
build: accept gcc/g++ without minor version

Build dependency: Please install the GNU C Compiler (gcc) 4.8 or later cc
  -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|7\.[0-9])'
Build dependency: Please install the GNU C++ Compiler (g++) 4.8 or later
  g++ -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|7\.[0-9])'

Prerequisite check failed. Use FORCE=1 to override.

On my Fedora 26 machine gcc and g++ -dumpversion returns a whole number
'7' failing the regex introduced in commit:

b78de6207f6fc1a9db857942cb89f9fcf730a240

This change makes minor versions optional in the build dependency regex
for gcc and g++ whenever any minor version would be accepted and the
whole number version is sufficient as a dependency check. For versions
4.* a minor version is still required.

Signed-off-by: Justin Kilpatrick <jkilpatr@redhat.com>
6 years agotoolchain: Test for supported versions of GCC
Daniel Engberg [Fri, 20 Oct 2017 11:47:43 +0000 (13:47 +0200)]
toolchain: Test for supported versions of GCC

Only test for supported versions of GCC
The version bump requirement for GCC is because gdb doesn't build with older
versions.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
6 years agomwlwifi: Update to latest commit in upstream repo
Daniel Engberg [Wed, 1 Nov 2017 10:29:16 +0000 (11:29 +0100)]
mwlwifi: Update to latest commit in upstream repo

Update to latest commit in upstream repo
Bumps 88W8964 firmware to 9.3.0.8

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
6 years agobuild: allow defining license information per binary package
Michael Heimpold [Tue, 31 Oct 2017 20:29:50 +0000 (21:29 +0100)]
build: allow defining license information per binary package

At the moment, license information can only be specified on a
"per source package" level while other metadata fields (e.g. maintainer)
can be given for each binary package. Apply the same logic for license
fields as well. This can be used e.g. in cases where a library is
distributed under some license while related tools are distributed
under a different one.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
6 years agokmod-sched-cake: update to latest git HEAD
Fushan Wen [Sat, 25 Nov 2017 02:19:17 +0000 (10:19 +0800)]
kmod-sched-cake: update to latest git HEAD

dfb2f6c pkt_sched: make compile again
5ab7026 sch_cake: make compile again
6f28803 codel5: make more checkpatch compliant
bd426aa Fix build error on 4.12
e4a3628 Whitespace tidy up

Signed-off-by: Fushan Wen <qydwhotmail@gmail.com>
6 years agokernel: Update kernel 4.4 to 4.4.100
Rosen Penev [Thu, 23 Nov 2017 21:42:13 +0000 (13:42 -0800)]
kernel: Update kernel 4.4 to 4.4.100

Run-tested on ramips

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Sat, 25 Nov 2017 17:13:41 +0000 (18:13 +0100)]
odhcpd: update to latest git HEAD

92e205d dhcpv6: fix compile issues when CER-ID extension is enabled

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agoodhcpd: add a full and ipv6only variant (FS#1188)
Hans Dedecker [Sat, 25 Nov 2017 16:56:01 +0000 (17:56 +0100)]
odhcpd: add a full and ipv6only variant (FS#1188)

Add an ipv6only variant providing server services for RA, stateful and stateless
DHCPv6, prefix delegation and relay support for DHCPv6, NDP and RA.

The full variant called odhcpd supports DHCPv4 server as before.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agokernel: bump 4.9 to 4.9.65
Stijn Tintel [Fri, 24 Nov 2017 09:36:24 +0000 (10:36 +0100)]
kernel: bump 4.9 to 4.9.65

Refresh patches.
Compile-tested: ar71xx, octeon, x86/64.
Runtime-tested: ar71xx, octeon, x86/64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agowireguard: bump to 20171122
Kevin Darbyshire-Bryant [Fri, 24 Nov 2017 10:28:13 +0000 (10:28 +0000)]
wireguard: bump to 20171122

Bump to latest WireGuard snapshot release:

ed479fa (tag: 0.0.20171122) version: bump snapshot
efd9db0 chacha20poly1305: poly cleans up its own state
5700b61 poly1305-x86_64: unclobber %rbp
314c172 global: switch from timeval to timespec
9e4aa7a poly1305: import MIPS64 primitive from OpenSSL
7a5ce4e chacha20poly1305: import ARM primitives from OpenSSL
abad6ee chacha20poly1305: import x86_64 primitives from OpenSSL
6507a03 chacha20poly1305: add more test vectors, some of which are weird
6f136a3 compat: new kernels have netlink fixes
e4b3875 compat: stable finally backported fix
cc07250 qemu: use unprefixed strip when not cross-compiling
64f1a6d tools: tighten up strtoul parsing
c3a04fe device: uninitialize socket first in destruction
82e6e3b socket: only free socket after successful creation of new
df318d1 compat: fix compilation with PaX
d911cd9 curve25519-neon: compile in thumb mode
d355e57 compat: 3.16.50 got proper rt6_get_cookie
666ee61 qemu: update kernel
2420e18 allowedips: do not write out of bounds
185c324 selftest: allowedips: randomized test mutex update
3f6ed7e wg-quick: document localhost exception and v6 rule

Compile-tested-for: ar71xx
Run-tested-on: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agouboot-sunxi: fix build of HAOYU Electronics Marsboard A10
Hauke Mehrtens [Thu, 23 Nov 2017 20:25:46 +0000 (21:25 +0100)]
uboot-sunxi: fix build of HAOYU Electronics Marsboard A10

The uboot target is named MarsBoard_A10 and it was not build at all.
This fixes a build problem seen by the build bot.

Fixes: 6a3565985fde ("sunxi: Added profile for HAOYU Electronics Marsboard A10")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agosunxi: remove support for kernel 4.4
Hauke Mehrtens [Thu, 23 Nov 2017 18:17:11 +0000 (19:17 +0100)]
sunxi: remove support for kernel 4.4

Kernel 4.9 is working good on this target, remove support for kernel 4.4
now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agosunxi: backport sunxi-mmc controller driver from 4.13
Hauke Mehrtens [Sun, 1 Oct 2017 12:01:28 +0000 (14:01 +0200)]
sunxi: backport sunxi-mmc controller driver from 4.13

There are multiple problems on the A64 SoC with the older drivers which
are fixed in the upstream kernel.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agokernel: i2c-piix4: fix dependency on TARGET_x86
Hauke Mehrtens [Wed, 22 Nov 2017 21:31:28 +0000 (22:31 +0100)]
kernel: i2c-piix4: fix dependency on TARGET_x86

Fix the target dependency to make it possible to select this module also
on x86 target and its subtargets.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agokernel: e100: take e100 firmware from linux-firmware repository
Hauke Mehrtens [Sun, 12 Nov 2017 13:52:29 +0000 (14:52 +0100)]
kernel: e100: take e100 firmware from linux-firmware repository

The firmware directory in the Linux kernel was removed in kernel 4.14,
take the e100 firmware files now from the linux-firmware repository
instead. To do so create the new package e100-firmware. This will also
work with older kernel versions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agokernel: add NFS4 client support
Marcin Jurkowski [Thu, 26 Oct 2017 22:46:22 +0000 (00:46 +0200)]
kernel: add NFS4 client support

Adds NFS4 client support:
 1. Package kmod-fs-nfs is split into kmod-fs-nfs (nfs.ko) and
    kmod-fs-nfs-v3 (nfsv3.ko).
 2. A new package kmod-fs-nfs-v4 (nfsv4.ko) is created.
 3. Package kmod-fs-nfs-common-v4 is renamed to kmod-fs-nfs-rpcsec
    and includes additional module rpcsec_gss_krb5.ko.
    CONFIG_NFS_V4 goes into kmod-fs-nfs-v4, CONFIG_NFSD_V4 (NFS4
    server) is removed. Missing kernel module oid_registry.ko
    needed by auth_rpcgss.ko is added to the package.

A new package kmod-crypto-cts needed by rpcsec_gss_krb5.ko is
also created.

Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
[add dependency to kmod-crypto-ecb in fs-nfs-common-rpcsec]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agokernel: Hyper-V PCI pass through
Lucian Cristian [Wed, 15 Nov 2017 13:44:33 +0000 (15:44 +0200)]
kernel: Hyper-V PCI pass through

Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
6 years agokernel: add 32bit x86 HYPER-V support
Lucian Cristian [Wed, 15 Nov 2017 14:19:09 +0000 (16:19 +0200)]
kernel: add 32bit x86 HYPER-V support

Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
[refresh config]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agokernel: add kmod-i2c-i801
Martin Schiller [Wed, 22 Nov 2017 12:48:23 +0000 (13:48 +0100)]
kernel: add kmod-i2c-i801

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
[Add i2c-smbus.ko and fix target dependency]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agokernel: add it87-wdt watchdog timer module
Martin Schiller [Wed, 22 Nov 2017 13:28:41 +0000 (14:28 +0100)]
kernel: add it87-wdt watchdog timer module

The module parameters "nogameport=1" and "nocir=1" are needed,
because this is not supported on recent chips and doesn't
really tell if the system is stable.

As this features will already be removed in linux-4.13 or newer,
this module parameters can be removed in the future.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
6 years agokernel: bump 4.9 to 4.9.63
Koen Vandeputte [Mon, 20 Nov 2017 09:51:09 +0000 (10:51 +0100)]
kernel: bump 4.9 to 4.9.63

Refreshed all patches.

Removed upstreamed parts.

Compile-tested: cns3xxx, imx6, mvebu, layerscape
Run-tested: cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agolibusb-compat: Upgrade to 0.1.15
Rosen Penev [Wed, 22 Nov 2017 05:57:54 +0000 (21:57 -0800)]
libusb-compat: Upgrade to 0.1.15

Compile tested on ramips (mt7621)

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agotools/e2fsprogs: Update to 1.43.7
Rosen Penev [Wed, 22 Nov 2017 05:57:53 +0000 (21:57 -0800)]
tools/e2fsprogs: Update to 1.43.7

Compile tested on Fedora 27.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agousbutils: Update usb.ids file to latest
Rosen Penev [Wed, 22 Nov 2017 05:57:52 +0000 (21:57 -0800)]
usbutils: Update usb.ids file to latest

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agowireless-regdb: fix PKG_MIRROR_HASH
Christian Lamparter [Sun, 19 Nov 2017 16:19:22 +0000 (17:19 +0100)]
wireless-regdb: fix PKG_MIRROR_HASH

make check complains about PKG_MIRROR_HASH of the wireless-regdb package:

WARNING: PKG_MIRROR_HASH does not match wireless-regdb-2017-10-20-4343d359.tar.xz
hash 5f5b669f32ae36cb65b1d99efbbbfd42c2983cda32f6448346e3e54ffaba3889

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
6 years agoacx-mac80211: fix build on kernel 4.9
Mathias Kresin [Sun, 19 Nov 2017 09:43:08 +0000 (10:43 +0100)]
acx-mac80211: fix build on kernel 4.9

The DEFINE_PCI_DEVICE_TABLE macro was removed with upstream commit
7e9321599011 ("treewide: remove references to the now unnecessary
DEFINE_PCI_DEVICE_TABLE").

Use the pci_device_id struct to fix the acx-mac80211 build failure on
ramips.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoramips: use pinmux nodes from dtsi
Mathias Kresin [Sat, 18 Nov 2017 21:05:16 +0000 (22:05 +0100)]
ramips: use pinmux nodes from dtsi

Use the pinmux nodes from the included dtsi file instead of adding
duplicate nodes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoramips: add missing pinmuxes to SoC dtsi
Mathias Kresin [Sat, 18 Nov 2017 09:51:07 +0000 (10:51 +0100)]
ramips: add missing pinmuxes to SoC dtsi

Add pinmuxes defined by some board which are including the dtsi files
to the dtsi files itself. Allows to reduce duplication.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoramips: backport MT7628 pinmux fixes
Mathias Kresin [Sat, 18 Nov 2017 20:07:45 +0000 (21:07 +0100)]
ramips: backport MT7628 pinmux fixes

According to the datasheet the REFCLK pin is shared with GPIO#37 and
the PERST pin is shared with GPIO#36.

While at it fix a typo inside the pinmux setup code. The function is called
refclk and not reclk.

Update device tree source files accordingly.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoramips: fix Planex CS-QR10 device packages
Mathias Kresin [Sat, 18 Nov 2017 11:19:00 +0000 (12:19 +0100)]
ramips: fix Planex CS-QR10 device packages

Add kmod-sound-core, it is a dependency of kmod-sound-mt7620 and will
not be autoselected.

Remove kmod-i2c-core, it will be autoselected by kmod-i2c-ralink.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoramips: fix DCH-M225 support
Mathias Kresin [Sat, 18 Nov 2017 10:59:22 +0000 (11:59 +0100)]
ramips: fix DCH-M225 support

Setting the pins of the UARTF group to GPIO+I2S at the time the I2C
driver loads is to late for the wps GPIO button.

The gpio-keys driver fails to load since the pin used by the wps button
is not yet set to GPIO. The wps button with the rfkill keycode is
essential for this wireless only board.

Add the missing sound and I2C kernel modules corresponding to the
device nodes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoodhcpd: fix gcc7 build error
Hans Dedecker [Tue, 21 Nov 2017 14:07:07 +0000 (15:07 +0100)]
odhcpd: fix gcc7 build error

0573422 ndp: add switch/case fallthrough comments

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agohostapd: remove unused local var declaration
Leon M. George [Mon, 20 Nov 2017 16:38:09 +0000 (17:38 +0100)]
hostapd: remove unused local var declaration

Signed-off-by: Leon M. George <leon@georgemail.eu>
6 years agohostapd: don't set htmode for wpa_supplicant
Leon M. George [Mon, 20 Nov 2017 16:36:55 +0000 (17:36 +0100)]
hostapd: don't set htmode for wpa_supplicant

no longer supported

Signed-off-by: Leon M. George <leon@georgemail.eu>
6 years agoodhcpd: update to latest git HEAD (make dhcpv4 support optional)
Hans Dedecker [Wed, 15 Nov 2017 14:42:47 +0000 (15:42 +0100)]
odhcpd: update to latest git HEAD (make dhcpv4 support optional)

fd80621 dhcpv4: make DHCPv4 support compiletime configurable
cf29925 treewide: rework handling of netlink events
24cdc1b treewide: add netlink file
5dfb716 treewide: align function naming

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agomac80211: fix a race condition that could lead to a use-after-free on a timer
Felix Fietkau [Mon, 20 Nov 2017 19:05:19 +0000 (20:05 +0100)]
mac80211: fix a race condition that could lead to a use-after-free on a timer

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agomac80211: fix netlink family id for nl80211 messages
Felix Fietkau [Mon, 20 Nov 2017 11:52:21 +0000 (12:52 +0100)]
mac80211: fix netlink family id for nl80211 messages

Fixes responses for nl80211 calls

Reported-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agokernel: fix lzo and lz4 modules
John Crispin [Wed, 15 Nov 2017 20:38:02 +0000 (21:38 +0100)]
kernel: fix lzo and lz4 modules

both of these have been split up and require additional ko files.

Signed-off-by: John Crispin <john@phrozen.org>
6 years agodnsmasq: load instance-specific conf-file if exists
Emerson Pinter [Wed, 15 Nov 2017 19:20:44 +0000 (17:20 -0200)]
dnsmasq: load instance-specific conf-file if exists

Without this change, the instance-specific conf-file is being added to procd_add_jail_mount,
but not used by dnsmasq.

Signed-off-by: Emerson Pinter <dev@pinter.com.br>
6 years agowolfssl: add PKG_CPE_ID ids to package and tools
Alexander Couzens [Sun, 19 Nov 2017 01:28:38 +0000 (02:28 +0100)]
wolfssl: add PKG_CPE_ID ids to package and tools

CPE ids helps to tracks CVE in packages.
https://cpe.mitre.org/specification/

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
6 years agoopenssl: Add optimization option
Daniel Engberg [Sat, 4 Nov 2017 19:45:30 +0000 (20:45 +0100)]
openssl: Add optimization option

Add option to optimize for speed instead of size

cmd: openssl speed md5 sha1 sha256 sha512 des des-ede3 aes-128-cbc \
aes-192-cbc aes-256-cbc rsa2048 dsa2048

=== Linksys WRT3200ACM ===

Default optimization:
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5              14111.49k    47147.75k   123375.02k   206937.09k   258828.97k
sha1             14495.71k    46763.99k   116679.94k   188115.29k   228294.66k
des cbc          22315.63k    23118.98k    23323.14k    23348.22k    23363.58k
des ede3          8085.97k     8217.26k     8255.74k     8266.41k     8273.92k
aes-128 cbc      48740.10k    52606.12k    54224.98k    56263.68k    54774.44k
aes-192 cbc      43410.83k    47325.31k    48994.05k    49377.96k    48532.14k
aes-256 cbc      39132.46k    42512.60k    43692.63k    43997.18k    44070.23k
sha256           19987.80k    47314.69k    86119.08k   109352.28k   119466.67k
sha512            8034.63k    32321.92k    47495.94k    65777.32k    74080.26k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.020387s 0.000528s     49.1   1892.2
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.005920s 0.006396s    168.9    156.3

Optimize for speed (-O3 instead of -Os and disable -DOPENSSL_SMALL_FOOTPRINT):
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5              14655.49k    48561.79k   126953.56k   210741.93k   262430.72k
sha1             14607.90k    47032.15k   117725.87k   188226.22k   228499.46k
des cbc          28041.11k    29586.84k    29939.80k    30047.91k    30067.37k
des ede3         10697.93k    10899.75k    10956.97k    10972.84k    10980.01k
aes-128 cbc      58852.70k    65956.07k    68675.67k    69388.29k    69607.42k
aes-192 cbc      50299.73k    56501.23k    58491.65k    59008.00k    59159.89k
aes-256 cbc      44684.38k    47944.36k    49098.67k    49573.89k    49463.30k
sha256           19673.53k    47248.58k    86775.04k   110053.72k   119382.02k
sha512            8029.67k    32033.02k    47440.04k    65740.12k    74072.06k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.019666s 0.000529s     50.8   1892.0
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.005882s 0.006450s    170.0    155.0

=== D-Link DIR-860L (B1) ===
Default optimization:
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5               3376.97k    11654.74k    32966.76k    60016.27k    80729.43k
sha1              2310.95k     6024.87k    11680.32k    15273.93k    16784.07k
des cbc           6787.21k     7014.36k     7072.49k     7088.73k     7092.48k
des ede3          2462.47k     2499.87k     2509.48k     2511.35k     2514.75k
aes-128 cbc      10014.28k    11018.87k    11308.99k    11381.03k    11406.20k
aes-192 cbc       8930.35k     9675.27k     9895.97k     9954.57k     9971.92k
aes-256 cbc       8022.81k     8624.03k     8799.60k     8843.14k     8856.07k
sha256            2546.33k     5542.19k     9326.99k    11249.03k    11969.57k
sha512             877.22k     3503.44k     4856.01k     6554.96k     7299.32k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.109348s 0.003132s      9.1    319.3
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.032745s 0.037212s     30.5     26.9

Optimize for speed (-O3 instead of -Os and disable -DOPENSSL_SMALL_FOOTPRINT):
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5               3660.39k    12401.37k    34501.23k    62438.83k    81786.64k
sha1              3500.20k    10730.70k    25056.19k    37715.86k    44253.13k
des cbc           7189.75k     7545.88k     7641.90k     7665.71k     7672.18k
des ede3          2690.64k     2734.33k     2745.24k     2748.13k     2748.81k
aes-128 cbc      11325.29k    12731.75k    13151.34k    13259.95k    13289.55k
aes-192 cbc       9932.36k    10997.65k    11309.84k    11389.53k    11408.92k
aes-256 cbc       8845.13k     9677.01k     9920.30k     9980.77k     9996.42k
sha256            3200.50k     7107.76k    12230.85k    14933.73k    15962.15k
sha512             879.12k     3510.79k     4956.45k     6711.45k     7484.39k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.085641s 0.002365s     11.7    422.9
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.023881s 0.026120s     41.9     38.3

-O3 is considered safe for OpenSSL
Ref: https://wiki.openssl.org/index.php/Compilation_and_Installation
Tested hardware: Linksys WRT3200ACM / D-Link DIR-860L (B1)

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
6 years agoixp4xx: Update to 4.9 kernel, refresh patches. Remove kmod-spi-gpio-old usage.
Ted Hess [Sat, 18 Nov 2017 13:21:38 +0000 (08:21 -0500)]
ixp4xx: Update to 4.9 kernel, refresh patches. Remove kmod-spi-gpio-old usage.

Signed-off-by: Ted Hess <thess@kitschensync.net>
7 years agonetifd: update to latest git HEAD
Hans Dedecker [Fri, 17 Nov 2017 20:50:27 +0000 (21:50 +0100)]
netifd: update to latest git HEAD

c92106e interface-ip: add missing IPv6 policy rule

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
7 years agobcm53xx: use otrx for creating TRX images
Rafał Miłecki [Fri, 17 Nov 2017 10:43:33 +0000 (11:43 +0100)]
bcm53xx: use otrx for creating TRX images

The advantage is that we don't have to specify max TRX size anymore and
otrx doesn't allocate a buffer of that size. It saves us allocating
32 MiB for every image we generate.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
7 years agofirmware-utils: add otrx tool for handling TRX images
Rafał Miłecki [Fri, 17 Nov 2017 10:42:59 +0000 (11:42 +0100)]
firmware-utils: add otrx tool for handling TRX images

It can be a replacement for the trx tool. The advantage is that otrx
doesn't alloc buffer for the whole TRX which can be a nice optimization
when creating big images.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
7 years agootrx: fix memory leak in otrx_create_append_zeros
Rafał Miłecki [Thu, 16 Nov 2017 09:14:30 +0000 (10:14 +0100)]
otrx: fix memory leak in otrx_create_append_zeros

A "free" call was missing after allocating a buffer.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
7 years agootrx: bump buffer size in otrx_create_append_file
Rafał Miłecki [Thu, 16 Nov 2017 09:15:57 +0000 (10:15 +0100)]
otrx: bump buffer size in otrx_create_append_file

Usually this function is called for appending some small files only
(like fs marks) but let's just make it more generic and capable of
handling bigger files easily. Increasing buffer to 1 KiB shouldn't hurt.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
7 years agootrx: drop unused otrx_create_parse_options function
Rafał Miłecki [Thu, 16 Nov 2017 09:15:56 +0000 (10:15 +0100)]
otrx: drop unused otrx_create_parse_options function

It was there in case of adding some "create" command options that should
be parsed before actually creating the output image. It seems we don't
need any at this point so let's drop this function for now.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
7 years agokernel: Enable fadvise on older kernels.
Rosen Penev [Sun, 12 Nov 2017 00:49:53 +0000 (16:49 -0800)]
kernel: Enable fadvise on older kernels.

Backport of 56342ee2bcbf9bf8918a01045471c7bb7faa1596 for older kernels.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
7 years agosunxi: add support for NanoPi M1 Plus board
Luis Araneda [Thu, 19 Oct 2017 03:18:41 +0000 (00:18 -0300)]
sunxi: add support for NanoPi M1 Plus board

Backported devicetree from Kernel 4.13 with some additions
to enable Ethernet and WiFi module

The following features are working:
- Ethernet
- WiFi
- eMMC and microSD slot
- USB ports

The following features are not working:
* Bluetooth

NanoPi M1 Plus key features
- SoC: Allwinner H3, Quad-core Cortex-A7@1.2GHz
- RAM: 1GB DDR3
- eMMC: 8GB
- microSD slot
- Ethernet 10/100/1000M
- Wifi: AP6212

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
7 years agomac80211: enable brcmfmac's SDIO support on sunxi target
Luis Araneda [Thu, 19 Oct 2017 03:18:40 +0000 (00:18 -0300)]
mac80211: enable brcmfmac's SDIO support on sunxi target

Needed to support some SDIO connected cards, like AMPAK modules

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
7 years agosunxi: base files: add AP6212 (brcm43430) NVRAM
Luis Araneda [Thu, 19 Oct 2017 03:18:39 +0000 (00:18 -0300)]
sunxi: base files: add AP6212 (brcm43430) NVRAM

Used by the NanoPi M1 Plus board

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
7 years agouboot-sunxi: add NanoPi M1 Plus board
Luis Araneda [Thu, 19 Oct 2017 03:18:38 +0000 (00:18 -0300)]
uboot-sunxi: add NanoPi M1 Plus board

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
7 years agoipq806x: ipq4019: enable usb phy
Roman Yeryomin [Thu, 16 Nov 2017 22:45:07 +0000 (00:45 +0200)]
ipq806x: ipq4019: enable usb phy

Run tested on ap-dk01.2-c1

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agoadd PKG_CPE_ID ids to package and tools
Alexander Couzens [Thu, 28 Sep 2017 02:55:46 +0000 (04:55 +0200)]
add PKG_CPE_ID ids to package and tools

CPE ids helps to tracks CVE in packages.
https://cpe.mitre.org/specification/

Thanks to swalker for CPE to package mapping and
keep tracking CVEs.

Acked-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
7 years agokobs-ng: add header for integer definitions
Simon Wunderlich [Thu, 9 Nov 2017 17:06:49 +0000 (18:06 +0100)]
kobs-ng: add header for integer definitions

My compilation failed because of missing uint.* definitions:

In file included from mtd.h:33:0,
                 from bootstream.c:35:
BootControlBlocks.h:58:2: error: unknown type name 'uint8_t'
  uint8_t m_u8DataSetup;
  ^
BootControlBlocks.h:59:2: error: unknown type name 'uint8_t'
  uint8_t m_u8DataHold;
  ^
BootControlBlocks.h:60:2: error: unknown type name 'uint8_t'
  uint8_t m_u8AddressSetup;
  ^
BootControlBlocks.h:61:2: error: unknown type name 'uint8_t'
  uint8_t m_u8DSAMPLE_TIME;

Adding the header file fixes the problem.

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
[fold changes into 001-compile.patch]
Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agokernel: pull edgeport firmware from linux-firmware repo
Bjørn Mork [Fri, 10 Nov 2017 18:57:23 +0000 (19:57 +0100)]
kernel: pull edgeport firmware from linux-firmware repo

The kernel firmware/ is going away, so pull this firmware
from the linux-firmware git repo instead. No actual changes
to the installed files.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
7 years agolinux-firmware: add IO Edgeport USB Serial firmware
Bjørn Mork [Fri, 10 Nov 2017 18:53:53 +0000 (19:53 +0100)]
linux-firmware: add IO Edgeport USB Serial firmware

Preparing for kernel versions without firmware.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
7 years agobrcm47xx: fix switch port mapping on D-Link DIR-330
Antony Black [Thu, 2 Nov 2017 10:53:26 +0000 (13:53 +0300)]
brcm47xx: fix switch port mapping on D-Link DIR-330

D-Link DIR-330 is clone of ASUS WL500GP2, by default conf the WAN port is
eth1, it's not working cus eth1 not soldered and wan port function
performs 5th port of the switch.

Signed-off-by: Antony Black <gtrtfm@gmail.com>
7 years agowireguard: bump to 0.0.20171111
Kevin Darbyshire-Bryant [Thu, 16 Nov 2017 19:09:33 +0000 (19:09 +0000)]
wireguard: bump to 0.0.20171111

edaad55 (tag: 0.0.20171111) version: bump snapshot
7a989b3 tools: allow for NULL keys everywhere
46f8cbc curve25519: reject deriving from NULL private keys
9b43542 tools: remove ioctl cruft
f6cea8e allowedips: rename from routingtable
23f553e wg-quick: allow for tabs in keys
ab9befb netlink: make sure we reserve space for NLMSG_DONE
73405c0 compat: 4.4.0 has strange ECN function
868be0c wg-quick: stat the correct enclosing folder of config file
ceb11ba qemu: bump kernel version
0a8e173 receive: hoist fpu outside of receive loop
bee188a qemu: more debugging
f1fdd8d device: wait for all peers to be freed before destroying
2188248 qemu: check for memory leaks
c77a34e netlink: plug memory leak
0ac8efd device: please lockdep
a51e196 global: revert checkpatch.pl changes
65c49d7 Kconfig: remove trailing whitespace

Compile-tested-for: ar71xx
Run-tested-on: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
7 years agomt76: update to the latest version
Felix Fietkau [Thu, 16 Nov 2017 19:32:48 +0000 (20:32 +0100)]
mt76: update to the latest version

Significantly improves throughput on MT76x2, fixes some stability
issues, adds LED support.

Changes:

266ef38 mt76x2: mcu: remove unused parameter in mt76x2_mcu_msg_alloc signature
758376d mt7603: mcu: remove unused parameter in mt7603_mcu_msg_alloc() signature
e764787 Fix errors found by cppcheck
a6fce8a mt7603: add LED definition registers
f658dd2 mt76x2: add LED register definitions
f6a021d mt76x2: Support using PCI ID as chip ID
c9bdcd8 mt76: add led support using mac80211 led framework
58e9138 mt76x2: init: add ma80211 led callbacks
8ea8da3 mt7603: init: add ma80211 led callbacks
ded88cd mt76x2: Add PCI identifier for MT7602
51a6764 mt7603: remove unnecessary mcu register read function
fbdbf65 debugfs: add support for changing the LED pin
cc02e49 mac80211: move DT led configuration to the "led" child node
e4e7734 mt76x2: limit client WCID entries to 0-127
60172cc mt76x2: clear drop flag for all WCIDs on init
d8140b6 mt76x2: clear per-WCID tx rate lookup register
0ce7923 mt76x2: add helper function for setting drop mask
ccc4baf mt76x2: clear drop mask when sending a PS response
ff60d14 mt76: increase rx ring size for mt76x2
b57ada5 mt76x2: add rx statistics registers
af425de mt76x2: fix LNA gain register annotation
efd7724 mt76x2: sync channel gain value with latest reference driver
4af37bd mt76x2: implement dynamic AGC tuning based on false packet detection count
70f2002 mt76x2: add more gain tuning based on the latest reference driver
8f1c8ab mt76x2: sync tx power related values with reference driver

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agomac80211: tweak TSQ settings
Felix Fietkau [Thu, 16 Nov 2017 08:57:13 +0000 (09:57 +0100)]
mac80211: tweak TSQ settings

Latencies can be much higher on wifi devices, especially with
aggregation. Tune the network stack setting introduced in the previous
commit to account for that

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agokernel: backport a patch that allows drivers to tweak the TSQ logic
Felix Fietkau [Thu, 16 Nov 2017 08:51:05 +0000 (09:51 +0100)]
kernel: backport a patch that allows drivers to tweak the TSQ logic

Currently local TCP performance on wifi devices can be limited because
the TSQ (TCP Small Queues) code is tuned for wired ethernet latencies.

With this patch drivers can increase the amount of local buffering to
allow TCP to trigger larger aggregation sizes

This commit is modified from the upstream version to allow #ifdef based
backport feature detection

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agomac80211: update to wireless-testing 2017-11-01
Felix Fietkau [Sun, 5 Nov 2017 21:13:16 +0000 (22:13 +0100)]
mac80211: update to wireless-testing 2017-11-01

The wireless regdb is now loaded via firmware loading, CRDA support and
built-in regdb support have been removed.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agowireless-regdb: add package containing the wireless regulatory database
Felix Fietkau [Sun, 5 Nov 2017 21:34:33 +0000 (22:34 +0100)]
wireless-regdb: add package containing the wireless regulatory database

Installs to /lib/firmware for newer cfg80211 versions

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoubus: update to the latest version
Felix Fietkau [Mon, 13 Nov 2017 09:43:34 +0000 (10:43 +0100)]
ubus: update to the latest version

9c13096 ubus: Remove unnecessary memset calls.
6d1ea6c libubus: Fix deletion from context's object AVL tree when removing object
e02813b ubusd: don't free messages in ubus_send_msg() anymore
be146ad ubusd: rename goto label from `error` to `out`
27d712d ubusd_monitor: alloc & free the buffer outside of the loop
5f87f54 ubusd: move global retmsg per client

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agolibnl-tiny: use fixed message size instead of using the page size
Felix Fietkau [Thu, 9 Nov 2017 13:39:48 +0000 (14:39 +0100)]
libnl-tiny: use fixed message size instead of using the page size

Simplifies the code and reduces size

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoramips: add support for ZBT WE3526
Felix Fietkau [Tue, 7 Nov 2017 12:17:06 +0000 (13:17 +0100)]
ramips: add support for ZBT WE3526

This is a variant of the ZBT WG3526 with a few minor modifications.
The wifi chips are swapped, and there is no GPIO controllable status
LED. There is also no SATA port.

Specifications:

- MT7621AT (880 MHz)
- 512 MB RAM
- 16 MB Flash (SPI NOR)
- 5x 1Gbps Ethernet (built-in switch)
- MT7612E 802.11ac 5 GHz WLAN
- MT7603E 802.11n 2.4 GHz WLAN

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoramips: extract board name from device tree as a fallback
Felix Fietkau [Tue, 7 Nov 2017 09:22:47 +0000 (10:22 +0100)]
ramips: extract board name from device tree as a fallback

This makes it possible to avoid more duplication when adding support for
a new board

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agootrx: always align image to 0x1000
Rafał Miłecki [Mon, 13 Nov 2017 22:54:18 +0000 (23:54 +0100)]
otrx: always align image to 0x1000

This seems to match what the original trx tool and mjn3's replacement
do.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
7 years agokernel: add packaging for mtdoops
Jianhui Zhao [Mon, 30 Oct 2017 05:32:31 +0000 (13:32 +0800)]
kernel: add packaging for mtdoops

Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
7 years agocns3xxx: refresh kernel config
Koen Vandeputte [Tue, 14 Nov 2017 12:02:35 +0000 (13:02 +0100)]
cns3xxx: refresh kernel config

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
7 years agomodules: Add kmod-ixgbevf kernel module for Intel(R) 10GbE Virtual Ethernet support
Chris Blakely [Tue, 7 Nov 2017 23:38:28 +0000 (15:38 -0800)]
modules: Add kmod-ixgbevf kernel module for Intel(R) 10GbE Virtual Ethernet support

These adapters support SR-IOV. Thus the host can assign Virtual Functions
(VFs) to different VMs by the PCI-E Passthrough (e.g. VFIO for KVM), to
gain different advantages (performance, VF to VF communications, host
kernel offload, etc.).

Signed-off-by: Chris Blakely <cpblakely@gmail.com>
7 years agopackages: nvram: fix memory leak in _nvram_free
Zhai Zhaoxuan [Tue, 11 Jul 2017 10:12:00 +0000 (18:12 +0800)]
packages: nvram: fix memory leak in _nvram_free

The value of nvram_tuple_t is allocated in _nvram_realloc,
but it is not freed in _nvram_free.

Signed-off-by: Zhai Zhaoxuan <zhaizhaoxuan@xiaomi.com>
7 years agosysupgrade: don't kill our own parent
Mat Trudel [Tue, 7 Nov 2017 19:55:54 +0000 (20:55 +0100)]
sysupgrade: don't kill our own parent

Add the parent of the sysupgrade script to the list of pids not getting
killed

Signed-off-by: Mat Trudel <mat@geeky.net>
Signed-off-by: John Crispin <john@phrozen.org>
7 years agomvebu: backport a kernel irq fix for setting IRQ affinity
Felix Fietkau [Tue, 14 Nov 2017 10:06:41 +0000 (11:06 +0100)]
mvebu: backport a kernel irq fix for setting IRQ affinity

The IRQ controller can only set the affinity to a single CPU. Update the
mask in the controller data.

Suggested-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agohostapd: rework frequency/ht/vht selection for ibss/mesh
Felix Fietkau [Tue, 14 Nov 2017 11:38:08 +0000 (12:38 +0100)]
hostapd: rework frequency/ht/vht selection for ibss/mesh

- Remove obsolete patch chunks regarding fixed_freq
- Instead of patching in custom HT40+/- parameters, use the standard
config syntax as much as possible.
- Use fixed_freq for mesh
- Fix issues with disabling obss scan when using fixed_freq on mesh

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agomac80211: don't pass the hostapd ctrl iface in adhoc
Antonio Quartulli [Fri, 9 Nov 2012 14:23:34 +0000 (15:23 +0100)]
mac80211: don't pass the hostapd ctrl iface in adhoc

Passing the ctrl iface to wpa_supplicant will automatically cause wpa_supplicant
to send "STOP_AP" messages to the hostapd. This breaks the AP interfaces.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
7 years agohostapd: explicitly set beacon interval for wpa_supplicant
Sven Eckelmann [Tue, 7 Nov 2017 10:48:40 +0000 (11:48 +0100)]
hostapd: explicitly set beacon interval for wpa_supplicant

The beacon_int is currently set explicitly for hostapd and when LEDE uses
iw to join and IBSS/mesh. But it was not done when wpa_supplicant was used
to join an encrypted IBSS or mesh.

This configuration is required when an AP interface is configured together
with an mesh interface. The beacon_int= line must therefore be re-added to
the wpa_supplicant config. The value is retrieved from the the global
variable.

Fixes: 1a16cb9c67f0 ("mac80211, hostapd: always explicitly set beacon interval")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [rebase]
7 years agohostapd: set mcast_rate in mesh mode
Sven Eckelmann [Thu, 11 May 2017 06:56:50 +0000 (08:56 +0200)]
hostapd: set mcast_rate in mesh mode

The wpa_supplicant code for IBSS allows to set the mcast rate. It is
recommended to increase this value from 1 or 6 Mbit/s to something higher
when using a mesh protocol on top which uses the multicast packet loss as
indicator for the link quality.

This setting was unfortunately not applied for mesh mode. But it would be
beneficial when wpa_supplicant would behave similar to IBSS mode and set
this argument during mesh join like authsae already does. At least it is
helpful for companies/projects which are currently switching to 802.11s
(without mesh_fwding and with mesh_ttl set to 1) as replacement for IBSS
because newer drivers seem to support 802.11s but not IBSS anymore.

Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
Tested-by: Simon Wunderlich <simon.wunderlich@openmesh.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [refresh]
7 years agohostapd: refresh ubus patch
Felix Fietkau [Tue, 7 Nov 2017 12:27:23 +0000 (13:27 +0100)]
hostapd: refresh ubus patch

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: merge mach-files for TP-Link TL-WR802N v1 and v2
Paul Wassi [Tue, 14 Nov 2017 13:15:18 +0000 (14:15 +0100)]
ar71xx: merge mach-files for TP-Link TL-WR802N v1 and v2

TP-Link TL-WR802N v1 and v2 are set up with almost same configuration in
the mach-files. Merge the mach-files of these devices.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
7 years agoar71xx: add support for TP-Link TL-WR1043N v5
Tim Thorpe [Mon, 25 Sep 2017 09:38:49 +0000 (04:38 -0500)]
ar71xx: add support for TP-Link TL-WR1043N v5

TP-Link TL-WR1043N v5 appears to be identical to the TL-WR1043ND v4,
except that the USB port has been removed and there is no longer a
removable antenna option.

The software is more in line with the Archer series in that it uses a
nested bootloader scheme.

Specifications:

 - QCA9563 at 775 MHz
 - 64 MB RAM
 - 16 MB flash
 - 3 (non-detachable) Antennas / 450 Mbit
 - 1x/4x WAN/LAN Gbps Ethernet (QCA8337)
 - reset and Wi-Fi buttons

Signed-off-by: Tim Thorpe <tim@tfthorpe.net>
Signed-off-by: Ludwig Thomeczek <ledesrc@wxorx.net>
7 years agoar71xx: add support for TP-Link TL-WA901ND v5
Paul Wassi [Sun, 22 Oct 2017 20:39:30 +0000 (22:39 +0200)]
ar71xx: add support for TP-Link TL-WA901ND v5

The TL-WA901ND v5 has the same hardware as v4, although the PCB has
a different layout. Installation from factory is done via TFTP.
(rename -factory image to wa901ndv4_tp_recovery.bin for tftp)

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
7 years agoar71xx: complete support for RB mAP 2nD
Robert Marko [Tue, 14 Nov 2017 11:15:03 +0000 (12:15 +0100)]
ar71xx: complete support for RB mAP 2nD

This patch adds support for the MikroTik RouterBOARD mAP 2nD
https://mikrotik.com/product/RBmAP2nD

Specifications:

- SoC: Qualcomm QCA9531 (650 MHz)
- RAM: 64 MB
- Storage: 16 MB NOR SPI flash
- Wireless: builtin QCA9531, 2x2:2
- Ethernet: 2x100M (802.3af/at POE in and passive POE out on ETH2)
- USB: microUSB type AB port

This patch adds missing code to fully support mAP. Machfile already
contained configuration for mAP 2nD, but device specific configuration
like LEDs etc., was missing.

Note: The POE LED works but doesn't turn on when POE passthrough is
enabled, despite being configured with GPIO trigger.

Installation

1. Login to the Mikrotik WebUI to backup your licence keys
2. Setup a DHCP/BOOTP server with:
   - DHCP-Option 66 (TFTP server name) pointing to a local TFTP
     server within the same subnet of the DHCP range
   - DHCP-Option 67 (Bootfile-Name) matching the initramfs filename
     of the to be booted image
3. Connect the port labeled internet to your local network
4. Keep the reset button pushed down and power on the board

The board should load and start the initramfs image from the TFTP
server. Login as root/without password to the started LEDE via SSH
listing on IPv4 address 192.168.1.1. Use sysupgrade to install LEDE.

Revert to RouterOS

Use the "rbcfg" package on in LEDE:
- rbcfg set boot_protocol bootp
- rbcfg set boot_device ethnand
- rbcfg apply

Open Netinstall and reboot routerboard. Now Netinstall sees RouterBOARD
and you can install RouterOS. If NetInstall gets stuck on Sending offer
just wait for it to timeout and then close and open Netinstall again.

Click on install again.

In order for RouterOS to function properly, you need to restore license
for the device. You can do that by including license in NetInstall.

Signed-off-by: Robert Marko <robimarko@gmail.com>
7 years agoar71xx: fix network setup for UniFi
Paul Wassi [Fri, 20 Oct 2017 15:35:48 +0000 (17:35 +0200)]
ar71xx: fix network setup for UniFi

The Ubiquiti UniFi APs just have eth0. Until now, the setup script fell
through to the default case and configured the (not present) eth1 as
WAN with DHCP.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
7 years agoar71xx: complete support for RB wAP 2nD
Robert Marko [Sat, 28 Oct 2017 10:30:39 +0000 (12:30 +0200)]
ar71xx: complete support for RB wAP 2nD

This patch adds support for the MikroTik RouterBOARD wAP
https://mikrotik.com/product/RBwAP2nD

Specifications:

- SoC: Qualcomm QCA9533 (650 MHz)
- RAM: 64 MB
- Storage: 16 MB NOR SPI flash
- Wireless: built-in QCA9533, 2x2:2
- Ethernet: 1x100M (802.3af/at POE in)

This patch adds missing code to fully support wAP. Machfile already
contained configuration for wAP 2nD but device specific configuration
like LEDs etc. was missing.

Installation:

1. Login to the Mikrotik WebUI to backup your licence keys
2. Setup a DHCP/BOOTP server with:
   - DHCP-Option 66 (TFTP server name) pointing to a local TFTP
     server within the same subnet of the DHCP range
   - DHCP-Option 67 (Bootfile-Name) matching the initramfs filename
     of the to be booted image
3. Connect the port labeled internet to your local network
4. Keep the reset button pushed down and power on the board

The board should load and start the initramfs image from the TFTP
server. Login as root/without password to the started LEDE via SSH
listing on IPv4 address 192.168.1.1. Use sysupgrade to install LEDE.

Revert to RouterOS

Use the "rbcfg" package on in LEDE:
- rbcfg set boot_protocol bootp
- rbcfg set boot_device ethnand
- rbcfg apply

Open Netinstall and reboot routerboard. Now Netinstall sees RouterBOARD
and you can install RouterOS. If NetInstall gets stuck on Sending offer
just wait for it to timeout and then close and open Netinstall again.

Click on install again.

In order for RouterOS to function properly, you need to restore license
for the device. You can do that by including license in NetInstall.

Signed-off-by: Robert Marko <robimarko@gmail.com>
7 years agoar71xx: add support for TP-Link TL-WR810N v2
Paul Wassi [Fri, 10 Nov 2017 21:18:09 +0000 (22:18 +0100)]
ar71xx: add support for TP-Link TL-WR810N v2

TP-Link TL-WR810N v2 is a compact Wi-Fi router with two Ethernet ports.

Specification:

- QCA9533 (650 MHz)
- 32 MB RAM
- 8 MB Flash
- 300 Mbps Wi-Fi 2.4 GHz
- 2x 10/100 Mbps Ethernet (eth0, eth1)
- UART on testpads on PCB
- 1x LED (GPIO-controlled)
- 1x reset/WPS button
- 1x slide-switch with 2 GPIO inputs

Flash instructions:

- Flash as regular firmware update in Web UI
- Default: 192.168.0.254 / admin / admin
- Select *-factory.bin

When holding reset button during power-up, U-Boot requests a file
'wr810nv1_tp_recovery.bin' from TFTP server at 192.168.0.66

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
7 years agofirmware-utils: tplink-safeloader: add more country codes for Archer C7 v4
Dmitry Tunin [Fri, 3 Nov 2017 14:31:54 +0000 (17:31 +0300)]
firmware-utils: tplink-safeloader: add more country codes for Archer C7 v4

If codes do not match, it is impossible to flash from the stock
firmware.

Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
7 years agouboot-envtools: add support for Wallys DR342
Piotr Dymacz [Mon, 23 Oct 2017 11:39:30 +0000 (13:39 +0200)]
uboot-envtools: add support for Wallys DR342

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
7 years agoar71xx: add support for Wallys DR342
Piotr Dymacz [Mon, 23 Oct 2017 11:30:20 +0000 (13:30 +0200)]
ar71xx: add support for Wallys DR342

Wallys DR342 is a 5 GHz, 2T2R AP/CPE board based on Atheros AR9342.

Short specification:

- 560/450/225 MHz (CPU/DDR/AHB)
- 1x Gbps Ethernet (AR8035) with passive PoE support (24-56 V)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 5 GHz with external FEM (SKY85728-11), up to 30 dBm
- 2x MMCX connectors
- miniPCIe connector with PCIe and USB 2.0 buses
- optional miniSIM slot
- 7x LED, 1x button
- UART, (E)JTAG and LED headers
- 1x DC jack for main power (12-56 V)

Flash instruction (do it under U-Boot, using UART):

1. tftp 0x82000000 lede-ar71xx-generic-dr342-squashfs-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9f050000"
5. saveenv && reset

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
7 years agoramips: add support for UniElec U7628-01
Piotr Dymacz [Fri, 3 Nov 2017 20:12:49 +0000 (21:12 +0100)]
ramips: add support for UniElec U7628-01

UniElec U7628-01 is a router platform board based on MediaTek MT7628AN.
The device has the following specifications:

- MT7628AN (580MHz)
- 64/128/256 MB of RAM (DDR2)
- 8/16 MB of flash (SPI NOR)
- 5x 10/100 Mbps Ethernet (MT7628 built-in switch)
- 1x 2T2R 2.4 GHz Wi-Fi (MT7628)
- 1x miniPCIe slot (with PCIe and USB 2.0 buses)
- 1x miniSIM slot
- 1x microSD slot
- 1x USB 2.0 port
- 7x single-color LEDs (GPIO-controlled)
- 1x bi-color LED (green GPIO-controlled, red -> LED_WLAN# in miniPCIe)
- 1x reset button
- 1x UART header (4-pins)
- 1x SDXC/GPIO header (10-pins, connected with microSD slot)
- 1x DC jack for main power (12 V)

The following has been tested and is working:

- Ethernet switch
- miniPCIe slot (tested with modem and Wi-Fi card)
- miniSIM slot
- sysupgrade
- reset button
- USB 2.0 port*

Due to a missing driver (MMC over GPIO) this is not supported:

- microSD card reader

* Warning:
USB buses in miniPCIe and regular A-type socket are connected together,
without any proper analog switch or USB HUB.

Installation:

This board might come with a different firmware versions (MediaTek SDK,
PandoraBox, Padavan, etc.). If your board comes with PandoraBox, you can
install LEDE using sysupgrade. Just SSH to the router and perform forced
sysupgrade (due to a board name mismatch). The default IP of this board
should be: 192.168.1.1 and username/password: root/admin. In case of a
different firmware, you can use web based recovery described below.

Use the following command to perform the sysupgrade (for the 128MB
RAM/16MB flash version):

sysupgrade -n -F lede-ramips-mt76x8-u7628-01-128M-16M-squashfs-sysupgrade.bin

Recovery:

This board contains a Chinese, closed-source bootloader called Breed
(Boot and Recovery Environment for Embedded Devices). Breed supports web
recovery and to enter it, you keep the reset button pressed for around
5 seconds during boot. Your machine will be assigned an IP through DHCP
and the router will use IP address 192.168.1.1. The recovery website is
in Chinese, but is easy to use. Click on the second item in the list to
access the recovery page, then the second item on the next page is where
you select the firmware. In order to start the recovery, you click the
button at the bottom.

SDXC/GPIO header (J3):

 1. SDXC_D3  / I2C_SCLK
 2. SDXC_D2  / I2C_SD
 3. SDXC_D1  / I2S_DI
 4. SDXC_D0  / I2S_WS
 5. SDXC_CMD / I2S_CLK
 6. SDXC_CLK / GPIO0
 7. SDXC_CD  / UART_RXD1
 8. UART_TXD1
 9. 3V3
10. GND

Other notes:

1. The board is available with different amounts of RAM and flash. We
have only added support for the 128/16 MB configuration, as that seems
to be the default. However, all the required infrastructure is in place
for making support for the other configurations easy.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
7 years agoramips: add support for UniElec U7621-06
Piotr Dymacz [Thu, 2 Nov 2017 15:04:49 +0000 (16:04 +0100)]
ramips: add support for UniElec U7621-06

UniElec U7621-06 is a router platform board based on MediaTek MT7621AT.
The device has the following specifications:

- MT7621AT (880 MHz)
- 256/512 MB of RAM (DDR3)
- 8/16/32/64 MB of FLASH (SPI NOR)
- 5x 1 Gbps Ethernet (MT7621 built-in switch)
- 1x ASMedia ASM1061 (for mSATA and SATA)
- 2x miniPCIe slots (PCIe bus only)
- 1x mSATA slot (with USB 2.0 bus for modem)
- 1x SATA
- 1x miniSIM slot
- 1x microSD slot
- 1x USB 3.0
- 12x LEDs (3 GPIO-controlled)
- 1x reset button
- 1x UART header (4-pins)
- 1x GPIO header (30-pins)
- 1x FPC connector for LEDs (20-pin, 0.5 mm pitch)
- 1x DC jack for main power (12 V)

The following has been tested and is working:

- Ethernet switch
- miniPCIe slots (tested with Wi-Fi cards)
- mSATA slot (tested with modem and mSATA drive)
- miniSIM slot
- sysupgrade
- reset button
- microSD slot

Installation:

This board might come with a different firmware versions (MediaTek SDK,
PandoraBox, Padavan, etc.). If your board comes with PandoraBox, you can
install LEDE using sysupgrade. Just SSH to the router and perform forced
sysupgrade (due to a board name mismatch). The default IP of this board
should be: 192.168.1.1 and username/password: root/admin. In case of a
different firmware, you can use web based recovery described below.

Use the following command to perform the sysupgrade (for the 256MB
RAM/16MB flash version):

sysupgrade -n -F lede-ramips-mt7621-u7621-06-256M-16M-squashfs-sysupgrade.bin

Recovery:

This board contains a Chinese, closed-source bootloader called Breed
(Boot and Recovery Environment for Embedded Devices). Breed supports web
recovery and to enter it, you keep the reset button pressed for around
5 seconds during boot. Your machine will be assigned an IP through DHCP
and the router will use IP address 192.168.1.1. The recovery website is
in Chinese, but is easy to use. Click on the second item in the list to
access the recovery page, then the second item on the next page is where
you select the firmware. In order to start the recovery, you click the
button at the bottom.

LEDs list (top row, left to right):

- LED_WWAN# (connected with pin 42 in LTE/mSATA slot)
- Power (connected directly to 3V3)
- CTS2_N (GPIO10, configured as "status" LED)
- TXD2 (GPIO11, configured as "led4", without default trigger)
- RXD2 (GPIO12, configured as "led5", without default trigger)
- LED_WLAN# (connected with pin 44 in wifi0 slot)

LEDs list (bottom row, left to right):

- ESW_P0_LED_0
- ESW_P1_LED_0
- ESW_P2_LED_0
- ESW_P3_LED_0
- ESW_P4_LED_0
- LED_WLAN# (connected with pin 44 in wifi1 slot)

Other notes:

1. The board is available with different amounts of RAM and flash. We
have only added support for the 256/16 MB configuration, as that seems
to be the default. However, all the required infrastructure is in place
for making support for the other configurations easy.

2. The manufacturer offers five different wireless cards with MediaTek
chipsets, based on MT76x2, MT7603 and MT7615. Images of the board all
show that the miniPCIe slots are dedicated to specific Wi-Fi cards.
However, the slots are generic.

3. All boards we got access to had the same EEPROM content. The default
firmware reads the Ethernet MAC from offset 0xe000 in factory partition.
This offset only contains 0xffs, so a random MAC will be generated on
every boot of the router. There is a valid MAC stored at offset 0xe006
and this MAC is shown as the WAN MAC in the bootloader. However, it is
the same on all boards we have checked. Based on information provided
by the vendor, all boards sold in small quantities are considered more
as samples for development purposes.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>