openwrt/staging/blocktrron.git
7 years agolantiq: fix ath9k EEPROM data swapping for some devices
Martin Blumenstingl [Sun, 4 Dec 2016 07:26:55 +0000 (08:26 +0100)]
lantiq: fix ath9k EEPROM data swapping for some devices

The EEPROM data in the flash of the ARV7518PW, ARV8539PW22,
BTHOMEHUBV2B and BTHOMEHUBV3A is stored byte-swapped (swab16), meaning
that for example the ath9k base_eep_header fields "version" (high and
low byte), "opCapFlags" and "eepMisc" are swapped (the latter ones are
just 1 byte wide, thus their position is swapped).

The old "ath,eep-endian" property enabled the corresponding swapping
logic in the ath9k driver (swab16 in ath9k_hw_nvram_swap_data, which is
based on the magic bytes in the EEPROM data which have nothing to do
with the calibration data - thus this logic should not be used
anymore).
Since we have switched to the upstream ath9k devicetree bindings there
is no binding anymore which enables swab16 in ath9k (as this logic is
not recommended anymore as explained above), leading to ath9k
initialization errors:
ath: phy0: Bad EEPROM VER 0x0001 or REV 0x00e0
(this shows that the version field is swapped, expected values are VER
0x000E and REV 0x0001)

Swapping the ath9k calibration data when extracting it from the flash
fixes the devices listed above (all other devices do not require
additional swapping, since the position of the fields is already as
expected by ath9k). This allows ath9k to read the version correctly
again, as well as the more important "eepmisc" field (which is used for
determining whether the data inside the EEPROM is Big or Little Endian
which is required to parse the EEPROM contents correctly).

Fixes: a20616863d3 ("lantiq: use ath9k device tree bindings
binding/owl-loader")

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
7 years agobcm53xx: update patch adding fake USB doorbell
Rafał Miłecki [Wed, 7 Dec 2016 08:21:11 +0000 (09:21 +0100)]
bcm53xx: update patch adding fake USB doorbell

Rob suggested I should use of_machine_is_compatible insteak of a new
property and updated patch has been sent.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
7 years agodnsmasq: Fix splitting hostid for DHCPv6 static leases
Arjen de Korte [Mon, 5 Dec 2016 11:53:16 +0000 (12:53 +0100)]
dnsmasq: Fix splitting hostid for DHCPv6 static leases

Correct splitting the 32-bit 'hostid' value to two 16-bit hexadecimal
values. Previously, the lower 16-bit value was truncated to an 8-bit
value, which would result in hostid values 100 and 200 both to be set
to [::0:0] instead of [::0:100] and [::0:200] respectively.

Signed-off-by: Arjen de Korte <build+lede@de-korte.org>
7 years agokernel: backport LED patch which will allow better DT integration
Rafał Miłecki [Tue, 6 Dec 2016 18:48:20 +0000 (19:48 +0100)]
kernel: backport LED patch which will allow better DT integration

It's not used by any driver yet, it may just simplify development and
testing new features.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
7 years agokernel: fix potential crash in usbport LED trigger driver
Rafał Miłecki [Tue, 6 Dec 2016 18:19:53 +0000 (19:19 +0100)]
kernel: fix potential crash in usbport LED trigger driver

This backports upstream accepted fix.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
7 years agoar71xx: fix LEDs and sysupgrade support for TL-WA801ND v3
Matthias Schiffer [Tue, 6 Dec 2016 15:18:49 +0000 (16:18 +0100)]
ar71xx: fix LEDs and sysupgrade support for TL-WA801ND v3

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
7 years agotools/upslug2: add SHA256 hash to use mirror tarball
Felix Fietkau [Mon, 5 Dec 2016 10:37:42 +0000 (11:37 +0100)]
tools/upslug2: add SHA256 hash to use mirror tarball

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agodnsmasq: reload config if host name is modified
Florian Eckert [Wed, 30 Nov 2016 08:08:21 +0000 (09:08 +0100)]
dnsmasq: reload config if host name is modified

If the hostname in /etc/config/system is modified the dnsmasq will not
reread the update host file under /tmp/hosts/dhcp.$cfg.

Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
7 years agoramips: Fix led init script for Lenovo Y1/Y1s
BangLang Huang [Fri, 2 Dec 2016 01:33:23 +0000 (09:33 +0800)]
ramips: Fix led init script for Lenovo Y1/Y1s

This commit fix the led init script for Lenovo Y1 and
Y1S due to the manual and dts file.

Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
7 years agobrcm2708: update linux 4.4 patches to latest version
Álvaro Fernández Rojas [Fri, 2 Dec 2016 10:50:26 +0000 (11:50 +0100)]
brcm2708: update linux 4.4 patches to latest version

As usual these patches were extracted and rebased from the raspberry pi repo:
https://github.com/raspberrypi/linux/tree/rpi-4.4.y

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
7 years agobrcm2708-gpu-fw: update to latest version
Álvaro Fernández Rojas [Thu, 24 Nov 2016 12:27:28 +0000 (13:27 +0100)]
brcm2708-gpu-fw: update to latest version

Also switches hases to SHA256

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
7 years agokernel: bump to 4.4.36
Álvaro Fernández Rojas [Fri, 2 Dec 2016 10:43:17 +0000 (11:43 +0100)]
kernel: bump to 4.4.36

Refresh patches on all 4.4 supported platforms.
Compile & run tested: brcm2708/bcm2710 - Raspberry Pi 3

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
7 years agolibs: libnetfilter-queue: update to a newer version in git repo
Alexandru Ardelean [Tue, 22 Nov 2016 12:11:12 +0000 (14:11 +0200)]
libs: libnetfilter-queue: update to a newer version in git repo

Last release of libnetfilter-queue was in 2012.
There don't seem to be any release tarballs since then.

This updates it to a more recent version, pointing to the git repo.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
7 years agoppp: Split the ppp-up for the IPv6 part
Pierre Lebleu [Thu, 27 Oct 2016 11:38:29 +0000 (13:38 +0200)]
ppp: Split the ppp-up for the IPv6 part

Signed-off-by: Pierre Lebleu <pme.lebleu@gmail.com>
7 years agoorion: make image size errors non-fatal
Felix Fietkau [Thu, 1 Dec 2016 13:42:03 +0000 (14:42 +0100)]
orion: make image size errors non-fatal

Fixes build errors on the generic subtarget

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoorion: Enable CONFIG_MV_XOR
Florian Fainelli [Wed, 30 Nov 2016 01:10:05 +0000 (17:10 -0800)]
orion: Enable CONFIG_MV_XOR

This is helpful for Orion-based NAS boxes that have the XOR engine enabled
since it provides faster software RAID.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoorion: Add uboot-envtools in the default package list
Florian Fainelli [Wed, 30 Nov 2016 01:10:04 +0000 (17:10 -0800)]
orion: Add uboot-envtools in the default package list

Makes sense since most, if not all orion platforms use this bootloader.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agokernel: Add missing kernel config symbol
Florian Fainelli [Wed, 30 Nov 2016 01:10:03 +0000 (17:10 -0800)]
kernel: Add missing kernel config symbol

Add CONFIG_DW_DMAC_PCI

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoorion: Set appropriate DEVICE_TYPE for harddisk target
Florian Fainelli [Wed, 30 Nov 2016 01:10:02 +0000 (17:10 -0800)]
orion: Set appropriate DEVICE_TYPE for harddisk target

The harddisk target is for NAS boxes, so set the DEVICE_TYPE accordingly so we
get a sensible default package selection.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoorion: Switch to kernel 4.4
Florian Fainelli [Wed, 30 Nov 2016 01:10:01 +0000 (17:10 -0800)]
orion: Switch to kernel 4.4

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoorion: Advertise support for RTC
Florian Fainelli [Wed, 30 Nov 2016 01:10:00 +0000 (17:10 -0800)]
orion: Advertise support for RTC

Otherwise, we can't select RTC_SUPPORT and the corresponding kmod-rtc-*
packages.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoorion: Make sub-targets augment FEATURES, not re-define it
Florian Fainelli [Wed, 30 Nov 2016 01:09:59 +0000 (17:09 -0800)]
orion: Make sub-targets augment FEATURES, not re-define it

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agokernel: add kernel package for the rs5c372a rtc module
Florian Fainelli [Wed, 30 Nov 2016 01:09:58 +0000 (17:09 -0800)]
kernel: add kernel package for the rs5c372a rtc module

This RTC is used on the Buffalo Terastation Pro II/Live devices.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoorion: Build images for Buffalo Terastation Pro II/Live
Florian Fainelli [Wed, 30 Nov 2016 01:09:57 +0000 (17:09 -0800)]
orion: Build images for Buffalo Terastation Pro II/Live

Enable support for this machine in the kernel and also produce valid image
files with the correct machine id.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoorion: Add support for 4.4 kernel
Florian Fainelli [Wed, 30 Nov 2016 01:09:56 +0000 (17:09 -0800)]
orion: Add support for 4.4 kernel

Patches and configuration apply just fine on the Marvell Orion target.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoorion: Fold DT2 setup files into patch
Florian Fainelli [Wed, 30 Nov 2016 01:09:55 +0000 (17:09 -0800)]
orion: Fold DT2 setup files into patch

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoinclude/kernel: Switch to git download method
Florian Fainelli [Wed, 9 Nov 2016 17:34:18 +0000 (09:34 -0800)]
include/kernel: Switch to git download method

Utilize the existing git download logic from include/download.mk and migrate
the kernel download over to it. This avoids repeatedly cloning kernel sources
after a make target/linux/clean for instance.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [fix build error]
7 years agoinclude/download.mk: Allow specify DownloadMethod specific options
Florian Fainelli [Wed, 9 Nov 2016 17:34:17 +0000 (09:34 -0800)]
include/download.mk: Allow specify DownloadMethod specific options

This is going to be used to migrate the hand rolled git clone for the kernel
into using the git download method. The kernel uses custom options that we may
have to pass down.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agokernel: Add check to of_scan_flat_dt() before accessing initial_boot_params
Felix Fietkau [Wed, 30 Nov 2016 16:00:14 +0000 (17:00 +0100)]
kernel: Add check to of_scan_flat_dt() before accessing initial_boot_params

Fixes a bug that affects rt288x

Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agokernel: Fix alloc_node_mem_map with ARCH_PFN_OFFSET
Felix Fietkau [Wed, 30 Nov 2016 15:58:41 +0000 (16:58 +0100)]
kernel: Fix alloc_node_mem_map with ARCH_PFN_OFFSET

Fixes a bug that affects rt288x

Signed-off-by: Tobias Wolf <github-NTEO@vplace.de>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: set GPIO reset line for Ubiquiti NanoStation Loco XW
Felix Fietkau [Wed, 30 Nov 2016 10:56:48 +0000 (11:56 +0100)]
ar71xx: set GPIO reset line for Ubiquiti NanoStation Loco XW

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: add support for configuring at803x PHY GPIO reset via platform data
Felix Fietkau [Wed, 30 Nov 2016 10:55:39 +0000 (11:55 +0100)]
ar71xx: add support for configuring at803x PHY GPIO reset via platform data

Needed to work around ethernet hang issues on Ubiquiti NanoStation Loco XW,
because ar71xx is not converted to device tree yet.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agokernel: add support for the AT8032 PHY
Felix Fietkau [Wed, 30 Nov 2016 10:34:32 +0000 (11:34 +0100)]
kernel: add support for the AT8032 PHY

This PHY is used on the Ubiquiti Networks NanoStation Loco XW

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agokernel: backport some upstream at803x fixes
Felix Fietkau [Tue, 29 Nov 2016 16:55:41 +0000 (17:55 +0100)]
kernel: backport some upstream at803x fixes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoramips: prevent packet forwarding on mt7620 between switch ports during init (FS...
Felix Fietkau [Tue, 29 Nov 2016 10:59:48 +0000 (11:59 +0100)]
ramips: prevent packet forwarding on mt7620 between switch ports during init (FS#103)

By default, forwarding between all ports is allowed on init. This is
problematic in cases where some ports are supposed to be isolated from
each other, most commonly LAN/WAN separation.

REG_ESW_PORT_PCR(port) has a destination mask for a particular port,
controlling what other ports it is allowed to send packets to.
Instead of initializing all to 0xff (all ports), allow each physical
port to send to the CPU port, and the CPU port to send to all other
ports.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agobase-files: add a hint in sysupgrade that shows what to do when the image metadata...
Felix Fietkau [Sat, 26 Nov 2016 17:43:59 +0000 (18:43 +0100)]
base-files: add a hint in sysupgrade that shows what to do when the image metadata check fails

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoramips: fix LAN port order of WeVO W2914NS v2
Yong-hyu, Ban [Sat, 3 Dec 2016 11:44:18 +0000 (20:44 +0900)]
ramips: fix LAN port order of WeVO W2914NS v2

Signed-off-by: Yong-hyu, Ban <perillamint@gentoo.moe>
7 years agoramips: fix PBR-D1 button definition
BangLang Huang [Fri, 2 Dec 2016 01:13:46 +0000 (09:13 +0800)]
ramips: fix PBR-D1 button definition

Due to the product specification, the button on PBR-D1 should be
reset, not wps.

Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
7 years agoramips: add support for PCI based OHCI/EHCI support for F5D8235 V1
Tobias Wolf [Fri, 18 Nov 2016 14:52:38 +0000 (15:52 +0100)]
ramips: add support for PCI based OHCI/EHCI support for F5D8235 V1

This router uses an PCI attached NEC EHCI controller to support the single USB port.

Signed-off-by: Tobias Wolf <github-NTEO@vplace.de>
7 years agoramips: introduce CONFIG_PCI and CONFIG_OF_*PCI for rt288x
Tobias Wolf [Tue, 15 Nov 2016 21:31:16 +0000 (22:31 +0100)]
ramips: introduce CONFIG_PCI and CONFIG_OF_*PCI for rt288x

This is a prerequisite for F5D8235 V1 to use PCI based OHCI/EHCI.

Signed-off-by: Tobias Wolf <github-NTEO@vplace.de>
7 years agoramips: improve F5D8235 V1 support
Tobias Wolf [Thu, 1 Dec 2016 14:08:22 +0000 (15:08 +0100)]
ramips: improve F5D8235 V1 support

This fixes the partition name for the firmware splitter, the cfi
address and adds the mtd-eeprom address for wmac. It adds additional
LEDs and make use of them in diag.sh and 01_leds.

Please note that the ":blue:wired" LED is used because the
":blue:router" behaviour is unpredictable for failsafe indication. The
issue with the router LED is that you have two states only.
"off" is steady on and "on" blinks. Therefore the wired LED is more
suitable.

Furthermore it reuses the correct switch configuration definition to
reflect the device ports and numbering. Additionally fixes the issue
that the default configuration is not applied as no port 6 exists on
this device.

Signed-off-by: Tobias Wolf <github-NTEO@vplace.de>
7 years agomvebu: fix sysupgrade for Linksys WRT3200ACM
Vignesh Balasubramaniam [Tue, 29 Nov 2016 17:53:13 +0000 (12:53 -0500)]
mvebu: fix sysupgrade for Linksys WRT3200ACM

sysupgrade command fails due to missing U-Boot environment-processing
binaries on sysupgrade ramdisk. The missing binaries result in the
following output:

Switching to ramdisk...
Performing system upgrade...
ash: /usr/sbin/fw_printenv: not found
ash: fw_setenv: not found
ash: touch: not found
cannot find target partition

Signed-off-by: Vignesh Balasubramaniam <vigneshb.hp@gmail.com>
7 years agomvebu: fix image validation error
Mathias Kresin [Thu, 1 Dec 2016 07:57:25 +0000 (08:57 +0100)]
mvebu: fix image validation error

The name from the Device define will be used in the metadata. Due to
typo/different spelling, this name might not match the one exported in
/lib/mvebu.sh.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agolantiq: fix image validation errors
Mathias Kresin [Thu, 1 Dec 2016 06:29:49 +0000 (07:29 +0100)]
lantiq: fix image validation errors

The boards did not have the name set that is expected during metadata
validation on sysupgrade.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agocyassl: update to wolfssl version 3.9.10
Hauke Mehrtens [Sat, 3 Dec 2016 20:33:48 +0000 (21:33 +0100)]
cyassl: update to wolfssl version 3.9.10

This fixes the following security problems:
CVE-2016-7440: Software AES table lookups do not properly consider cache-bank access times
CVE-2016-7439: Software RSA does not properly consider cache-bank monitoring
CVE-2016-7438: Software ECC does not properly consider cache-bank monitoring
SWEET32 Attack

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 years agovalgrind: update to 3.12.0
Hauke Mehrtens [Sat, 1 Oct 2016 17:54:22 +0000 (19:54 +0200)]
valgrind: update to 3.12.0

Support for MIPS toolchains without FPU support was added upstream,
so remove our patch.

patches/310-mips-link-tool.patch was a backport form this version of valgrind
src/abort.c is not referenced anywhere

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 years agocurl: update to version 7.51.0
Hauke Mehrtens [Sat, 3 Dec 2016 15:07:47 +0000 (16:07 +0100)]
curl: update to version 7.51.0

This fixes the following security problems:
CVE-2016-8615: cookie injection for other servers
CVE-2016-8616: case insensitive password comparison
CVE-2016-8617: OOB write via unchecked multiplication
CVE-2016-8618: double-free in curl_maprintf
CVE-2016-8619: double-free in krb5 code
CVE-2016-8620: glob parser write/read out of bounds
CVE-2016-8621: curl_getdate read out of bounds
CVE-2016-8622: URL unescape heap overflow via integer truncation
CVE-2016-8623: Use-after-free via shared cookies
CVE-2016-8624: invalid URL parsing with '#'
CVE-2016-8625: IDNA 2003 makes curl use wrong host

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 years agombedtls: update to version 2.4.0
Hauke Mehrtens [Sat, 3 Dec 2016 15:07:31 +0000 (16:07 +0100)]
mbedtls: update to version 2.4.0

This fixes two minor security problems.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 years agopolarssl: update to version 1.3.18
Hauke Mehrtens [Sat, 3 Dec 2016 15:07:14 +0000 (16:07 +0100)]
polarssl: update to version 1.3.18

This fixes two minor security problems.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 years agoscripts: getver.sh: append Git short hash to revision
Jo-Philipp Wich [Fri, 2 Dec 2016 11:07:19 +0000 (12:07 +0100)]
scripts: getver.sh: append Git short hash to revision

Change getver.sh to append a short Git commit hash to the end of the artifical
revision number. This way we still have order- and comparable commit numbers
but also a direct relation to the Git commit.

The new output format will look like "r2400+2-882472e" for dirty trees or like
"r2402-882472e" for clean ones.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years agobuild: adjust version number handling
Jo-Philipp Wich [Thu, 1 Dec 2016 16:40:43 +0000 (17:40 +0100)]
build: adjust version number handling

Move the revision info to the VERSION_CODE variable and default VERSION_NUMBER
to CURRENT for master branch builds.

Also introduce a new menuconfig option CONFIG_VERSION_CODE which allows users
to override the revision value put into VERSION_CODE and adjust the template
files used by the base-files package to accomodate for the changed semantics.

While we're at it, also adjust the various URLs to match the current web site.

After this commit, the relevent files will look like the examples given below:

    # cat /etc/openwrt_version
    r2398+1

    # cat /etc/openwrt_release
    DISTRIB_ID='LEDE'
    DISTRIB_RELEASE='CURRENT'
    DISTRIB_REVISION='r2398+1'
    DISTRIB_CODENAME='reboot'
    DISTRIB_TARGET='x86/64'
    DISTRIB_DESCRIPTION='LEDE Reboot CURRENT r2398+1'
    DISTRIB_TAINTS='no-all override'

    # cat /usr/lib/os-release
    NAME="LEDE"
    VERSION="CURRENT, Reboot"
    ID="lede"
    ID_LIKE="lede openwrt"
    PRETTY_NAME="LEDE Reboot CURRENT"
    VERSION_ID="current"
    HOME_URL="http://lede-project.org/"
    BUG_URL="http://bugs.lede-project.org/"
    SUPPORT_URL="http://forum.lede-project.org/"
    BUILD_ID="r2398+1"
    LEDE_BOARD="x86/64"
    LEDE_TAINTS="no-all override"
    LEDE_DEVICE_MANUFACTURER="LEDE"
    LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/"
    LEDE_DEVICE_PRODUCT="Generic"
    LEDE_DEVICE_REVISION="v0"
    LEDE_RELEASE="LEDE Reboot CURRENT r2398+1"

On a release branch, those files would look like:

    # cat /etc/openwrt_version
    r2399

    # cat /etc/openwrt_release
    DISTRIB_ID='LEDE'
    DISTRIB_RELEASE='16.12-CURRENT'
    DISTRIB_REVISION='r2399'
    DISTRIB_CODENAME='test_release'
    DISTRIB_TARGET='x86/64'
    DISTRIB_DESCRIPTION='LEDE Test Release 16.12-CURRENT r2399'
    DISTRIB_TAINTS='no-all override'

    # cat /usr/lib/os-release
    NAME="LEDE"
    VERSION="16.12-CURRENT, Test Release"
    ID="lede"
    ID_LIKE="lede openwrt"
    PRETTY_NAME="LEDE Test Release 16.12-CURRENT"
    VERSION_ID="16.12-current"
    HOME_URL="http://lede-project.org/"
    BUG_URL="http://bugs.lede-project.org/"
    SUPPORT_URL="http://forum.lede-project.org/"
    BUILD_ID="r2399"
    LEDE_BOARD="x86/64"
    LEDE_TAINTS="no-all override"
    LEDE_DEVICE_MANUFACTURER="LEDE"
    LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/"
    LEDE_DEVICE_PRODUCT="Generic"
    LEDE_DEVICE_REVISION="v0"
    LEDE_RELEASE="LEDE Test Release 16.12-CURRENT r2399"

On a release tag, those files would look like:

    # cat /etc/openwrt_version
    r2500

    # cat /etc/openwrt_release
    DISTRIB_ID='LEDE'
    DISTRIB_RELEASE='17.02.1'
    DISTRIB_REVISION='r2500'
    DISTRIB_CODENAME='mighty_unicorn'
    DISTRIB_TARGET='x86/64'
    DISTRIB_DESCRIPTION='LEDE Mighty Unicorn 17.02.1 r2500'
    DISTRIB_TAINTS='no-all override'

    # cat /usr/lib/os-release
    NAME="LEDE"
    VERSION="17.02.1, Mighty Unicorn"
    ID="lede"
    ID_LIKE="lede openwrt"
    PRETTY_NAME="LEDE Mighty Unicorn 17.02.1"
    VERSION_ID="17.02.1"
    HOME_URL="http://lede-project.org/"
    BUG_URL="http://bugs.lede-project.org/"
    SUPPORT_URL="http://forum.lede-project.org/"
    BUILD_ID="r2500"
    LEDE_BOARD="x86/64"
    LEDE_TAINTS="no-all override"
    LEDE_DEVICE_MANUFACTURER="LEDE"
    LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/"
    LEDE_DEVICE_PRODUCT="Generic"
    LEDE_DEVICE_REVISION="v0"
    LEDE_RELEASE="LEDE Mighty Unicorn 17.02.1 r2500"

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Acked-by: Felix Fietkau <nbd@nbd.name>
7 years agoprocd: update to the latest version, fixes killing jailed processes
Felix Fietkau [Fri, 2 Dec 2016 12:55:12 +0000 (13:55 +0100)]
procd: update to the latest version, fixes killing jailed processes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agolibubox: update to the latest version
Felix Fietkau [Thu, 1 Dec 2016 19:13:48 +0000 (20:13 +0100)]
libubox: update to the latest version

- Improves C++ compatibility
- Adds static initializers for the kvlist API

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoramips: fix sdhci support on mt7621
John Crispin [Thu, 1 Dec 2016 17:29:50 +0000 (18:29 +0100)]
ramips: fix sdhci support on mt7621

the IRQ level was wrong. refresh the patch while at it.

Signed-off-by: John Crispin <john@phrozen.org>
7 years agotools: cmake: fix compatibility with LibreSSL as well
Jo-Philipp Wich [Thu, 1 Dec 2016 15:32:39 +0000 (16:32 +0100)]
tools: cmake: fix compatibility with LibreSSL as well

Sadly, LibreSSL claims to be OpenSSL v2.0.0 while not providing the new
interfaces introduced with OpenSSL v1.1.x, so extend the pre-OpenSSL 1.1.x
compat checks to consider LibreSSL as well.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years agoramips: RB750Gr3: Add pwr LED and buzzer to DTS
Andrew Yong [Sat, 26 Nov 2016 14:15:21 +0000 (22:15 +0800)]
ramips: RB750Gr3: Add pwr LED and buzzer to DTS

use pwr LED in diag.sh
Expose unused pinmux pins as GPIOs
export power LED and buzzer pins
Use rb750gr3:blue:pwr LED in diag.sh for boot status instead of rb750gr3:green:usr

Signed-off-by: Andrew Yong <me@ndoo.sg>
7 years agoipq806x: add thermal sensor driver
dissent1 [Sat, 5 Nov 2016 13:15:33 +0000 (16:15 +0300)]
ipq806x: add thermal sensor driver

Allows to check cpu temperature.

Huge thanks to @hnyman for valuable assistance!

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
7 years agoipq806x: increase coherent dma pool size
Pavel Kubelun [Tue, 15 Nov 2016 18:28:36 +0000 (21:28 +0300)]
ipq806x: increase coherent dma pool size

Cherry-picked and rebased from
https://source.codeaurora.org/quic/qsdk/system/openwrt/tree/?h=korg/linux-3.4.y/release/arugula_bb_cs

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
7 years agoipq806x: add enable reg and masks for PRNG
Pavel Kubelun [Tue, 15 Nov 2016 16:27:55 +0000 (19:27 +0300)]
ipq806x: add enable reg and masks for PRNG

Cherry-picked from https://source.codeaurora.org/quic/qsdk/system/openwrt/tree/?h=korg/linux-3.4.y/release/arugula_bb_cs

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
7 years agonet: ar8327: modify some configuration of switch
Pavel Kubelun [Thu, 12 Feb 2015 01:49:08 +0000 (09:49 +0800)]
net: ar8327: modify some configuration of switch

Imported from https://source.codeaurora.org/quic/qsdk/system/openwrt/commit/?h=korg/linux-3.4.y/release/arugula_bb_cs&id=2be4f8a8b205ae1a37db44839864451ebe893e6e
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Enable flow control of LAN and WAN ports to
get better performance.
Setup pvid as 0 for all ports during initialisation
to avoid confusion during system or switch INIT.
Disable PORT MAC before config MAC to avoid it work abnormal.
This change is for IR-054144, IR-057315.

Change-Id: I345f3dffa59ad3f97150e09692723da12a7b1067
Signed-off-by: Zou Shunxiang <shunxian@codeaurora.org>
Signed-off-by: xiaofeis <xiaofeis@codeaurora.org>
7 years agonet: ar8216: address security vulnerabilities in swconfig & ar8216
Pavel Kubelun [Mon, 28 Nov 2016 15:10:05 +0000 (18:10 +0300)]
net: ar8216: address security vulnerabilities in swconfig & ar8216

Imported from https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e1aaf7ec008a97311867f0a7d0418e4693fecfd4%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
CHROMIUM: net: ar8216: address security vulnerabilities in swconfig & ar8216

This patch does the following changes:
*address the security vulnerabilities in both swconfig framework and in
 ar8216 driver (many bound check additions, and turned swconfig structure
 signed element into unsigned when applicable)
*address a couple of whitespaces and indendation issues

BUG=chrome-os-partner:33096
TEST=none

Change-Id: I94ea78fcce8c1932cc584d1508c6e3b5dfb93ce9
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/236490
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Commit-Queue: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
7 years agonet: ar8216: prevent device duplication in ar8xxx_dev_list
Pavel Kubelun [Mon, 28 Nov 2016 12:31:38 +0000 (15:31 +0300)]
net: ar8216: prevent device duplication in ar8xxx_dev_list

Import from https://chromium.googlesource.com/chromiumos/third_party/kernel/+/fd7b89dd464a4afffa04ff2e17c771dfe95668cf%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
CHROMIUM: drivers: ar8216: prevent device duplication in ar8xxx_dev_list

If probe is called twice, once for PHY0 and a second time for PHY4,
the same switch device will be added twice to ar8xxx_dev_list, while
supposedly this list should have one element per hardware switch present
in the system.

While no negative impact have been observed, it does happen if a
platform instanciates these two PHYs from device-tree, as an example.

Change-Id: Iddcbdf7d4adacb0af01975b73f8e56b4582e894e
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/234790
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
7 years agonet: ar8216: hold ar8xxx_dev_list_lock during use_count--
Pavel Kubelun [Mon, 28 Nov 2016 12:21:42 +0000 (15:21 +0300)]
net: ar8216: hold ar8xxx_dev_list_lock during use_count--

Import from https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c3fd96a7b87da23979d8569ce45447f8419ca303%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
CHROMIUM: drivers: ar8216: hold ar8xxx_dev_list_lock during use_count--

It is possible for the remove() callback to run twice in parallel, which
could result into --use_count returning only 1 in both cases and the
rest of the unregistration path to never be reached.

This case has never been observed in practice, but we will fix
preventively to make the code more robust.

BUG=chrome-os-partner:33096
TEST=none

Change-Id: If09abe27fdb2037f514f8674418bafaab3cbdef6
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/232870
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
7 years agonet: ar8327: replace sprintf() by scnprintf()
Pavel Kubelun [Mon, 28 Nov 2016 12:14:50 +0000 (15:14 +0300)]
net: ar8327: replace sprintf() by scnprintf()

Import from https://chromium.googlesource.com/chromiumos/third_party/kernel/+/fd0c41c7b9327ce003f44df38ce42556fb177b17%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
CHROMIUM: drivers: ar8216: replace sprintf() by scnprintf()

BUG=chrome-os-partner:33096
TEST=none

Change-Id: Ib82035c9f2769a86d3e90f9573a09e5700ff5676
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/232829
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
7 years agonet: ar8327: remove unnecessary spinlocks
Pavel Kubelun [Mon, 28 Nov 2016 12:11:14 +0000 (15:11 +0300)]
net: ar8327: remove unnecessary spinlocks

Import from https://chromium.googlesource.com/chromiumos/third_party/kernel/+/541c15f8dd02ddce07e0a462a0c2572d8398bccc%5E%21/#F0
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
CHROMIUM: drivers: ar8216: remove unnecessary spinlocks

BUG=chrome-os-partner:33096
TEST=none

Change-Id: Ia1b51258504501863fd3298717cc923a1baf34ca
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/232828
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
7 years agonet: ar8216: sync mib_work cancellation
Pavel Kubelun [Mon, 28 Nov 2016 11:58:39 +0000 (14:58 +0300)]
net: ar8216: sync mib_work cancellation

Import from https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c05af20272059e149e2da2e1fa1fbd90c03ec979
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
CHROMIUM: drivers: ar8216: sync mib_work cancellation

ar8xxx_mib_stop() is called from ar8xxx_phy_remove(), so we want to make
sure the work doesn't run after priv is freed / the device ceases to
exist.

BUG=chrome-os-partner:33096
TEST=none

Change-Id: Iafb44ce93a87433adc4576e5fea5fda58d1f43a9
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Reviewed-on: https://chromium-review.googlesource.com/232827
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Toshi Kikuchi <toshik@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Toshi Kikuchi <toshik@chromium.org>
7 years agoipq806x: refactor rpm clock controller patches
Pavel Kubelun [Wed, 23 Nov 2016 15:53:52 +0000 (18:53 +0300)]
ipq806x: refactor rpm clock controller patches

RPM clock controller driver had made its way upstream and previous
approach of directly redoing a driver to support ipq806x is a no go anymore.

Thus reverting mentioned patches to upstream state and renaming
in correct patch numbering accordance.

To make the driver work on ipq806x boards we introduce a custom patch.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
7 years agotools: cmake: import another upstream commit for OpenSSL backwards compatibility
Jo-Philipp Wich [Thu, 1 Dec 2016 14:27:07 +0000 (15:27 +0100)]
tools: cmake: import another upstream commit for OpenSSL backwards compatibility

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years agokernel: add missing config symbols
Felix Fietkau [Thu, 1 Dec 2016 13:52:39 +0000 (14:52 +0100)]
kernel: add missing config symbols

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agotools: cmake: import upstream patch for OpenSSL 1.1.x compatibility
Jo-Philipp Wich [Thu, 1 Dec 2016 13:47:30 +0000 (14:47 +0100)]
tools: cmake: import upstream patch for OpenSSL 1.1.x compatibility

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years agoxtables-addons: add CONFIG_NF_CONNTRACK_MARK=y to all kmod-* packages
Felix Fietkau [Thu, 1 Dec 2016 13:23:05 +0000 (14:23 +0100)]
xtables-addons: add CONFIG_NF_CONNTRACK_MARK=y to all kmod-* packages

Not all kmod packages depends on kmod-ipt-compat-xtables, but this
kernel config option is required for building the whole package

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoe2fsprogs: avoid picking up incompatible libcom_err.so
Jo-Philipp Wich [Wed, 30 Nov 2016 22:25:17 +0000 (23:25 +0100)]
e2fsprogs: avoid picking up incompatible libcom_err.so

Commit 2728512 ("e2fsprogs: List all libraries explicitly") forced the
e2fsprogs build system to link libcom_err.so in various places.

Unfortunately, the krb5 package also ships a libcom_err.so with a totally
different ABI and puts it into the global staging directory which causes
e2fsprogs to pick up this wrong library, leading to the following failure:

     LD blkid
    ../lib/libext2fs.so: undefined reference to `_et_list'
    collect2: error: ld returned 1 exit status
    Makefile:504: recipe for target 'blkid' failed

Change the SYSLIBS specification to explicitely link libcom_err.so.0.0
which in order to work around the problem.

In the long run, the libcom_err clash between e2fsprogs and krb5 needs to
be solved properly.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years agomkimage: fix openssl 1.1.x compat fix with libressl
Felix Fietkau [Wed, 30 Nov 2016 19:24:31 +0000 (20:24 +0100)]
mkimage: fix openssl 1.1.x compat fix with libressl

libressl sets OPENSSL_VERSION_NUMBER to 0x20000000L, which breaks API
checks based on it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agotools: mkimage: fix build with OpenSSL 1.1.x (FS#182)
Jo-Philipp Wich [Wed, 30 Nov 2016 17:09:05 +0000 (18:09 +0100)]
tools: mkimage: fix build with OpenSSL 1.1.x (FS#182)

The OpenSSL 1.1.x version series undergone some major API changes which made
the RSA structure opaque and deprecated a number of methods, so add some
conditional compat code to make the u-boot source build again.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years agortc-rv5c386a: fix include path for bcm47xx_nvram.h
Felix Fietkau [Wed, 30 Nov 2016 11:37:15 +0000 (12:37 +0100)]
rtc-rv5c386a: fix include path for bcm47xx_nvram.h

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agodocs: remove all refrences in Makefiles/scripts
Mathias Kresin [Wed, 30 Nov 2016 09:00:41 +0000 (10:00 +0100)]
docs: remove all refrences in Makefiles/scripts

The SDK Makefile still trys to copy the docs folder which was removed
with 882f4d2d63272abce8c1966983aa10178e2e971f. This causes an SDK build
error.

All other removals are just cleanup.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agobase-files: add a wrapper for init scripts in profile
Alberto Bursi [Mon, 28 Nov 2016 11:48:59 +0000 (12:48 +0100)]
base-files: add a wrapper for init scripts in profile

"service" is a simple wrapper that will allow to call init.d scripts

current method:     #  /etc/init.d/network reload
with the wrapper:   #  service network reload

If the wrapper is called without arguments or with a wrong init script name, it will print an error and list the content of /etc/init.d/ folder

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
7 years agokernel: bump to 4.4.35
Kevin Darbyshire-Bryant [Mon, 21 Nov 2016 18:18:47 +0000 (18:18 +0000)]
kernel: bump to 4.4.35

Refresh patches on all 4.4 supported platforms.

077-0005-bgmac-stop-clearing-DMA-receive-control-register-rig.patch
removed as now upstream.

Compile & run tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
7 years agodocs: deleting docs because they are obsolete
Alberto Bursi [Mon, 28 Nov 2016 19:28:12 +0000 (20:28 +0100)]
docs: deleting docs because they are obsolete

the docs in /docs folder are pretty much obsolete and in a not very friendly format (latex, that requires to be
compiled), leaving them there only causes confusion.
LEDE documentation's place is the wiki, or the site.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
7 years agolantiq: drop obsolete patch
Mathias Kresin [Tue, 29 Nov 2016 05:10:35 +0000 (06:10 +0100)]
lantiq: drop obsolete patch

ifxhcd never had roothub support but since kernel 3.x it was expected
that a roothub always exists.

The patched fixed a null pointer deref in the usb subsystem because of
the missing roothub.

Since ifxhcd is gone, this whole patch isn't required any longer.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agouboot-lantiq: Add BT Home Hub 5A support
Mathias Kresin [Fri, 20 May 2016 21:45:59 +0000 (23:45 +0200)]
uboot-lantiq: Add BT Home Hub 5A support

Based on the submission to the uboot-lantiq repo by Martin Blumenstingl.

Use the ddr_settings.h from the GPL tarball. The NAND boot optimized
one (with memory tuning enabled) doesn't work for the UART boot image.

Use the same mtd layout as the stock u-boot. Add add UBI support.

Use the leds to indicate boot status like it is done with the stock
u-boot. Switch on the red power led if kernel image can't be loaded.
Otherwise switch the green led on.

Make only the ramboot u-boot available. Only this image is required for
the first installation of LEDE.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agolantiq: use BT HomeHub 5 Type A OEM partition layout
Mathias Kresin [Sat, 3 Oct 2015 11:57:54 +0000 (13:57 +0200)]
lantiq: use BT HomeHub 5 Type A OEM partition layout

This way the on nand bad block table is preserved and used. Add support
for nand OOB ECC checksums as well. It should fix all reported ubi
errors, which were all related to bad nand blocks and a purged on nand
bad block table.

The existing ubi partition will be reused, which eliminates the need
to touch the caldata during initial install. The BT u-boot has support
for loading a kernel from an ubi volume. It isn't necessary any longer
to replace the BT u-boot with a custom compiled one to use LEDE.

It is required to restore the BT Firmware and install LEDE from scratch
to switch to the new partition layout.

An image for restoring the BT firmware and installing LEDE is provided
at https://github.com/mkresin/lede/releases.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agolantiq: backport kernel patch to pass of node to nand_dt_init
Mathias Kresin [Tue, 31 May 2016 06:39:53 +0000 (08:39 +0200)]
lantiq: backport kernel patch to pass of node to nand_dt_init

Backport upstream commit a61ae81a1907af1987ad4c77300508327bc48b23.

The actually purpose of the patch was to do some cleanup. As a side
effect of this cleanup, the device node is now passed to nand_dt_init.

This allows to use the common nand device tree properties

 - nand-bus-width
 - nand-on-flash-bbt
 - nand-ecc-mode
 - nand-ecc-step-size
 - nand-ecc-strength

for the plat_nand driver.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agolantiq: drop ath9k device tree binding & ath9k pci fixup
Mathias Kresin [Sat, 6 Aug 2016 07:19:45 +0000 (09:19 +0200)]
lantiq: drop ath9k device tree binding & ath9k pci fixup

Due to the addition of the bindings to the ath9k driver, this code
isn't used any longer. The fixup is now done by the owloader.

Rename the ath_eep.c file to ath5k_eep.c to indicate that this files
includes ath5k related code only.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agolantiq: use ath9k device tree bindings binding/owl-loader
Martin Blumenstingl [Sat, 26 Nov 2016 00:01:15 +0000 (01:01 +0100)]
lantiq: use ath9k device tree bindings binding/owl-loader

This moves the extraction of the eeprom/calibration data to a hotplug
firmware script. Additionally it modifies all .dts to configure ath9k
directly from within the .dts.

The owl-loader approach enables support on devices with exotic eeprom
data locations (such as unaligned positions on the flash or data
inside an UBI volume).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
[add ath9k caldata mac address patcher]
[fixes DGN3500 wifi mac]
[fixes BTHOMEHUBV3A wifi mac]
[set invalid mac for BTHOMEHUB2B, FRITZ3370, FRITZ7320 & FRITZ7360SL to restore previous random mac behavior]
Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agokernel: mac80211: disable ath9k bands via device tree
Martin Blumenstingl [Sat, 26 Nov 2016 00:01:14 +0000 (01:01 +0100)]
kernel: mac80211: disable ath9k bands via device tree

These properties allow overriding the settings from the EEPROM
which indicate whether a band is enabled or not.
Setting this property is only needed when the RF circuit does not
support the 2.4GHz or 5GHz band while it is enabled nevertheless in the
EEPROM.

These patches will be replaced with a future upstream version which
will introduces an ieee80211 device tree property to disable bands.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
7 years agokernel: mac80211: add pending ath9k EEPROM swapping patches
Martin Blumenstingl [Sat, 26 Nov 2016 00:01:13 +0000 (01:01 +0100)]
kernel: mac80211: add pending ath9k EEPROM swapping patches

There are two types of swapping the EEPROM data in the ath9k driver.
Before this series one type of swapping could not be used without the
other.

The first type of swapping looks at the "magic bytes" at the start of
the EEPROM data and performs swab16 on the EEPROM contents if needed.
The second type of swapping is EEPROM format specific and swaps
specific fields within the EEPROM itself (swab16, swab32 - depends on
the EEPROM format).

With this series the second part now looks at the EEPMISC register
inside the EEPROM, which uses a bit to indicate if the EEPROM data
is Big Endian (this is also done by the FreeBSD kernel).
This has a nice advantage: currently there are some out-of-tree hacks
(in OpenWrt and LEDE) where the EEPROM has a Big Endian header on a
Big Endian system (= no swab16 is performed) but the EEPROM itself
indicates that it's data is Little Endian. Until now the out-of-tree
code simply did a swab16 before passing the data to ath9k, so ath9k
first did the swab16 - this also enabled the format specific swapping.
These out-of-tree hacks are still working with the new logic, but it
is recommended to remove them. This implementation is based on a
discussion with Arnd Bergmann who raised concerns about the
robustness and portability of the swapping logic in the original OF
support patch review, see [0].

After a second round of patches (= v1 of this series) neither Arnd
Bergmann nor I were really happy with the complexity of the EEPROM
swapping logic. Based on a discussion (see [1] and [2]) we decided
that ath9k should use a defined format (specifying the endianness
of the data - I went with __le16 and __le32) when accessing the
EEPROM fields. A benefit of this is that we enable the EEPMISC based
swapping logic by default, just like the FreeBSD driver, see [3]. On
the devices which I have tested (see below) ath9k now works without
having to specify the "endian_check" field in ath9k_platform_data (or
a similar logic which could provide this via devicetree) as ath9k now
detects the endianness automatically. Only EEPROMs which are mangled
by some out-of-tree code still need the endian_check flag (or one can
simply remove that mangling from the out-of-tree code).

[0] http://www.spinics.net/lists/linux-wireless/msg152634.html
[1] https://marc.info/?l=linux-wireless&m=147250597503174&w=2
[2] https://marc.info/?l=linux-wireless&m=147254388611344&w=2
[3] https://github.com/freebsd/freebsd/blob/50719b56d9ce8d7d4beb53b16e9edb2e9a4a7a18/sys/dev/ath/ath_hal/ah_eeprom_9287.c#L351

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
7 years agokernel: mac80211: backport ath9k device tree support patches
Martin Blumenstingl [Sat, 26 Nov 2016 00:01:12 +0000 (01:01 +0100)]
kernel: mac80211: backport ath9k device tree support patches

These patches add support for configuring ath9k based devices via
devicetree. This was tested on PCI(e) based devices. This should work
for AHB based devices as well (adding more AHB specific properties may
still be needed) as soon as the ath79 platform is ready to populate the
ath9k wmac via devicetree.
This patchset was accepted upstream, more information can be found on
the linux-wireless list:
https://www.spinics.net/lists/linux-wireless/msg155474.html

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
7 years agoar71xx: fix syntax error in /lib/ar71xx.sh
Matthias Schiffer [Tue, 29 Nov 2016 18:53:27 +0000 (19:53 +0100)]
ar71xx: fix syntax error in /lib/ar71xx.sh

Remove all comments in ubnt_xm_board_detect(), as it's not possible to add
comments to specific lines of the case construct anyways.

Fixes: 9a5801e7 "ar71xx: add model detection for UBNT Rocket Ti"
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
7 years agoar71xx: add model detection for UBNT Rocket Ti
Matthias Schiffer [Tue, 29 Nov 2016 14:35:46 +0000 (15:35 +0100)]
ar71xx: add model detection for UBNT Rocket Ti

Based-on-patch-by: Neal Oakey <neal.oakey@bingo-ev.de>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
7 years agokernel: have kmod-ipsec depend on kmod-crypto-echainiv
Stijn Tintel [Thu, 17 Nov 2016 14:33:20 +0000 (15:33 +0100)]
kernel: have kmod-ipsec depend on kmod-crypto-echainiv

The ESP algorithms in CBC mode require echainiv, so have kmod-ipsec
depend on kmod-crypto-echainiv.

See upstream commit 32b6170ca59ccf07d0e394561e54b2cd9726038c.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
7 years agobrcm47xx: fix initramfs image build error
Felix Fietkau [Fri, 25 Nov 2016 12:10:38 +0000 (13:10 +0100)]
brcm47xx: fix initramfs image build error

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agobrcm47xx: merge cpu cache workaround patches into one, ensure they get compiled out...
Felix Fietkau [Fri, 25 Nov 2016 12:09:58 +0000 (13:09 +0100)]
brcm47xx: merge cpu cache workaround patches into one, ensure they get compiled out on mips74k

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: remove squashfs-64k rootfs image from bin directory, the generic one is enough
Felix Fietkau [Tue, 29 Nov 2016 08:58:33 +0000 (09:58 +0100)]
ar71xx: remove squashfs-64k rootfs image from bin directory, the generic one is enough

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: remove split kernel/rootfs images where the sysupgrade image can be written...
Felix Fietkau [Tue, 29 Nov 2016 09:05:46 +0000 (10:05 +0100)]
ar71xx: remove split kernel/rootfs images where the sysupgrade image can be written to flash directly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: remove 2MB flash variant of WP543
Felix Fietkau [Tue, 29 Nov 2016 08:54:53 +0000 (09:54 +0100)]
ar71xx: remove 2MB flash variant of WP543

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: remove legacy devices that cannot be supported due to kernel partition size...
Felix Fietkau [Tue, 29 Nov 2016 08:43:36 +0000 (09:43 +0100)]
ar71xx: remove legacy devices that cannot be supported due to kernel partition size limits

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: remove legacy gzip images
Felix Fietkau [Wed, 23 Nov 2016 09:27:17 +0000 (10:27 +0100)]
ar71xx: remove legacy gzip images

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: remove obsolete jffs2 image building code
Felix Fietkau [Wed, 23 Nov 2016 09:21:07 +0000 (10:21 +0100)]
ar71xx: remove obsolete jffs2 image building code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoiw: drop TX power patch that is part of upstream version now
Rafał Miłecki [Tue, 29 Nov 2016 07:38:24 +0000 (08:38 +0100)]
iw: drop TX power patch that is part of upstream version now

Applying it again was resulting in duplicated TX info like:
Interface wlan0
        ifindex 6
        wdev 0x1
        addr 00:23:6a:a3:7d:00
        ssid LEDE2
        type AP
        wiphy 0
        channel 11 (2462 MHz), width: 20 MHz, center1: 2462 MHz
        txpower 31.00 dBm
        txpower 31.00 dBm

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>