oweals/openwrt.git
5 years agoath79: add support for TP-Link TL-WR841N/ND v8
Antonio Silverio [Wed, 17 Oct 2018 07:18:45 +0000 (09:18 +0200)]
ath79: add support for TP-Link TL-WR841N/ND v8

CPU: Atheros AR9341 535MHz
RAM: 32MB
FLASH: 4MiB
PORTS: 4 Port 100/10 Switch, 1 Port 100/10 Wan
WiFi: Atheros AR9341 2x2:2 bgn
LED: Power (static on), LAN (controlled by Switch), WAN, SYS, WiFi, RFKill
BTN: WPS, WiFi, Reset

Installation:
Upload the factory image via the vendor-GUI.

Signed-off-by: Antonio Silverio <menion@gmail.com>
[resolve merge conflicts, squash commits, fix commit title, remove
default default off led properties, mark sysupgrade image compatible
with the ar71xx version of the board, drop blank lines from dts]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoath79: use caldata patching for Archer C58/C59
David Bauer [Sun, 30 Dec 2018 21:28:42 +0000 (22:28 +0100)]
ath79: use caldata patching for Archer C58/C59

With this commit the TP-Link Archer C58 and Archer C59 use caldata
patching in order to set the correct 5GHz MAC-address.

Tested on TP-Link Archer C59 v1.

For more details see commit 330965b.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add support for GL.iNet GL-AR750S
Christoph Krapp [Sun, 30 Dec 2018 16:36:22 +0000 (16:36 +0000)]
ath79: add support for GL.iNet GL-AR750S

Right now this patch adds nor image generation only. NAND image
generation is not supportet at the moment.

Furtheremore support for the MicroSD port is not implemented as of now.

Specification:
- SOC: QCA9563 (775MHz)
- Flash: 16 MiB (W25Q128FVSG)
- RAM: 128 MiB DDR2
- Ethernet: 2x 1Gbps LAN + 1x 1Gbps WAN
- Wireless: 2.4GHz (bgn) and 5GHz (ac)
- USB: 1x USB 2.0 port
- Button: 1x switch button, 1x reset button
- LED: 3x LEDS (green)
  - Another LED can be accessed on GPIO 7 if soldered

Flash instruction:
- Set static ip to 192.168.1.2
- Unplug the power cord
- Hold reset button
- Plug power back in
- Right led will flash 5 times
- Release reset button
- Browse to 192.168.1.1
- Choose sysupgrade image in NOR-flash section
- Press "update nor firmware"
- After successful transfer unplug network cable before device restarts

Signed-off-by: Christoph Krapp <achterin@googlemail.com>
[resolve merge conflicts, rename buttons, use switch input type for mode
switch]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoiwinfo: fix PKG_MIRROR_HASH
Mathias Kresin [Sun, 30 Dec 2018 19:16:55 +0000 (20:16 +0100)]
iwinfo: fix PKG_MIRROR_HASH

The PKG_MIRROR_HASH was for some reason wrong.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoath79: fix OCEDO Koala ethernet configuration
David Bauer [Sat, 29 Dec 2018 22:31:19 +0000 (23:31 +0100)]
ath79: fix OCEDO Koala ethernet configuration

The OCEDO Koala has incorrect PLL settings which result in ~3% packet
loss on ethernet connections.

Also omit the gmac-configuration as it's incorrect too.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add support for D-Link DIR-859 A1
Weijie Gao [Sat, 29 Dec 2018 09:22:32 +0000 (17:22 +0800)]
ath79: add support for D-Link DIR-859 A1

Hardware spec of DIR-859 A1:
SoC: QCA9563
DRAM: 64MB DDR2
Flash: 16MB SPI-NOR
Switch: QCA8337N
WiFi 5.8GHz: QCA9880

USB is supported on the PCB but not connected.

Flash instructions:

1. Upgrade the factory.bin through the factory web interface or the u-boot
   failsafe interface.
   The firmware will boot up correctly for the first time.
   Do not power off the device after OpenWrt has booted. Otherwise the u-boot
   will enter failsafe mode as the checksum of the firmware has been changed.
2. Upgrade the sysupgrade.bin in OpenWrt.
   After upgrading completes the u-boot won't complain about the firmware
   checksum and it's OK to use now.
3. If you powered off the device before upgrading the sysupgrade.bin, just
   upgrade the factory.bin through the u-boot failsafe interface and then goto
   step 2.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
[squash commits, use common seama recipes, sync factory image recipe
with ramips version]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agobuild: move seama commands to image-commands.mk
Mathias Kresin [Sat, 29 Dec 2018 19:06:56 +0000 (20:06 +0100)]
build: move seama commands to image-commands.mk

Move it to image-commands.mk to get rid of duplicate recipes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoar71xx: sync seama image build code with ramips
Mathias Kresin [Sat, 29 Dec 2018 18:40:56 +0000 (19:40 +0100)]
ar71xx: sync seama image build code with ramips

Use the same syntax as used in the ramips target, to use common seama
recipes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: consolidate seama image build code
Mathias Kresin [Sat, 29 Dec 2018 18:25:00 +0000 (19:25 +0100)]
ramips: consolidate seama image build code

Create a common template which has the required image build code
defined. Add some new variables to pass individual parts to the seama
recipes.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoopkg: drop argument from check_signature in opkg.conf
Jonas Gorski [Mon, 10 Sep 2018 09:42:53 +0000 (11:42 +0200)]
opkg: drop argument from check_signature in opkg.conf

check_signature is a bool option and doesn't take any arguments. The
presence of the 1 falsely suggests setting it to 0 disables the check,
while the option actually needs to be removed or commented out to be
disabled. So remove the argument to make it more clear.

Fixes: beca028bd6bb ("build: add integration for managing opkg package feed keys")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agobrcm63xx: remove broken DSP platform device code
Jonas Gorski [Wed, 19 Dec 2018 23:02:31 +0000 (00:02 +0100)]
brcm63xx: remove broken DSP platform device code

There is no driver and it crashes the kernel, so just remove it.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agobrcm63xx: fix bcm6348 pinmux group selection
Jonas Gorski [Wed, 19 Dec 2018 23:05:15 +0000 (00:05 +0100)]
brcm63xx: fix bcm6348 pinmux group selection

The mask/shift computation used the pin group number instead of the pin
number, resulting in always modifying group 4 when applying muxes, so
fix it to consistently use the pin number.

Fixes: 0755c2d11706 ("brcm63xx: add pinctrl support")
Reported-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agobrcm63xx: VH4032N: add the SPROM fixups
Daniel Gonzalez Cabanelas [Wed, 14 Nov 2018 00:48:15 +0000 (01:48 +0100)]
brcm63xx: VH4032N: add the SPROM fixups

Add the SPROM fixups for the onboard BCM43222 wifi on the Observa
VH4032N

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
5 years agobrcm63xx: fix gpio hogs on gpio/pinctrl nodes
Jonas Gorski [Mon, 19 Feb 2018 09:18:06 +0000 (10:18 +0100)]
brcm63xx: fix gpio hogs on gpio/pinctrl nodes

Work around a chicken/egg issue in registration of dual gpio/pinctrl
nodes.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agobrcm63xx: rename switch core reset patch to 0xx as it has been accepted
Jonas Gorski [Tue, 18 Dec 2018 09:42:40 +0000 (10:42 +0100)]
brcm63xx: rename switch core reset patch to 0xx as it has been accepted

The core reset fix was accepted upstream, so move it to its right place.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 years agotools/cmake: update to 3.13.2
Hans Dedecker [Sat, 29 Dec 2018 16:27:20 +0000 (17:27 +0100)]
tools/cmake: update to 3.13.2

Update to the latest stable version and refresh patches; see
https://cmake.org/cmake/help/v3.13/release/3.13.html for the latest
changes in 3.13.x

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoath79: Fix wrong TL-WR740N v4 switch port order
Eduardo Barros [Tue, 25 Dec 2018 23:20:03 +0000 (23:20 +0000)]
ath79: Fix wrong TL-WR740N v4 switch port order

Fix the switch port order to have the correct order in LuCI.

Fixes: FS#1469

Signed-off-by: Eduardo Barros <geadas@gmail.com>
[trim commit title, add a proper commit message, add fixes tag, keep
alphabetical order of the blocks]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoomcproxy: optimize interface triggers
Hans Dedecker [Sat, 29 Dec 2018 14:56:39 +0000 (15:56 +0100)]
omcproxy: optimize interface triggers

Before installing an interface triggger check if an interface
trigger for the interface is already in place.
This avoids installing identical interface triggers for a given
interface

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoomcproxy: fix installation of interface triggers (FS#1972)
David Santamaría Rogado [Tue, 11 Dec 2018 19:50:21 +0000 (20:50 +0100)]
omcproxy: fix installation of interface triggers (FS#1972)

omcproxy will not start up if either the downlink or uplink interface is
not up at boottime as the interface triggers are not correctly
installed.

Further rework omcproxy init to make use of network functions defined
in network.sh; set proper family and proto options in procd firewall
rules.

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoramips: add support for GeHua GHL-R-001
Deng Qingfang [Thu, 27 Dec 2018 05:39:16 +0000 (13:39 +0800)]
ramips: add support for GeHua GHL-R-001

Specs
SoC: MT7621AT
RAM: 512MiB
Flash: 32MiB MX25L25635F SPI NOR
2.4G: MT7603EN
5G: MT7612EN
Ethernet: 4x GE ports (1x WAN, 3x LAN) with link status LEDs
USB 3.0
LEDs: POWER, 5G WIFI, 2.4G WIFI, USB, Internet.
      The last two ones are controlled by GPIO
UART: There are 2 UARTs (UARTLITE1/ttyS0 and UARTLITE3/ttyS1) on board.
      UARTLITE1 is close to LEDs, and UARTLITE3 is close to flash chip.
      The stock u-boot uses UARTLITE1 by default. Baud rate is 57600

Flash instruction
1. telnet 192.168.9.1 2317, username is "root" and password is "admin"
   One can alternatively use UART to log in
2. Put OpenWrt firmware in a FAT32 USB drive, and connect it to the router
   One can alternatively download the firmware via wget through Internet
3. mtd write /path/to/openwrt.bin firmware
4. reboot

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agoramips: fix MT7621 dtsi
Deng Qingfang [Tue, 25 Dec 2018 15:03:24 +0000 (23:03 +0800)]
ramips: fix MT7621 dtsi

Fix SysTick reg
Add uartlite2 and uartlite3 nodes

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agoramips: add support for DLINK DWR-922-E2
Simon Quigley [Thu, 20 Dec 2018 16:47:52 +0000 (11:47 -0500)]
ramips: add support for DLINK DWR-922-E2

Very similar to the DWR-921-C1, except has a telephony/RJ11 port (not
sure if supported, I didn't try), wireless router with QMI 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-922-e2:green:signalstrength
(lte signal strength) led. At the end of the boot it is switched off and
is available for lte operation. Works correctly also during sysupgrade
operation.

Installation:
Apply factory image via d-link http web-gui, or via recovery interface:

How to recover/revert to OEM firmware:
1.) Push and hold the reset button and turn on the power. Wait until all
    LEDs start rapidly blinking (~10sec.)
2.) DHCP should give you an IP in the 192.168.123.0/24 subnet, or set
    one manually
3.) Upload original factory image via JBOOT http interface at IP
    192.168.123.254
4.) 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.
5.) You can optionally telnet to 192.168.123.254 before or during the
    upload and it will report the flashing status, memory address etc.
6.) Once web UI and/or telnet says "Success", power cycle the router, or
    type "reboot" into the telnet session.

Signed-off-by: Simon Quigley <squigley@squigley.net>
[squashed commits, word wrap commit message, rename signal strenght led
name to match what is used for the DWR-921-C1 since they share the led
configuration, add label referenced in the aliases node]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agokernel: fix f2fs on big endian machines
Christian Lamparter [Sat, 29 Dec 2018 12:41:35 +0000 (13:41 +0100)]
kernel: fix f2fs on big endian machines

The WD MyBook Live SquashFS images didn't work anymore due to
a upstream regression in f2fs commit: 0cfe75c5b01199
("f2fs: enhance sanity_check_raw_super() to avoid potential overflows")
that got backported to 4.14.86 and landed in 4.18.

by Martin Blumenstingl:
|Treat "block_count" from struct f2fs_super_block as 64-bit little endian
|value in sanity_check_raw_super() because struct f2fs_super_block
|declares "block_count" as "__le64".
|
|This fixes a bug where the superblock validation fails on big endian
|devices with the following error:
|  F2FS-fs (sda1): Wrong segment_count / block_count (61439 > 0)
|  F2FS-fs (sda1): Can't find valid F2FS filesystem in 1th superblock
|  F2FS-fs (sda1): Wrong segment_count / block_count (61439 > 0)
|  F2FS-fs (sda1): Can't find valid F2FS filesystem in 2th superblock
|As result of this the partition cannot be mounted.
|
|With this patch applied the superblock validation works fine and the
|partition can be mounted again:
|  F2FS-fs (sda1): Mounted with checkpoint version = 7c84
|
|My little endian x86-64 hardware was able to mount the partition without
|this fix.
|To confirm that mounting f2fs filesystems works on big endian machines
|again I tested this on a 32-bit MIPS big endian (lantiq) device.

Hopefully, this will do until Martin's patch moved through upstream
to -stable.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: fix MBL DUO SUPPORTED_DEVICES compat id
Christian Lamparter [Wed, 31 Oct 2018 14:25:19 +0000 (15:25 +0100)]
apm821xx: fix MBL DUO SUPPORTED_DEVICES compat id

The MyBook Live DUO used "wd,mybooklive-duo" as the first
compatible string and not "wd_mybooklive-duo".

Fixes: 9b47aa93c76 ("apm821xx: unify My Book Live Single + Duo images")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoramips: mt7621: fix 5GHz WiFi LED on ZBT WG3526
Andreas Ziegler [Thu, 27 Dec 2018 14:34:18 +0000 (15:34 +0100)]
ramips: mt7621: fix 5GHz WiFi LED on ZBT WG3526

This fixes the 5GHz WiFi LED which was previously not working.

Signed-off-by: Andreas Ziegler <dev@andreas-ziegler.de>
5 years agoath79: fix Archer A7 v5 5GHz MAC adress
David Bauer [Fri, 28 Dec 2018 17:18:24 +0000 (18:18 +0100)]
ath79: fix Archer A7 v5 5GHz MAC adress

Currently all Archer A7 v5 have the same (incorrect) MAC address.
The address is currently derived from eth1 which is not present on the
QCA9563. Use eth0 to get the correct MAC address.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoiwinfo: update to latest git
Mathias Kresin [Sat, 29 Dec 2018 09:16:37 +0000 (10:16 +0100)]
iwinfo: update to latest git

dd508af iwinfo: fix QCA9984 vendor id
0eaabf1 iwinfo: add device id for Atheros AR9287
6e998ec iwinfo: add device id for MediaTek MT7612E
5aa8c54 libiwinfo: nl80211: add mesh stats on assoclist.
77a9e98 iwinfo: Add Mikrotik R11e-2HPnD and R11e-5HacT to hardware list

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoRevert "samba36: add hotplug support"
Rafał Miłecki [Tue, 25 Dec 2018 17:46:44 +0000 (18:46 +0100)]
Revert "samba36: add hotplug support"

This reverts commit fd569e5e9d0a46ea957cb253e97a4b3ea8c2c540.

After an extra review & discussion few concerns were raised regarding
that feature:
1) It reacts to hotplug.d "block" events instead of more accurate (but
   currently unavailable) "mount" events.
2) It requires *something* to mount block device before samba hotplug.d
   gets fired. Otherwise samba_add_section() will just return.
3) It doesn't reload Samba which some users may expect
4) It operates on /etc/ which is not a right place for autogenerated
   ephemeral config.
5) It doesn't include any cleanup for non-existing shares.

Cc: Rosy Song <rosysong@rosinson.com>
Cc: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agomt76: update to the latest version
Felix Fietkau [Sun, 9 Dec 2018 11:13:40 +0000 (12:13 +0100)]
mt76: update to the latest version

417ab77 mt7603: improve recovery from PSE reset failure
fea7ad8 mt76: move mt76x02_phy_get_min_avg_rssi to mt76 core
9d009be mt7603: add dynamic sensitivity tuning based on false CCA events
2c8e9ac mt7603: initialize channel maximum power from eeprom data
b2cc29b mt76: move mt76x02_get_txpower to mt76 core
6203d46 mt7603: add support for setting transmit power
294e095 mt7603: reset DMA scheduler on MT7628
8178f0d mt7603: apply efuse data only when it exists
e67e551 mt76: dma: remove napi from mt76_dma_rx_fill signature
0490bd2 mt76: usb: do not build the skb if reported len does not fit in buf_size
eb076ae mt76: Add missing include of linux/module.h
1d2819e mt76: fix typo in mt76x02_check_mac_err routine
9c9fae3 mt76: mac: run mt76x02_mac_work routine atomically
6be90b6 mt76: usb: avoid queue/status spinlocks while passing tx status to mac80211
40dad32 mt76x0: pci: fix ACS support
d94e9c4 mt76x02: do not set protection on set_rts_threshold callback
0d83d73 mt76x02: fixup MT_PROT_RATE_* defines
628f8d7 mt76x02: set protection according to ht operation element
f7d8c17 mt76x0: configure MT_VHT_HT_FBK_CFG1
10f57cf mt76x2: add static qualifier to mt76x2_init_hardware
37b2ad3 mt76: dfs: run mt76x02_dfs_set_domain atomically
51b6daf mt76x2: init: set default value for MT_TX_LINK_CFG
9661da4 mt76: add energy detect CCA support to mt76x{0,2}e drivers
876d0e9 mt76: mac: minor optimizations in mt76x02_mac_tx_rate_val
c78e317 mt76: dma: do not build skb if reported len does not fit in buf_size
3598046 mt76: mmio: introduce mt76x02_check_tx_hang watchdog

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoramips: add support for CreativeBox v1
Weijie Gao [Sat, 8 Dec 2018 18:55:56 +0000 (02:55 +0800)]
ramips: add support for CreativeBox v1

Hardware:
SoC: MT7621
DRAM: 512MB DDR3
Flash: 32MB SPI-NOR
WiFi 2.4GHz: MT7603 @ PCIe0
WiFi 5.8GHz: MT7612 @ PCIe1
SATA: ASM1061 @ PCIe2

Interfaces:
GBE RJ45 x5
USB3.0 x1
eSATA (with USB2.0) x1
SATA x1
UART x1
I2C x1
JTAG x1

Flash instructions:
Through factory bootloader or firmware web interface

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
5 years agoramips: add SPDX license identifier into some dts,dtsi
NOGUCHI Hiroshi [Sun, 23 Dec 2018 11:12:56 +0000 (20:12 +0900)]
ramips: add SPDX license identifier into some dts,dtsi

Acked-by: Mathias Kresin <dev@kresin.me>
Acked-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: NOGUCHI Hiroshi <drvlabo@gmail.com>
5 years agolldpd: consolidate CONFIGURE_VARS
Stijn Tintel [Thu, 27 Dec 2018 19:04:32 +0000 (21:04 +0200)]
lldpd: consolidate CONFIGURE_VARS

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agoapm821xx: switch MyBook Live's recovery images to multi-file
Christian Lamparter [Thu, 22 Nov 2018 11:50:24 +0000 (12:50 +0100)]
apm821xx: switch MyBook Live's recovery images to multi-file

This patch converts the MyBook Live's recovery image to utilize the
multi-image method which integrates the device-tree binary directly
into the image.

The new initramfs can be loaded through the MyBook Live's U-boot
in the following way:

=> setenv ipaddr 192.168.1.1
=> setenv serverip 192.168.1.2
=> sata init; run addtty; tftp $kernel_addr_r wd_mybooklive-initramfs.bin; bootm
   Waiting for PHY auto negotiation to complete... done
   ENET Speed is 1000 Mbps - FULL duplex connection (EMAC0)
   Using ppc_4xx_eth0 device
   TFTP from server 192.168.1.2; our IP address is 192.168.1.1
   Filename 'wd_mybooklive-initramfs.bin'.
   Load address: 0x1000000
   Loading: ################################################ [...]
   done
   [...]
   Booting kernel from Legacy Image at 01000000 ...
      Image Name:    initramfs
      Image Type:   PowerPC Linux Multi-File Image (gzip compressed)
   [...]

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: 4.14: switch to upstream dw-dma-hport patch
Christian Lamparter [Thu, 27 Dec 2018 20:49:53 +0000 (21:49 +0100)]
apm821xx: 4.14: switch to upstream dw-dma-hport patch

This patch fixes the build regression on 4.14 build
due to dt-bindings/dma/dw-dmac.h MIA.

apm82181.dtsi:24:10: fatal error: dt-bindings/dma/dw-dmac.h: No such file or directory

Fixes: 32141c183a28 ("apm821xx: add linux 4.19 apm821xx patches")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agobrcm47xx: add support for the kernel 4.19
Rafał Miłecki [Thu, 27 Dec 2018 20:54:28 +0000 (21:54 +0100)]
brcm47xx: add support for the kernel 4.19

One patch that wasn't ported due to a lot of conflict is:
901-Revert-bcma-switch-GPIO-portions-to-use-GPIOLIB_IRQC.patch

Hopefully a correct/real fix will get developed before we switch
brcm47xx to the 4.14.

This IS NOT ready for switching/trying/using 4.19 yet due to some DMA
regression affecting bgmac:
[    0.945472] bgmac_bcma bcma0:2: Found PHY addr: 25
[    0.954565] libphy: bcma_mdio mii bus: probed
[    0.959486] ------------[ cut here ]------------
[    0.964387] WARNING: CPU: 0 PID: 1 at ./include/linux/dma-mapping.h:516 bgmac_enet_probe+0x1b4/0x5c4
[    0.973751] Modules linked in:
[    0.976913] CPU: 0 PID: 1 Comm: swapper Not tainted 4.19.9 #0
[    0.982750] Stack : 804a0000 804597c4 00000000 00000000 80458fd8 8381bc2c 838282d4 80481a47
[    0.991367]         8042e3ec 00000001 804d38f0 00000204 83980000 00000065 8381bbe0 6f55b24f
[    0.999975]         00000000 00000000 80520000 00002018 00000000 00000075 00000007 00000000
[    1.008583]         00000000 80480000 000ee811 00000000 00000000 00000000 80432c00 80248db8
[    1.017196]         00000009 00000204 83980000 803ad7b0 00000000 801feeec 00000000 804d0000
[    1.025804]         ...
[    1.028325] Call Trace:
[    1.030875] [<8000aef8>] show_stack+0x58/0x100
[    1.035513] [<8001f8b4>] __warn+0xe4/0x118
[    1.039708] [<8001f9a4>] warn_slowpath_null+0x48/0x64
[    1.044935] [<80248db8>] bgmac_enet_probe+0x1b4/0x5c4
[    1.050101] [<802498e0>] bgmac_probe+0x558/0x590
[    1.054906] [<80252fd0>] bcma_device_probe+0x38/0x70
[    1.060017] [<8020e1e8>] really_probe+0x170/0x2e8
[    1.064891] [<8020e714>] __driver_attach+0xa4/0xec
[    1.069784] [<8020c1e0>] bus_for_each_dev+0x58/0xb0
[    1.074833] [<8020d590>] bus_add_driver+0xf8/0x218
[    1.079731] [<8020ef24>] driver_register+0xcc/0x11c
[    1.084804] [<804b54cc>] bgmac_init+0x1c/0x44
[    1.089258] [<8000121c>] do_one_initcall+0x7c/0x1a0
[    1.094343] [<804a1d34>] kernel_init_freeable+0x150/0x218
[    1.099886] [<803a082c>] kernel_init+0x10/0x104
[    1.104583] [<80005878>] ret_from_kernel_thread+0x14/0x1c
[    1.110107] ---[ end trace f441c0d873d1fb5b ]---
[    1.114914] bgmac_bcma bcma0:2: Allocation of TX ring 0x200 failed
[    1.121215] bgmac_bcma bcma0:2: Unable to alloc memory for DMA
[    1.127626] bgmac_bcma: probe of bcma0:2 failed with error -12
[    1.133838] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agoath79: ubnt-bullet-m-xw: Remove eth1 disabled node
Petr Štetiar [Thu, 20 Dec 2018 11:27:45 +0000 (12:27 +0100)]
ath79: ubnt-bullet-m-xw: Remove eth1 disabled node

It's redundant as eth1 is disabled by default in ath79.dtsi.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ubnt-bullet-m-xw: Move eth0 mtd-mac-address to the common include
Petr Štetiar [Wed, 12 Dec 2018 19:45:14 +0000 (20:45 +0100)]
ath79: ubnt-bullet-m-xw: Move eth0 mtd-mac-address to the common include

It's same for Bullet and Nanostation so far, so let's hope it's going to
be the same for other boards sharing the same platform.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ubnt-bullet-m-xw: Remove pll-data property from eth0 node
Petr Štetiar [Wed, 12 Dec 2018 19:32:40 +0000 (20:32 +0100)]
ath79: ubnt-bullet-m-xw: Remove pll-data property from eth0 node

It's not necessary as it's already defined in ar934x.dtsi to:

  pll-data = <0x16000000 0x00000101 0x00001616>;

And in ar71xx it's currently set to the same values:

 #define AR934X_PLL_VAL_1000 0x16000000
 #define AR934X_PLL_VAL_100 0x00000101
 #define AR934X_PLL_VAL_10 0x00001616

And dumping the value from the airOS v6.1.7 has the same value:

  AR934X_PLL_ETH_XMII_CONTROL_REG 0x1805002C 0x101

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ubnt-xw: Add LED aliases for diag and status LED support
Petr Štetiar [Thu, 6 Dec 2018 00:14:01 +0000 (01:14 +0100)]
ath79: ubnt-xw: Add LED aliases for diag and status LED support

Currently there is no LED signalization for various system states
implemented in diag.sh, so this patch adds support for it.

Tested-by: Joe Ayers <ae6xe@arrl.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoapm821xx: add linux 4.19 apm821xx patches
Christian Lamparter [Sun, 30 Sep 2018 09:40:13 +0000 (11:40 +0200)]
apm821xx: add linux 4.19 apm821xx patches

This patch updates the apm821xx target to use the 4.19 kernel.

4.19 ships with all the crypto4xx driver patches. Furthermore,
the DW-DMA fix for the SATA controller has been backported from
4.20 and integrated.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agokernel: 4.19: fix usbport led trigger regression
Christian Lamparter [Tue, 25 Dec 2018 20:54:42 +0000 (21:54 +0100)]
kernel: 4.19: fix usbport led trigger regression

|In the patch "usb: simplify usbport trigger" together with
|"leds: triggers: add device attribute support" caused an
|regression for the usbport trigger. it will no longer
|enumerate any "ports" (i.e the sysfs directory stays empty)
|if the usb host drivers are fully initialized before the
|usbport trigger was loaded.

<https://marc.info/?l=linux-usb&m=154577101631079>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: convert to device-tree based USB LED trigger
Christian Lamparter [Thu, 20 Dec 2018 21:43:30 +0000 (22:43 +0100)]
ipq40xx: convert to device-tree based USB LED trigger

Thanks to the ledtrig-usb.c the USB LED trigger can be
setup in the device-tree definition for the Asus RT-AC58U
and ZyXEL NBG6617.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: fix warning triggered by bad interrupt definition
Christian Lamparter [Sun, 23 Dec 2018 19:13:34 +0000 (20:13 +0100)]
ipq40xx: fix warning triggered by bad interrupt definition

This patch fixes a kernel warning that got triggered by 4.19
because of a bad/missing interrupt level definition in the DTS.

| WARNING: CPU: 2 PID: 1996 at drivers/irqchip/irq-gic.c:1016
| CPU: 2 PID: 1996 Comm: kmodloader Not tainted 4.19.9 #0
| Hardware name: Generic DT based system
| [<c0317884>] (warn_slowpath_null) from [<c04f9cd0>]
| [<c04f9cd0>] (gic_irq_domain_translate) from [<c035af30>]
| [<c035af30>] (irq_create_fwspec_mapping) from [<c035b1e0>]
| [<c035b1e0>] (irq_create_of_mapping) from [<c0614eec>]
| [<c0614eec>] (of_irq_get) from [<c0614f3c>]
| [<c0614f3c>] (of_irq_to_resource) from [<c0614ff0>]
| [<c0614ff0>] (of_irq_to_resource_table) from [<c0610e08>]
| [<c0610e08>] (of_device_alloc) from [<c0610ea0>]
| [<c0610ea0>] (of_platform_device_create_pdata)
| [<c061120c>] (of_platform_bus_create)
| [<c06113c4>] (of_platform_populate)
| [<bf4c06b4>] (dwc3_qcom_probe [dwc3_qcom])

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: kmod-usb-dwc3-of-simple vs kmod-usb-dwc3-qcom
Christian Lamparter [Sun, 23 Dec 2018 19:28:29 +0000 (20:28 +0100)]
ipq40xx: kmod-usb-dwc3-of-simple vs kmod-usb-dwc3-qcom

Robert Marko <robimarko@gmail.com> noted in
"ipq40xx: Use kmod-usb-dwc3-qcom by default":
| Since 4.18 we cant use DWC3 OF Simple anymore so we
| have to use kmod-usb-dwc3-qcom.

This patch adds a TODO right next to the KERNEL_PATCHVER so
it will be picked up when moving to 4.19.

I would also like to point out:

All users/devs that are compiling their own images from source
and have a existing 4.14 config and want to switch to 4.19:

Please drop kmod-usb-dwc3-of-simple and add kmod-usb-dwc3-qcom
module package. Otherwise, the USB port on your router will no
longer work.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: MR33: device-tree update
Christian Lamparter [Sat, 22 Dec 2018 19:54:15 +0000 (20:54 +0100)]
ipq40xx: MR33: device-tree update

 - 4.19 no longer refuses to initialize the mdio bus if
   a phy is not connected.

 - fix partition unit-address

 - restrict partition offset and size to 32-bit integers.

 - add note to warn people not to mess with the ubi
   partition size.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx/ipq806x: 4.19: fix qcom-nandc panic on boot
Christian Lamparter [Sun, 23 Dec 2018 00:02:33 +0000 (01:02 +0100)]
ipq40xx/ipq806x: 4.19: fix qcom-nandc panic on boot

This patch fixes the crash that occures on rawnand device.
<https://patchwork.ozlabs.org/patch/1017933/>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: remove qcom,ipq4019 on all devices
Christian Lamparter [Sat, 22 Dec 2018 19:25:45 +0000 (20:25 +0100)]
ipq40xx: remove qcom,ipq4019 on all devices

Upstream commit:
80483c3abf8 ("ARM: qcom: Cleanup/Remove unnecessary board file")
removed all the platform device compatibles stating that:
"This patch removes the unnecessary board file. The generic machine
definition is sufficient for the Qualcomm platforms."

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: rt-ac58u: fix device-tree snafu
Christian Lamparter [Sat, 22 Dec 2018 15:08:53 +0000 (16:08 +0100)]
ipq40xx: rt-ac58u: fix device-tree snafu

 - make the device userspace integration (WIFI,MAC,sysupgrade)
   work again by renaming the ubi to UBI_DEV as a temporary measure.
   In the future, once 4.14 support is dropped, this can all be
   refactored again. *sigh*

 - use the wifi0 and wifi1 labels

 - follow Device-Tree Release v0.2 2.2.2 Generic Names Recommendation

 - fix duplicated partition node-names

 - remove qcom,ipq4019 platform compatible. it's no longer needed
   (and wrong because the chip is a qcom,ipq4018).

Fixes: 4c67f3ad78d ("ipq40xx: Adapt 4.19 DTS for upstream SPI-NAND driver")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: 4.19: Enable pseudo random number generator
Robert Marko [Wed, 19 Dec 2018 12:57:19 +0000 (13:57 +0100)]
ipq40xx: 4.19: Enable pseudo random number generator

IPQ40xx series has a HW pseudo random number generator built in.
It already has a node in the upstream ipq4019.dtsi so we just need to enable it.
Its driver has been rewritten to use crypto API so we dont have char interface like under 4.14 kernel.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoipq40xx: files-4.19: Clear some DTC warnings
Robert Marko [Tue, 18 Dec 2018 17:05:03 +0000 (18:05 +0100)]
ipq40xx: files-4.19: Clear some DTC warnings

DTC was throwing warnings like this:
image-qcom-ipq4018-jalapeno.dtb: Warning (avoid_unnecessary_addr_size): /soc/spi@78b5000/m25p80@0: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property
image-qcom-ipq4018-jalapeno.dtb: Warning (avoid_unnecessary_addr_size): /soc/spi@78b5000/spi-nand@1: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property

So lets fix this for our downstream boards.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoipq40xx: Use upstream SPI-NAND driver instead of MT29F
Robert Marko [Sun, 16 Dec 2018 22:10:06 +0000 (23:10 +0100)]
ipq40xx: Use upstream SPI-NAND driver instead of MT29F

Since 4.19 upstream kernel provides generic SPI-NAND
framework and vendor specific drivers.
Since only users of MT29F are 2 boards with Winbond
W25N01GV SPI-NAND for which support has been backported
from 4.20 we can drop the ever stuck in staging MT29F
driver and instead use the upstream driver.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [squashed]
5 years agoipq40xx: Use kmod-usb-dwc3-qcom by default
Robert Marko [Sun, 16 Dec 2018 22:07:44 +0000 (23:07 +0100)]
ipq40xx: Use kmod-usb-dwc3-qcom by default

Since 4.18 we cant use DWC3 OF Simple anymore so we have to use
kmod-usb-dwc3-qcom.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agokernel: modules: usb: Add DWC3 Qualcomm kmod
Robert Marko [Sun, 16 Dec 2018 22:06:17 +0000 (23:06 +0100)]
kernel: modules: usb: Add DWC3 Qualcomm kmod

Since kernel 4.18 support for Qualcomm glue layer was
moved from DWC3 OF Simple to a separate DWC3 QCOM module.
So lets add it and make it depend on 4.19 kernel and make
sure that DWC3 OF Simple is not included if 4.19 is used.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoipq40xx: Add 4.19 kernel config
Robert Marko [Sun, 16 Dec 2018 22:04:50 +0000 (23:04 +0100)]
ipq40xx: Add 4.19 kernel config

This adds the neccessary 4.19 kernel config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoipq40xx: Add patches for 4.19
Robert Marko [Mon, 17 Dec 2018 09:39:09 +0000 (10:39 +0100)]
ipq40xx: Add patches for 4.19

This adds the necessary patches for 4.19 kernel.
Upstreamed patches were dropped, backported upstreamed patches
from 4.20.
Drop Winbond ID patch since that NAND IC was upstreamed to use
SPI-NAND framework and support for it was backported from 4.20.
Rework ESSEDMA patches to compile under 4.19 due to timer changes,
Clément Péron did the hard work and his changes were taken from the
initial 4.19 PR.
MR33 changes had to be manually refreshed to apply.
Refresh other patches to apply.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Remove

5 years agoipq40xx: Add files for 4.19
Robert Marko [Tue, 18 Dec 2018 11:47:57 +0000 (12:47 +0100)]
ipq40xx: Add files for 4.19

This copies over files from 4.14

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoath79: add support for devolo WiFi pro 1750c
David Bauer [Thu, 27 Dec 2018 01:32:39 +0000 (02:32 +0100)]
ath79: add support for devolo WiFi pro 1750c

Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
WiFi2: QCA9558 3T3R
WiFi5: QCA9880 3T3R
BTN:   1x Reset
LED:   1x LED blue
       1x LED red
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is square pad)
       Header is located next to reset-button

There is also a Micro-B USB-port present but this only seems to be a
dummy as the circuit next to it is not present (at least in my unit).

It is also not mentioned in the devolo manual.

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password the one set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add support for devolo WiFi pro 1200e
David Bauer [Thu, 27 Dec 2018 01:32:38 +0000 (02:32 +0100)]
ath79: add support for devolo WiFi pro 1200e

Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
       1x Atheros AR8033
WiFi2: QCA9558 2T2R
WiFi5: QCA9880 2T2R
BTN:   1x Reset
LED:   1x LED blue
       1x LED red
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is square pad)
       Header is located next to reset-button

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password the one set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add support for TP-Link Archer C7 v5
TOCK Chiu [Mon, 24 Dec 2018 02:36:59 +0000 (10:36 +0800)]
ath79: add support for TP-Link Archer C7 v5

This commit adds support for TP-Link Archer C7 v5, leveraging most effort
from commit ea9baee and 1e4ee63. Archer C7 v5 is identical to Archer A7 v5
but with a different flash layout.

Specification:
-   QCA9563 SoC (750 MHz)
-   128 MiB of RAM (DDR2)
-   16 MiB of flash (SPI)
-   5x 1 Gbps Ethernet (1x WAN + 4x LAN)
-   2.4GHz (bgn) SoC internal + 5GHz (ac) QCA9880
-   10x LED, 2x button
-   UART header on PCB

Flash instructions:
1.  Upload openwrt-ath79-generic-tplink_archer-c7-v5-squashfs-factory.bin
    via web interface.

Flash instructions using TFTP recovery:
1.  Plug PC to one of the LAN ports
2.  Set PC to fixed IP address 192.168.0.66
3.  Rename the factory image to ArcherC7v5_tp_recovery.bin and place it in
    TFTP root directory
4.  Turn on the router with the reset button pressed for about 15 secs
5.  Release the button and wait about 150 secs to complete flashing

Signed-off-by: TOCK Chiu <tock.chiu@gmail.com>
5 years agobrcm2708: Add feature flag rootfs-part
Daniel F. Dickinson [Thu, 27 Dec 2018 03:33:57 +0000 (22:33 -0500)]
brcm2708: Add feature flag rootfs-part

Even with squashfs brcm2708 requires ROOTFS_PART_SIZE because the overlay
exists as a loopback device on the space not used by squashfs in the root
partition. Also for ext4 (the other fs option) ROOTFS_PART_SIZE is required,
so use feature flag rootfs-part to enable it.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
5 years agoapm821xx: sata: set rootfs-part feature flag
Christian Lamparter [Sat, 15 Dec 2018 15:56:14 +0000 (16:56 +0100)]
apm821xx: sata: set rootfs-part feature flag

The rootfs-part feature flag ensures that
CONFIG_ROOTFS_PART_SIZE symbol will be present
at all times.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agotools/e2fsprogs: Update to 1.44.5
Daniel Engberg [Mon, 24 Dec 2018 10:46:24 +0000 (11:46 +0100)]
tools/e2fsprogs: Update to 1.44.5

Update e2fsprogs to 1.44.5

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agobcm53xx: update 4.19 config
Rafał Miłecki [Thu, 27 Dec 2018 07:14:14 +0000 (08:14 +0100)]
bcm53xx: update 4.19 config

There were 3 new symbols possible to choose: ARCH_BCM_HR2, PCI_V3_SEMI
and PHY_BCM_SR_PCIE.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobcm53xx: add support for the kernel 4.19
Rafał Miłecki [Thu, 27 Dec 2018 06:58:48 +0000 (07:58 +0100)]
bcm53xx: add support for the kernel 4.19

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobcm53xx: backport DTS changes queued for the 4.21
Rafał Miłecki [Thu, 27 Dec 2018 06:25:40 +0000 (07:25 +0100)]
bcm53xx: backport DTS changes queued for the 4.21

It just replaces some downstream patches & adds relicensing work.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobcm53xx: rename dts backport patches changing their prefixes
Rafał Miłecki [Thu, 27 Dec 2018 06:01:38 +0000 (07:01 +0100)]
bcm53xx: rename dts backport patches changing their prefixes

Start 03x with 030 instead of 035. It's a trivial change that adds more
place for further backports in the 03x space.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agokernel: Fix KERNEL_STACKPROTECTOR on kernel 4.19
Hauke Mehrtens [Tue, 18 Dec 2018 17:44:50 +0000 (18:44 +0100)]
kernel: Fix KERNEL_STACKPROTECTOR on kernel 4.19

The configuration option was renamed with kernel 4.19 from
CONFIG_CC_STACKPROTECTOR to CONFIG_STACKPROTECTOR adapt the code to set
both options.

CONFIG_STACKPROTECTOR now sets the regular stack protector and
CONFIG_STACKPROTECTOR_STRONG activates the additional protection of more
functions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agokernel: Add compiler options to generic configuration
Hauke Mehrtens [Wed, 19 Dec 2018 11:05:28 +0000 (12:05 +0100)]
kernel: Add compiler options to generic configuration

With kernel 4.19 new configuration options for the compiler were added.
These are automatically selected and set, instead of having them in each
target configuration, put them into the generic configuration.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agokernel: Deactivate CONFIG_COMPAT_BRK
Hauke Mehrtens [Tue, 18 Dec 2018 17:43:06 +0000 (18:43 +0100)]
kernel: Deactivate CONFIG_COMPAT_BRK

CONFIG_COMPAT_BRK disables the heap randomization which is only needed
for very old and ancient user space applications, I am not aware that we
run any of these, just deactivate this option for these targets to allow
heap randomization.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agobcm53xx: update pinctrl driver & use its new DT binding
Rafał Miłecki [Tue, 25 Dec 2018 14:51:33 +0000 (15:51 +0100)]
bcm53xx: update pinctrl driver & use its new DT binding

Driver has been updated upstream to support more precise DT binding and
avoid mapping conflicts between pinctrl and USB 2.0 PHY.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agokernel: MIPS: math-emu Write-protect delay slot emulation pages
Kevin Darbyshire-Bryant [Fri, 21 Dec 2018 15:18:39 +0000 (15:18 +0000)]
kernel: MIPS: math-emu Write-protect delay slot emulation pages

Backport https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=adcc81f148d733b7e8e641300c5590a2cdc13bf3

"Mapping the delay slot emulation page as both writeable & executable
presents a security risk, in that if an exploit can write to & jump into
the page then it can be used as an easy way to execute arbitrary code.

Prevent this by mapping the page read-only for userland, and using
access_process_vm() with the FOLL_FORCE flag to write to it from
mips_dsemul().

This will likely be less efficient due to copy_to_user_page() performing
cache maintenance on a whole page, rather than a single line as in the
previous use of flush_cache_sigtramp(). However this delay slot
emulation code ought not to be running in any performance critical paths
anyway so this isn't really a problem, and we can probably do better in
copy_to_user_page() anyway in future.

A major advantage of this approach is that the fix is small & simple to
backport to stable kernels.

Reported-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Fixes: 432c6bacbd0c ("MIPS: Use per-mm page to execute branch delay slot instructions")"

Without patch:

cat /proc/self/maps
00400000-0047a000 r-xp 00000000 1f:03 1823       /bin/busybox
00489000-0048a000 r-xp 00079000 1f:03 1823       /bin/busybox
0048a000-0048b000 rwxp 0007a000 1f:03 1823       /bin/busybox
77ec8000-77eed000 r-xp 00000000 1f:03 2296       /lib/libgcc_s.so.1
77eed000-77eee000 rwxp 00015000 1f:03 2296       /lib/libgcc_s.so.1
77eee000-77f81000 r-xp 00000000 1f:03 2470       /lib/libc.so
77f90000-77f92000 rwxp 00092000 1f:03 2470       /lib/libc.so
77f92000-77f94000 rwxp 00000000 00:00 0
7f946000-7f967000 rw-p 00000000 00:00 0          [stack]
7fefb000-7fefc000 rwxp 00000000 00:00 0
7ffac000-7ffad000 r--p 00000000 00:00 0          [vvar]
7ffad000-7ffae000 r-xp 00000000 00:00 0          [vdso]

Patch applied:

cat /proc/self/maps
00400000-0047a000 r-xp 00000000 1f:03 1825       /bin/busybox
00489000-0048a000 r-xp 00079000 1f:03 1825       /bin/busybox
0048a000-0048b000 rwxp 0007a000 1f:03 1825       /bin/busybox
77ed0000-77ef5000 r-xp 00000000 1f:03 2298       /lib/libgcc_s.so.1
77ef5000-77ef6000 rwxp 00015000 1f:03 2298       /lib/libgcc_s.so.1
77ef6000-77f89000 r-xp 00000000 1f:03 2474       /lib/libc.so
77f98000-77f9a000 rwxp 00092000 1f:03 2474       /lib/libc.so
77f9a000-77f9c000 rwxp 00000000 00:00 0
7fbed000-7fc0e000 rw-p 00000000 00:00 0          [stack]
7fefb000-7fefc000 r-xp 00000000 00:00 0
7fff6000-7fff7000 r--p 00000000 00:00 0          [vvar]
7fff7000-7fff8000 r-xp 00000000 00:00 0          [vdso]

Note lack of write permission to 7fefb000-7fefc000

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agoath79: fix pinmux reg size for QCA955x
Christian Lamparter [Mon, 24 Dec 2018 16:44:03 +0000 (17:44 +0100)]
ath79: fix pinmux reg size for QCA955x

The range of pinmux reg property "<0x1804002c 0x40>" for QCA955x
SoC does not includes GPIO_FUNCTION register.

Reported-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath10k-ct: Update to 2018-12-20
Robert Marko [Fri, 21 Dec 2018 10:26:02 +0000 (11:26 +0100)]
ath10k-ct: Update to 2018-12-20

This version removes a lot of unusefull warnings that would quickly overflow the dmesg.
Warnings like this:
ath10k_ahb a800000.wifi: Invalid legacy rate 26 peer stats
ath10k_ahb a000000.wifi: Invalid VHT mcs 15 peer stats
On this version I only had 2 warnings at all.
Tested on 8devices Jalapeno.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoath79: add support for NEC Aterm WG800HP
INAGAKI Hiroshi [Sat, 8 Dec 2018 06:18:17 +0000 (15:18 +0900)]
ath79: add support for NEC Aterm WG800HP

NEC Aterm WG800HP is a 2.4/5 GHz band 11ac router, based on Qualcomm
Atheros QCA9563.

Specification:

- Qualcomm Atheros QCA9563
- 64 MB of RAM (DDR2)
- 8 MB of Flash (SPI-NOR)
- 2.4/5 GHz wifi
  - 2.4 GHz: 2T2R (SoC internal)
  - 5 GHz: 1T1R (QCA9887)
- 4x 10/100/1000 Mbps Ethernet
- 8x LEDs, 3x keys (2x buttons, 1x slide-switch)
- UART through-hole on PCB (J2)
  - Vcc, GND, NC, TX, RX from SoC side
  - 115200n8

Flash instruction using factory image:

1. Connect the computer to the LAN port on WG800HP
2. Connect power cable to WG800HP and turn on it
3. Access to "http://192.168.10.1/" and open firmware update page
("ファームウェア更新")
4. Select the OpenWrt factory image and click update ("更新") button
5. Wait ~150 seconds to complete flashing

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agobuild: move xor-image into image-commands
INAGAKI Hiroshi [Wed, 12 Dec 2018 12:12:27 +0000 (21:12 +0900)]
build: move xor-image into image-commands

I moved xor-image into image-commands.mk to use it in ath79 target.

It required for NEC WG800HP.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agofirmware-utils: add hex pattern mode for xorimage
INAGAKI Hiroshi [Sat, 8 Dec 2018 06:07:52 +0000 (15:07 +0900)]
firmware-utils: add hex pattern mode for xorimage

This commit adds "hex pattern mode" to xorimage. This mode allows xor
with a hexadecimal pattern that cannot be expressed with ASCII
charactors.

usage (example):
  xorimage -i firmware.bin -o firmware.bin.new -p 6A57190601121E4C -x

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (fix checkpatch)
5 years agoath79: fix pinmux reg value for QCA956x
INAGAKI Hiroshi [Sat, 8 Dec 2018 05:52:42 +0000 (14:52 +0900)]
ath79: fix pinmux reg value for QCA956x

The range of pinmux reg property "<0x1804002c 0x40>" for QCA956x SoC
does not includes GPIO_FUNCTION register.

If the device uses "&jtag_disable_pins", this causes the following
errors:

[    1.982937] pinctrl-single 1804002c.pinmux: mux offset out of range: 0x40 (0x40)
[    1.990622] pinctrl-single 1804002c.pinmux: could not add functions for pinmux_jtag_disable_pins 64x

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agokernel: Add missing symbols to 4.19
Christian Lamparter [Sat, 22 Dec 2018 17:23:41 +0000 (18:23 +0100)]
kernel: Add missing symbols to 4.19

Tested with apm82181 and ipq40xx minimal image versions.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agotools/mtools: Update to 4.0.23
Daniel Engberg [Sat, 22 Dec 2018 21:20:13 +0000 (22:20 +0100)]
tools/mtools: Update to 4.0.23

Update mtools to 4.0.23
Drop patch, workaround in upstream

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agokernel: bump 4.14 to 4.14.90
Kevin Darbyshire-Bryant [Sun, 23 Dec 2018 16:16:17 +0000 (16:16 +0000)]
kernel: bump 4.14 to 4.14.90

Refresh all patches

Remove upstream patch:
backport-4.14/424-v4.20-net-dsa-fix-88e6060-roaming.patch

Minor tweak to generic/hack-4.14/902-debloat_proc.patch to cleanly apply
after upstream changes.

Tested-on: ath79

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agowireguard: Update to snapshot 0.0.20181218
Daniel Engberg [Mon, 24 Dec 2018 09:35:44 +0000 (10:35 +0100)]
wireguard: Update to snapshot 0.0.20181218

Update WireGuard to 0.0.20181218

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agocurl: bump to 7.63.0
Deng Qingfang [Mon, 24 Dec 2018 07:53:46 +0000 (15:53 +0800)]
curl: bump to 7.63.0

Refresh patches, for changes in version 7.63.0 see https://curl.haxx.se/changes.html#7_63_0

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agoipq40xx: NBG6617: add usb-ledtrig-usbport to DEVICE_PACKAGES
Christian Lamparter [Fri, 21 Dec 2018 18:06:49 +0000 (19:06 +0100)]
ipq40xx: NBG6617: add usb-ledtrig-usbport to DEVICE_PACKAGES

The ZyXEL NBG6617 USB LED was not working with the default images.
It turned out that kmod-usb-ledtrig-usbport was missing from the
default installation.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: switch MX60(W)'s recovery images to multi-image method
Christian Lamparter [Tue, 9 Oct 2018 17:38:29 +0000 (19:38 +0200)]
apm821xx: switch MX60(W)'s recovery images to multi-image method

In the past, the MX60(W)'s recovery images always had problems
with the size restriction and never really worked without manual
intervention. But starting with 4.19, the MX60(W)'s kernel image
outgrew the allocated space for sysupgrade images as well. Hence
This patch reworks the initramfs, which allows the device to ease
up on the impossible tight kernel size requirements for the
sysupgrade creation and packaging. And as a result, the now
orphaned special ramdisk setup is removed in the process.

This new initramfs can be loaded through the MX60(W) U-boot
in the following way:

=> setenv bootargs console=ttyS0,$baudrate
=> tftpboot $meraki_loadaddr meraki_mx60-initramfs-kernel.bin
   [...]
   Load address: 0x800000
    Loading: ################################################ [...]
    done
   [...]

=> bootm $fileaddr
   \## Booting kernel from Legacy Image at 00800000 ...
    ...

Updated Flashing instructions for new installations which integrates
the new recovery method. Users of existing installations that only
want to sysupgrade don't need to update their existing u-boot env.

=> setenv owrt_load1 ubi read \${meraki_loadaddr} kernel
=> setenv owrt_load2 ubi read \${meraki_loadaddr} recovery
=> setenv lede_bootkernel bootm \${meraki_loadaddr_kernel} - \${meraki_loadaddr_fdt}
=> setenv owrt_bootkernel bootm \${meraki_loadaddr}
=> setenv owrt_bootargs setenv bootargs console=ttyS0,\${baudrate} rootfstype=squashfs mtdoops.mtddev=oops
=> setenv owrt_boot run meraki_ubi owrt_bootargs\; run owrt_load1 meraki_checkpart lede_bootkernel\; run owrt_load2 owrt_bootkernel
=> setenv bootcmd run owrt_boot
=> saveenv

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

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath9k: Avoid OF no-eeprom quirks when no qca,no-eeprom
Daniel F. Dickinson [Mon, 17 Dec 2018 05:18:30 +0000 (00:18 -0500)]
ath9k: Avoid OF no-eeprom quirks when no qca,no-eeprom

Based on the process of discovery in
https://github.com/openwrt/openwrt/pull/1613, it has become clear
that (at least) the PowerCloud System CR5000 was unable to get
working 5GHz wireless (PCIe) because AH_USE_EEPROM was unconditionally
masked out, not only when qca,noeeprom was in the DTS.

This patch moves mask AH_USE_EEPROM into the if ... qca,noeeprom
OF test.

Thanks to Christian Lampartar (@chunkeey) for the heavy lifting and help.

Patch has been prepared for upstream and will be submitted after review
by @chunkeey and @xdarklight.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
5 years agoodhcpd: use PKG_VERSION default value
Hans Dedecker [Thu, 20 Dec 2018 21:37:57 +0000 (22:37 +0100)]
odhcpd: use PKG_VERSION default value

Instrad of defining PKG_VERSION in the Makefile use the PKG_VERSION
default value

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoipq40xx: disable kernel-padding for DNI image
David Bauer [Thu, 20 Dec 2018 21:55:13 +0000 (22:55 +0100)]
ipq40xx: disable kernel-padding for DNI image

This commit removes the fixed kernel size-padding for the Netgear
DNI image creation as it is not necessary for a working image.

The fake rootfs still needs to be padded to the blocksize.

Tested-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoipq40xx: fix pcie wifi unit-address of the MR33 and A62
Christian Lamparter [Tue, 18 Dec 2018 23:46:48 +0000 (00:46 +0100)]
ipq40xx: fix pcie wifi unit-address of the MR33 and A62

The unit address should be wifi@1,0 since the device is located
at 0000:01:00.0.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoelfutils: fix gcc 8.0+ multistatement macros warning/error
Christian Lamparter [Thu, 20 Dec 2018 17:07:40 +0000 (18:07 +0100)]
elfutils: fix gcc 8.0+ multistatement macros warning/error

GCC 8.0+ <https://gcc.gnu.org/gcc-8/changes.html> introduces a new
warning about unsafe macros expanding to multiple statements used
as a body of a statement such as if, else, while, switch, or for.

In combination with -Werror this can cause the compilation to fail:

|In file included from xmalloc.c:37:
|xmalloc.c: In function 'xmalloc':
|system.h:39:2: error: macro expands to multiple statements [-Werror=multistatement-macros]
|  fflush(stdout); \
|  ^~~~~~
|xmalloc.c:52:5: note: in expansion of macro 'error'
|     error (EXIT_FAILURE, 0, _("memory exhausted"));
|     ^~~~~
|xmalloc.c:51:3: note: some parts of macro expansion are not guarded by this 'if' clause
|   if (p == NULL)
|   ^~

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoar71xx: Fix PowerCloud CR5000 5GHz wifi mac
Daniel F. Dickinson [Mon, 17 Dec 2018 05:25:03 +0000 (00:25 -0500)]
ar71xx: Fix PowerCloud CR5000 5GHz wifi mac

Without this patch PowerCloud CR5000 AR9382 PCIe 5GHz Wifi uses
the mac address from eeprom instead the one specified when
initializing the PCIe chip.  There were two issues:

1) ap94_pci_init on the second PCIe wmac is wrong as there is only one
PCIe wmac on this device (the other wmac is the AR1022/AR9342 SoC wmac).
2) Without specifying pdata->use_eeprom there is a failure to load
firmware and caldata.

Thanks to Christian Lamparter (@chunkeey) for the heavy lifting and
help. [0]

[0] <https://github.com/openwrt/openwrt/pull/1613>

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
5 years agoodhcpd: add PKG_VERSION again
Hans Dedecker [Thu, 20 Dec 2018 15:47:46 +0000 (16:47 +0100)]
odhcpd: add PKG_VERSION again

Fixes commit 63d0752ca8603886d8733ba888f49fc3b42c74fd

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Thu, 20 Dec 2018 14:33:29 +0000 (15:33 +0100)]
odhcpd: update to latest git HEAD

2d2a3b8 odhcpd: switch to libubox container_of implementation
2a71c1e treewide: switch to libubox ARRAY_SIZE immplementation

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agomac80211: backport upstream fixes
Koen Vandeputte [Wed, 19 Dec 2018 10:31:40 +0000 (11:31 +0100)]
mac80211: backport upstream fixes

d350a0f43118 nl80211: fix memory leak if validate_pae_over_nl80211() fails
a50e5fb8db83 mac80211: fix a kernel panic when TXing after TXQ teardown

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agomwlwifi: update to version 10.3.8.0-20181210
Jo-Philipp Wich [Thu, 20 Dec 2018 10:33:04 +0000 (11:33 +0100)]
mwlwifi: update to version 10.3.8.0-20181210

67ce93e Fix compile error on kernel 4.15+
c1345bb Change driver version to 10.3.8.0-20181210.
9cb815b Upgrade 88W8997 firmware to 8.4.4.6.
433fc6d Fix non-backport use of nla_parse before 4.12.0
3b36e21 Use wiphy_to_ieee80211_hw() instead of wiphy_priv()
97ebcfa Change driver version to 10.3.8.0-20181120.
f000953 Upgrade 88W8997 firmware to 8.4.4.4.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agokernel: drop MIPS fix cache flushing for highmem pages
Kevin Darbyshire-Bryant [Sun, 4 Nov 2018 20:25:46 +0000 (20:25 +0000)]
kernel: drop MIPS fix cache flushing for highmem pages

This patch, in a variety of forms, has been around since beginning 2016
as e756c2bb07, ending up in present form 0aa6c7df60 (kernel 4.4.13 bump)
and carried forward ever since.

There have been a number of MIPS kernel memory handling changes since,
including VDSO fixes that meant openwrt patches have been dropped with
no apparent fallout.

Simple tests (ntfs-3g) on a HIGHMEM 512MB mt7621 device have not turned
up data corruption issues which would otherwise be expected.  Similarly
running on other MIPS based devices for the past 2 months hasn't turned
up anything obvious to retain this out of tree patch.

With thanks to Rosen Penev for testing on the known 'highmem' device and
Felix Fietkau for testing advice.  Not putting acked-by as it's my fault
if it breaks :-)

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agoath10k-firmware: update Candela Tech firmware images
Jo-Philipp Wich [Thu, 20 Dec 2018 08:05:06 +0000 (09:05 +0100)]
ath10k-firmware: update Candela Tech firmware images

 - Removed an assert from wave-1 firmware images
 - Fix three recently reported firmware crashes in wave-2 images

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoiproute2: require nls infrastructure due to libelf linking
Jo-Philipp Wich [Thu, 20 Dec 2018 07:08:43 +0000 (08:08 +0100)]
iproute2: require nls infrastructure due to libelf linking

Depending on the global nls support configuration in the buildroot, the
linked libelf.so library might depend on libintl.so.

Import the nls.mk helper to set library prefixes and flags accordingly
in this case.

Ref: https://github.com/openwrt/packages/issues/7728#issuecomment-448760140
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoelfutils: produce correct libelf.pc file when building with full nls
Jo-Philipp Wich [Thu, 20 Dec 2018 07:04:46 +0000 (08:04 +0100)]
elfutils: produce correct libelf.pc file when building with full nls

When building with full lagnuage support, libelf.so will depend on and
link with libintl.so so we need to change the pkg-config template to
reflect this library dependency.

Also change the Makefile to only pass --disable-nls to configure when
the full nls support is actually disabled in the buildroot config.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agotools: Update endian definitions for Mac OSX
Kevin Darbyshire-Bryant [Tue, 18 Dec 2018 11:08:28 +0000 (11:08 +0000)]
tools: Update endian definitions for Mac OSX

  - it appears (at least from OS X verison 10.10, Yosemite) that the
    big and little endian defintions have changed.

    the older

       #include <sys/_endian.h>
       #include <architecture/byte_order.h>

    reference yielded the following warning:

         #define __bswap_16(x)      NXSwapShort(x)
                                    ^
       /usr/include/architecture/byte_order.h:45:1: note: 'NXSwapShort' has been explicitly marked deprecated here

    For the new OS X editions, it seems that we need to refer to:

      #include <netinet/in.h>
      #include <libkern/OSByteOrder.h>

    and respectively use 'OSSwapInt16', 'OSSwapInt32', & 'OSSwapInt64', in
    place of 'NXSwapShort', 'NXSwapLong' & 'NXSwapLongLong'.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agoscripts: rstrip.sh: allow rpath with sole $ORIGIN token
Yorkie Liu [Mon, 10 Dec 2018 09:35:32 +0000 (17:35 +0800)]
scripts: rstrip.sh: allow rpath with sole $ORIGIN token

2efe776 introduces rpath checks with the commit message:

> Remove all rpath entries which do not point to a location below /lib or
> /usr/lib and which do not begin with '$ORIGIN'.

However the implementation failed to support rpath entries with only the
'$ORIGIN' token and no trailing slash, so allow these as well.

Signed-off-by: Yorkie Liu <yazhong.liu@rokid.com>
[reword commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>