openwrt/staging/ynezz.git
6 years agoar71xx: rework chipidea controller support, add QCA9531
Piotr Dymacz [Fri, 9 Mar 2018 23:06:50 +0000 (00:06 +0100)]
ar71xx: rework chipidea controller support, add QCA9531

Rework (again) platform support for dual-role chipidea USB controller:

- include support for QCA9531
- use correct EHCI block size
- drop ar933x_usb_setup_ctrl_config() function
- simplify code after previous "register chipidea only in device mode"
  change (fa22714181)

Reworked patch was tested on devices with below QCA WiSOCs (signal/GPIO
name with required bootstrap state for USB bus 0 in device mode):

- AR9331  (GPIO13 pull-down)
- AR9342  (RGMII_TXD1/ETXD1 pull-up)
- AR9344  (GPIO20 pull-up)
- QCA9531 (GPIO13 pull-up)
- QCA9558 (GPIO13 pull-up)

The only way to select device mode for bus 0 is to change SOC bootstrap
configuration which is sampled only once, at hard reset. Likely, other
models, like QCA9556 or AR9341, should also support dual-role USB mode
but they were not tested.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoramips: add U-Boot env support for ALFA Network AC1200RM
Piotr Dymacz [Mon, 26 Feb 2018 22:00:07 +0000 (23:00 +0100)]
ramips: add U-Boot env support for ALFA Network AC1200RM

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agouboot-envtools: fix ALFA Network AWUSFREE1 support
Piotr Dymacz [Mon, 26 Feb 2018 21:24:26 +0000 (22:24 +0100)]
uboot-envtools: fix ALFA Network AWUSFREE1 support

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoramips: image: drop redundant SUPPORTED_DEVICES
Piotr Dymacz [Sat, 24 Feb 2018 10:02:33 +0000 (11:02 +0100)]
ramips: image: drop redundant SUPPORTED_DEVICES

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoramips: fix build error caused by missing ifdef guard in hwnat code
John Crispin [Fri, 6 Apr 2018 19:33:35 +0000 (21:33 +0200)]
ramips: fix build error caused by missing ifdef guard in hwnat code

Signed-off-by: John Crispin <john@phrozen.org>
6 years agoramips: implement hardware NAT offload for MT7621
John Crispin [Fri, 23 Mar 2018 12:42:56 +0000 (13:42 +0100)]
ramips: implement hardware NAT offload for MT7621

Supports IPv4 flow offloading on MT7621 for Routing, SNAT and DNAT

Supported are regular ethernet->ethernet connections, including one
802.1q VLAN and/or PPPoE encapsulation

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: drop linux 4.9 support
Felix Fietkau [Fri, 6 Apr 2018 16:20:46 +0000 (18:20 +0200)]
ramips: drop linux 4.9 support

4.14 has been tested a lot by a number of users, and we want to use it
for the release.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: switch to linux 4.14
Felix Fietkau [Wed, 21 Feb 2018 19:14:35 +0000 (20:14 +0100)]
ramips: switch to linux 4.14

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agobusybox: update to 1.28.3
Hannu Nyman [Wed, 4 Apr 2018 05:22:10 +0000 (08:22 +0300)]
busybox: update to 1.28.3

Bug fix release. 1.28.3 has fixes for
* ash and hush (do not leave stray open file destriptors in children),
* cpio (fix for symlink extraction),
* grep ("grep -Fw a" was matching "aa").

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
6 years agoodhcp6c: update to latest git HEAD
Hans Dedecker [Thu, 5 Apr 2018 19:45:45 +0000 (21:45 +0200)]
odhcp6c: update to latest git HEAD

74b5a3 script: fix possible negative delay
473f248 dhcpv6: always trigger script update in case of IA updates
ea18935 ra: rework route information option handling

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agoramips: mtk-mmc: don't advertise highmem support.
NeilBrown [Tue, 6 Feb 2018 01:22:48 +0000 (12:22 +1100)]
ramips: mtk-mmc: don't advertise highmem support.

of_dma_configure() sets a default ->dma_mask of
DMA_BIT_MASK(32), claiming devices can DMA from
the full 32bit address space.
The mtk-mmc driver does not support access to
highmem pages, so it is really limited to the
bottom 512M (actually 448M due to 64M of IO space).
Setting ->dma_mask to NULL causes mmc_setup_queue()
to fall-back to using BLK_BOUNCE_HIGH to tell the
block layer to use a bounce-buffer for any highmem
pages requiring IO.

Signed-off-by: NeilBrown <neil@brown.name>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agokernel: fix xtables flow offload issues
Felix Fietkau [Thu, 5 Apr 2018 17:22:43 +0000 (19:22 +0200)]
kernel: fix xtables flow offload issues

- avoid using garbage stack values as dst pointer if lookup fails
- provide the source address for ipv6 dst lookup

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: fix BUG_ON on mtk-mmc driver probe
Felix Fietkau [Thu, 5 Apr 2018 15:41:10 +0000 (17:41 +0200)]
ramips: fix BUG_ON on mtk-mmc driver probe

Our .dts files only have one device defined and this is unlikely to
change, so statically initialize host->id to 0.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: move mtk-mmc driver code out of patches-*/ and into files-*/
Felix Fietkau [Thu, 5 Apr 2018 14:54:57 +0000 (16:54 +0200)]
ramips: move mtk-mmc driver code out of patches-*/ and into files-*/

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agofirewall: update to the latest version, adds hw flow offload support
Felix Fietkau [Thu, 5 Apr 2018 12:56:18 +0000 (14:56 +0200)]
firewall: update to the latest version, adds hw flow offload support

35b3e74 defaults: add support for setting --hw on the xt_FLOWOFFLOAD rule

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agokernel: add support for enabling hardware flow offload via iptables
Felix Fietkau [Fri, 23 Mar 2018 11:53:44 +0000 (12:53 +0100)]
kernel: add support for enabling hardware flow offload via iptables

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agokernel: add hardware offload patch for flow tables support
Felix Fietkau [Mon, 12 Mar 2018 19:51:55 +0000 (20:51 +0100)]
kernel: add hardware offload patch for flow tables support

Supports offloading through VLAN, bridge and PPPoE devices as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoar71xx: add model detection for UBNT AC-Mesh
David Bauer [Sun, 25 Feb 2018 11:09:38 +0000 (12:09 +0100)]
ar71xx: add model detection for UBNT AC-Mesh

This commit adds correct model detection for UniFi
AC-Mesh. Previously said device was incorrectly detected
as UniFi AC-Lite.

The Information about the device is stored at 0xC in the EEPROM
partition. It corresponds to the sysid in /etc/board.info of the
Ubiquiti stock firmware.

Signed-off-by: David Bauer <mail@david-bauer.net>
6 years agoar71xx: Add support for D-Link DAP-1330 a1
Nicolò Veronese [Fri, 16 Jun 2017 12:12:25 +0000 (12:12 +0000)]
ar71xx: Add support for D-Link DAP-1330 a1

D-Link DAP-1330 rev. A1 is a wall-plug N300 Wi-Fi range extender,
based on Qualcomm/Atheros QCA9533 v2.

Short specification:

- 650/393/216 MHz (CPU/DDR/AHB)
- 1x 10/100 Mbps Ethernet
- 64 MB of RAM (DDR1)
- 8 MB of FLASH
- 2T2R 2.4 GHz
- 2x external antennas
- 6x LED (2 are bi-color), 2x button
- 4 pin on pcb (looking from eth port and from left to right tx,rx,gnd,vcc)

Flash instruction: use "factory" image directly in vendor GUI.

This device has a recovery system that assign the ip addr of env
variable "serverip" via dhcp to a pc, and the "ipaddr" value to itself.
The recovery it's triggered by a not bootable firmware,
or pressing the reset button during the bootloader startup (first 30 seconds).
The recovery uses a http page to restore the firmware, and it's checking
the firmware image header, so use the "factory" image to
restore or the original firmware.

You can access vendor firmware over serial using:
- login: root
- password: linuxrocks

Image was tested only in EU version of the device, but should work
also with the same device version sold in other countries.

Signed-off-by: Nicolò Veronese <nicveronese@gmail.com>
6 years agofirmware-utils: image generator for D-Link DAP-1330
Nicolò Veronese [Fri, 16 Jun 2017 12:06:07 +0000 (12:06 +0000)]
firmware-utils: image generator for D-Link DAP-1330

Signed-off-by: Nicolò Veronese <nicveronese@gmail.com>
6 years agoinclude: extend SetupHostCommand macro to accept more arguments
Jo-Philipp Wich [Thu, 5 Apr 2018 11:54:41 +0000 (13:54 +0200)]
include: extend SetupHostCommand macro to accept more arguments

Commit d6d3db0543 added more gcc version probes, exceeding the argument
limit of the SetupHostCommand macro, leading to failing GCC/LLVM tests
on OS X.

Extend the handled number of arguments to restore proper functionality.

Fixes FS#1470
Fixes d6d3db0543 ("build: Improve GCC version detection")

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agobase-files: change /var link from /tmp to tmp
Alexander Couzens [Thu, 15 Mar 2018 18:06:59 +0000 (19:06 +0100)]
base-files: change /var link from /tmp to tmp

Some packages are already using $(1)/var on package install.
On multiuser systems this breaks the build when multiple
users build OpenWrt.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
6 years agoRevert "ncurses: Remove obsolete compile fixes"
Jo-Philipp Wich [Wed, 4 Apr 2018 15:07:26 +0000 (17:07 +0200)]
Revert "ncurses: Remove obsolete compile fixes"

This reverts commit 4fb684a7558ea5c11580378be062f73da07f8479.

The compile fixes are still required for host systems using GCC 5.x,
such as Ubuntu 16.04 LTS.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agoar71xx: Fix typo in wan LED color of gl-mifi
Reto Schneider [Mon, 2 Apr 2018 04:21:49 +0000 (06:21 +0200)]
ar71xx: Fix typo in wan LED color of gl-mifi

It was wrong from the beginning and the trigger for the wan led was
never set due to the typo.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
[add commit message]
Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agobase-files: get_dt_led: don't warn about missing led
Mathias Kresin [Wed, 4 Apr 2018 06:38:24 +0000 (08:38 +0200)]
base-files: get_dt_led: don't warn about missing led

It's intentional that some boards within a target don't have all LEDs
which are tried to be setup in a common script. Don't show a warning in
such cases.

Fixes: 4f4fc993db4c ("base-files: add more name source to get_dt_led helper function")
Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agolantiq: kernel 4.14: fix vr9 reboot mask
Mathias Kresin [Tue, 27 Mar 2018 21:06:24 +0000 (23:06 +0200)]
lantiq: kernel 4.14: fix vr9 reboot mask

We need to reset the GPHYs on reboot as well. Otherwise the bootloader
might have issues to reset/find the GPHYs.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoramips: add support for DLINK DWR-921-C3
Pawel Dembicki [Thu, 22 Mar 2018 20:47:17 +0000 (21:47 +0100)]
ramips: add support for DLINK DWR-921-C3

The DWR-921-C3 Wireless Routers with LTE embedded modem is based on the
MT7620N SoC.

Specification:

  * MediaTek MT7620N (580 Mhz)
  * 64 MB of RAM
  * 16 MB of FLASH
  * 802.11bgn radio
  * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
  * 2x external, detachable (LTE) antennas
  * UART header on PCB (57600 8n1)
  * 6x LED (GPIO-controlled)
  * 1x bi-color Signal Strength LED (GPIO-controlled)
  * 2x button
  * JBOOT bootloader

Installation:
Apply factory image via d-link http web-gui.

How to revert to OEM firmware:
1.) Push the reset button and turn on the power. Wait until LED start
    blinking (~10sec.)
2.) Upload original factory image via JBOOT http (IP: 192.168.123.254)
3.) If http doesn't work, it can be done with curl command:
    curl -F FN=@XXXXX.bin http://192.168.123.254/upg
    where XXXXX.bin is name of firmware file.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 years agoramips: add support for DLINK DWR-921-C1
Giuseppe Lippolis [Sat, 10 Mar 2018 09:34:38 +0000 (10:34 +0100)]
ramips: add support for DLINK DWR-921-C1

The DWR-921-C1 Wireless Routers with LTE embedded modem is based on the
MT7620N SoC.

Specification:

  * MediaTek MT7620N (580 Mhz)
  * 64 MB of RAM
  * 16 MB of FLASH
  * 802.11bgn radio
  * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
  * 2x external, detachable (LTE) antennas
  * UART header on PCB (57600 8n1)
  * 6x LED (GPIO-controlled)
  * 1x bi-color Signal Strength LED (GPIO-controlled)
  * 2x button
  * JBOOT bootloader

The status led has been assigned to the dwr-921-c1:green:sigstrength (lte
signal strength) led. At the end of the boot it is switched off and is
available for lte operation. Work correctly also during sysupgrade
operation.

Installation:
Apply factory image via d-link http web-gui.

How to revert to OEM firmware:
1.) Push the reset button and turn on the power. Wait until LED start
    blinking (~10sec.)
2.) Upload original factory image via JBOOT http (IP: 192.168.123.254)
3.) If http doesn't work, it can be done with curl command:
    curl -F FN=@XXXXX.bin http://192.168.123.254/upg
    where XXXXX.bin is name of firmware file.

Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
6 years agoramips: add BroadMobi BM806U lte-modem support
Pawel Dembicki [Sat, 24 Mar 2018 21:12:46 +0000 (22:12 +0100)]
ramips: add BroadMobi BM806U lte-modem support

Backport patch which adds suport for the BroadMobi BM806U 3G/4G modem,
which is used in D-Link DWR-921 C3.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 years agoramips: add wistron neweb d18q1 lte-modem support
Giuseppe Lippolis [Thu, 22 Mar 2018 15:46:26 +0000 (16:46 +0100)]
ramips: add wistron neweb d18q1 lte-modem support

Backport patch which adds suport for the Wistron NeWeb d18q1 LTE modem
which is used in D-Link DWR-921 C1.

Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
6 years agoramips: mt7620: eMMC: fix compiler warnings in non-debug mode
André Draszik [Thu, 22 Feb 2018 10:50:29 +0000 (10:50 +0000)]
ramips: mt7620: eMMC: fix compiler warnings in non-debug mode

drivers/mmc/host/mtk-mmc/dbg.c:51:13: warning: 'cmd_buf' defined but not used [-Wunused-variable]
 static char cmd_buf[256];
             ^~~~~~~

In addition, msdc_reg[] is completely unused, even in debug
mode.

Signed-off-by: André Draszik <git@andred.net>
6 years agoramips: mt7620: eMMC: remove unused variable
André Draszik [Thu, 22 Feb 2018 10:21:51 +0000 (10:21 +0000)]
ramips: mt7620: eMMC: remove unused variable

msdc_6575_host[] is unused, just remove it. Also, it
was the source of memory corruption up until the
previous fix to this driver.

Signed-off-by: André Draszik <git@andred.net>
6 years agoramips: mt7620: eMMC: stop invalid memory access if only one device is defined
André Draszik [Thu, 22 Feb 2018 10:21:46 +0000 (10:21 +0000)]
ramips: mt7620: eMMC: stop invalid memory access if only one device is defined

pdev->id is -1 when only one device exists, and is used:
* as an index into drv_mode[] to determine whether to use
  PIO or DMA mode (via host->id)
* as an index into msdc_6575_host[], to store the
  mmc_priv() data.

Obviously, -1 is not a valid index in either case, causing
us to read invalid memory, and memory corruption,
respectively.

The invalid memory read is causing non-deterministic
behaviour, in particular in the v4.4 kernel it still
picked DMA mode, but in the v4.9 it now always picks
PIO mode.
Also, PIO mode doesn't work, causing the following:

/ # echo 3 > /proc/sys/vm/drop_caches
[ 3845.249237] sh (128): drop_caches: 3

/ # /root/usr/lib/libc.so
[ 3846.096070] do_page_fault(): sending SIGSEGV to libc.so for invalid read access from 7f9cb5a0
[ 3846.104758] epc = 779b0ea4 in libc.so[7792f000+c3000]
[ 3846.109907] ra  = 779a8004 in libc.so[7792f000+c3000]
Segmentation fault

/ # /root/usr/lib/libc.so
musl libc (mipsel-sf)
Version 1.1.16-git-40-g54807d47
Dynamic Program Loader
Usage: /root/usr/lib/libc.so [options] [--] pathname [args]

(i.e. initial page-in of any binary causes a segfault,
subsequent access works.)

While this change doesn't fix PIO mode, it at least makes
us deterministically use DMA (which works), and it also
stops us from corrupting memory.

Signed-off-by: André Draszik <git@andred.net>
6 years agoramips: mt7620: eMMC: fix MODULE_DEVICE_TABLE
André Draszik [Thu, 22 Feb 2018 10:21:40 +0000 (10:21 +0000)]
ramips: mt7620: eMMC: fix MODULE_DEVICE_TABLE

This was referencing an undefined symbol, probably
due to copy/paste error.

Signed-off-by: André Draszik <git@andred.net>
6 years agoramips: mt7620: eMMC: fix compiler warning (misleading indentation)
André Draszik [Thu, 22 Feb 2018 10:21:35 +0000 (10:21 +0000)]
ramips: mt7620: eMMC: fix compiler warning (misleading indentation)

drivers/mmc/host/mtk-mmc/sd.c:2782:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if ((hw->flags & MSDC_SDIO_IRQ) || (hw->flags & MSDC_EXT_SDIO_IRQ))
     ^~
drivers/mmc/host/mtk-mmc/sd.c:2785:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
  cd_active_low = !of_property_read_bool(pdev->dev.of_node, "mediatek,cd-high");
  ^~~~~~~~~~~~~

Signed-off-by: André Draszik <git@andred.net>
6 years agoramips: mt7620: eMMC: clear owner field
André Draszik [Thu, 22 Feb 2018 10:21:27 +0000 (10:21 +0000)]
ramips: mt7620: eMMC: clear owner field

a) This is not needed in recent kernels anymore (> 3.x ??)
b) this allows driver unloading now

Signed-off-by: André Draszik <git@andred.net>
6 years agoleds-apu2: add newer board names
Sebastian Fleer [Mon, 26 Mar 2018 14:20:43 +0000 (16:20 +0200)]
leds-apu2: add newer board names

In recent firmware releases the board names changed from "apuX" to "PC Engines apuX"

Signed-off-by: Sebastian Fleer <pubalias@posteo.net>
6 years agopackage/utils/f2fs-tools: Update to 1.10.0
Daniel Engberg [Fri, 30 Mar 2018 22:21:00 +0000 (15:21 -0700)]
package/utils/f2fs-tools: Update to 1.10.0

Update f2fs-tools to 1.10.0

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agoncurses: Remove obsolete compile fixes
Rosen Penev [Mon, 2 Apr 2018 01:10:40 +0000 (18:10 -0700)]
ncurses: Remove obsolete compile fixes

It seems both issues (GCC5 and Musl) were fixed at some point. Thus, they can be dropped.

Did not bump version as there is no change in functionality or size.

Compile-tested on ar71xx and mvebu, both with musl.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agonand-utils: add flash_erase utility
Adrià Llaudet [Mon, 26 Mar 2018 14:32:22 +0000 (16:32 +0200)]
nand-utils: add flash_erase utility

flash_erase utility allows to erase MTD partitions on NAND flash.
Useful when you want to clean or write an MTD partition from scratch.

e.g., before using kobs-ng to flashing SPL images it's recommended
to erase the MTD partition to ensure it's empty.

Signed-off-by: Adrià Llaudet <adria.llaudet@gmail.com>
6 years agobusybox: update to 1.28.2
Hannu Nyman [Tue, 27 Mar 2018 17:06:38 +0000 (20:06 +0300)]
busybox: update to 1.28.2

Update busybox to 1.28.2, refresh patches and default config.

* modify 230-add_nslookup_lede.patch as opt_complementary was removed
    Also move nslookup_longopts variable declaration to be inside
    the same conditional as the function itself.
* modify 250-date-k-flag.patch to match upstream (opt_complementary)
* remove 600-cve-2017-16544.patch that is upstreamed

Notes about config changes:
* Some applet-specific LONG_OPTIONS config options were removed
* Config help text indentation changed, caused lots of
  text formatting changes for convert_menuconfig.pl
* convert_defaults.pl moved lots of defaults around, summary of
  actual changes below

New applets/features:
---------------------
ARCH
HEXEDIT
MINIPS
NETCAT
NUKE
RESUME
RUN_INIT
SETFATTR

New options:
------------
FEATURE_CATN
FEATURE_CROND_SPECIAL_TIMES
FEATURE_LIBBUSYBOX_STATIC
FEATURE_SETPRIV_CAPABILITIES
FEATURE_SETPRIV_CAPABILITY_NAMES
FEATURE_SETPRIV_DUMP
FEATURE_SH_READ_FRAC
FEATURE_SWAPONOFF_LABEL
FEATURE_VOLUMEID_MINIX
FEATURE_XARGS_SUPPORT_ARGS_FILE
FEATURE_XARGS_SUPPORT_PARALLEL
HUSH_GETOPTS
HUSH_READONLY
HUSH_TIMES

Removed:
--------
FEATURE_HAVE_RPC
MSH

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
6 years agokernel: update kernel 4.14 to 4.14.32
Hauke Mehrtens [Mon, 2 Apr 2018 14:01:58 +0000 (16:01 +0200)]
kernel: update kernel 4.14 to 4.14.32

The following patches are now included upstream:
* 0052-MIPS-lantiq-fix-usb-clocks.patch
* 0053-MIPS-lantiq-enable-AHB-Bus-for-USB.patch
* 0060-lantiq-ase-enable-MFD-SYSCON.patch

Closes: FS#1466
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Stijn Segers <foss@volatilesystems.org>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agosamba36: fix some security problems
Hauke Mehrtens [Sun, 1 Apr 2018 13:48:47 +0000 (15:48 +0200)]
samba36: fix some security problems

This Adds fixes for the following security problems based on debians patches:
CVE-2016-2125: Unconditional privilege delegation to Kerberos servers in trusted realms
CVE-2017-12163: Server memory information leak over SMB1
CVE-2017-12150: SMB1/2/3 connections may not require signing where they should
CVE-2018-1050: Denial of Service Attack on external print server.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agobuild: Improve GCC version detection
Hauke Mehrtens [Sat, 31 Mar 2018 19:28:32 +0000 (21:28 +0200)]
build: Improve GCC version detection

This now makes sure that the beginning of the version number gets checked
and "4.4.5" will not match was a supported version.
GCC 8 and GCC 9 are now marked as supported, but we probably have to fix
some problems for them.

Closes: FS#1433
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agokernel: Add support for XM25QH64A and XM25QH128A SPI NOR flash
Hauke Mehrtens [Sat, 31 Mar 2018 18:34:34 +0000 (20:34 +0200)]
kernel: Add support for XM25QH64A and XM25QH128A SPI NOR flash

These devices are produced by Wuhan Xinxin Semiconductor Manufacturing
Corp. (XMC) and found on some routers from Chinese manufactures.

The data sheets can be found here:
http://www.xmcwh.com/Uploads/2018-03-01/5a9799e4cb355.pdf
http://www.xmcwh.com/Uploads/2018-02-05/5a77e6dbe968b.pdf

Closes: FS#1460
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agomtd-utils: Mark some lzma functions as static
Hauke Mehrtens [Fri, 30 Mar 2018 11:19:18 +0000 (13:19 +0200)]
mtd-utils: Mark some lzma functions as static

These functions are not declared in any header file and only used in
same compile unit, mark them as static to remove one gcc warning and
make it easier for the compiler to optimize them out.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agobrcm47xx: add kernel 4.14 support
Paul Wassi [Tue, 13 Mar 2018 08:43:43 +0000 (09:43 +0100)]
brcm47xx: add kernel 4.14 support

Add patches for 4.14, drop patch 030 since it's already included
upstream.

Tested on:
1) WRT54GL (with RAM upgraded to 32 MiB)
2) WL500gPv2 (with RAM upgraded to 64 MiB)
3) BCM47186B0 SoC board
4) BCM4706 SoC board

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agonetifd: update to latest git HEAD
Hans Dedecker [Tue, 3 Apr 2018 19:25:23 +0000 (21:25 +0200)]
netifd: update to latest git HEAD

3dc8c91 interface-ip: fix memory leak in interface_ip_add_target_route()

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agobrcm47xx: add Luxul XAP-1500 and XWR-1750 WiFi LEDs
Rafał Miłecki [Tue, 3 Apr 2018 13:16:33 +0000 (15:16 +0200)]
brcm47xx: add Luxul XAP-1500 and XWR-1750 WiFi LEDs

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agoodhcp6c: update to latest git HEAD
Hans Dedecker [Sat, 31 Mar 2018 17:25:15 +0000 (19:25 +0200)]
odhcp6c: update to latest git HEAD

5cbd305 odhcp6c: improve code readibility
eb83b7e treewide: improve error handling
b7b11cb dhcpv6: initialize ifreq struct
f0469e2 ra: handle socket fail creation
d573461 odhcp6c: fix file pointer leakage

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agokernel: update kernel 4.9 to version 4.9.91
Hauke Mehrtens [Fri, 30 Mar 2018 18:41:02 +0000 (20:41 +0200)]
kernel: update kernel 4.9 to version 4.9.91

 * Refreshed patches.
 * Deleted 210-Revert-led-core-Fix-brightness-setting-when-setting-.patch (was accepted upstream)
 * Deleted 812-pci-dwc-fix-enumeration.patch (was accepted upstream)

Compile and run tested on lantiq

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agopackage/libs/mbedtls: add package with some mbedtls binaries.
Paul Wassi [Mon, 12 Mar 2018 19:19:49 +0000 (20:19 +0100)]
package/libs/mbedtls: add package with some mbedtls binaries.

Add some basic binaries required for private key and CSR generation.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
6 years agombedtls: update to version 2.8.0
Hauke Mehrtens [Fri, 30 Mar 2018 11:18:34 +0000 (13:18 +0200)]
mbedtls: update to version 2.8.0

This fixes some minor security problems.

Old size:
162262 bin/packages/mips_24kc/base/libmbedtls_2.7.0-1_mips_24kc.ipk

New size:
163162 bin/packages/mips_24kc/base/libmbedtls_2.8.0-1_mips_24kc.ipk

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agoxfsprogs: add xfs-admin util
Jan Pavlinec [Mon, 19 Mar 2018 12:05:03 +0000 (13:05 +0100)]
xfsprogs: add xfs-admin util

Signed-off-by: Jan Pavlinec <jan.pavlinec@nic.cz>
6 years agotools/e2fsprogs: update to 1.44.1
Paul Wassi [Mon, 26 Mar 2018 11:51:01 +0000 (13:51 +0200)]
tools/e2fsprogs: update to 1.44.1

Update e2fsprogs to upstream 1.44.1 (feature and bugfix release)

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
6 years agopackage/utils/e2fsprogs: update to 1.44.1
Paul Wassi [Sat, 24 Mar 2018 11:36:46 +0000 (12:36 +0100)]
package/utils/e2fsprogs: update to 1.44.1

Update e2fsprogs to upstream 1.44.1 (feature and bugfix release)

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
6 years agopackages/util/util-linux: Update to 2.32
Paul Wassi [Sat, 24 Mar 2018 13:10:03 +0000 (14:10 +0100)]
packages/util/util-linux: Update to 2.32

- Update to upstream 2.32
- License file 'getopt/COPYING' not present (any more)
- Disable 'chown root:root'-commands during 'make install'
- Add new dependency to wipefs
- Refresh patch 003

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
6 years agoncurses: Update to 6.1.
Rosen Penev [Sun, 18 Mar 2018 22:16:25 +0000 (15:16 -0700)]
ncurses: Update to 6.1.

Compile tested on ar71xx.

Old size:
  6527 bin/packages/mips_24kc/base/terminfo_6.0-1_mips_24kc.ipk
141465 bin/packages/mips_24kc/base/libncurses_6.0-1_mips_24kc.ipk

New size:
  6873 bin/packages/mips_24kc/base/terminfo_6.1-1_mips_24kc.ipk
146950 bin/packages/mips_24kc/base/libncurses_6.1-1_mips_24kc.ipk

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agolibtool: Update to 2.4.6
Rosen Penev [Tue, 20 Mar 2018 00:41:05 +0000 (17:41 -0700)]
libtool: Update to 2.4.6

Compile tested on mvebu.

old size:
12947 bin/packages/mips_24kc/base/libltdl_2.4-2_mips_24kc.ipk

new size:
13002 bin/packages/mips_24kc/base/libltdl_2.4.6-1_mips_24kc.ipk

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agopistachio: remove kernel 4.9 support
Matti Laakso [Sun, 18 Mar 2018 15:26:24 +0000 (17:26 +0200)]
pistachio: remove kernel 4.9 support

Signed-off-by: Matti Laakso <matti.laakso@outlook.com>
6 years agopistachio: Switch to kernel 4.14
Matti Laakso [Sun, 18 Mar 2018 15:25:43 +0000 (17:25 +0200)]
pistachio: Switch to kernel 4.14

Signed-off-by: Matti Laakso <matti.laakso@outlook.com>
6 years agopistachio: add kernel 4.14 support
Matti Laakso [Sun, 18 Mar 2018 15:23:08 +0000 (17:23 +0200)]
pistachio: add kernel 4.14 support

Add patches and config for 4.14, refreshed from 4.9.

Signed-off-by: Matti Laakso <matti.laakso@outlook.com>
6 years agomvebu: add support for MACCHIATObin (cortex-a72)
Damir Samardzic [Mon, 26 Mar 2018 09:37:58 +0000 (09:37 +0000)]
mvebu: add support for MACCHIATObin (cortex-a72)

Add initial support for Marvell MACCHIATObin, cortex-a72 based Marvell
ARMADA 8040 Community board. Comes in two forms: Single Shot and Double
Shot.

Specifications:
- Quad core Cortex-A72 (up to 2GHz)
- DDR4 DIMM slot with optional ECC and single/dual chip select support
- Dual 10GbE (1/2.5/10GbE) via copper or SFP
  2.5GbE (1/2.5GbE) via SFP
  1GbE via copper
- SPI Flash
- 3 X SATA 3.0 connectors
- MicroSD connector
- eMMC
- PCI x4 3.0 slot
- USB 2.0 Headers (Internal)
- USB 3.0 connector
- Console port (UART) over microUSB connector
- 20-pin Connector for CPU JTAG debugger
- 2 X UART Headers
- 12V input via DC Jack
- ATX type power connector
- Form Factor: Mini-ITX (170 mm x 170 mm)

More details at http://macchiatobin.net

Booting from micro SD card:
 1. reset U-Boot environment:
      env default -a
      saveenv

 2. prepare U-Boot with boot script:
      setenv bootcmd "load mmc 1:1 0x4d00000 boot.scr; source 0x4d00000"
      saveenv

   or manually:
      setenv fdt_name armada-8040-mcbin.dtb
      setenv image_name Image
      setenv bootcmd 'mmc dev 1; ext4load mmc 1:1 $kernel_addr $image_name;ext4load mmc 1:1 $fdt_addr $fdt_name;setenv   bootargs $console root=/dev/mmcblk1p2 rw rootwait; booti $kernel_addr - $fdt_addr'
      saveenv

Signed-off-by: Damir Samardzic <damir.samardzic@sartura.hr>
6 years agou-boot-mvebu: update to 2018.03
Josua Mayer [Wed, 21 Mar 2018 00:13:02 +0000 (01:13 +0100)]
u-boot-mvebu: update to 2018.03

This release brings various improvements to clearfog support, such as distro-boot.
Obsoletes:
0002-clearfog-reset-usom-onboard-1512-phy.patch
0003-clearfog-enable-distro-boot-code.patch

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
6 years agomvebu: clearfog-pro: set new DTB name in boot-script
Josua Mayer [Wed, 21 Mar 2018 00:32:06 +0000 (01:32 +0100)]
mvebu: clearfog-pro: set new DTB name in boot-script

The DTB for Clearfog Pro has been renamed in mainline. However U-Boot
hasn't picked up that change yet :(, so we need to hardcode it for now.

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
6 years agou-boot-mvebu: set configuration options in Makefile
Josua Mayer [Tue, 20 Mar 2018 23:10:17 +0000 (00:10 +0100)]
u-boot-mvebu: set configuration options in Makefile

CONFIG_* variables can easily be set by overriding Build/Configure.
so set NET_RANDOM_ETHADDR=y and CMD_SETEXPR=y here.

This replaces the following patches:
0001-clearfog-generate-random-MAC-address.patch
0004-clearfog-enable-setexpr-command-by-default.patch

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
6 years agomvebu: Add support for WRT3200ACM with new NAND flash
Imre Kaloz [Thu, 15 Feb 2018 18:57:05 +0000 (19:57 +0100)]
mvebu: Add support for WRT3200ACM with new NAND flash

Newer Linksys boards might come with a Winbond W29N02GV which can be
configured in different ways. Make sure we configure it the same way as
the older chips so everything keeps working.

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
6 years agomvebu: Get rid of RTC hack for Turris Omnia.
Rosen Penev [Mon, 26 Mar 2018 02:14:20 +0000 (19:14 -0700)]
mvebu: Get rid of RTC hack for Turris Omnia.

As Solidrun's RTC patch got merged, this hack is no longer needed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agoath10k-ct: Update firmware to latest.
Ben Greear [Mon, 26 Mar 2018 22:28:00 +0000 (15:28 -0700)]
ath10k-ct: Update firmware to latest.

Wave-1 firmware has a fix for 'addba' not finding the peer.  Thanks to Hauke
for finding and reporting this.

Wave-2 firmware has a fix for leaking a peer multicast key when a monitor device
is created.

And I re-ordered the '4019' firmware images in the Makefile to match the order
of the others.  No functional change for that reorder.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Tested-by: Rosen Penev <rosenp@gmail.com>
6 years agoopenssl: update to 1.0.2o
Paul Wassi [Fri, 30 Mar 2018 06:15:00 +0000 (08:15 +0200)]
openssl: update to 1.0.2o

Fixes CVE-2018-0739

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
6 years agoRevert "iproute2: fix hidden uint to uin64_t promotion in json_print"
Kevin Darbyshire-Bryant [Fri, 30 Mar 2018 15:46:58 +0000 (15:46 +0000)]
Revert "iproute2: fix hidden uint to uin64_t promotion in json_print"

This reverts commit 745d0e7f4b6e8659cc967291acd33889035127f0.

It looks like upstream don't want the patch so let's revert it here too.

I hope a fix from upstream is forthcoming.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agobuild: filter out kmod-ipt-offload from the default selection on targets that do...
Felix Fietkau [Thu, 29 Mar 2018 14:12:43 +0000 (16:12 +0200)]
build: filter out kmod-ipt-offload from the default selection on targets that do not support it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agokernel: add missing config option
Hauke Mehrtens [Thu, 29 Mar 2018 23:06:29 +0000 (01:06 +0200)]
kernel: add missing config option

CONFIG_NVMEM_BCM_OCOTP was added in kernel 4.10 and it is possible to
activate it on the bcm53xx target. Deactivate it by default to fix the
build of the bcm53xx target.
This was found by build bot.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agoapm821xx: increase WNDR4700's dtb+kernel partition to 3.5 MiB
Christian Lamparter [Mon, 26 Mar 2018 15:25:32 +0000 (17:25 +0200)]
apm821xx: increase WNDR4700's dtb+kernel partition to 3.5 MiB

This patch cleans and reworks the WNDR4700 dts to increase the
now combined dtb+kernel partition to 3.5 MiB. This has become
necessary due to the switch to GCC 7.3 and the ever increasing
kernel binary size.

The dtb+kernel partition was combined in order to finally
fix the problem with out-of-sync device-trees. From now
on, the kernel and device-tree will always be updated together.

Upgrade Note:
Existing installations will have to use the TFTP firmware
recovery option in order to install the update. Affected users
are advised to make a backup of their existing configuration
prior to running sysupgrade:
<https://openwrt.org/docs/guide-user/installation/generic.backup#backup_openwrt_configuration>
Due to the repartitioning of the NAND, the generated backup
should be placed on either the internal HDD, an attached
USB-Stick or on another PC (externally).

To manually trigger the firmware recovery, the reset button has
to be pressed (and hold) during boot. U-boot will enter the "Upgrade
Mode" and starts a tftpserver listening on 192.168.1.1 for a
tftp client from one of the four LAN/Ethernet ports to connect and
upload the new system: (enable tftp binary mode!).
openwrt-apm821xx-nand-netgear_wndr4700-squashfs-factory.img

Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
6 years agoapm821xx: switch MR24's initramfs to multi-image method
Christian Lamparter [Sun, 18 Mar 2018 21:51:07 +0000 (22:51 +0100)]
apm821xx: switch MR24's initramfs to multi-image method

The recent change to switch to gcc 7.3 broke the image
generation code, as the kernel would no longer fit into
KERNEL_SIZE.

This patch fixes the issue by reworking the initramfs
creation and packaging, which will get rid of the
KERNEL_SIZE check in the process.

This new initramfs can be loaded through the MR24 U-boot
in the following way:

=> setenv ipaddr 192.168.1.1
=> setenv bootargs console=ttyS0,$baudrate
=> tftpboot c00000 192.168.1.2:meraki_mr24-initramfs-kernel.bin
[...]
Load address: 0xc00000
Loading: ################################################ [...]
done
    Bytes transferred = 5952544 (5ad420 hex)
    => bootm $fileaddr
    \## Booting kernel from Legacy Image at 00c00000 ...
    ...

For more information and the latest flashing guide:
please visit the OpenWrt Wiki Page for the MR24:
<https://openwrt.org/toh/meraki/mr24#flashing>

Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
6 years agomap: fix psidlen becoming negative (FS#1430)
Hans Dedecker [Thu, 29 Mar 2018 14:25:14 +0000 (16:25 +0200)]
map: fix psidlen becoming negative (FS#1430)

Fix psidlen becomes negative in case embedded address bit lenght is smaller than
IPv4 suffix length.
While at it improve parameter checking making the code more logical and
easier to read.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agobcm53xx: switch to kernel 4.14
Rafał Miłecki [Thu, 29 Mar 2018 13:31:17 +0000 (15:31 +0200)]
bcm53xx: switch to kernel 4.14

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agobcm53xx: update kernel 4.14 config
Rafał Miłecki [Thu, 29 Mar 2018 13:29:23 +0000 (15:29 +0200)]
bcm53xx: update kernel 4.14 config

There are few symbol changes but only 3 symbols were possible to set:
THERMAL_EMERGENCY_POWEROFF_DELAY_MS
CLK_BCM_SR
PHY_NS2_USB_DRD

Both new drivers don't seem to apply to Northstar so they are disabled.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agobcm53xx: fix earlycon regression in kernel 4.14
Rafał Miłecki [Thu, 29 Mar 2018 13:10:01 +0000 (15:10 +0200)]
bcm53xx: fix earlycon regression in kernel 4.14

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agoRevert "ppp: make ppp-multilink provide ppp"
Felix Fietkau [Thu, 29 Mar 2018 09:57:08 +0000 (11:57 +0200)]
Revert "ppp: make ppp-multilink provide ppp"

opkg currently has some issues with Provides and this change makes the
image builder fail because of that. Revert the change for now until opkg
is fixed

This reverts commit 092d75aa3e86db8331fffdbd0a99987df9dc438b.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoar71xx: fix ar934x usb controller resource conflict
Felix Fietkau [Tue, 27 Mar 2018 22:58:58 +0000 (00:58 +0200)]
ar71xx: fix ar934x usb controller resource conflict

Use the right size for the EHCI block

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoprocd: update to the latest version
Yousong Zhou [Wed, 28 Mar 2018 09:36:57 +0000 (17:36 +0800)]
procd: update to the latest version

Changes since last version

    dfb68f8 service: initialize supplementary group ids
    3db4e6d service: add func for string config change check
    c3faabe procd: get rid of putenv usage.

The supplementary group id change fixes FS#988

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
6 years agohostapd: update to git snapshot of 2018-03-26
Daniel Golle [Tue, 27 Mar 2018 17:24:27 +0000 (19:24 +0200)]
hostapd: update to git snapshot of 2018-03-26

The following patches were merged upstream:
000-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
 replaced by commit 0e3bd7ac6
001-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
 replaced by commit cb5132bb3
002-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
 replaced by commit 87e2db16b
003-Prevent-installation-of-an-all-zero-TK.patch
 replaced by commit 53bb18cc8
004-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
 replaced by commit 0adc9b28b
005-TDLS-Reject-TPK-TK-reconfiguration.patch
 replaced by commit ff89af96e
006-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
 replaced by commit adae51f8b
007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
 replaced by commit 2a9c5217b
008-WPA-Extra-defense-against-PTK-reinstalls-in-4-way-ha.patch
 replaced by commit a00e946c1
009-Clear-PMK-length-and-check-for-this-when-deriving-PT.patch
 replaced by commit b488a1294
010-Optional-AP-side-workaround-for-key-reinstallation-a.patch
 replaced by commit 6f234c1e2
011-Additional-consistentcy-checks-for-PTK-component-len.patch
 replaced by commit a6ea66530
012-Clear-BSSID-information-in-supplicant-state-machine-.patch
 replaced by commit c0fe5f125
013-WNM-Ignore-WNM-Sleep-Mode-Request-in-wnm_sleep_mode-.patch
 replaced by commit 114f2830d

Some patches had to be modified to work with changed upstream source:
380-disable_ctrl_iface_mib.patch (adding more ifdef'ery)
plus some minor knits needed for other patches to apply which are not
worth being explicitely listed here.

For SAE key management in mesh mode, use the newly introduce
sae_password parameter instead of the psk parameter to also support
SAE keys which would fail the checks applied on the psk field (ie.
length and such). This fixes compatibility issues for users migrating
from authsae.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 years agouci: update to latest git HEAD
Hans Dedecker [Tue, 27 Mar 2018 09:37:34 +0000 (11:37 +0200)]
uci: update to latest git HEAD

5d2bf09 uci: fix a potential use-after-free in uci_set()
3b3d63e list: only record ordering deltas if element position changed
4c4d343 cmake: Fix cli shared linking against ubox

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agonetifd: update to the latest version (fixes FS#1452)
Felix Fietkau [Tue, 27 Mar 2018 09:32:54 +0000 (11:32 +0200)]
netifd: update to the latest version (fixes FS#1452)

9c8d781 netifd: return the interface for locally addressable host dependencies

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agobuild: include kmod-ipt-offload in default images
Felix Fietkau [Tue, 27 Mar 2018 06:24:40 +0000 (08:24 +0200)]
build: include kmod-ipt-offload in default images

Netfilter flow offload has now started to become useful and suitable for
a wider testing audience. Configuring it via UCI is also integrated in
firewall3 by adding 'option flow_offloading 1' to the 'defaults'
section in /etc/config/firewall

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agokernel: add kmod-sound-ens1371
Felix Fietkau [Wed, 21 Mar 2018 17:49:29 +0000 (18:49 +0100)]
kernel: add kmod-sound-ens1371

This audio chip is provided as a virtual audio device by VMware

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agodnsmasq: improve init script portability (FS#1446)
Hans Dedecker [Sat, 24 Mar 2018 17:28:01 +0000 (18:28 +0100)]
dnsmasq: improve init script portability (FS#1446)

Improve portability of init script by declaring resolvfile as local
in dnsmasq_stop function.
Fixes resolvfile being set for older busybox versions in dnsmasq_start
in a multi dnsmasq instance config when doing restart; this happens when
the last instance has a resolvfile configured while the first instance
being started has noresolv set to 1.

Base on a patch by "Phil"

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agosunxi: add build for sopine
Fan Fan [Mon, 19 Mar 2018 09:52:46 +0000 (17:52 +0800)]
sunxi: add build for sopine

This will generate image for Pine64 Sopine board.

Signed-off-by: Fan Fan <fkpwolf@gmail.com>
6 years agoethtool: Update to 4.15.
Rosen Penev [Mon, 19 Mar 2018 00:07:28 +0000 (17:07 -0700)]
ethtool: Update to 4.15.

Contains kernel 4.14 updates. Compile tested on mvebu.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agoKernel: bump 4.14 to 4.14.29
Stijn Segers [Thu, 22 Mar 2018 17:34:08 +0000 (18:34 +0100)]
Kernel: bump 4.14 to 4.14.29

Right patch version this time, sorry!

* Patch 180-usb-xhci-add-support-for-performing-fake-doorbell.patch had to be adjusted slightly because of upstream adapted code.
* Refreshed patches.

Compile-tested: ramips/mt7621, x86/64
Run-tested: ramips/mt7621, x86/64
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
Tested-by: Rosen Penev <rosenp@gmail.com>
6 years agoiproute2: cake: support new overhead reporting & stats structures
Kevin Darbyshire-Bryant [Thu, 22 Mar 2018 11:43:05 +0000 (11:43 +0000)]
iproute2: cake: support new overhead reporting & stats structures

Cake in kernel space now splits stats structure handling across netlink
messages to reduce stack usage issue flagged by upstream kernel checks.
Update user space (tc) qdisc handling to understand this new regime.

Cake also reports packet overheads & compensation in a different way so
add display code for this. e.g.

'tc -s qdisc show dev eth0' reports this extra detail:

 min/max transport layer size:         28 /    1500
 min/max overhead-adjusted size:       65 /    1550
 average transport hdr offset:         14

Cake also supports output in JSON format.

Patch is bulkier than before because a (slightly out of date - see above
stats) man page is included for reference. Better than nothing!

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agokmod-sched-cake: split stats structures, add overhead stats
Kevin Darbyshire-Bryant [Thu, 22 Mar 2018 11:43:04 +0000 (11:43 +0000)]
kmod-sched-cake: split stats structures, add overhead stats

Relevant changes:

0afc1be Fixes for kernel 4.16
d2d6780 Reinitialise overhead compensation stats when reconfiguring.
a3bab9d Export overhead compensation stats to userspace.
9cd2fa8 Split tin stats to its own structure to decrease size of tc_cake_xstats
71c7b44 Gather more statistics about packet length transformations.
0517357 Rework overhead compensation to use dynamic transport header offset instead of (inaccurate) static one.
c1a0c8e Refactor length handling code to better centralise overhead calculations

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agoath10k-ct: fix module depends
Hauke Mehrtens [Thu, 22 Mar 2018 22:24:42 +0000 (23:24 +0100)]
ath10k-ct: fix module depends

PKG_EXTMOD_SUBDIRS should be set to the sub directory where the kernel
module gets build in, for the ath10k-ct driver this changed in commit
3888e77c1c68 from ath10k to ath10k-4.13. Without this fix the depends
line of the ath10*.ko modules is empty and the kernel module load system
will not automatically load the depended modules like mac80211.

Fixes: 3888e77c1c68 ("ath10k-ct driver: use dma_alloc_coherent, 4.13 based driver")
Fixes: 23a388fe41ec ("ath10k-ct: Force loading mac80211 and ath modules.")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agoath10k-ct: Add htt-mgt variants of ath10k-ct firmware.
Ben Greear [Wed, 21 Mar 2018 17:29:03 +0000 (10:29 -0700)]
ath10k-ct: Add htt-mgt variants of ath10k-ct firmware.

The HTT-MGT variants transport management frames over the
normal HTT tx path, just like data frames.  This saves
limitted WMI buffers which can become depleted if lots of
management frames become stuck in TX queues due to peer
that went away.

In addition, at least for the wave-1 firmware, htt-mgt is
required in order for 802.11r (fast roaming) authentication
to function properly.

The htt-mgt firmware requires the use of the ath10k-ct
driver.  Normal non-htt-mgt ath10k-ct firmware should work
with stock drivers.

Signed-off-by: Ben Greear <greearb@candelatech.com>
6 years agoath10k-ct: Update wave-1 and wave-2 firmware to latest.
Ben Greear [Wed, 21 Mar 2018 17:29:02 +0000 (10:29 -0700)]
ath10k-ct: Update wave-1 and wave-2 firmware to latest.

This updates to latest ath10k-ct firmware.  Hopefully we are
at the end of the development cycle for this firmware release,
so these should be stable.

wave-1 changes since last release:

Release 20

  *  Allow flushing peer when deleting.  Hopefully this will allow the
     peer delete command to happen in a reasonable amount of time even
     if the RF environment is busy (or peer has died).
     To enable this, set the high flag in the mac-addr second word in the
     ath10k driver near end of the ath10k_wmi_op_gen_peer_delete method:

     cmd->peer_macaddr.word1 |= __cpu_to_le32(0x80000000);

  *  Attempt to fix crash seen in resmgr-ocs, appearantly due to list corruption.
     Use a temporary list instead of trying to rely on for-each-safe.

  *  Add flag to tx-descriptor to allow driver to request no-ack on data
     frames.  This is bit 15 on the flag1 field (previously un-used).

  *  Add option to support specifying the tx-rate-code and retry count on
     a per-packet basis.  Only a single series is supported at this time.
     Useful mainly for radiotap monitor-tx type testing at this point.

  *  Fix crash on startup when chip is at -40 deg C and calibration fails.  Instead
     of asserting, just keep retrying calibration, which appears to start working
     after a few minutes (when the chip warms up).

  *  Allow reporting per-chain rssi for management frames.  We pack the values into
     empty space in the mgt-frame wmi header.  This will only be enabled if the driver
     requests it, since otherwise the driver is assumed to not understand the new API.
     ath10k-ct drivers that support this feature will automatically enable it.

  *  A customer reports a case that appears to be the hardware not properly detecting
     end of AMPDU, so frames were being mis-delivered to the wrong peer.  Attempt to
     work around this, and in doing so, clean up a bunch of void* abuse in the block-ack
     reordering code (could not ever confirm there was a problem in this area).

  *  Re-work the rx-mem logic to be less complicated and to use less memory.

  *  Attempt to fix crash that appearanty happens because the driver can sometimes
     delete a vdev in 'up' state.

  *  Attempt to fix hung scan state machine issues.

  *  Fix crash in tx path due to un-initialized memory.

wave-2 changes since last release:

Release 10

  *  Fix an assert related to tx scheduling.  This hopefully fixes
     what appears to be a regression that I added some time back.

  *  Enable CSI reporting for 9984, and maybe 9888/9886.  Only in
     non-trimmed builds.

  *  Other stability improvements, including regression fixes from
     some tricky bugs introduced in earlier releases.

  *  Allow compiling for IPQ4019 chipset.

  *  Firmware will now send txbf frames to the host (driver) if the
     TXBF (0xF00000001) set-special feature is enabled, or when the radio
     is in monitor mode.  But, if the frame is consumed by the txbf_cv
     logic, then the pkt cannot be delivered to the host in this manner.  Instead,
     a WMI event will be sent and host can find the txbf_cv data in shared
     memory.  See ath10k_wmi_event_txbf_cv_mesg() in ath10k-ct driver.

  *  Support rx-all-mgt option.  When enabled, the firmware will deliver all
     management frames that it can to the host.  No RX filters are changed
     when this option is enabled.

  *  Fix at least some problems with sending tx-beamforming frames to SU-MIMO
     peers.  Looks like this was a regression in my code.

  *  Fix a crash in rate-ctrl due to nss mismatch.  This was something I introduced
     while trying to fix other bugs in rate-ctrl some time back.

  *  Attempt to fix a sw-peer-key object leak in IBSS mode.  The peer key code
     is very complex, and shares some pointers as union members.  I think I fixed
     at least some of the issues, but would not be surprised if more exist.

  *  Improve ath10k user guide to document CT firmware features:
     https://www.candelatech.com/ath10k-ug.php

  *  Add ct-special option to configure the txbf sounding time.  See ath10k-ug.php

  *  Fix and allow the driver to tell the firmware to send sounding frames.  See ath10k-ug.php
     In further testing, this seems to fail much of the time, and I am not sure why.
     Disabling this in diet (trimmed) builds.

  *  Fix crashes related to deleting peers while they are in power-save mode.  Reported
     by LEDE user on r7800 with 9984 NIC.
  *  Make rate-ctrl txbf probe work better.  If enabled, the rate-ctrl logic will periodically
     send out probes at an NSS that can to txbf.  Previously, txbf probes would not reliably happen
     if both AP and peer had the same nss (ie, 2x2 talking to 2x2).  To enable this feature, you
     need to enable the fwtest-cmdid number 20.

  *  Report rx-timeout error counters.  These were previously un-reported, though the
     field existed in the wmi struct already.

  *  txbf:  Ignore frames not destined for us.  If NIC is in promisc mode, it
     could acquire and process NDPA frames that were not destined for it.  Check
     the dest-MAC and ignore frames not for us (pass them up the stack for monitor
     mode instead of save them in the peer's rate-ctrl logic.)

  *  Port ping-pong crash handling and othe related features to IPQ4019 target.  It should
     now act similar to 9984 in this regard.

  *  Fix a few asserts related to txbf and tx-seq logic.

  *  Add custom-stats support, for rx-reorder-stats.  Similar to what I did for wave-1.

  *  Disable AMSDU for IBSS.  This now matches what I did for peregrine.  It seems to
     work better this way, though I did not debug it in detail.

  *  Enable the set-special command to re-enable AMSDU for IBSS if user wants to experiment.

  *  Fix bug where dbglog did not disable IRQs, so if you made dbglog messages from the IRQ
     handler, it could cause corruption that could crash the firmware and/or corrupt the log
     message buffers.

  *  Don't assert if there are no buffer descriptors for RX of non-data frame.

  *  Retry any stuck block-ack sessions every 20 seconds instead of just disabling BA for
     ever when we get too many failures.

  *  Fix SGI flag when reporting tx-rate info.  The flag moved since wave-1 days, and
     I did not notice that when I ported my changes forward to wave-2.

  *  Allow disabling special CCA handling for IBSS txqs.  Earlier testing indicated this
     might improve throughput in some testing on 9984 chips in IBSS mode, but subsequent
     testing looks about the same without it.  Since I do not really understand what this
     setting exists for, leave it at upstream defaults.  A new set-special API command (0x12)
     can be used to enable this hack for testing.  Setting 0x1 bit disables special CCA handling
     for non-beacon IBSS txqs, setting 0x2 bit disables it for beacon queues as well.

  *  Add MCAST-BCAST feature flag.  This tells driver we do not need a monitor interface
     to do MESH.

  *  When calculating the rx-address filter (affects ACK & BLOCK-ACK, among other things),
     to not add in monitor interfaces if other interfaces are up.  There is no need for
     a monitor device to ACK frames.

Signed-off-by: Ben Greear <greearb@candelatech.com>
6 years agoath10k-ct: Update driver to latest.
Ben Greear [Wed, 21 Mar 2018 17:29:01 +0000 (10:29 -0700)]
ath10k-ct: Update driver to latest.

Among other things, this will check for an htt-mgt variant of
ath10k-ct firmware before loading 'normal' firmware, and it disables
verbose printing of firmware DBGLOG messages by default.

Signed-off-by: Ben Greear <greearb@candelatech.com>
6 years agoath10k-ct: Update DEPENDS and PROVIDES
Ben Greear [Wed, 21 Mar 2018 17:29:00 +0000 (10:29 -0700)]
ath10k-ct: Update DEPENDS and PROVIDES

Update DEPENDS and PROVIDES so that ath10k-ct firmware
and drivers can be used to replace stock firmware
and drivers.  The -htt firmware variant, which requires
ath10k-ct driver now selects ath10k-ct driver when the
firmware is selected.

Signed-off-by: Ben Greear <greearb@candelatech.com>
6 years agolibubox: update to the latest version
Felix Fietkau [Wed, 21 Mar 2018 16:57:14 +0000 (17:57 +0100)]
libubox: update to the latest version

3aad294 libubox: Plug a small memory leak.
eebe3fc utils: use constant byte-order conversion

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: remove dead (and potentially crashy) code in mt7621 gsw init
Felix Fietkau [Fri, 23 Mar 2018 12:40:41 +0000 (13:40 +0100)]
ramips: remove dead (and potentially crashy) code in mt7621 gsw init

Signed-off-by: Felix Fietkau <nbd@nbd.name>