Commit graph

37907 commits

Author SHA1 Message Date
Daniel Golle
9eacb9d7fc rt2x00: mt7620: lots of improvements
This commit combines all the changes I've made on my staging tree
into a single commit fixing many issues with our patch for MT7620.

First of all, checkpatch.pl revealed numerous code style issues with
the patch, so fix all the white-space and commets. Also use
usleep_range instead of legacy timing and relax timing for VCO
calibration just like the vendor driver does.

Several line programming registers were commented out in the patch.
Originally this came from the features present but disabled by default
in the vendor's driver (RTMP_TEMPERATURE_CALIBRATION and
ADJUST_POWER_CONSUMPTION_SUPPORT). Remove the dead code for now, it can
easily be re-added if we actually intend to support those features.

Move values from mt7620_freqconfig type into the existing rf_channel
struct, this shouldn't be a new typedef and it is possible to use the
existing struct because rf_channel got 4 32-bit fields, so two of the
8-bit values from mt7620_freqconfig can easily be stored in the same
32-bit field.

Map values such that
Rdiv -> rf1
N    -> rf2
K    -> rf3[0:7]
D    -> rf3[8:15]
Ksd  -> rf4

This makes the channel switching logic already look a bit more like
what we are used to in rt2x00... Probably many of the read-modify-write
calls could still be replaced by macros intended for that.

iq calibration seems to be identical to RT5592, so just enable it.
Test shows that this improves things quite a lot, datarates went up
by a couple of megabits when running iperf, signal quality seems jumpy
in the first few seconds once a station connencts, the stabelizes on a
value significantly better than what it was before.

Add description to the patch and reference the original OpenWrt commit
by which it was added.

The patch now passes checkpatch.pl and can thus be discussed with the
upstream authors of the rt2x00 driver.

Funded-by: https://www.kickstarter.com/projects/1327597961/better-support-for-mt7620a-n-in-openwrt-lede/

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-02-08 22:21:26 +01:00
Álvaro Fernández Rojas
48b71a0b07 brcm2708: bcm2708: fix build
buildbot fails to build without regmap, which I couldn't reproduce locally.
Hopefully this fixes it.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-08 17:43:40 +01:00
Felix Fietkau
412cf4cc51 sdk: add missing change from r3328-f55c29e4c7
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-08 12:01:59 +01:00
Hans Dedecker
b516b38f2f odhcp6c: update to GIT head version
cfd986c odhcp6c: fix possible stack corruption when parsing proc if_inet6

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-02-08 11:12:39 +01:00
Álvaro Fernández Rojas
ba9dbc3dd5 brcm2708: add more patches for linux 4.9
Also removes unneeded wireless patches

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-08 09:59:53 +01:00
Álvaro Fernández Rojas
7ef713c9c4 brcm2708: bcm2710: add 64 bit support for Raspberry Pi 3
64 bit support for Raspberry Pi 3 is experimental. However, bcm2709 subtarget
should serve as a stable and compatible 32 bit support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-08 00:41:51 +01:00
Álvaro Fernández Rojas
77a00027c3 brcm2708: bcm2709: add support for Raspberry Pi 3
This adds support for Raspberry Pi 3 on the bcm2709 subtarget, in order to
keep 32 bit image support when 64 bit support is added on bcm2710 subtarget.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-08 00:41:48 +01:00
Álvaro Fernández Rojas
de1f83097a generic: add missing symbols for linux 4.9
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-08 00:41:09 +01:00
Álvaro Fernández Rojas
fd94fa61a7 mac80211: brcmfmac: update Raspberry Pi patches for linux 4.9
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 23:16:26 +01:00
Álvaro Fernández Rojas
e9e52761d3 brcm2708: remove duplicated gzip from image generation
Images are now automatically gziped so remove custom image command

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 23:00:24 +01:00
Álvaro Fernández Rojas
d9d090e520 brcm2708: remove linux 4.4 support
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 23:00:21 +01:00
Álvaro Fernández Rojas
ada91d8a24 brcm2708: switch to linux 4.9
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 23:00:18 +01:00
Álvaro Fernández Rojas
96aa0c6b0b brcm2708: add linux 4.9 support
Patches from Raspberry Pi repo:
https://github.com/raspberrypi/linux/commits/rpi-4.9.y

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 23:00:16 +01:00
Álvaro Fernández Rojas
6b5c3fd055 kernel: of-mdio: add missing dependency for linux 4.9
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 23:00:13 +01:00
Álvaro Fernández Rojas
989a0b4846 generic: add missing kernel symbols
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 23:00:08 +01:00
Rafał Miłecki
2fd81681f9 bcm53xx: include Broadcom PHY driver in the kernel
Initial idea was to use package with this PHY driver for devices that
need it. Unfortunately this can't work as bgmac is built-in and PHY
probing happens before loading modules - it results in PHY subsystem
picking default (generic) PHY driver.

There were two ways of solving this:
1) Making bcm53xx use bgmac as module
xor
2) Built-in Broadcom PHY driver

After some quick discussion it seems we can simply built-in the driver
as increased kenel size is relatively small (1805 B).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-07 18:11:17 +01:00
Felix Fietkau
83ab1982b4 x86: remove linux 4.4 support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-07 17:30:39 +01:00
Felix Fietkau
92bda4ae5c x86: switch to Linux 4.9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-07 17:30:35 +01:00
Felix Fietkau
f55c29e4c7 build: remove libc version suffix from build/staging directories
Our supported libcs are ABI compatible across version upgrades

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-07 17:18:15 +01:00
Etienne Haarsma
fa85060698 toolchain/gdb: update to version 7.12.1
Update gdb to version 7.12.1.

GDB 7.12.1 brings the following fixes and enhancements over GDB 7.12:

   * PR tdep/20682 (aarch64 regression: gdb.cp/nextoverthrow.exp)
   * PR server/20733 (Failed to build aarch64_be-linux-gnu GDBserver)
   * PR tdep/20953 (GDB crashes after "set architecture rl78")
   * PR tdep/20954 (GDB crashes if "set architecture rx")
   * PR tdep/20955 (GDB internal error in cris-tdep.c)
   * PR build/20712 (gdb 7.12+ doesn't build as C++ on Solaris)
   * PR breakpoint/20653 (string_to_explicit_location has some weird code)
   * PR build/20753 (MinGW compilation errors due to strcasecmp)
   * PR gdb/20977 (GDB exception handling is broken on i686-w64-mingw32)
   * PR python/21048 (backtrace is broken on i686)
   * PR sim/20808 (mips sim build fails due to undefined SD/CPU variables)
   * PR sim/20809 (mips sim build fails for r3900 cpus)
   * PR gdb/20939 (GDB aborts

Signed-off-by: Etienne Haarsma <bladeoner112@gmail.com>
2017-02-07 17:18:07 +01:00
Felix Fietkau
b648e1c07f binutils: remove 2.25.1 support and leftovers of older versions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-07 17:16:12 +01:00
Daniel Engberg
36cca3e436 toolchain/binutils: Switch to 2.27 as default version
Use 2.27 as default which is the current relese.
Makes it easier to get support and submit patches upstream if needed.

Tested on ar71xx, mt7621, kirkwood (arm)

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-02-07 17:16:11 +01:00
Rafał Miłecki
174ce4c56d kernel: update spi-nor in 4.9 to spi-nor tree version (next branch)
These are patches queued for 4.11. It adds support for even more hw and
removes some annoying WARN_ONCE.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-07 15:35:39 +01:00
Rafał Miłecki
6d5419d96a kernel: update spi-nor in 4.9 to version from Linus's tree (4.10)
This adds support for more devices.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-07 15:35:39 +01:00
Álvaro Fernández Rojas
deb15cb23c brcmfmac: improve Raspberry Pi 3 stability
- Really disable power management (wrong config flags).
- Disable internal roaming engine.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 15:17:44 +01:00
Rafał Miłecki
ec10bb18f5 bcm53xx: add missing system.sh include
It's needed for macaddr_add.

Fixes: 50efd403e6 ("bcm53xx: set WAN MAC address to don't share one with LAN interface")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-07 11:47:02 +01:00
Koen Vandeputte
4339e5ddb1 kernel: fix build error in mtdsplit driver
Add missing parentheses.
Fixes kernel build issue when using this driver.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2017-02-07 11:39:11 +01:00
Koen Vandeputte
597ea08038 cns3xxx: use proper macro's for ID handling
Compiled & tested on cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2017-02-07 11:39:08 +01:00
Felix Fietkau
2a4d2e4519 mac80211: fix ath9k kernel crash with linux 4.9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-07 11:38:54 +01:00
Jo-Philipp Wich
ea269c37b8 ar71xx/ipq806x/mediatek/mvebu: fix network defaults
After "73d923e base-files: emit tagged switch configuration by default"
some default network configurations are broken because the lan and wan
ifnames are forcibly set to untagged netdevs.

Adjust the offending set_interfaces_lan_wan() calls to use the proper
tagged device names.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-07 09:32:28 +01:00
Jo-Philipp Wich
62bf0d4958 arc770: fix broken upstream change
Add a patch to revert upstream commit 9aed02feae57bf7a40cb04ea0e3017cb7a998db4
which introduces syntax errors.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-07 09:32:02 +01:00
Hauke Mehrtens
985c90d102 tcpdump: update to version 4.9.0
This fixes the following 41 security problems:
 + CVE-2016-7922: buffer overflow in print-ah.c:ah_print().
 + CVE-2016-7923: buffer overflow in print-arp.c:arp_print().
 + CVE-2016-7924: buffer overflow in print-atm.c:oam_print().
 + CVE-2016-7925: buffer overflow in print-sl.c:sl_if_print().
 + CVE-2016-7926: buffer overflow in print-ether.c:ethertype_print().
 + CVE-2016-7927: buffer overflow in print-802_11.c:ieee802_11_radio_print().
 + CVE-2016-7928: buffer overflow in print-ipcomp.c:ipcomp_print().
 + CVE-2016-7929: buffer overflow in print-juniper.c:juniper_parse_header().
 + CVE-2016-7930: buffer overflow in print-llc.c:llc_print().
 + CVE-2016-7931: buffer overflow in print-mpls.c:mpls_print().
 + CVE-2016-7932: buffer overflow in print-pim.c:pimv2_check_checksum().
 + CVE-2016-7933: buffer overflow in print-ppp.c:ppp_hdlc_if_print().
 + CVE-2016-7934: buffer overflow in print-udp.c:rtcp_print().
 + CVE-2016-7935: buffer overflow in print-udp.c:rtp_print().
 + CVE-2016-7936: buffer overflow in print-udp.c:udp_print().
 + CVE-2016-7937: buffer overflow in print-udp.c:vat_print().
 + CVE-2016-7938: integer overflow in print-zeromq.c:zmtp1_print_frame().
 + CVE-2016-7939: buffer overflow in print-gre.c, multiple functions.
 + CVE-2016-7940: buffer overflow in print-stp.c, multiple functions.
 + CVE-2016-7973: buffer overflow in print-atalk.c, multiple functions.
 + CVE-2016-7974: buffer overflow in print-ip.c, multiple functions.
 + CVE-2016-7975: buffer overflow in print-tcp.c:tcp_print().
 + CVE-2016-7983: buffer overflow in print-bootp.c:bootp_print().
 + CVE-2016-7984: buffer overflow in print-tftp.c:tftp_print().
 + CVE-2016-7985: buffer overflow in print-calm-fast.c:calm_fast_print().
 + CVE-2016-7986: buffer overflow in print-geonet.c, multiple functions.
 + CVE-2016-7992: buffer overflow in print-cip.c:cip_if_print().
 + CVE-2016-7993: a bug in util-print.c:relts_print() could cause a
      buffer overflow in multiple protocol parsers (DNS, DVMRP, HSRP, IGMP,
      lightweight resolver protocol, PIM).
 + CVE-2016-8574: buffer overflow in print-fr.c:frf15_print().
 + CVE-2016-8575: buffer overflow in print-fr.c:q933_print().
 + CVE-2017-5202: buffer overflow in print-isoclns.c:clnp_print().
 + CVE-2017-5203: buffer overflow in print-bootp.c:bootp_print().
 + CVE-2017-5204: buffer overflow in print-ip6.c:ip6_print().
 + CVE-2017-5205: buffer overflow in print-isakmp.c:ikev2_e_print().
 + CVE-2017-5341: buffer overflow in print-otv.c:otv_print().
 + CVE-2017-5342: a bug in multiple protocol parsers (Geneve, GRE, NSH,
      OTV, VXLAN and VXLAN GPE) could cause a buffer overflow in
      print-ether.c:ether_print().
 + CVE-2017-5482: buffer overflow in print-fr.c:q933_print().
 + CVE-2017-5483: buffer overflow in print-snmp.c:asn1_parse().
 + CVE-2017-5484: buffer overflow in print-atm.c:sig_print().
 + CVE-2017-5485: buffer overflow in addrtoname.c:lookup_nsap().
 + CVE-2017-5486: buffer overflow in print-isoclns.c:clnp_print().

The size of the package is only incread very little:
new size:
306430 tcpdump_4.9.0-1_mips_24kc.ipk
130324 tcpdump-mini_4.9.0-1_mips_24kc.ipk

old size:
302782 tcpdump_4.8.1-1_mips_24kc.ipk
129033 tcpdump-mini_4.8.1-1_mips_24kc.ipk

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-02-06 22:33:58 +01:00
Álvaro Fernández Rojas
196509b489 brcm2708-gpu-fw: update to latest version
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-06 22:24:57 +01:00
Álvaro Fernández Rojas
dab5a44067 brcm2708: update linux 4.4 patches to latest version
n
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>
2017-02-06 22:24:42 +01:00
Rafał Miłecki
6b01f0f196 bcm53xx: set Netgear R8000 USB LEDs
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-06 20:24:19 +01:00
Rafał Miłecki
fb18c3c8ff bcm53xx: refresh Linux 4.4 config
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-06 17:21:09 +01:00
Rafał Miłecki
f24cb34239 bcm53xx: image: use one style of adding TARGET_DEVICES entries
It just makes code consistent. This trivial change may be a 17.01
candidate to provide simpler backporting experience.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-06 13:59:30 +01:00
Rafał Miłecki
e991b0d741 kernel: merge b53 API patch with the one handling all switch drivers
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-06 13:39:45 +01:00
Jo-Philipp Wich
46b02131d7 Revert "uClibc-ng: update to 1.0.21"
This reverts commit dde5c729ec.

The uClibc update was completely untested, does not build with Kernel 4.4 and
did not adjust the configuration to predeclare new config symbols.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-02-06 13:04:33 +01:00
Felix Fietkau
649e766a64 mac80211: update to wireless-testing 2017-01-31
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-06 12:27:12 +01:00
Felix Fietkau
91fce81df6 kernel: add missing config symbols for 4.9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-06 11:56:57 +01:00
Felix Fietkau
478be1d371 kernel: fix crashlog build error on 4.9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-06 11:56:57 +01:00
Felix Fietkau
9c18235b3a kernel: add compile fix for linux 4.9 on x86
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-06 11:56:57 +01:00
Rafał Miłecki
b008357960 kernel: port b53 to use kernel 4.5+ API
For backward 4.4 compatibility I added patch reverting my changes.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-06 11:28:54 +01:00
Rafał Miłecki
26bc05eda9 bcm53xx: move bcm47xx_sprom driver to 4.4 specific directory
In kernel 4.9 it's already present so we don't want to overwite it (with
older & API incompatible version).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-06 10:18:20 +01:00
Rafał Miłecki
2252627b0e bcm53xx: add Linux 4.9 patches
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-06 10:08:39 +01:00
Rafał Miłecki
75d48d80c7 bcm53xx: backport upstream DTS files for Linksys devices
We dont't build officialy images for them yet due to partitioning
issues.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-06 08:49:23 +01:00
Stijn Tintel
d2c4041f02 kernel: update kernel 4.4 to version 4.4.47
Refresh patches for all targets that support kernel 4.4.
Compile-tested on all targets that use kernel 4.4 and aren't marked
broken, except arc770 and arch38 due to broken toolchain.

Runtime-tested on ar71xx, octeon, ramips and x86/64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-02-06 03:23:06 +01:00
Kevin Darbyshire-Bryant
3bef96ef18 dnsmasq: update to dnsmasq 2.77test1
Bump to dnsmasq 2.77test1 - this includes a number of fixes since 2.76
and allows dropping of 2 LEDE carried patches.

Notable fix in rrfilter code when talking to Nominum's DNS servers
especially with DNSSEC.

A patch to switch dnsmasq back to 'soft fail' for SERVFAIL responses
from dns servers is also included.  This mean dnsmasq tries all
configured servers before giving up.

A 'localise queries' enhancement has also been backported (it will
appear in test2/rc'n') this is especially important if using the
recently imported to LEDE 'use dnsmasq standalone' feature 9525743c

I have been following dnsmasq HEAD ever since 2.76 release.
Compile & Run tested: ar71xx, Archer C7 v2

Tested-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2017-02-05 22:26:23 +01:00
Eric Luehrsen
f9f6a21c81 dnsmasq: fix instances in dhcp_add()
ref commit 9525743c07
dnsmasq: make DHCPv6 viable for standalone dnsmasq install
Above commit broke instancing by missing filter_dnsmasq()
as part of the dhcp_add() execution.

Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
2017-02-05 22:26:22 +01:00