openwrt/openwrt.git
6 years agomediatek: fix target FPU settings
Felix Fietkau [Tue, 17 Apr 2018 11:43:06 +0000 (13:43 +0200)]
mediatek: fix target FPU settings

This reverts commit 5555545494c876adedf4f0038db49c1d85527e78.
The target supports both NEON and VFPv4, but for this to work properly,
a few more changes are needed:
- enable NEON support in the kernel config
- add the fpu feature flag to the makefile

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agobase-files: /lib/functions.sh: remove unused insert_modules
Matthias Schiffer [Tue, 17 Apr 2018 09:30:59 +0000 (11:30 +0200)]
base-files: /lib/functions.sh: remove unused insert_modules

insert_modules has been unused since r5279.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoramips: fix locking issues in the ethernet driver
Felix Fietkau [Sun, 15 Apr 2018 17:24:42 +0000 (19:24 +0200)]
ramips: fix locking issues in the ethernet driver

The stats update needs to protect against being interrupted by a tasklet
The u64 stats seqlock needs to be initialized

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: mt7620: fix double use of pins
Mathias Kresin [Tue, 17 Apr 2018 06:20:42 +0000 (08:20 +0200)]
ramips: mt7620: fix double use of pins

The pins are used as (LED) GPIOs and can't be used at the same time as
hardware controlled ephy (LED) pins.

Fixes: FS#1500
Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agocurl: Deprecate idn(1) support and switch to xz tarball
Daniel Engberg [Sun, 15 Apr 2018 08:01:31 +0000 (10:01 +0200)]
curl: Deprecate idn(1) support and switch to xz tarball

libidn(1) is deprecated, add libidn2 support
Switch to xz tarball (smaller size)

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
6 years agofstools: update to latest master branch
Rafał Miłecki [Mon, 16 Apr 2018 17:46:35 +0000 (19:46 +0200)]
fstools: update to latest master branch

e243683 libfstools: move mount points when switching to JFFS2
3782b59 libfstools: add "const" to char pointer arguments in mount_move()
79721f0 libfstools: fix foreachdir() to pass dir with a trailing slash

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agonetifd: update to latest git HEAD (coverity fixes)
Hans Dedecker [Mon, 16 Apr 2018 11:08:44 +0000 (13:08 +0200)]
netifd: update to latest git HEAD (coverity fixes)

513eb27 system-linux: check ioctl return value in system_vlan()
df1625d system-linux: check ioctl return value in system_if_flags()
209c508 system-linux: fix segfault on alloc failure in system_if_check()
4a8e20e system-linux: fix segfault on error in system_add_ip6_tunnel()
36e4700 handler: fix resource leak on error in netifd_init_script_handlers()
86a0e7c system-linux: remove unnecessary open call in system_if_dump_info()
1e2cf67 system-linux: fix memory leak on error in system_add_vxlan()

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agokernel: bump 4.14 to 4.14.34
Stijn Tintel [Sun, 15 Apr 2018 21:00:49 +0000 (00:00 +0300)]
kernel: bump 4.14 to 4.14.34

Refresh patches.
Update patches that no longer apply:
- backport/313-netfilter-remove-defensive-check-on-malformed-packet.patch
- pending/642-net-8021q-support-hardware-flow-table-offload.patch

Compile-tested: x86/64.
Runtime-tested: x86/64.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agolldpd: bump to 1.0.1
Stijn Tintel [Sun, 15 Apr 2018 18:41:11 +0000 (21:41 +0300)]
lldpd: bump to 1.0.1

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agonghttp2: bump to 1.31.1
Hans Dedecker [Sun, 15 Apr 2018 18:10:56 +0000 (20:10 +0200)]
nghttp2: bump to 1.31.1

1e22b36c Update manual pages
0f818baf Bump up version number to 1.31.1
c411d169 Fix frame handling

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agomt76: update to the latest version
Felix Fietkau [Sun, 15 Apr 2018 08:21:53 +0000 (10:21 +0200)]
mt76: update to the latest version

1d23142 mt76: add led active low to debugfs
549f43b mt7603: ensure that the ACK flag is set for A-MPDUs with any acked subframe
df9f9f6 mt7603: always try tx rate1 first
9c52f36 mt7603: pull the final rate index from the status descriptor
f36f308 mt7603: improve validation of rx frames
9a23989 mt7603: remove warning on rx with invalid channel info
7a31731 mt76: check for pending reset before attempting to schedule tx
873a7c9 mt7603: call mt76_txq_schedule_all as a barrier to prevent tx during reset
d9e5da3 mt76: add rcu locking in tid reorder function
a8e8921 mt7603: add more checks to avoid dereferencing invalid pointers in wcid lookup

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: remove broken and bogus spinlock in the SPI driver
Felix Fietkau [Sat, 14 Apr 2018 17:52:36 +0000 (19:52 +0200)]
ramips: remove broken and bogus spinlock in the SPI driver

Based on patch by Neil Brown

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: add missing unlock in fe_phy_link_adjust
Felix Fietkau [Sat, 14 Apr 2018 17:48:58 +0000 (19:48 +0200)]
ramips: add missing unlock in fe_phy_link_adjust

Based on patch by Neil Brown

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agobase-files: remove /etc/sysctl.d/ from conffiles
Matthias Schiffer [Fri, 13 Apr 2018 12:36:43 +0000 (14:36 +0200)]
base-files: remove /etc/sysctl.d/ from conffiles

Let's use /etc/sysctl.d for package-provided snippets and leave
/etc/sysctl.conf to the admin. Don't backup /etc/sysctl.d on upgrades, so
old defaults get replaced properly.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoramips: fix usb phy compatible string (should fix FS#1489)
Felix Fietkau [Fri, 13 Apr 2018 11:13:20 +0000 (13:13 +0200)]
ramips: fix usb phy compatible string (should fix FS#1489)

In the new USB phy driver, it checks the compatible string before
attempting to iomap its mem resource and do the extra PHY init

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agobase-files: move netfilter sysctl defaults to specific kmod packages
Matthias Schiffer [Thu, 12 Apr 2018 15:57:44 +0000 (17:57 +0200)]
base-files: move netfilter sysctl defaults to specific kmod packages

Avoid warnings when applying settings for uninstalled kmods. See also
FS#1073.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agobase-files: move sysctl defaults to /etc/sysctl.d/10-default.conf
Matthias Schiffer [Thu, 12 Apr 2018 15:37:29 +0000 (17:37 +0200)]
base-files: move sysctl defaults to /etc/sysctl.d/10-default.conf

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agobase-files: evaluate /etc/sysctl.d/* before /etc/sysctl.conf
Matthias Schiffer [Thu, 12 Apr 2018 15:33:51 +0000 (17:33 +0200)]
base-files: evaluate /etc/sysctl.d/* before /etc/sysctl.conf

We can use /etc/sysctl.d/* for package-supplied sysctl snippets, giving
admins the option to use /etc/sysctl.conf to override settings.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agobase-files: remove /etc/uci-defaults/11_migrate-sysctl
Matthias Schiffer [Thu, 12 Apr 2018 15:30:16 +0000 (17:30 +0200)]
base-files: remove /etc/uci-defaults/11_migrate-sysctl

11_migrate-sysctl has not been updated with new file hashes since 2012.
Let's get rid of it.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoapm821xx: Force Ethernet PHYID on MX60/MX60W
Christian Lamparter [Tue, 10 Apr 2018 15:59:42 +0000 (10:59 -0500)]
apm821xx: Force Ethernet PHYID on MX60/MX60W

The MX60's uboot disables all the PHYs before starting linux.
This causes the PHY/switch detection code to malfunction
almost all of the time. To get around this, set a compatible
flag to force PHYID.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
6 years agoath10k-ct: Update firmware
Ben Greear [Thu, 12 Apr 2018 18:13:55 +0000 (11:13 -0700)]
ath10k-ct: Update firmware

This firmware has only small changes from the last commit, but
it does have an important fix for at least some PTK rekey logic.

The old firmware would have issues if the driver managed to set
a clear key while encryption was 'enabled'.  This new firmware for
both wave-1 and wave-2 should not be susceptible to this type of
bug any more.

And remove mesh-bcast IE flag from wave-2, still need more work before
we can enable that flag in ath10k-ct firmware it seems.

Signed-off-by: Ben Greear <greearb@candelatech.com>
6 years agoipq40xx: unbundle firmware and board file
Mathias Kresin [Thu, 12 Apr 2018 18:48:35 +0000 (20:48 +0200)]
ipq40xx: unbundle firmware and board file

Don't select the firmware with the board file, it prevents an easy use
of the -ct ath10k firmware. Select the firmware within the default
packages instead.

Remove the per device selection of the firmware now that it the
firmware is selected by default.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoipq40xx: add support for Netgear EX6100v2/EX6150v2
David Bauer [Wed, 28 Mar 2018 22:32:38 +0000 (00:32 +0200)]
ipq40xx: add support for Netgear EX6100v2/EX6150v2

Specifications:
SOC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core
RAM: 256 MB Winbond W632GU6KB12J
FLASH: 16 MiB Macronix MX25L12805D
ETH: Qualcomm QCA8072
WLAN1:  Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n/ac 2x2
WLAN2:  Qualcomm Atheros QCA4018 5GHz 802.11n/ac
1x1 (EX6100)
2x2 (EX6150)
INPUT:  Power, WPS, reset button
AP / Range-extender toggle
LED: Power, Router, Extender (dual), WPS, Left-/Right-arrow
SERIAL: Header next to QCA8072 chip.
VCC, TX, RX, GND (Square hole is VCC)
WARNING: The serial port needs a TTL/RS-232 v3.3 level converter!
        The Serial setting is 115200-8-N-1.

Tested and working:
 - Ethernet
 - 2.4 GHz WiFi (Correct MAC-address)
 - 5 GHz WiFi (Correct MAC-address)
 - Factory installation from WebIF
 - Factory installation from tftp
 - OpenWRT sysupgrade (Preserving and non-preserving)
 - LEDs
 - Buttons

Not Working:
 - AP/Extender toggle-switch

Untested:
 - Support on EX6100v2. They share the same GPL-Code and vendor-images.
   The 6100v2 seems to lack one 5GHz stream and differs in the 5GHz
   board-blob. I only own a EX6150v2, therefore i am only able to verify
   functionality on this device.

Install via Web-Interface:
Upload the factory image to the device to the Netgear Web-Interface.
The device might asks you to confirm the update a second time due to
detecting the OpenWRT firmware as older. The device will automatically
reboot after the image is written to flash.

Install via TFTP:
Connect to the devices serial. Hit Enter-Key in bootloader to stop
autobooting. Command "fw_recovery" will start a tftp server, waiting for
a DNI image to be pushed.
Assign your computer the IP-address 192.168.1.10/24. Push image with
tftp -4 -v -m binary 192.168.1.1 -c put <OPENWRT_FACTORY>
Device will erase factory-partition first, then writes the pushed image
to flash and reboots.

Parts of this commit are based on Thomas Hebb's work on the
openwrt-devel mailinglist.

See https://lists.openwrt.org/pipermail/openwrt-devel/2018-January/043418.html

Signed-off-by: David Bauer <mail@david-bauer.net>
6 years agoipq-wifi: Add 8devices Jalapeno
Robert Marko [Fri, 16 Mar 2018 17:09:19 +0000 (18:09 +0100)]
ipq-wifi: Add 8devices Jalapeno

Add custom board-2.bin for 8devices Jalapeno.
Upstreaming is in progress.

Signed-off-by: Robert Marko <robimarko@gmail.com>
6 years agoipq40xx: add support for 8devices Jalapeno
Robert Marko [Wed, 11 Apr 2018 09:14:36 +0000 (11:14 +0200)]
ipq40xx: add support for 8devices Jalapeno

This patch adds support for 8devices Jalapeno.

Specification:
QCA IPQ4018, Quad core ARM v7 Cortex A7 717MHz
256 MB of DDR3 RAM
8 MB of SPI NOR flash
128 MB of Winbond SPI NAND flash
WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11bgn 2:2x2
requires special BDF in QCA4019/hw1.0/board-2.bin with:
bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=8devices-Jalapeno
WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11a/n/ac 2:2x2
requires special BDF in QCA4019/hw1.0/board-2.bin with:
bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=8devices-Jalapeno
ETH: Qualcomm Atheros QCA8072 Gigabit Switch (1 x LAN, 1 x WAN)
phy@mdio3:
Label: eth0
gmac0
phy@mdio4:
Label: eth1
gmac1

Installation instructions:
Since boards ship with old version of LEDE installation is simple.
Just use sysupgrade -n -F sysupgrade.bin

Syuspgrade needs to be forced since OpenWRT uses DT detection in recent
releases.

If you get error that FIT configuration is not found during boot it is
due to older U-boot used on your board.
That is because 8devices used custom FIT configuration partition name
as they internally had v1 and v2 boards.
Only v2 boards are sold so now they are shipping boards with never
U-boot using generic config@1 FIT partition name.

Also for old uboot it is possible to force loading config@1 by changing
uboot environment:

setenv boot5 'bootm 0x84000000#config@1’
saveenv

Signed-off-by: Robert Marko <robimarko@gmail.com>
6 years agohostapd: fix compile of -mini variants
Daniel Golle [Fri, 13 Apr 2018 04:00:03 +0000 (06:00 +0200)]
hostapd: fix compile of -mini variants

Fixes commit d88934aa5a (hostapd: update to git snapshot of 2018-04-09)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 years agomac80211: pass hostapd control socket to mesh-mode supplicant
Daniel Golle [Thu, 12 Apr 2018 23:37:06 +0000 (01:37 +0200)]
mac80211: pass hostapd control socket to mesh-mode supplicant

Unlike when operating in Ad-Hoc mode, we apparently need to pass the
hostapd control socket interface to wpa_supplicant when using 802.11s
mesh mode.

There also seems to still be something wrong with the logic setting
channel and (v)htmode parameters...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 years agohostapd: update to git snapshot of 2018-04-09
Daniel Golle [Thu, 12 Apr 2018 11:07:22 +0000 (13:07 +0200)]
hostapd: update to git snapshot of 2018-04-09

And import patchset to allow 802.11s mesh on DFS channels, see also
http://lists.infradead.org/pipermail/hostap/2018-April/038418.html
Fix sae_password for encryption mesh (sent upstream as well).
Also refreshed existing patches and fixed 463-add-mcast_rate-to-11s.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 years agolibubox: update to latest git HEAD
Hans Dedecker [Thu, 12 Apr 2018 11:57:57 +0000 (13:57 +0200)]
libubox: update to latest git HEAD

6eff829 utils: fix build error with g++

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agokernel: mtd: bcm47xxpart: improve handling TRX partition size
Rafał Miłecki [Thu, 12 Apr 2018 06:25:17 +0000 (08:25 +0200)]
kernel: mtd: bcm47xxpart: improve handling TRX partition size

This is important fix for flash parsing in some corner cases. In case
of TRX subpartition with rootfs being aligned to the flash block size it
was incorrectly registered twice. Detecting & registering it as a
standalone partition was resulting in an incorrect "firmware" partition
size and possibly broken sysupgrade.

It wasn't noticed before because "rootfs" alignment depends on a kernel
size. It can happen though - depending on the configuration and the
kernel size.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agoebtables: update to latest git 2018-04-11
Matthias Schiffer [Thu, 12 Apr 2018 05:34:57 +0000 (07:34 +0200)]
ebtables: update to latest git 2018-04-11

2e783b227766 ebt_ip: add support for matching IGMP type
b5fbb8d786c9 ebt_ip: add support for matching ICMP type and code
c5e5b784fd1a Move ICMP type handling functions from ebt_ip6 to useful_functions.c
11da52177196 include: sync linux/netfilter_bridge/ebt_ip.h with kernel

Note: the new features require at least kernel 4.17 or backported patches.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoinclude/kernel.mk: build kmod packages with empty FILES
Matthias Schiffer [Tue, 10 Apr 2018 07:03:52 +0000 (09:03 +0200)]
include/kernel.mk: build kmod packages with empty FILES

kmod packages without FILES did not have an install step defined, leading
to no package being built. This affected netfilter/iptables packages, which
filter out builtin modules from FILES.

Not building a package that it is selected in .config is problematic, as
the generated empty package may be necessary to satisfy dependencies.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agotools/mpfr: Update to 4.0.1
Daniel Engberg [Mon, 12 Mar 2018 15:59:24 +0000 (16:59 +0100)]
tools/mpfr: Update to 4.0.1

Update mpfr to 4.0.1

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
6 years agotools/cmake: Update to 3.11.0
Daniel Engberg [Wed, 4 Apr 2018 08:02:32 +0000 (10:02 +0200)]
tools/cmake: Update to 3.11.0

Update cmake to 3.11.0
Remove 110-alpine_musl-compat.patch as it's integrated upstream
Rename and refresh patches

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
6 years agopackages/uboot-omap: bugfix: serial using ns16550 fifo not enabled
Alexander Couzens [Wed, 11 Apr 2018 01:17:44 +0000 (03:17 +0200)]
packages/uboot-omap: bugfix: serial using ns16550 fifo not enabled

The serial was working before, but not when doing copy&pasting longer
commands in a short time.

Fixes: a4def18f29e1 ("uboot-omap: Update to u-boot v2017.01")
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
6 years agoomap: kernel update and switch to 4.14
Lucian Cristian [Mon, 19 Feb 2018 13:53:53 +0000 (15:53 +0200)]
omap: kernel update and switch to 4.14

Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
6 years agoar71xx: increase kernel partition size for CPE/WBS 210/510
Matthias Schiffer [Tue, 10 Apr 2018 16:14:41 +0000 (18:14 +0200)]
ar71xx: increase kernel partition size for CPE/WBS 210/510

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agofirmware-utils: tplink-safeloader: move CPE/WBS 210/510 version metainfo to the end
Matthias Schiffer [Tue, 10 Apr 2018 15:26:34 +0000 (17:26 +0200)]
firmware-utils: tplink-safeloader: move CPE/WBS 210/510 version metainfo to the end

Having the metainfo between kernel and rootfs prevents us from resizing
the kernel partition as necessary.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoar71xx: sysupgrade: improve CPE/WBS 210/510 validation, add new metadata offset
Matthias Schiffer [Tue, 10 Apr 2018 16:06:20 +0000 (18:06 +0200)]
ar71xx: sysupgrade: improve CPE/WBS 210/510 validation, add new metadata offset

Previously, tplink_pharos_check_image() would accept any image with ELF
magic and only non-printable data in the support-list, as in this case the
while-read loop would not run at all. Add the new support-list offset and
ensure an image is only accepted when the model string is actually found.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoar71xx: increase kernel partition size for UniFi AP Pro and Outdoor+, enable devices...
Matthias Schiffer [Tue, 10 Apr 2018 13:19:52 +0000 (15:19 +0200)]
ar71xx: increase kernel partition size for UniFi AP Pro and Outdoor+, enable devices again

Tested on UAP Outdoor+.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoar71xx: limit Ethernet speed of UBNT Airmax M (XM) devices to 100Mbit/s
Matthias Schiffer [Tue, 10 Apr 2018 11:00:42 +0000 (13:00 +0200)]
ar71xx: limit Ethernet speed of UBNT Airmax M (XM) devices to 100Mbit/s

Some Airmax devices can establish a Gigabit link even though the MAC only
supports 10/100 MBit/s, leading to broken connectivity. Prevent this from
happening by limiting the speed to 100MBit/s.

Fixes: FS#296
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoiptables: split physdev match out as a separate package
Matthias Schiffer [Mon, 9 Apr 2018 17:41:26 +0000 (19:41 +0200)]
iptables: split physdev match out as a separate package

Split physdev match out of ipt-extra to allow installing ipt-extra without
pulling in br-netfilter.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agokernel: kmod-ebtables: do not depend on kmod-br-netfilter
Matthias Schiffer [Mon, 9 Apr 2018 17:01:56 +0000 (19:01 +0200)]
kernel: kmod-ebtables: do not depend on kmod-br-netfilter

While ebtables can be combined with br-netfilter, there is no good reason
to make it a dependency.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agokernel: unhide kmod-br-netfilter
Matthias Schiffer [Mon, 9 Apr 2018 16:56:53 +0000 (18:56 +0200)]
kernel: unhide kmod-br-netfilter

kmod-br-netfilter is not only a support module, but can be useful on its
own, using the net.bridge.bridge-nf-call-* sysctls.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agokernel: change dependency of kmod-ebtables-* on kmod-ebtables to selecting
Matthias Schiffer [Mon, 9 Apr 2018 16:51:57 +0000 (18:51 +0200)]
kernel: change dependency of kmod-ebtables-* on kmod-ebtables to selecting

Non-selecting dependencies easily lead to Kconfig failures due to recursive
dependencies. We hit such an issue in Gluon; the easiest fix is to make
the dependency selecting.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agodnsmasq: remove example domains from rfc6761.conf (FS#1447)
Hans Dedecker [Mon, 9 Apr 2018 15:19:14 +0000 (17:19 +0200)]
dnsmasq: remove example domains from rfc6761.conf (FS#1447)

RFC6771 does not exclude the forwarding of the example domain as it
states : "Caching DNS servers SHOULD NOT recognize example names as
special and SHOULD resolve them normally."
Example domains cannot be assigned to any user or person by DNS
registrars as they're registered in perpetuity to IANA meaning
they can be resolved; therefore let's remove the example domains
from the rfc6761.conf file.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Mon, 9 Apr 2018 15:13:11 +0000 (17:13 +0200)]
odhcpd: update to latest git HEAD

31f217f router: improve RFC7084 compliancy

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agomt76: update to the latest version
Felix Fietkau [Mon, 9 Apr 2018 08:43:11 +0000 (10:43 +0200)]
mt76: update to the latest version

c66094e mt76x2: fix possible NULL pointer dereferencing in mt76x2_tx()
249fa2d mt76x2: fix warning in ieee80211_get_key_rx_seq()
54d6710 mt76: use mt76_poll_msec routine in mt76pci_load_firmware()
eb359f1 mt76x2: remove unnecessary len variable in mt76x2_eeprom_load()
7e6e00b mt76: initialize available_antennas_{tx,rx} info
6469dca mt76: add mt76_init_stream_cap routine
ced433d mt76x2: add mac80211 {set,get}_antenna callbacks
238f3f1 mt76x2: remove warnings in mt76x2_mac_write_txwi()
880611b mt7603: main: fix warning in ieee80211_get_key_rx_seq()
bc35af8 mt76x2: fix tssi initialization for 5GHz band
700ed20 mt76x2: make mt76x2_mac_reset routine static
6e7d5ce mt76x2: remove unnecessary MT_TX_ALC_CFG_4 configuration
5153ece mt76x2: set default values in TX_ALC_CFG_{1,2} for tempetaure compensation
a3e7740 mt76x2: fix tx_alc_enabled check

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoipq806x: replace linux,part-probe with a proper partitions subnode
Rafał Miłecki [Mon, 9 Apr 2018 05:44:55 +0000 (07:44 +0200)]
ipq806x: replace linux,part-probe with a proper partitions subnode

This solution is more upstream compatible as it only requires specifying
of_match_table in the parser code and doesn't depend on linux,part-probe
which is solution made generic by a LEDE downstream patch that can't be
upstreamed.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Acked-by: John Crispin <john@phrozen.org>
6 years agokernel: use accepted mtd patchset adding support for "compatible" string
Rafał Miłecki [Mon, 9 Apr 2018 05:14:04 +0000 (07:14 +0200)]
kernel: use accepted mtd patchset adding support for "compatible" string

These patches were finally accepted and are already present in the
Linus's tree. This should be good enough to make is "backport" material.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agoramips: rename pwm kernel module
Mathias Kresin [Sun, 8 Apr 2018 09:49:02 +0000 (11:49 +0200)]
ramips: rename pwm kernel module

With kernel 4.14 the OpenWrt specific module name collides with the
upstream added module for Mediatek ARM Socs.

During addition of preliminary support for kernel 4.14, the config
symbol used by the out of tree driver was already renamed but the ramips
kernel package wasn't updated.

Fix the build error by updating the config and kernel module name for
the kernel package.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoramips: add support for Zorlik ZL5900V2
Vianney le Clément de Saint-Marcq [Tue, 3 Apr 2018 23:19:22 +0000 (01:19 +0200)]
ramips: add support for Zorlik ZL5900V2

The Zorlik ZL5900V2 is an unbranded clone of HAME MPR-A1/2.  It is
marketed as "3G Wi-Fi Router".  Only the PCB has the model name
"ZL5900V2" printed on it.

Specifications:
- Ralink RT5350F (360 MHz)
- 32 MB RAM
- 8 MB Flash
- 802.11bgn 1T1R
- 1x 10/100 Mbps Ethernet
- 1x USB 2.0 (Type-A)
- 5200 mAh battery

The ramdisk image (not the squashfs sysupgrade image) can be flashed
through the web interface (named "GoAhead") of the factory firmware.
However, as the factory firmware does not cleanly unmount the rootfs
before flashing, the device may hang instead of rebooting after
successful write.  Power cycling the device gets you in OpenWrt where
the squashfs image may be flashed through normal sysupgrade procedure.

Signed-off-by: Vianney le Clément de Saint-Marcq <code@quartic.eu>
6 years agoramips: add support for the YouHua WR1200JS
Zheng Qian [Thu, 29 Mar 2018 10:33:02 +0000 (18:33 +0800)]
ramips: add support for the YouHua WR1200JS

YouHua tech WR1200JS is an AC1200 router with 5 1Gb ports (4 Lan, 1 Wan)
and 1 USB 2.0 port.

Devices is base on MediaTek MT7621AT + MT7603E + MT7612E.

Specification:

- MT7612AT (880 MHz)
- 128 MB of RAM
- 16 MB of FLASH (SPI NOR)
- 5x 10/100/1000 Mbps Ethernet
- 2T2R 2.4 GHz (MT7603E)
- 2T2R 5 GHz (MT7612E)
- 1x USB 2.0
- 10x LED (Power 2G 5G WPS Internet LAN4-1 USB)
- 3x button (reset wifi wps)
- DC jack for main power input (12V)

Installation:

1.) Press reset key 5 sec and restore the factory default
2.) Login webUI and change username to root and set a
    new password
3.) Visit http://192.168.2.254/adm/telnetd.shtml and
    turn on the telnet service
4.) Copy openwrt-ramips-mt7621-youhua_wr1200js-initramfs-kernel.bin
    to a usb pan
5.) Plug the usb pan to the router, telnet to the router
    and login by root
6.) cd /media/sda1 and check the initramfs file is there
7.) exec command:
    mtd_write write openwrt-ramips-mt7621-youhua_wr1200js-initramfs-kernel.bin Kernel
8.) reboot and visit 192.168.1.1

Signed-off-by: Zheng Qian <sotux82@gmail.com>
6 years agoramips: add dwr-512 jboot firmware configuration
Giuseppe Lippolis [Thu, 5 Apr 2018 16:01:41 +0000 (18:01 +0200)]
ramips: add dwr-512 jboot firmware configuration

The previous fw version require the replacement of the stock bootloader
with u-boot. This prevent an easy stock restore of the original fw.

Now a proper fw util has been developed to manage the stock jboot
bootloader. Therefore make sense have a fw image for the stock
bootloader.

The old fw configuration (u-boot) is not compatible with the new one
and will not be supported anymore.

So at the end 2 image can be generated:

1) factory image with jboot bootloader
     openwrt-ramips-rt305x-dwr-512-b-squashfs-factory.bin
2) sysupgrade image with jboot bootloader
     openwrt-ramips-rt305x-dwr-512-b-squashfs-sysupgrade.bin

Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
6 years agoar8216: reduce latency even further for ar8327 chips
Felix Fietkau [Sun, 8 Apr 2018 07:27:09 +0000 (09:27 +0200)]
ar8216: reduce latency even further for ar8327 chips

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoar8216: reduce latency by inserting scheduling points into code hogging the CPU
Felix Fietkau [Sat, 7 Apr 2018 11:02:08 +0000 (13:02 +0200)]
ar8216: reduce latency by inserting scheduling points into code hogging the CPU

Should reduce network related latency caused by accessing MIB counters

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoramips: fix usbphy DT nodes on linux 4.14
Vianney le Clément de Saint-Marcq [Sat, 7 Apr 2018 12:02:25 +0000 (14:02 +0200)]
ramips: fix usbphy DT nodes on linux 4.14

The Ralink USB PHY driver merged into mainline has a slightly different
device tree binding than the patch that was used with linux 4.9.
The new driver requires a `ralink,sysctl` node pointing to the `syscon`
node.

This patch also sets `#phy-cells` to 0, as recommended by the mainline
documentation [1].

[1] Documentation/devicetree/bindings/phy/ralink-usb-phy.txt

Signed-off-by: Vianney le Clément de Saint-Marcq <code@quartic.eu>
6 years agolibubox: update to the latest version
Felix Fietkau [Sat, 7 Apr 2018 12:47:41 +0000 (14:47 +0200)]
libubox: update to the latest version

42a8ecd jshn: fix format string for int64 type
92009b7 utils: ensure that byte-order conversion functions evaluate the argument only once
ace6489 switch from typeof to the more portable __typeof__

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoRevert "libubox: update to the latest version"
Felix Fietkau [Sat, 7 Apr 2018 13:06:02 +0000 (15:06 +0200)]
Revert "libubox: update to the latest version"

This reverts commit def82714d92d124dc5376c340132392ff7a3d4a5.
Needs further fixes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agolibubox: update to the latest version
Felix Fietkau [Sat, 7 Apr 2018 12:47:41 +0000 (14:47 +0200)]
libubox: update to the latest version

42a8ecd jshn: fix format string for int64 type
92009b7 utils: ensure that byte-order conversion functions evaluate the argument only once

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoar71xx: add support for TP-Link Archer C60 v2
Henryk Heisig [Mon, 15 Jan 2018 05:44:14 +0000 (06:44 +0100)]
ar71xx: add support for TP-Link Archer C60 v2

TP-Link Archer C60 v2 is a dual-band AC1350 router, based on
Qualcomm/Atheros QCA9561 + QCA9886.

Specification:

- 775/650/258 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 2T2R 5 GHz
- 5x 10/100 Mbps Ethernet
- 7x LED, 2x button
- UART header on PCB

Flash instruction (web):

Download lede-ar71xx-generic-archer-c60-v2-squashfs-factory.bin and use
OEM System Tools - Firmware Upgrade site.

Flash instruction (recovery):

1. Set PC to fixed IP address 192.168.0.66
2. Download lede-ar71xx-generic-archer-c60-v2-squashfs-factory.bin and
   rename it to tp_recovery.bin
3. Start a tftp server with the file tp_recovery.bin in its root
   directory
4. Turn off the router
5. Press and hold reset button
6. Turn on router with the reset button pressed and wait ~15 seconds
7. Release the reset button and after a short time the firmware should
   be transferred from the tftp server
8. Wait ~30 second to complete recovery

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

tftp 0x81000000 lede-ar71xx-...-sysupgrade.bin
erase 0x9f030000 +$filesize
cp.b $fileaddr 0x9f030000 $filesize
reset

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
6 years agoar71xx: add support for TP-Link TL-WR940N v6
Robert Marko [Wed, 21 Feb 2018 12:15:17 +0000 (13:15 +0100)]
ar71xx: add support for TP-Link TL-WR940N v6

Add support for TL-WR940N v6 board. It is pretty much the same as v5
except they only left WAN LED and removed other ones.

Installation: flash factory image through WEB UI or use TFTP.

Signed-off-by: Robert Marko <robimarko@gmail.com>
6 years agoar71xx: drop kernel 4.4 support
Piotr Dymacz [Wed, 4 Apr 2018 21:43:51 +0000 (23:43 +0200)]
ar71xx: drop kernel 4.4 support

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: change brand name WHQX to Qxwlan
Peng Zhang [Tue, 27 Feb 2018 09:40:28 +0000 (17:40 +0800)]
ar71xx: change brand name WHQX to Qxwlan

Signed-off-by: Peng Zhang <sd20@qxwlan.com>
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>