openwrt/openwrt.git
2 years agoRevert "kernel: add IEEE-1284 parallel port support"
Jo-Philipp Wich [Mon, 22 Jan 2018 12:41:16 +0000 (13:41 +0100)]
Revert "kernel: add IEEE-1284 parallel port support"

This reverts commit 666e9cf2220b11ccd024cad13ad54ca71d40c5b3.

The change has not been build-tested on non-x86 targets and leads to
stalled kernel builds due to unset configuration symbols there.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoprocd: update to latest git HEAD
John Crispin [Mon, 22 Jan 2018 11:53:34 +0000 (12:53 +0100)]
procd: update to latest git HEAD

846e20c procd: add timing to start/stop logging

Signed-off-by: John Crispin <john@phrozen.org>
2 years agoar71xx: add support for the MikroTik RB911-2Hn/5Hn boards
Gabor Juhos [Thu, 18 Jan 2018 12:50:32 +0000 (13:50 +0100)]
ar71xx: add support for the MikroTik RB911-2Hn/5Hn boards

The patch adds support for the MikroTik RB911-2Hn (911 Lite2)
and the RB911-5Hn (911 Lite5) boards:

  https://mikrotik.com/product/RB911-2Hn
  https://mikrotik.com/product/RB911-5Hn

The two boards are using the same hardware design, the only difference
between the two is the supported wireless band.

Specifications:
  * SoC: Atheros AR9344 (600MHz)
  * RAM: 64MiB
  * Storage: 16 MiB SPI NOR flash
  * Ethernet: 1x100M (Passive PoE in)
  * Wireless: AR9344 built-in wireless MAC, single chain
              802.11b/g/n (911-2Hn) or 802.11a/g/n (911-5Hn)

Notes:
  * Older versions of these boards might be equipped with a NAND
    flash chip instead of the SPI NOR device. Those boards are not
    supported (yet).
  * The MikroTik RB911-5HnD (911 Lite5 Dual) board also uses the
    same hardware. Support for that can be added later with little
    effort probably.

Installation:

1. Setup a DHCP/BOOTP Server with the following parameters:
   * 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. The usable intramfs files are:
       - openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf
       - openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf
       - openwrt-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin

2. Press the reset button on the board and keep that pressed.

3. Connect the board to your local network via its ethernet port.

4. Release the button after the LEDs on the board are turned off.
   Now the board should load and start the initramfs image from
   the TFTP server.

5. Upload the sysupgrade image to the board with scp:
     $ scp openwrt-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/fw.bin

5. Log in to the running system listening on 192.168.1.1 via ssh
   as root (without password):
     $ ssh root@192.168.1.1

7. Flash the uploaded firmware file from the ssh session via the
   sysupgrade command:
     root@OpenWrt:~# sysupgrade /tmp/fw.bin

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2 years agoar71xx: make leds-gpio usable with single-ended GPIOs
Gabor Juhos [Thu, 18 Jan 2018 12:50:31 +0000 (13:50 +0100)]
ar71xx: make leds-gpio usable with single-ended GPIOs

Add patches for the leds-gpio driver to make it usable with
open-drain and open-source kind of GPIO lines.

This type of functionality is required by various MikroTik boards.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2 years agoar71xx: mach-rbspi: return rb_info from rbspi_platform_setup
Gabor Juhos [Thu, 18 Jan 2018 12:50:30 +0000 (13:50 +0100)]
ar71xx: mach-rbspi: return rb_info from rbspi_platform_setup

Modify the rbspi_platform_setup() function to return the pointer of the
rb_info structure. This allows board specific setup routines to access
the various fields of the information. It is useful for investigating
the hardware option bits for example.

Also update the board setup codes, to ensure that those handle the new
return value correctly.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2 years agoar71xx: add definitions for RouterBOARD hardware option bits
Gabor Juhos [Thu, 18 Jan 2018 12:50:29 +0000 (13:50 +0100)]
ar71xx: add definitions for RouterBOARD hardware option bits

Add bit definitions for the 'hardware options' tag which is used in
the MikroTik devices' hardware configurations. These values can be
used in board setup codes, to do different initialization sequences.
The values were obtained from the RouterOS 6.41-rc38 patches.

Additionally, introduce two helper functions what make the processing
of the hardware options easy.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2 years agouqmi: silence error on pin verification
Koen Vandeputte [Fri, 19 Jan 2018 10:31:52 +0000 (11:31 +0100)]
uqmi: silence error on pin verification

If a device only supports the 2nd verification method (uim),
the first method will fail as expected reporting an error:

"Command not supported"

Silence both separate methods and only report an error regarding
pin verification if both fail.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agokernel: add IEEE-1284 parallel port support
Daniel Gimpelevich [Thu, 18 Jan 2018 11:52:12 +0000 (03:52 -0800)]
kernel: add IEEE-1284 parallel port support

The kmod-lp package included both lp.ko and ppdev.ko, but ECP device
drivers may or may not require lp NOT to be loaded, needing only ppdev.
Additionally, There were no packages for any parport interface modules,
such as uss720 or parport_pc, provided here. It has not been otherwise
possible to use PC-style parport hardware for kmod-lp.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
2 years agopistachio: make patches apply again
Hauke Mehrtens [Sat, 20 Jan 2018 22:36:05 +0000 (23:36 +0100)]
pistachio: make patches apply again

Support for Winbond NAND flash detection was added into the generic
patches and this conflicted with this patch adding Gigadevice support.

Fixes: 02050f7e7d5b ("kernel/4.{4, 9}: add manufacturer ID for Winbond NANDs")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoipq806x: make patches apply again
Hauke Mehrtens [Sat, 20 Jan 2018 22:21:52 +0000 (23:21 +0100)]
ipq806x: make patches apply again

Some part of this patch was added to the generic patches as it was
needed also for some other target. Do not add it here any more.

Fixes: 02050f7e7d5b ("kernel/4.{4, 9}: add manufacturer ID for Winbond NANDs")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agox86: Add CONFIG_RETPOLINE to fix build
Hauke Mehrtens [Sat, 20 Jan 2018 21:44:40 +0000 (22:44 +0100)]
x86: Add CONFIG_RETPOLINE to fix build

This adds support for the new configuration option CONFIG_RETPOLINE and
refreshes the configuration.

Fixes: d8565a06dc ("kernel: bump 4.9 to 4.9.77")
Fixes: 9ddfac8015 ("kernel: bump 4.14 to 4.14.14")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agokernel: use upstream patches for musl
Hauke Mehrtens [Sat, 3 Jun 2017 10:59:55 +0000 (12:59 +0200)]
kernel: use upstream patches for musl

This replaces the current patches used to make the kernel headers
compatible with musl with the version which was accepted upstream. This
is included in upstream kernel 4.15.
This was compile tested with iproute2 build on all supported kernel
versions with musl and one one with glibc.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoubus: fix PKG_MIRROR_HASH
Hauke Mehrtens [Fri, 19 Jan 2018 22:59:30 +0000 (23:59 +0100)]
ubus: fix PKG_MIRROR_HASH

Fixes: dd975d15a71f ("ubus: fix wrong PKG_SOURCE_DATE")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agonftables: update to 0.8.1
Philip Prindeville [Wed, 20 Dec 2017 17:22:52 +0000 (10:22 -0700)]
nftables: update to 0.8.1

Note this requires libnftnl-1.0.8 or higher, so that update needs
to be merged first.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2 years agolibnftnl: update to 1.0.9
Philip Prindeville [Wed, 20 Dec 2017 22:06:02 +0000 (15:06 -0700)]
libnftnl: update to 1.0.9

Also, drop unsupported configure options.

Don't use git retrieve but released tarball instead.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2 years agokernel: backport fix for nftables on big Endian
Hauke Mehrtens [Sat, 20 Jan 2018 19:14:47 +0000 (20:14 +0100)]
kernel: backport fix for nftables on big Endian

nftables 0.8.1 generates some new commands which will not work without
this on big endian systems. This patch is included in Linux 4.11 and
later.

My rule matching a TCP port was not working:
nft add rule ip foo bar ct state new tcp dport 22 accept

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agotools/tar: update to 1.30
Hannu Nyman [Fri, 19 Jan 2018 16:55:28 +0000 (18:55 +0200)]
tools/tar: update to 1.30

update GNU tar to 1.30

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agokernel: bump 4.4 to 4.4.112
Kevin Darbyshire-Bryant [Thu, 18 Jan 2018 15:01:19 +0000 (15:01 +0000)]
kernel: bump 4.4 to 4.4.112

Refresh patches.
Remove upstreamed patches:

target/linux/generic/patches-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
target/linux/generic/patches-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch
target/linux/generic/patches-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch
target/linux/generic/patches-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch

CVEs completely or partially addressed:

CVE-2017-5715
CVE-2017-5753
CVE-2017-17741
CVE-2017-1000410

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

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agokernel: bump 4.9 to 4.9.77
Kevin Darbyshire-Bryant [Thu, 18 Jan 2018 13:51:13 +0000 (13:51 +0000)]
kernel: bump 4.9 to 4.9.77

Refresh patches.
Remove upstreamed patches:

target/linux/generic/backport-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
target/linux/generic/backport-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch
target/linux/generic/backport-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch
target/linux/generic/backport-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch

CVEs completely or partially addressed:

CVE-2017-5715
CVE-2017-5753
CVE-2017-17741
CVE-2017-1000410

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

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agokernel: bump 4.14 to 4.14.14
Kevin Darbyshire-Bryant [Thu, 18 Jan 2018 14:13:53 +0000 (14:13 +0000)]
kernel: bump 4.14 to 4.14.14

Refresh patches.

CVEs completely or partially addressed:

CVE-2017-5715
CVE-2017-5753
CVE-2017-17741
CVE-2017-1000410

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agokernel/4.{4, 9}: add manufacturer ID for Winbond NANDs
Gabor Juhos [Thu, 18 Jan 2018 21:13:09 +0000 (22:13 +0100)]
kernel/4.{4, 9}: add manufacturer ID for Winbond NANDs

Some MikroTik devices are using a Winbond NAND flash. Linux treats
it as an unknown NAND before version 4.11:

  nand: device found, Manufacturer ID: 0xef, Chip ID: 0xf1
  nand: Unknown NAND 128MiB 3,3V 8-bit
  nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64

Backport a patch from 4.11 to show the manufacturer correctly:

  nand: device found, Manufacturer ID: 0xef, Chip ID: 0xf1
  nand: Winbond NAND 128MiB 3,3V 8-bit
  nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64

Tested on a MikroTik R951Ui-2HnD board.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2 years agodnsmasq: backport validation fix in dnssec security fix
Kevin Darbyshire-Bryant [Sat, 20 Jan 2018 08:46:28 +0000 (08:46 +0000)]
dnsmasq: backport validation fix in dnssec security fix

A DNSSEC validation error was introduced in the fix for CVE-2017-15107

Backport the upstream fix to the fix (a simple typo)

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agodnsmasq: backport dnssec security fix
Kevin Darbyshire-Bryant [Fri, 19 Jan 2018 17:16:08 +0000 (17:16 +0000)]
dnsmasq: backport dnssec security fix

CVE-2017-15107

An interesting problem has turned up in DNSSEC validation. It turns out
that NSEC records expanded from wildcards are allowed, so a domain can
include an NSEC record for *.example.org and an actual query reply could
expand that to anything in example.org  and still have it signed by the
signature for the wildcard. So, for example

!.example.org NSEC zz.example.org

is fine.

The problem is that most implementers (your author included, but also
the Google public DNS people, powerdns and Unbound) then took that
record to prove the nothing exists between !.example.org and
zz.example.org, whereas in fact it only provides that proof between
*.example.org and zz.example.org.

This gives an attacker a way to prove that anything between
!.example.org and *.example.org doesn't exists, when it may well do so.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agoipq806x: remove merged ipq4019 patch
Christian Lamparter [Thu, 18 Jan 2018 12:26:08 +0000 (13:26 +0100)]
ipq806x: remove merged ipq4019 patch

The patch 0022-dts-ipq4019-support-ARMv7-PMU.patch
was merged into 4.8-rc1.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[refresh patches]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoipq806x: remove dependency on non-existent kmod
Christian Lamparter [Wed, 17 Jan 2018 22:38:50 +0000 (23:38 +0100)]
ipq806x: remove dependency on non-existent kmod

During the integration of the ipq40xx target,
the phy drivers were included into the ipq806x's
target kernel config.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq-wifi: align AVM FRITZ!Box 4040's board-2.bin package
Christian Lamparter [Wed, 17 Jan 2018 22:38:49 +0000 (23:38 +0100)]
ipq-wifi: align AVM FRITZ!Box 4040's board-2.bin package

This patch renames the AVM FRITZ!Box 4040's board-2.bin
file and package to match the 'vendor_product' format.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq806x: overhaul AVM FRITZ!box 4040 device-tree file
Christian Lamparter [Wed, 17 Jan 2018 22:38:48 +0000 (23:38 +0100)]
ipq806x: overhaul AVM FRITZ!box 4040 device-tree file

This patch aligns the device-tree file with the latest
guidelines.
 - No longer include qcom-ipq4019-ap.dk01.1.dtsi. This
   file is only partially upstream and therefore subjected
   to changes that might not be compatible with the board.

   As a result, the definitions from the file have been
   copied into this dts.

 - exclusively use decimal GPIO addresses.

 - reorganize the reserved-memory layout to waste less
   memory. There's no point in keeping the u-boot loader
   around. This should also make it possible    to create
   an image that will boot with the original EVA/ADAM2 loader
   without needing to install the modified u-boot loader.
   And finally mark the "tz-apps" as reusable.
   There isn't a way to  upload apps to the trust-zone in OpenWrt
   yet. But it might see some use in the future as a "secure"
   key-store/TPM.

 - sort the first-level nodes alphabetically.
 - sort nodes with an address by the address.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agofirmware: ath10k-firmware: update QCA988x firmware to 10.2.4-1.0-00033
Christian Lamparter [Thu, 21 Dec 2017 18:13:04 +0000 (19:13 +0100)]
firmware: ath10k-firmware: update QCA988x firmware to 10.2.4-1.0-00033

This patch updates ath10k-firmware to use the
firmware-5.bin_10.2.4-1.0-00033 firmware for the QCA988x.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agofirmware: ath10k-firmware: update QCA9887 firmware to 10.2.4-1.0-00033
Christian Lamparter [Thu, 21 Dec 2017 18:13:03 +0000 (19:13 +0100)]
firmware: ath10k-firmware: update QCA9887 firmware to 10.2.4-1.0-00033

This patch updates ath10k-firmware to use the
firmware-5.bin_10.2.4-1.0-00033 firmware for the QCA9887.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agofirmware: ath10k-firmware: update QCA9888 firmware to 10.4-3.4-00104
Christian Lamparter [Thu, 21 Dec 2017 18:13:02 +0000 (19:13 +0100)]
firmware: ath10k-firmware: update QCA9888 firmware to 10.4-3.4-00104

This patch updates ath10k-firmware to use the
firmware-5.bin_10.4-3.4-00104 firmware for the QCA9888.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agofirmware: ath10k-firmware: update QCA9984 firmware to 10.4-3.4-00104
Christian Lamparter [Thu, 21 Dec 2017 18:13:01 +0000 (19:13 +0100)]
firmware: ath10k-firmware: update QCA9984 firmware to 10.4-3.4-00104

This patch updates ath10k-firmware to use the
firmware-5.bin_10.4-3.4-00104 firmware for the QCA9984.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agofirmware: ath10k-firmware: update QCA4019 firmware to 10.4-3.4-00104
Christian Lamparter [Thu, 21 Dec 2017 18:13:00 +0000 (19:13 +0100)]
firmware: ath10k-firmware: update QCA4019 firmware to 10.4-3.4-00104

This patch updates ath10k-firmware to use the
firmware-5.bin_10.4-3.4-00104 firmware for the QCA4019.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agofirmware: ath10k-firmware: update to 2017-12-20
Christian Lamparter [Thu, 21 Dec 2017 18:12:59 +0000 (19:12 +0100)]
firmware: ath10k-firmware: update to 2017-12-20

This update automatically includes a new firmware for the QCA6174:
firmware-6.bin_WLAN.RM.4.4.1-00079-QCARMSWPZ-1

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoodhcp6c: add sendopts config support and update to latest git HEAD
Hans Dedecker [Tue, 16 Jan 2018 14:59:03 +0000 (15:59 +0100)]
odhcp6c: add sendopts config support and update to latest git HEAD

Add sendopts config support allowing to add options in sent DHCPv6 packets.

Options can be configured as follows :
uci set network.wan6.sendopts="sntpservers:3001:3001::1,3001:3001::2 11:00000000000000000000006674692F 0x3e8:ABCDEF"

Based on a patch by Frank Andrieu <fandrieu@gmail.com>

See https://git.openwrt.org/?p=project/odhcp6c.git;a=commit;h=510aaf6d528210c5e8a6159f9b80b32615e88c5f
for a more detailed description.

Latest git changes :
1f93bd4 dhcpv6: rework option passthrough logic
a477e95 odhcp6c: rework userclass and vendorclass command handling
510aaf6 odhcp6c: add -x opt:val support
ab75be1 treewide: update copyrights to 2018
f3a4609 odhcp6c: let odhcp6c_add_state return a success/failure indication

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agoramips: tl-wr840n-v5: increase firmware partition for 4Mmtk layot
Serg Studzinskii [Sun, 24 Dec 2017 16:00:13 +0000 (18:00 +0200)]
ramips: tl-wr840n-v5: increase firmware partition for 4Mmtk layot

According to console log during TP-Link TL-WR840N v5 OEM firmware update
procedure 0x3e0000-0x3f0000 64kB "config" partition, which is used to store
router's configuration settings, is erased and recreated again during every
OEM firmware update procedure, thus does not contain any valuable factory data.
So it is conviniant to use this extra 64kB erase block for jffs overlay due
limited flash size on this device like it used on TP-Link's ar71xx boards.

Signed-off-by: Serg Studzinskii <serguzhg@gmail.com>
2 years agotools/mpfr: update to 4.0.0
Hannu Nyman [Wed, 17 Jan 2018 19:06:19 +0000 (21:06 +0200)]
tools/mpfr: update to 4.0.0

Update mpfr to 4.0.0

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agotools/mpc: Update to 1.1.0
Hannu Nyman [Wed, 17 Jan 2018 19:01:35 +0000 (21:01 +0200)]
tools/mpc: Update to 1.1.0

Update mpc to 1.1.0

(note: adds compatibility with mpfr 4.0.0)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoutil-linux: add fstrim support
Dirk Brenken [Fri, 12 Jan 2018 11:57:39 +0000 (12:57 +0100)]
util-linux: add fstrim support

This PR adds optional fstrim support

Signed-off-by: Dirk Brenken <dev@brenken.org>
2 years agokirkwood: fix sysupgrade
尤晓杰 [Wed, 17 Jan 2018 13:03:50 +0000 (21:03 +0800)]
kirkwood: fix sysupgrade

The platform_check_image() stub need to return 0 for success, otherwise
the sysupgrade will fail with:

  Image check 'platform_check_image' failed.

Fixes: aa6f5f1787a6 ("kirkwood: use image metadata")
Signed-off-by: 尤晓杰 <yxj790222@163.com>
[reworded commit message}
Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoipq806x: fix ZyXEL NBG6817 sysupgrade
Mathias Kresin [Wed, 17 Jan 2018 19:40:55 +0000 (20:40 +0100)]
ipq806x: fix ZyXEL NBG6817 sysupgrade

Use the first found directory in the tar archive instead of relying on
a directory named according to the userspace boardname.

It allows to change the boardname without adding another compatibility
layer to the zyxel sysupgrade.

Fixes: 33f09cf15178 ("ipq806x: convert to dt-based board-detection")
Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agobase-files: gpio switch: check if direction can be set
Mathias Kresin [Mon, 15 Jan 2018 00:23:36 +0000 (01:23 +0100)]
base-files: gpio switch: check if direction can be set

Obviously not all GPIO controller allow to change the direction. The issue
is around since the beginning of the script but only due to the recent
changes error messages are more visible.

Add a check if a change of the direction is supported by the GPIO
controller and fallback to setting only the value if not.

Fixes: FS#1271
Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agobase-files: gpio switch: fix inverted logic
Mathias Kresin [Sun, 14 Jan 2018 23:28:03 +0000 (00:28 +0100)]
base-files: gpio switch: fix inverted logic

GPIOs are exported as active high to the sysfs, hence the logic need to be
inverted.

Fixes: e66c47fb14f5 ("base-files: gpio switch: set output value with
       direction")
Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoubox: update to latest git HEAD
Hans Dedecker [Wed, 17 Jan 2018 13:23:13 +0000 (14:23 +0100)]
ubox: update to latest git HEAD

e7a63fb ubox: Remove unnecessary memset calls

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agoubus: fix wrong PKG_SOURCE_DATE
Hans Dedecker [Wed, 17 Jan 2018 13:08:53 +0000 (14:08 +0100)]
ubus: fix wrong PKG_SOURCE_DATE

Fix wrong PKG_SOURCE_DATE introduced in e14cac0

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agoubus: update to latest git HEAD
Hans Dedecker [Wed, 17 Jan 2018 12:45:02 +0000 (13:45 +0100)]
ubus: update to latest git HEAD

5bae22e ubus/lua: pass notification name to callback
212ceb1 valgrind complained about these
d57907c fix invalid close() call

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agoath9k: discard undersized packets
Felix Fietkau [Wed, 17 Jan 2018 11:32:22 +0000 (12:32 +0100)]
ath9k: discard undersized packets

Sometimes the hardware will push small packets that trigger a WARN_ON
in mac80211. Discard them early to avoid this issue.

Reported-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agobuild: remove use of STAGING_DIR_HOST/usr (fixes cmake build error on macOS)
Felix Fietkau [Wed, 17 Jan 2018 10:53:10 +0000 (11:53 +0100)]
build: remove use of STAGING_DIR_HOST/usr (fixes cmake build error on macOS)

This directory is never created, nor is it used anywhere. Using it in
HOST_LDFLAGS causes a linker warning to be emitted on macOS, which
messes with cmake configure tests.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years ago.gitignore: add .project & .cproject for eclipse users
Catrinel Catrinescu [Thu, 11 Jan 2018 09:35:46 +0000 (10:35 +0100)]
.gitignore: add .project & .cproject for eclipse users

For eclipse users, .project is always created inside the project.
For users of CDT within Eclipse, add also .cproject, thanks Dirk
Feytons.

Signed-off-by: Catrinel Catrinescu <cc@80211.de>
2 years agoar71xx: drop mdio-gpio.h include from mach-om5pacv2.c
Gabor Juhos [Tue, 9 Jan 2018 13:59:14 +0000 (14:59 +0100)]
ar71xx: drop mdio-gpio.h include from mach-om5pacv2.c

The setup code of the OpenMesh OM5P ACv2 device uses nothing
from the mdio-gpio.h header, so remove the inclusion of that.

Also remove the kernel version check which is needed only
because the mdio-gpio.h header exists in a different path
in older kernels.

Compile tested only.

Cc: Sven Eckelmann <sven.eckelmann@openmesh.com>
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2 years agocns3xxx: switch to kernel 4.14
Koen Vandeputte [Thu, 11 Jan 2018 15:04:40 +0000 (16:04 +0100)]
cns3xxx: switch to kernel 4.14

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agocns3xxx: refresh patches
Koen Vandeputte [Thu, 11 Jan 2018 15:04:39 +0000 (16:04 +0100)]
cns3xxx: refresh patches

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agocns3xxx: remove deprecated uart flags
Koen Vandeputte [Thu, 11 Jan 2018 15:04:38 +0000 (16:04 +0100)]
cns3xxx: remove deprecated uart flags

Flag UPF_NO_TXEN_TEST is deprecated.

Remove it.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agocns3xxx: fix ethernet IRQ imbalance in 4.14
Koen Vandeputte [Thu, 11 Jan 2018 15:04:37 +0000 (16:04 +0100)]
cns3xxx: fix ethernet IRQ imbalance in 4.14

Kernel 4.14 contains more warnings regarding NAPI usage, which showed
following warning:

[ 4016.420000] ------------[ cut here ]------------
[ 4016.430000] WARNING: CPU: 1 PID: 14 at kernel/irq/manage.c:525
__enable_irq+0x3c/0x78
[ 4016.440000] Unbalanced enable for IRQ 51
[ 4016.440000] Modules linked in: ath9k ath9k_common pppoe ppp_async
ath9k_hw ath pppox ppp_generic nf_conntrack_ipv6 mac80211 iptable_nat
ipt_REJECT ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat
xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS
xt_REDIRECT xt_LOG slhc nf_reject_ipv4 nf_nat_redirs
[ 4016.500000] CPU: 1 PID: 14 Comm: ksoftirqd/1 Tainted: G        W
       4.14.11 #0
[ 4016.500000] Hardware name: Gateworks Corporation Laguna Platform
[ 4016.510000] Backtrace:
[ 4016.510000] [<c010a28c>] (dump_backtrace) from [<c010a56c>]
(show_stack+0x18/0x1c)
[ 4016.520000]  r7:c059df4b r6:00000000 r5:60000093 r4:00000000
[ 4016.530000] [<c010a554>] (show_stack) from [<c048b04c>]
(dump_stack+0x94/0xb4)
[ 4016.530000] [<c048afb8>] (dump_stack) from [<c011760c>]
(__warn+0xc8/0xf8)
[ 4016.540000]  r7:c059df4b r6:c015144c r5:00000000 r4:cf863e08
[ 4016.550000] [<c0117544>] (__warn) from [<c011767c>]
(warn_slowpath_fmt+0x40/0x48)
[ 4016.550000]  r9:cf863eb0 r8:00000036 r7:00000000 r6:c0636360
r5:00000033 r4:cf80a500
[ 4016.560000] [<c0117640>] (warn_slowpath_fmt) from [<c015144c>]
(__enable_irq+0x3c/0x78)
[ 4016.570000]  r3:00000033 r2:c059e0c5
[ 4016.570000] [<c0151410>] (__enable_irq) from [<c01514ec>]
(enable_irq+0x64/0x7c)
[ 4016.580000] [<c0151488>] (enable_irq) from [<c0335c14>]
(eth_poll+0x28c/0x558)
[ 4016.590000]  r5:d08926c0 r4:cf894488
[ 4016.590000] [<c0335988>] (eth_poll) from [<c03b1718>]
(net_rx_action+0xfc/0x2e8)
[ 4016.600000]  r10:cf863eb8 r9:cf863eb0 r8:00000001 r7:0f7b5000
r6:c0636360 r5:cfdeb360
[ 4016.610000]  r4:cf894488
[ 4016.610000] [<c03b161c>] (net_rx_action) from [<c0101510>]
(__do_softirq+0xe0/0x228)
[ 4016.620000]  r10:00000100 r9:c070204c r8:c0702040 r7:00000003
r6:00000008 r5:40000003
[ 4016.620000]  r4:cf862000
[ 4016.630000] [<c0101430>] (__do_softirq) from [<c011ae28>]
(run_ksoftirqd+0x34/0x58)
[ 4016.630000]  r10:c0133964 r9:00000000 r8:00000001 r7:00000000
r6:c070b44c r5:cf862000
[ 4016.640000]  r4:cf8037e0
[ 4016.640000] [<c011adf4>] (run_ksoftirqd) from [<c0133adc>]
(smpboot_thread_fn+0x178/0x190)
[ 4016.650000] [<c0133964>] (smpboot_thread_fn) from [<c013099c>]
(kthread+0x11c/0x138)
[ 4016.660000]  r9:cf8037e0 r8:cf802cdc r7:cf839df8 r6:cf803800
r5:00000000 r4:cf802cc0
[ 4016.670000] [<c0130880>] (kthread) from [<c0107218>]
(ret_from_fork+0x14/0x3c)
[ 4016.680000]  r10:00000000 r9:00000000 r8:00000000 r7:00000000
r6:00000000 r5:c0130880
[ 4016.680000]  r4:cf803800 r3:cf862000
[ 4016.690000] ---[ end trace 51114df08f429115 ]---

This is triggered by calling eth_schedule_poll(sw) after the IRQ has
been re-enabled.

Rework the network code to only enable IRQ's again if NAPI agrees it's
safe to do so.

Also only re-enable IRQ *after* cleaning up the RX ring and re-enabling
DMA, which otherwise resulted in ugly warnings regarding dirty page
fragments.
These popped up nearly immediately when building the kernel with O2 iso
Os.

--> Note that this change fixes stability issues, at the cost of ~8%
throughput performance.

While at it, also change the iface name being used in warning prints,
making it more obvious: "switch%d" --> "cns3xxx_eth"

The changes have been tested on 4 boards, each moving ~30TB of data

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agocns3xxx: update patches for 4.14
Koen Vandeputte [Thu, 11 Jan 2018 15:04:36 +0000 (16:04 +0100)]
cns3xxx: update patches for 4.14

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agocns3xxx: refresh kernel 4.14 config
Koen Vandeputte [Thu, 11 Jan 2018 15:04:35 +0000 (16:04 +0100)]
cns3xxx: refresh kernel 4.14 config

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agocns3xxx: copy patches for kernel 4.14
Koen Vandeputte [Thu, 11 Jan 2018 15:04:34 +0000 (16:04 +0100)]
cns3xxx: copy patches for kernel 4.14

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agocns3xxx: copy config for kernel 4.14
Koen Vandeputte [Thu, 11 Jan 2018 15:04:33 +0000 (16:04 +0100)]
cns3xxx: copy config for kernel 4.14

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agoconfig: don't define the same symbol twice
Koen Vandeputte [Sat, 13 Jan 2018 20:35:48 +0000 (21:35 +0100)]
config: don't define the same symbol twice

In commit fce35bce0f6e ("config: support new symbol intro'd in kernel
4.12")
I forgot to remove the initial debug test line.

This clearly is wrong as the same symbol is defined conditionally in the
line below as it should be.

I looked over it as I just checked if the symbol was present now upon
testing it.

Fixes: fce35bce0f6e ("config: support new symbol intro'd in kernel
4.12")

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agoar71xx: fix format of the 701-MIPS-ath79-add-routerboard-detection patches
Gabor Juhos [Mon, 15 Jan 2018 22:04:53 +0000 (23:04 +0100)]
ar71xx: fix format of the 701-MIPS-ath79-add-routerboard-detection patches

Commit e15c63a37574 ("ar71xx: add support for MikroTik RouterBOARD wAP
G-5HacT2HnD (wAP AC") broke the format of the patches. In unified diff
format, the unchanged, contextual lines must be preceded by a space
character.

Refresh the patches with quilt to fix them.

Fixes: e15c63a37574 ("ar71xx: add support for MikroTik RouterBOARD wAPG-5HacT2HnD (wAP AC")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2 years agoar71xx: fix format of the 741-MIPS-ath79-add-PCI-for-QCA9556-SoC patches
Gabor Juhos [Mon, 15 Jan 2018 22:04:37 +0000 (23:04 +0100)]
ar71xx: fix format of the 741-MIPS-ath79-add-PCI-for-QCA9556-SoC patches

The patches introduced in commit 20e68f6d395d ("ar71xx: kernel: enable
PCI on QCA9556 SoC") have non standard format. In unified diff format,
the unchanged, contextual lines must be preceded by a space character.

Refresh the patches with quilt to fix them.

Fixes: 20e68f6d395d ("ar71xx: kernel: enable PCI on QCA9556 SoC")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2 years agoar71xx: mach-rbspi: simplify reset button registration
Gabor Juhos [Mon, 15 Jan 2018 19:50:43 +0000 (20:50 +0100)]
ar71xx: mach-rbspi: simplify reset button registration

The setup code defines four individual structures for the
Reset buttons of the supported boards. The only difference
between the definitions is the GPIO number used for the
button.

Replace the different structures with one generic variant,
and add a helper function to simplify the button registration.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2 years agoimx6: add support for the intel gbit driver on GW5520
Koen Vandeputte [Sat, 13 Jan 2018 20:41:59 +0000 (21:41 +0100)]
imx6: add support for the intel gbit driver on GW5520

The Gateworks GW5520 board uses 2x intel gigabit mac's, instead of the
internal i.MX6 FEC.

Add support for these.

Signed-off-by: Scott V. Kamp <outbackdingo@gmail.com>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agomac80211: remove support code for authsae
Felix Fietkau [Fri, 15 Dec 2017 13:46:42 +0000 (14:46 +0100)]
mac80211: remove support code for authsae

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoauthsae: remove package
Felix Fietkau [Fri, 15 Dec 2017 13:45:44 +0000 (14:45 +0100)]
authsae: remove package

It is no longer actively maintained and does not work well in many
configurations. Fully replaced by wpad-mesh

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoipq8065: adjust SS USB PHY power settings
Pavel Kubelun [Wed, 5 Jul 2017 16:23:23 +0000 (19:23 +0300)]
ipq8065: adjust SS USB PHY power settings

According to QSDK ipq8065 has different SS USB PHY power settings.

Adjust it according to QSDK settings.

It also corresponds to oem Netgear R7800 tarball for soc ver >= 2.
https://github.com/paul-chambers/netgear-r7800/blob/eeac2e10190f6f45e32e4c7012c4babc351898d8/git_home/linux.git/sourcecode/arch/arm/mach-msm/board-ipq806x.c#L2494

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2 years agoipq806x: usb: add phy 1 master reset control
Pavel Kubelun [Thu, 15 Jun 2017 10:58:34 +0000 (13:58 +0300)]
ipq806x: usb: add phy 1 master reset control

In current state only phy 0 master reset is controlled.
Add the phy 1 reset.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2 years agoipq806x: usb: Control USB master reset
Pavel Kubelun [Thu, 15 Jun 2017 10:00:18 +0000 (13:00 +0300)]
ipq806x: usb: Control USB master reset

Picking commit from QSDK
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?h=eggplant&id=a86bda9f8a7965f0cedd347a9c04800eb9f41ea3

Commit message:
"During removal of the glue layer(dwc3-of-simple), USB master reset is set to active and during insertion it is de-activated."

Change-Id: I537dc810f6cb2a46664ee674840145066432b957
Signed-off-by: Vasudevan Murugesan <vmuruges@codeaurora.org>
(cherry picked from commit 4611e13580a216812f85f0801b95442d02eeb836)"

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2 years agoipq806x: dwc3: Fix power_on and power_off sequence
Pavel Kubelun [Thu, 15 Jun 2017 08:48:17 +0000 (11:48 +0300)]
ipq806x: dwc3: Fix power_on and power_off sequence

Picking commit from QSDK
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/drivers/phy/phy-qcom-dwc3.c?h=eggplant&id=d316437c9cdb70023a760342678f32e27241725a

The commit fixes:
- dwc3 phy module unloading
- possibly fixes FS#177 when some devices were improperly enumerated as HS while being SS thus stucking the driver during boot.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2 years agoipq806x: Update HSIO recommended usb phy settings
Pavel Kubelun [Thu, 15 Jun 2017 08:35:26 +0000 (11:35 +0300)]
ipq806x: Update HSIO recommended usb phy settings

Picking commit from QSDK
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/drivers/phy/phy-qcom-dwc3.c?h=eggplant&id=cf82fdf4bdd081cd81bb081f7815b915bc8bb851

The comit adjusts USB dwc3 phy default values as per QSDK recomendation and allows to set it through DT.

Commit message:
"SoC version based values will be recovered from the device node.
If device node does not have such values, defaults are applied.

Change-Id: Ia77b5b7fe95ce1a433885df1761091bced98d989
Signed-off-by: Gokul Sriram Palanisamy <gpalan@codeaurora.org>"
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2 years agoRevert "ipq8064: Fix dwc3 module unloading"
Pavel Kubelun [Thu, 15 Jun 2017 07:45:17 +0000 (03:45 -0400)]
Revert "ipq8064: Fix dwc3 module unloading"

Preparing for proper fixes thus reverting commits:
8db079a9ff1756059250b801617a20baba214684 "ipq8064: Fix dwc3 module unloading"
c75f059b0c4d09dd0da60e14c4933a9f645266d1 "ipq8064: Fix dwc3 module unloading"

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2 years agoipq806x: update clk and cpufreq drivers
Pavel Kubelun [Sat, 9 Dec 2017 17:15:05 +0000 (20:15 +0300)]
ipq806x: update clk and cpufreq drivers

A newer clk and cpufreq drivers for ipq806x platform had been sent upstream.

A change that i have noticed is that now it's possible to set min, cur and max frequencies from sysfs (previously it was bugged and caused nothing).

Following patches are removed:
 - 0036-clk-Avoid-sending-high-rates-to-downstream-clocks-du.patch - seems it was dropped from the patchset by current committer.
 - 0044-clk-qcom-krait-Remove-CLK_IS_ROOT.patch - already applied to the driver itself in the corresponding patch.
 - 0057-clk-qcom-Add-regmap-mux-div-clocks-support.patch - seem to be irrelevant to ipq806x.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2 years agoipq806x: force 2nd pci slot into gen1 mode
Pavel Kubelun [Thu, 6 Jul 2017 14:20:18 +0000 (17:20 +0300)]
ipq806x: force 2nd pci slot into gen1 mode

According to QSDK and OEM tarballs (checked c2600, r7500v2, r7800) 2nd pci slot (pci1, 2,4 GHz card)) on ap148 based boards should operate in gen1 mode.
EA8500 is an exception and according to GPL pcie0 should operate in gen1 mode.

In previous commit we've added the support for this option, so enable it in DT for affected devices.

QSDK ref:
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?h=release/endive_preview_cc&id=f3b07fe309027c52fc163149500cedddd707c506

While at it move the phy transmit termination offset value into dtsi file as it's platform specific.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2 years agoipq806x: fix wireless regression
Pavel Kubelun [Fri, 1 Dec 2017 23:26:11 +0000 (02:26 +0300)]
ipq806x: fix wireless regression

In current state there's huge regression on ipq806x target that causes the device to transmit broken/malformed frames that are not corrected/detected by error control mechanisms and other less severe issues.
https://bugs.lede-project.org/index.php?do=details&task_id=1197

This finally had been narrowed down to patch 0071-pcie-qcom-fixes.patch

Meanwhile QSDK contains a handful of commits that add support for ipq806x to upstream qcom pcie driver
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/log/drivers/pci/host/pcie-qcom.c?h=eggplant
Unfortunately qca developers do not bother to push it upstream.

Using those commits instead of lede 0071 patch fixes mentioned issue and probably many others as it seems that corrupted data has been originating within pcie misconfiguration.

Fixes: FS#1197 and probably others
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
2 years agotools/cmake: update to 3.10.1
Hannu Nyman [Fri, 5 Jan 2018 21:30:02 +0000 (23:30 +0200)]
tools/cmake: update to 3.10.1

Update cmake to 3.10.1
Refresh patches

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agotools/scons: update to 3.0.1
Hannu Nyman [Fri, 5 Jan 2018 21:27:17 +0000 (23:27 +0200)]
tools/scons: update to 3.0.1

Update scons to 3.0.1

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agotools/libressl: update to 2.6.4
Hannu Nyman [Fri, 5 Jan 2018 21:22:44 +0000 (23:22 +0200)]
tools/libressl: update to 2.6.4

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoxtables-addons: remove from base
Jo-Philipp Wich [Sun, 14 Jan 2018 19:09:15 +0000 (20:09 +0100)]
xtables-addons: remove from base

The package has been moved to the package feed repository to allow for
non-base dependencies such as Perl.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agonetfilter: enable CONFIG_NF_CONNTRACK_MARK from kmod-nf-conntrack
Jo-Philipp Wich [Sun, 14 Jan 2018 19:06:07 +0000 (20:06 +0100)]
netfilter: enable CONFIG_NF_CONNTRACK_MARK from kmod-nf-conntrack

Unconditionally enable connmark support and tie it to the conntrack core
module to allow removing this kernel configuration dependency from the
xtables-addons package.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agofeeds: switch git.lede-project.org URLs to git.openwrt.org
Jo-Philipp Wich [Tue, 16 Jan 2018 15:59:22 +0000 (16:59 +0100)]
feeds: switch git.lede-project.org URLs to git.openwrt.org

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoiwinfo: update to latest git HEAD
Jo-Philipp Wich [Tue, 16 Jan 2018 13:07:59 +0000 (14:07 +0100)]
iwinfo: update to latest git HEAD

5a5e21b nl80211: skip event notifications in wpa_supplicant scan result reply

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agodnsmasq: use SIGINT for dnssec time valid
Kevin Darbyshire-Bryant [Mon, 15 Jan 2018 12:45:21 +0000 (12:45 +0000)]
dnsmasq: use SIGINT for dnssec time valid

Dnsmasq used SIGHUP to do too many things: 1) set dnssec time validation
enabled, 2) bump SOA zone serial, 3) clear dns cache, 4) reload hosts
files, 5) reload resolvers/servers files.

Many subsystems within LEDE can send SIGHUP to dnsmasq: 1) ntpd hotplug
(to indicate time is valid for dnssec) 2) odhcpd (to indicate a
new/removed host - typically DHCPv6 leases) 3) procd on interface state
changes 4) procd on system config state changes, 5) service reload.

If dnssec time validation is enabled before the system clock has been
set to a sensible time, name resolution will fail.  Because name
resolution fails, ntpd is unable to resolve time server names to
addresses, so is unable to set time.  Classic chicken/egg.

Since commits 23bba9cb330cd298739a16e350b0029ed9429eef (service reload) &
4f02285d8b4a66359a8fa46f22a3efde391b5419 (system config)  make it more
likely a SIGHUP will be sent for events other than 'ntpd has set time'
it is more likely that an errant 'name resolution is failing for
everything' situation will be encountered.

Fortunately the upstream dnsmasq people agree and have moved 'check
dnssec timestamp enable' from SIGHUP handler to SIGINT.

Backport the upstream patch to use SIGINT.
ntpd hotplug script updated to use SIGINT.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agoramips: use blue status LED for Xiaomi Router 3G
Daniel Gimpelevich [Mon, 15 Jan 2018 16:11:54 +0000 (08:11 -0800)]
ramips: use blue status LED for Xiaomi Router 3G

The blue LED is what other firmwares use for this device, and it's a lot
easier on the eyes than its shade of yellow, which implies an error
condition.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
[merge into existing $boardname:blue:status block]
Signed-off-by: Mathias Kresin <dev@kresin.me>
Acked-by: Piotr Dymacz <pepe2k@gmail.com>
Acked-by: Cezary Jackiewicz <cezary@eko.one.pl>
2 years agoramips: add support for TP-Link Archer C20 v4
Maxim Anisimov [Tue, 9 Jan 2018 11:25:53 +0000 (14:25 +0300)]
ramips: add support for TP-Link Archer C20 v4

TP-Link Archer C20 v4 is a router with 5-port FE switch and
non-detachable antennas. It's based on MediaTek MT7628N+MT7610EN.

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

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

Flash instruction:

The only way to flash LEDE image in ArcherC20v4 is to use
tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.0.66/24 and tftp server.
2. Rename "openwrt-ramips-mt7628-ArcherC20v4-squashfs-tftp-recovery.bin"
   to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with one of LAN ports, press the reset button, power up
   the router and keep button pressed for around 6-7 seconds, until
   device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
2 years agoramips: rename TP-Link Archer C20 to TP-Link Archer C20 v1
Maxim Anisimov [Sat, 13 Jan 2018 07:16:20 +0000 (10:16 +0300)]
ramips: rename TP-Link Archer C20 to TP-Link Archer C20 v1

This changes device name from "TP-Link Archer C20" to "TP-Link Archer C20 v1"
because of TPLINK released new TP-Link Archer C20 v4. Additionally
migration to the generic board detection has been made.

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
2 years agoar71xx: fix TP-Link Archer C7 v4 switch LEDs
David Bauer [Sat, 16 Dec 2017 14:43:02 +0000 (15:43 +0100)]
ar71xx: fix TP-Link Archer C7 v4 switch LEDs

Match mapping of the switch LEDs according to the TP-Link
firmware behavior. LAN port 1 triggers the most right LAN LED,
LAN port 2 the second LAN LED from the right and so on.

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoramips: add image checks
Chen Minqiang [Thu, 11 Jan 2018 15:43:09 +0000 (23:43 +0800)]
ramips: add image checks

As long as we can't enforce image metadata, we need to use (platform)
image checks to have at least soem kind of validation.

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
2 years agoipq806x: drop ubifs support
Mathias Kresin [Sun, 14 Jan 2018 22:21:38 +0000 (23:21 +0100)]
ipq806x: drop ubifs support

Ubifs is disabled for all boards except the evaluation boards and the
Fritz!Box 4040 anyway. According the author, the ubifs support for the
Fritz!Box 4040 wasn't enabled on purpose.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoipq806x: drop legacy image leftovers
Mathias Kresin [Sun, 14 Jan 2018 21:20:40 +0000 (22:20 +0100)]
ipq806x: drop legacy image leftovers

Remove leftover code used for legacy images. There are no relevant
binary differences for the images after removing the legacy leftovers.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoipq806x: unset filesystem specific build command by default
Mathias Kresin [Sun, 14 Jan 2018 20:39:42 +0000 (21:39 +0100)]
ipq806x: unset filesystem specific build command by default

Initialise the filesystem specific build command. Otherwise it will be
unintended inherit to following images and will cause a wrong image
format.

The issue is around for ages but was only recently triggered due to the
added support for the Openmesh a42.

Fixes: FS#1276

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoipq806x: remove unnecessary filesystem specific build
Mathias Kresin [Sun, 14 Jan 2018 20:38:08 +0000 (21:38 +0100)]
ipq806x: remove unnecessary filesystem specific build

The Openmesh factory image doesn't need a squashfs specific build command.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoipq806x: use bin file extension for sysupgrade-tar images
Mathias Kresin [Sun, 14 Jan 2018 21:03:41 +0000 (22:03 +0100)]
ipq806x: use bin file extension for sysupgrade-tar images

Use the file extension bin for sysupgrade-tar images to unify the file
extension across the target/tree.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agouqmi: fix raw-ip mode for newer lte modems
Koen Vandeputte [Mon, 27 Nov 2017 17:31:30 +0000 (18:31 +0100)]
uqmi: fix raw-ip mode for newer lte modems

Some newer LTE modems, like the MC7455 or EC25-E do not support
"802.3" mode, and will stay in "raw-ip" regardless of the mode being
set.

In this case, the driver must be informed that it should handle all
packets in raw mode. [1]

This commit fixes connectivity issues for these devices.

Before:

[ Node 5 ] udhcpc -i wwan0
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover

After:

[ Node 5 ] udhcpc -i wwan0
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for 100.66.245.226
udhcpc: lease of 100.66.245.226 obtained, lease time 7200
udhcpc: ifconfig wwan0 100.66.245.226 netmask 255.255.255.252 broadcast
+
udhcpc: setting default routers: 100.66.245.225

[1] https://lists.freedesktop.org/archives/libqmi-
devel/2017-January/002064.html

Tested on cns3xxx using a Sierra Wireless MC7455 LTE-A

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
[bumped PKG_RELEASE]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoar71xx: image: rework EnGenius ENS202EXT factory image
Piotr Dymacz [Mon, 15 Jan 2018 12:30:19 +0000 (13:30 +0100)]
ar71xx: image: rework EnGenius ENS202EXT factory image

Current EnGenius ENS202EXT factory image recipe version causes factory
images of the following devices to be corrupted. This issue wasn't
visible until recent changes of image Makefile snippets order.

Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2 years agotools: make-ext4fs: remove LEDE_GIT references
Jo-Philipp Wich [Sun, 14 Jan 2018 18:02:45 +0000 (19:02 +0100)]
tools: make-ext4fs: remove LEDE_GIT references

Change the make-ext4fs Makefile to use the common PROJECT_GIT
variable instead.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoomap24xx: remove referece to not existing kmod-usb-musb-tusb6010
Jo-Philipp Wich [Mon, 15 Jan 2018 12:09:05 +0000 (13:09 +0100)]
omap24xx: remove referece to not existing kmod-usb-musb-tusb6010

Remove leftover reference to a not existing kmod-usb-musb-tusb6010 from
the omap24xx target, the corresponding module is built into the kernel.

Fixes: 96815fe0a2 ("kernel: remove omap24xx specific kernel module packages")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years ago6rd: pass ipcalc as argument to eval
Hans Dedecker [Sat, 13 Jan 2018 10:05:46 +0000 (11:05 +0100)]
6rd: pass ipcalc as argument to eval

Instead of grepping for NETWORK after calling ipcalc.sh; pass ipcalc.sh as
argument to eval allowing to use $NETWORK to retrieve the IPv4 prefix
(ip4prefix).

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agoar71xx: add support for MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC)
Roger Pueyo Centelles [Mon, 8 Jan 2018 11:55:05 +0000 (12:55 +0100)]
ar71xx: add support for MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC)

This patch adds support for the MikroTik RouterBOARD wAP G-5HacT2HnD (wAP
AC), a small weatherproof dual band, dual-radio 802.11ac wireless AP with
integrated omnidirectional anntennae and one 10/100/1000 Mbps Ethernet
ports.

See https://mikrotik.com/product/RBwAPG-5HacT2HnD for more info.

Specifications:
 - SoC: Qualcomm Atheros QCA9556
 - RAM: 64 MB
 - Storage: 16 MB NOR
 - Wireless:
   · Atheros AR9550 (SoC) 802.11b/g/n 2x2:2, 2 dBi antennae
   · Qualcomm QCA9880 802.11a/n/ac 3x3:3, 2 dBi antennae
 - Ethernet: Atheros AG71xx (SoC, AR8033), 1x 1000/100/10 port, passive
   PoE in

Working:
 - Board/system detection
 - Sysupgrade
 - Serial console
 - Ethernet
 - 2.4 GHz radio
 - 5 GHz radio
 - Reset button

Not working:
 - LEDs (added according to Mikrotik's GPL sources but not functional)

 Unsupported:
 - ZT2046Q SPI temperature and voltage sensor

Contributors: Giuseppe Tipaldi (@Ciusss89)
              Ricky (@rickydee)

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: whitespace fix, use PHYADDR instead of PHYMASK]

2 years agoar71xx: kernel: enable PCI on QCA9556 SoC
Roger Pueyo Centelles [Mon, 8 Jan 2018 11:30:28 +0000 (12:30 +0100)]
ar71xx: kernel: enable PCI on QCA9556 SoC

This patch enables the PCI bus on the QCA9556 SoC, the same way it is
done on the same family SoC QCA9558.

Tested on a MikroTik RouterBoard wAPG-5HacT2HnD (wAP AC).

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
2 years agoramips: add support for ALFA Network AC1200RM
Piotr Dymacz [Sat, 14 Oct 2017 08:44:39 +0000 (10:44 +0200)]
ramips: add support for ALFA Network AC1200RM

ALFA Network AC1200RM is an AC1200 router, with 5-port FE switch and
USB 2.0 port. Device is based on MediaTek MT7620A + MT7612EN.

Specification:

- MT7620A (580 MHz)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 5x 10/100 Mbps Ethernet with passive PoE output in WAN and LAN4
- 2T2R 2.4 GHz (MT7620A)
- 2T2R 5 GHz (MT7612EN)
- 1x USB 2.0
- 9x LED (8 driven by GPIO)
- 1x button (reset)
- DC jack for main power input (12-24 V)
- 2x UART, I2C, I2S and LED headers

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

Select option "2: Load system code then write to Flash via TFTP" and
use "sysupgrade" image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2 years agouboot-envtools: add support for GL.iNet GL-AR750
Piotr Dymacz [Tue, 17 Oct 2017 21:32:11 +0000 (23:32 +0200)]
uboot-envtools: add support for GL.iNet GL-AR750

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>