openwrt/staging/neocturne.git
5 years agokernel: fix refcnt leak in LED netdev trigger on interface rename
Rafał Miłecki [Tue, 5 Mar 2019 22:08:45 +0000 (23:08 +0100)]
kernel: fix refcnt leak in LED netdev trigger on interface rename

This fixes a possible unbalanced dev_hold():
> iw dev bar del
[  237.355366] unregister_netdevice: waiting for bar to become free. Usage count = 1
[  247.435362] unregister_netdevice: waiting for bar to become free. Usage count = 1
[  257.545366] unregister_netdevice: waiting for bar to become free. Usage count = 1

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agouqmi: inherit firewall zone membership to virtual sub interfaces
Jo-Philipp Wich [Wed, 14 Nov 2018 11:49:45 +0000 (12:49 +0100)]
uqmi: inherit firewall zone membership to virtual sub interfaces

Fix an issue where subinterfaces were not added to the same
firewall zone as their parent.

Fixes: FS#2122
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoar71xx: ag71xx: fix compile error when enabling debug
Koen Vandeputte [Mon, 11 Feb 2019 17:34:38 +0000 (18:34 +0100)]
ar71xx: ag71xx: fix compile error when enabling debug

Starting from kernel 4.5, phy_id needs to be fetched from a different location.

not doing so results in this compile error:

drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c: In function 'ag71xx_phy_connect_multi':
drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c:133:35: error: 'struct mdio_device' has no member named 'phy_id'
    ag->mii_bus->mdio_map[phy_addr]->phy_id);
                                   ^
./include/linux/printk.h:137:18: note: in definition of macro 'no_printk'
    printk(fmt, ##__VA_ARGS__); \
                  ^~~~~~~~~~~
drivers/net/ethernet/atheros/ag71xx/ag71xx.h:72:27: note: in expansion of macro 'pr_debug'
 #define DBG(fmt, args...) pr_debug(fmt, ## args)
                           ^~~~~~~~
drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c:130:3: note: in expansion of macro 'DBG'
   DBG("%s: PHY found at %s, uid=%08x\n",
   ^~~
scripts/Makefile.build:326: recipe for target 'drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.o' failed

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.14 to 4.14.104
Koen Vandeputte [Wed, 27 Feb 2019 16:07:48 +0000 (17:07 +0100)]
kernel: bump 4.14 to 4.14.104

Refreshed all patches.

Altered patches:
- 332-arc-add-OWRTDTB-section.patch

Compile-tested on: ar71xx, cns3xxx, imx6, x86_64
Runtime-tested on: ar71xx, cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.9 to 4.9.161
Koen Vandeputte [Wed, 27 Feb 2019 16:01:41 +0000 (17:01 +0100)]
kernel: bump 4.9 to 4.9.161

Refreshed all patches.

Altered patches:
- 332-arc-add-OWRTDTB-section.patch

Compile-tested on: ar7
Runtime-tested on: none

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agomac80211: rt2x00: do not increment sequence number while re-transmitting
Vijayakumar Durai [Tue, 26 Feb 2019 13:59:30 +0000 (19:29 +0530)]
mac80211: rt2x00: do not increment sequence number while re-transmitting

Currently STA+AP re-transmitting the management frames with
incremented sequence number if hardware is assigning the sequence.

Fix is to assign the sequence number for Beacon by hardware
and for other Management frames software will assign the
sequence number

Signed-off-by: Vijayakumar Durai <vijayakumar.durai1@vivint.com>
5 years agoath79: Add support for Ubiquiti Nanostation M (XW)
Petr Štetiar [Wed, 12 Dec 2018 20:09:01 +0000 (21:09 +0100)]
ath79: Add support for Ubiquiti Nanostation M (XW)

CPU:  AR9342 SoC
RAM:      64 MB DDR2
Flash:     8 MB NOR SPI
Ports: 2x100 MBit (24V PoE in, 24V PoE out), AR8236 switch
WLAN:  2.4/5 GHz
UART:      1 UART
LEDs:        Power, 2x Ethernet, 4x RSSI LEDs (orange, red, 2x green)
Buttons:     Reset

Flashing instructions using recovery method over TFTP

 1. Unplug the ethernet cable from the router.
 2. Using paper clip press and hold the router's reset button. Make sure
    you can feel it depressed by the paper clip. Do not release the button
    until step 4.
 3. While keeping the reset button pressed in, plug the ethernet cable
    back into the AP. Keep the reset button depressed until you see the
    device's LEDs flashing in upgrade mode (alternating LED1/LED3 and
    LED2/LED4), this may take up to 25 seconds.
 4. You may release the reset button, now the device should be in TFTP
    transfer mode.
 5. Set a static IP on your Computer's NIC. A static IP of 192.168.1.25/24
    should work.
 6. Plug the PoE injector's LAN cable directly to your computer.
 7. Start tftp client and issue following commands:
     tftp> binary
     tftp> connect 192.168.1.20
     tftp> put openwrt-ath79-generic-ubnt-nano-m-xw-squashfs-factory.bin

Tested-by: Joe Ayers <ae6xe@arrl.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: gmac: ar934x: Add parser for mii-gmac0-slave
Petr Štetiar [Mon, 19 Nov 2018 23:16:27 +0000 (00:16 +0100)]
ath79: gmac: ar934x: Add parser for mii-gmac0-slave

While converting Nanostation M XW from current ar71xx code to ath79 I've
hit one issue, where the ethernet networking wasn't working, so I was
checking every bit in the networking setup path between ar71xx and
ath79.

I've came to the following code in ar71xx/mach-ubnt-xm.c:

 static void __init ubnt_xw_init(void) {
  ...
  ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_MII_GMAC0 |
                                   AR934X_ETH_CFG_MII_GMAC0_SLAVE);
  ...
 }

Where this code is setting AR934X_ETH_CFG_MII_GMAC0_SLAVE bit in
AR934X_GMAC_REG_ETH_CFG register, but I couldn't find a way of setting
this bit from DTS, so this patch adds `mii-gmac0-slave` DTS property
which allows setting of this bit in `gmac-config`, which is then used in
Nanostation M XW DTS.

Tested-by: Joe Ayers <ae6xe@arrl.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: qca955x: assert mdio/gmac reset together
Chuanhong Guo [Sun, 27 Jan 2019 12:54:47 +0000 (20:54 +0800)]
ath79: qca955x: assert mdio/gmac reset together

This allows resetting gmac registers during initialization.
Also add compatible string for qca955x mdio to enable more mdio
clock dividers.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ar934x: assert mac/mdio reset together for gmac0
Chuanhong Guo [Sat, 15 Dec 2018 07:57:54 +0000 (15:57 +0800)]
ath79: ar934x: assert mac/mdio reset together for gmac0

This allows resetting gmac registers during initialization.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx: add support for optional mdio reset
Chuanhong Guo [Sat, 15 Dec 2018 07:44:34 +0000 (15:44 +0800)]
ath79: ag71xx: add support for optional mdio reset

On ar933x and later chips, there are separated mac/mdio resets, but
resetting the entire gmac block with register values requires both
mac_reset and mdio_reset to be asserted together.

Add support for optional mdio reset so that we can do a full reset
if needed.

This patch also replaced deprecated devm_reset_control_get for
mac reset.

To use this feature, the following is needed:
 1. drop "simple-mfd" compatible to register mdio0 after gmac init
    so that mdio registers aren't reset after initialization.
 2. move mdio reset from mdio-bus to its parent eth node.

NOTE: This can't be applied on gmac1 with builtin switch since we
haven't add a feature to defer probe if phy connection failed.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx: register mdio using of_platform_populate
Chuanhong Guo [Wed, 9 Jan 2019 14:02:09 +0000 (22:02 +0800)]
ath79: ag71xx: register mdio using of_platform_populate

remove the hacky checking of "simple-mfd" compatible
also add some comments explaining that piece of code.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx-mdio: get reset control using devm api
Chuanhong Guo [Sat, 15 Dec 2018 07:35:37 +0000 (15:35 +0800)]
ath79: ag71xx-mdio: get reset control using devm api

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx: replace alloc_etherdev with devm_alloc_etherdev
Chuanhong Guo [Fri, 14 Dec 2018 16:03:43 +0000 (00:03 +0800)]
ath79: ag71xx: replace alloc_etherdev with devm_alloc_etherdev

using the devm api makes the code simpler.
also drop unneeded memory free from ag71xx_remove since they are
allocated using devm apis.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx: replace ag71xx_get_phy_if_mode_name() with phy_modes()
Chuanhong Guo [Fri, 14 Dec 2018 15:38:49 +0000 (23:38 +0800)]
ath79: ag71xx: replace ag71xx_get_phy_if_mode_name() with phy_modes()

phy_modes() in phy.h can convert PHY modes to string with supports
for all available PHY modes.

Also add a space in mode printing to make it look better.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agooxnas: pcie: model shared resource as external pcie-phy driver
Daniel Golle [Mon, 4 Mar 2019 21:09:36 +0000 (22:09 +0100)]
oxnas: pcie: model shared resource as external pcie-phy driver

Refactor pcie-oxnas to have shared resources in syscon and new pcie-phy
driver. Hopefully this revives PCIe...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: convert pcie to builtin_platform_driver
Daniel Golle [Mon, 4 Mar 2019 03:04:52 +0000 (04:04 +0100)]
oxnas: convert pcie to builtin_platform_driver

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: restart: use register definitions from dt-bindings
Daniel Golle [Sun, 3 Mar 2019 21:09:33 +0000 (22:09 +0100)]
oxnas: restart: use register definitions from dt-bindings

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: cleanup and improve pcie driver
Daniel Golle [Sun, 3 Mar 2019 19:34:15 +0000 (20:34 +0100)]
oxnas: cleanup and improve pcie driver

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agotools: squashfskit4 should only depend on coreutils on non-linux systems
Felix Fietkau [Sun, 3 Mar 2019 19:58:52 +0000 (20:58 +0100)]
tools: squashfskit4 should only depend on coreutils on non-linux systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agotools/squashfskit: fix version detection on non-linux system
Alexander Couzens [Sat, 2 Mar 2019 13:46:57 +0000 (14:46 +0100)]
tools/squashfskit: fix version detection on non-linux system

gnu date is present in our staging_dir which means squashfskit will fail
to build. Prevent also a race condition if coreutils is build after
squashfskit.

To prevent a race condition, depend on coreutils.

Acked-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
5 years agomt76: update to the latest version
Felix Fietkau [Fri, 1 Mar 2019 15:55:39 +0000 (16:55 +0100)]
mt76: update to the latest version

3c6df9b mt76: rewrite dma descriptor base and ring size on queue reset
30e757e mt76: mt76x02: when setting a key, use PN from mac80211
fa83406 mt76: mt76x2: implement full device restart on watchdog reset
ead881b mt76: mt76x02: do not sync PN for keys with sw_iv set
ba1d989 mt76: mmio: move mt76x02_set_irq_mask in mt76 module
283ebbe mt76: dma: move mt76x02_init_{tx,rx}_queue in mt76 module
b216d3c mt76: introduce q->stopped parameter
8b437d2 mt76x02: clear sta and vif driver data structures on add
2c62d03 mt76x02: clear running flag when resetting state on restart
6b10cfc mt76: mt76x02: only update the base mac address if necessary
669bc49 mt76: mt76x02: reduce false positives in ED/CCA tx blocking
2ed9382 mt76: mt7603: fix tx status HT rate validation
d2c6823 mt76: mt76x2: fix external LNA gain settings
8ee2259 mt76: mt76x2: fix 2.4 GHz channel gain settings
8bfe6d4 mt76: mt7603: clear ps filtering mode before releasing buffered frames
d13b065 mt76: mt7603: fix up hardware queue index for PS filtered packets
eb1ecc4 mt76: mt7603: notify mac80211 about buffered frames in ps queue
3687eec mt76: mt7603: clear the service period on releasing PS filtered packets
42ab27e mt76: when releasing PS frames, end the service period if no frame was found
461f3b0 mt76: mt76x02: disable ED/CCA by default

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: Activate DRIVER_11W_SUPPORT for more capable drivers
Hauke Mehrtens [Thu, 28 Feb 2019 19:41:32 +0000 (20:41 +0100)]
mac80211: Activate DRIVER_11W_SUPPORT for more capable drivers

ieee80211w support is only activated in hostapd when at least one
capable driver is build into the image. Many drivers which are capable
of ieee80211 (MFP) and have the MFP_CAPABLE set in the driver are still
missing the DRIVER_11W_SUPPORT dependency. Add this to more driver
capable of ieee80211w.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agooxnas: add SoC restart driver for reboot
Daniel Golle [Sun, 3 Mar 2019 01:30:21 +0000 (02:30 +0100)]
oxnas: add SoC restart driver for reboot

Refresh oxnas kernel config while at it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoltq-vdsl-fw: update download URL
Daniel Golle [Sat, 2 Mar 2019 18:24:22 +0000 (19:24 +0100)]
ltq-vdsl-fw: update download URL

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: cloudengines,pogoplug*: enable USB ports
Daniel Golle [Sat, 2 Mar 2019 17:53:21 +0000 (18:53 +0100)]
oxnas: cloudengines,pogoplug*: enable USB ports

Reported-by: Jörg Fischer <fischer.loepsingen@yahoo.de>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agompc85xx: Fix Aerohive HiveAP-330 initramfs image
Chris Blake [Sat, 2 Mar 2019 02:03:32 +0000 (20:03 -0600)]
mpc85xx: Fix Aerohive HiveAP-330 initramfs image

At some point our initramfs image grew over 6MB, which is
causing an issue when uncompressing in the stock bootloader:

=> bootm 0x5000000 - 0x1000000;
   Image Name:   Linux-4.19.24
   Created:      2019-02-23   1:58:20 UTC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    6752470 Bytes =  6.4 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Booting using the fdt blob at 0x1000000
   Uncompressing Kernel Image ... Error: inflate() returned -5
GUNZIP: uncompress, out-of-mem or overwrite error - must RESET
   board to recover
   Loading Device Tree to 00ffa000, end 00fffc78 ... OK

To get around this, we need to move to an uncompressed image
for the initramfs image. While this makes a larger image, it
is thankfully bootable so people can then convert their
devices to run OpenWRT. It's worth noting the non-initramfs
image is under 3M, so it will be ages before we have any issues
with the flashed kernel.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[keep commit message at less than 75 characters per line]

5 years agoath79: make TP-Link revision naming consistent
David Bauer [Sun, 24 Feb 2019 23:13:51 +0000 (00:13 +0100)]
ath79: make TP-Link revision naming consistent

This commit makes the TP-Link hardware-revision naming consistent to
match the one used by the vendor. TP-Link refers to the different
revisions as "vX" not "Version X".

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoramips: add support for Belkin F9K1109v1
Kip Porterfield [Sun, 3 Feb 2019 18:54:18 +0000 (13:54 -0500)]
ramips: add support for Belkin F9K1109v1

Device specification:
- SoC: Ralink RT3883 (MIPS 74Kc) 500Mhz
- RAM: 64Mb
- Flash: 8MB (SPI-NOR)
- Ethernet: 10/100/1000 Mbps
- WLAN
Wireless 1: SoC-integrated : 2.4/5 GHz
Wireless 2: 2.4 GHz RT3092L
- LED: 2x USB, WAN, LAN
- Key: WPS, reset
- Serial: 4-pin header, (57600,8,N,1), 3.3V TTL,
GND, RX, TX, V - J12 marking on board
- USB ports: 2 x USB 2.0

Flashing instructions:

Option 1 (from bootloader web)
- Hold reset button on the back of router when plugging
  in power (for at-least 10 seconds after plugged in)
- Connect to a Lan port
- Set computer IP to 10.10.10.3
- Go to http://10.10.10.123 in a web browser
- Click the Browse... Button and select the
   *squashfs.sysupgrade.bin file then click APPLY

Option 2 (from the stock admin web)
- Go to firmware upgrade
- Upload the **factory** image *initramfs.bin first
- Boot into openwrt
- From Luci web in openwrt upload the *squashfs.sysupgrade.bin

Signed-off-by: Kip Porterfield <kip.porterfield@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[added v1 to the compatible identifier, added pciid for
the RT3092L, fixed pci unit-address, split out the F9K110X.dtsi
to prepare for a possible F9K1103 patch]

5 years agoath79: TP-Link Archer C7 v4 swap usb led names
David Santamaría Rogado [Thu, 28 Feb 2019 21:08:48 +0000 (22:08 +0100)]
ath79: TP-Link Archer C7 v4 swap usb led names

Commit 34b10b46 made usb match with the corresponding usb label.
The problem is that v4 seems to use in stock firmware the
upper led for usb 1 and the lower led for usb 2.

The led assigned varies between TP-Link models and even
same model versions. For example, Archer C7 v1 and v2 have
the leds in the reverse order.

Revert 34b10b46 and swap led labels instead, now usb port
and led label match and also respect the original behavior.

Tested-by: Oldrich Jedlicka <oldium.pro@gmail.com>
Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
5 years agolayerscape: fix VFIO driver build issue since linux-4.14.99
Yangbo Lu [Fri, 1 Mar 2019 05:50:08 +0000 (13:50 +0800)]
layerscape: fix VFIO driver build issue since linux-4.14.99

The linux-4.14.99 had introduced below upstream patch.
6636dc5e01c6 arm64: io: Ensure value passed to __iormb() is held in a 64-bit register

It was causing VFIO driver build issue. This patch is to fix it.

 CC      drivers/vfio/fsl-mc/vfio_fsl_mc.o
In file included from ./include/linux/scatterlist.h:9:0,
                 from ./include/linux/iommu.h:22,
                 from drivers/vfio/fsl-mc/vfio_fsl_mc.c:14:
drivers/vfio/fsl-mc/vfio_fsl_mc.c: In function 'vfio_fsl_mc_dprc_wait_for_response':
./arch/arm64/include/asm/io.h:122:45: error: expected expression before ')' token
        : "=r" (tmp) : "r" ((unsigned long)(v))  \
                                             ^
drivers/vfio/fsl-mc/vfio_fsl_mc.c:334:3: note: in expansion of macro '__iormb'
   __iormb();
   ^~~~~~~
./arch/arm64/include/asm/io.h:122:45: error: expected expression before ')' token
        : "=r" (tmp) : "r" ((unsigned long)(v))  \
                                             ^
drivers/vfio/fsl-mc/vfio_fsl_mc.c:336:3: note: in expansion of macro '__iormb'
   __iormb();
   ^~~~~~~

Reported-by: Mathew McBride <matt@traverse.com.au>
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
5 years agoapm821xx: speed up ath9k-caldata extraction
Christian Lamparter [Tue, 19 Feb 2019 17:52:35 +0000 (18:52 +0100)]
apm821xx: speed up ath9k-caldata extraction

Reading and writing to and from flash storage is slow and currently,
the ath10kcal_extract() scripts are even more at an disadvantage
because they use a block size of 1 to be able skip.

This patch reworks the extraction scripts to be much faster and
efficient by reading and writing the calibration data in possibly
one big block.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath79: speed up ath9k-eeprom extraction
Dmitry Tunin [Fri, 22 Feb 2019 12:30:39 +0000 (15:30 +0300)]
ath79: speed up ath9k-eeprom extraction

This is a simple copy of ipq40xx: speed up ath10k-caldata
extraction commit a69e101ed1169f562fc030a783cd997d3f066b16

Tested on DIR-825-B1

3768+0 records in
3768+0 records out
real 0m 11.90s
user 0m 0.03s
sys 0m 9.94s

1+0 records in
1+0 records out
real 0m 0.03s
user 0m 0.00s
sys 0m 0.03s

With this change eeprom extraction is fast enough to get
working Wi-Fi after initial install.

Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
5 years agox86: fix geode image builds redux
Christian Lamparter [Thu, 28 Feb 2019 14:43:49 +0000 (15:43 +0100)]
x86: fix geode image builds redux

This patch adds more disabled DRM config symbols from the
x86' config to the generic target configs. The existing
symbols in the x86' configs are kept for now, until we
know whenever we want to remove such symbols or not
(see Github PR #1831, #1825, #1828).

THis patch also contains a squashed patch from
Daniel Engberg <daniel.engberg.lists@pyret.net> titled
"kernel: Fix config for 4.14" which fixes a duplicated line
added by: commit 8bdc241d01eb ("x86: fix geode image builds")

Fixes: 8bdc241d01eb ("x86: fix geode image builds")
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agooxnas: switch to DTS aliases for LEDs and use generic diag.sh
Daniel Golle [Fri, 1 Mar 2019 22:51:19 +0000 (23:51 +0100)]
oxnas: switch to DTS aliases for LEDs and use generic diag.sh

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoiwinfo: update to latest git
Daniel Golle [Fri, 1 Mar 2019 22:25:59 +0000 (23:25 +0100)]
iwinfo: update to latest git

b514490 iwinfo: add device id for MediaTek MT7603E
e9e1400 iwinfo: more Ralink and MediaTek WiSoC and PCIe chips
cb108c5 iwinfo: fix capitalization of vendor name

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: fix forgotten MTD partition name
Daniel Golle [Fri, 1 Mar 2019 21:15:43 +0000 (22:15 +0100)]
oxnas: fix forgotten MTD partition name

Fixes: 858aebc0ef ("oxnas: unify MTD partition names")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agomac80211: add a fix to prevent unsafe queue wake calls during restart
Felix Fietkau [Fri, 1 Mar 2019 13:54:31 +0000 (14:54 +0100)]
mac80211: add a fix to prevent unsafe queue wake calls during restart

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: backport tx queue start/stop fix
Felix Fietkau [Fri, 1 Mar 2019 12:10:53 +0000 (13:10 +0100)]
mac80211: backport tx queue start/stop fix

Among other things, it fixes a race condition on calling ieee80211_restart_hw

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agolibubox: bump to version 2019-02-27
Yousong Zhou [Fri, 1 Mar 2019 07:24:21 +0000 (07:24 +0000)]
libubox: bump to version 2019-02-27

Contains the following change

eeef7b5 blobmsg_json: blobmsg_format_string: do not escape '/'

Resolves FS#2147

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agobusybox: sync Config.in files
Yousong Zhou [Wed, 27 Feb 2019 03:23:45 +0000 (03:23 +0000)]
busybox: sync Config.in files

The change was made with the following commands

cd package/utils/busybox/config
../convert_menuconfig.pl ~/git-repo/openwrt/openwrt/build_dir/target-mips_24kc_musl/busybox-1.30.1

convert_defaults.pl has no changes other than overwriting defaults for
BUSYBOX_DEFAULT_FEATURE_IPV6

Resolves FS#2146

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agobusybox: unindent busybox Config.in
Yousong Zhou [Wed, 27 Feb 2019 03:22:35 +0000 (03:22 +0000)]
busybox: unindent busybox Config.in

This is to align with upstream change 72089cf ("config: deindent all
help texts") and to make the follow-up change syncing Config.in files
with current busybox version more reviewable

It was made with the following commands

cd package/utils/busybox/config
find . -name 'Config.in' | xargs sed -ir -e 's/^\t  \([^ ]\)/\t\1/'

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agoath79: Fix indent
Adrian Schmutzler [Thu, 28 Feb 2019 18:09:20 +0000 (19:09 +0100)]
ath79: Fix indent

Fix wrong indentation introduced in 59c2f8a.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agomac80211: rt2x00: cleanup ePA, RXIQ and TX-LOFT code
Daniel Golle [Fri, 1 Mar 2019 05:57:40 +0000 (06:57 +0100)]
mac80211: rt2x00: cleanup ePA, RXIQ and TX-LOFT code

consolidate patch 651-rt2x00-remove-unneccesary-code.patch.
fixup the most obvious whitespace problems in RXIQ and TX-LOFT code.
always backup registers bbpr1, bbpr4, bbpr241 and bbpr242 to avoid
compiler warning about them being potentially uninitialized.
no functional changes (intended)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agomac80211: rt2x00: patch tracking cosmetics
Daniel Golle [Fri, 1 Mar 2019 02:34:40 +0000 (03:34 +0100)]
mac80211: rt2x00: patch tracking cosmetics

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: remove uboot-oxnas-ox820 from default package selection
Daniel Golle [Fri, 1 Mar 2019 01:55:09 +0000 (02:55 +0100)]
oxnas: remove uboot-oxnas-ox820 from default package selection

All supported boards should work with the $vendor bootloader just fine.
Existing users should mindfully re-flash using new initramfs build and
restore $vendor bootloader's bootcmd to it's original setting.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: switch to kmod-ledtrig-usb-port
Daniel Golle [Fri, 1 Mar 2019 01:43:48 +0000 (02:43 +0100)]
oxnas: switch to kmod-ledtrig-usb-port

Add port handles for both USB 2.0 ports so they can be used as
trigger-source for USB LEDs.
Suggestions for pogoplug and akitio,mycloud devices are welcome.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agouboot-envtools: oxnas: sync with current oxnas/ox820 DTS
Daniel Golle [Fri, 1 Mar 2019 00:56:11 +0000 (01:56 +0100)]
uboot-envtools: oxnas: sync with current oxnas/ox820 DTS

Use tested values on shuttle,kd20 and assumed values for
mitrastar,stg-212 and cloudengines,pogoplug*.
akitio users have yet to report back stock flash layout to support
vendor bootloader environment there as well.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: unify MTD partition names
Daniel Golle [Fri, 1 Mar 2019 00:55:16 +0000 (01:55 +0100)]
oxnas: unify MTD partition names

Use 'u-boot' and 'u-boot-env' like the majority of OpenWrt targets
does...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agopackage/ncurses: change AR options to fix reproducible builds
Alexander Couzens [Thu, 28 Feb 2019 17:43:38 +0000 (18:43 +0100)]
package/ncurses: change AR options to fix reproducible builds

ar has a deterministic (-D) and non-deterministic (-U) mode.
OpenWrt is already using the deterministic mode by default,
but ncurses' configure script force this to be non-deterministic.
Since autoreconf fails to generate a new configure, the configure script
is directly modified.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
5 years agoinclude/kernel: sort autoload modules list to fix reproducible builds
Alexander Couzens [Thu, 28 Feb 2019 15:37:41 +0000 (16:37 +0100)]
include/kernel: sort autoload modules list to fix reproducible builds

When autoloading more than one modules per packages,
/etc/modules.d/$module depends on the file system ordering.
To test this: use disorderfs on the build_dir and build kmod-sched.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
5 years agooxnas: add missing NAND partitions
Daniel Golle [Mon, 25 Feb 2019 11:02:15 +0000 (12:02 +0100)]
oxnas: add missing NAND partitions

add kernel and other missing NAND flash partitions to allow booting
using stock loader instead of the 2nd-stage bootloader.
This will ease installation from stock firmware on pogoplugs as well
as stg212 aka. medion nas.

Existing users of OpenWrt on those boards will have to boot initramfs
generated after this commit and subsequently flash first the ubinized
image, then again run initramfs to flash sysupgrade.tar image, and
then restore bootcmd in U-Boot environment back to the original setting
('nboot 60500000 0 440000' or something like that) instead of jumping
into the now no longer used 2nd-stage loader.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoipq806x: fix LED configuration for NEC Aterm WG2600HP
INAGAKI Hiroshi [Mon, 25 Feb 2019 12:14:10 +0000 (21:14 +0900)]
ipq806x: fix LED configuration for NEC Aterm WG2600HP

NEC WG2600HP uses port1 on QCA8337 as a WAN port, so "0x2" should
be used as a portmask instead of "0x1e" for "WAN" LED configuration.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoar71xx: Change led trigger from usbdev to usbport
David Santamaría Rogado [Wed, 27 Feb 2019 14:36:19 +0000 (15:36 +0100)]
ar71xx: Change led trigger from usbdev to usbport

This patch changes all the legacy usbdev leds triggers
to the use usbport. The problem is that the usbdev triggers
get applied as usbport in sysfs but LuCI gets confused and
is not able to show the configuration with usbdev. More
information can be found in the PR:
<https://github.com/openwrt/openwrt/pull/1819>

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[extended commit message]

5 years agoath79: add support for TP-Link Archer C5 v1
Bart Lauret [Mon, 25 Feb 2019 18:27:28 +0000 (19:27 +0100)]
ath79: add support for TP-Link Archer C5 v1

TP-Link Archer C5 v1 is a dual band router
based on Qualcomm/Atheros QCA9558 + QCA9880.

Specification:

 - 720 MHz CPU
 - 128 MB of RAM (Various chips)
 - 16 MB of FLASH (Various chips)
 - SoC QCA9558 integrated 3T3R 2.4 GHz Wi-Fi
 - minipcie slot with 3T3R 5 GHz QCA9880-BR4A
 - 5x 10/100/1000 Mbps Ethernet (AR8327N Switch)
 - 10x LEDs, 2x software buttons

For further informwation on the device, visit the wiki:
<https://openwrt.org/toh/tp-link/archer-c5-c7-wdr7500>

Signed-off-by: Bart Lauret <bblauret@gmail.com>
5 years agoath79: TP-Link Archer C7 v4 swap usb port leds
David Santamaría Rogado [Sun, 24 Feb 2019 15:28:23 +0000 (16:28 +0100)]
ath79: TP-Link Archer C7 v4 swap usb port leds

USB 1 triggers usb2 led and USB 2 triggers usb1.
Lower LED is usb1 and upper LED usb2.

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
5 years agoath79: Modify glinet x750 and AR300m MAC address offsets
Luo chongjun [Fri, 22 Feb 2019 11:46:37 +0000 (19:46 +0800)]
ath79: Modify glinet x750 and AR300m MAC address offsets

In the production of glinet, the MAC address of ethernet port is
only written at the position where the ART area offset address
is 0, and the MAC address of eth1 is added 1 on the basis of eth0.

Signed-off-by: Luo chongjun <luochongjun@gl-inet.com>
5 years agoipq40xx: add support for FritzBox 7530
David Bauer [Mon, 18 Feb 2019 22:58:34 +0000 (23:58 +0100)]
ipq40xx: add support for FritzBox 7530

Hardware
--------
CPU:   Qualcomm IPQ4019
RAM:   256M
FLASH: 128M NAND
ETH:   QCA8075
VDSL:  Intel/Lantiq VRX518 PCIe attached
       currently not supported
DECT:  Dialog SC14448
       currently not supported
WiFi2: IPQ4019 2T2R 2SS b/g/n
WiFi5: IPQ4019 2T2R 2SS n/ac
LED:    - Power/DSL green
        - WLAN green
        - FON/DECT green
        - Connect/WPS green
        - Info green
        - Info red
BTN:    - WLAN
        - FON
        - WPS/Connect
UART:  115200n8 3.3V (located under the Dialog chip)
       VCC - RX - TX - GND (Square is VCC)

Installation
------------
1. Grab the uboot for the Device from the 'u-boot-fritz7530'
   subdirectory. Place it in the same directory as the 'eva_ramboot.py'
   script. It is located in the 'scripts/flashing' subdirectory of the
   OpenWRT tree.

2. Assign yourself the IP address 192.168.178.10/24. Connect your
   Computer to one of the boxes LAN ports.

3. Connect Power to the Box. As soon as the LAN port of your computer
   shows link, load the U-Boot to the box using following command.

   > ./eva_ramboot.py --offset 0x85000000 192.168.178.1 uboot-fritz7530.bin

4. The U-Boot will now start. Now assign yourself the IP address
   192.168.1.70/24. Copy the OpenWRT initramfs (!) image to a TFTP
   server root directory and rename it to 'FRITZ7530.bin'.

5. The Box will now boot OpenWRT from RAM. This can take up to two
   minutes.

6. Copy the U-Boot and the OpenWRT sysupgrade (!) image to the Box using
   scp. SSH into the Box and first write the Bootloader to both previous
   kernel partitions.

   > mtd write /path/to/uboot-fritz7530.bin uboot0
   > mtd write /path/to/uboot-fritz7530.bin uboot1

7. Remove the AVM filesystem partitions to make room for our kernel +
   rootfs + overlayfs.

   > ubirmvol /dev/ubi0 --name=avm_filesys_0
   > ubirmvol /dev/ubi0 --name=avm_filesys_1

8. Flash OpenWRT peristently using sysupgrade.

   > sysupgrade -n /path/to/openwrt-sysupgrade.bin

Signed-off-by: David Bauer <mail@david-bauer.net>
[removed pcie-dts range node, refreshed on top of AP120-AC/E2600AC]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agouboot-fritz4040: bump version to 2019-02-08
David Bauer [Mon, 18 Feb 2019 22:58:33 +0000 (23:58 +0100)]
uboot-fritz4040: bump version to 2019-02-08

Adds support for the AVM FRITZ!Box 7530.

Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [PKG_RELEASE]
5 years agoscripts: make eva_ramboot.py offset configurable
David Bauer [Mon, 18 Feb 2019 22:58:32 +0000 (23:58 +0100)]
scripts: make eva_ramboot.py offset configurable

The current eva_ramboot.py script is currently only compatible with
Lantiq based AVM devices. For IPQ40xx devices, the offset needs to be
changed. Also an alignment is not necessary here.

Adjust the script to be able to pass an optional offset to load the
image to. In case no offset is provided, the script behaves exactly as
before this commit.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoipq40xx: fix pcie msi IRQ trigger level
Christian Lamparter [Tue, 26 Feb 2019 15:22:27 +0000 (16:22 +0100)]
ipq40xx: fix pcie msi IRQ trigger level

From: Niklas Cassel <niklas.cassel@linaro.org>
|The databook clearly states that the MSI IRQ (msi_ctrl_int) is a level
|triggered interrupt.
|
|The msi_ctrl_int will be high for as long as any MSI status bit is set,
|thus the IRQ type should be set to IRQ_TYPE_LEVEL_HIGH, causing the
|IRQ handler to keep getting called, as long as any MSI status bit is set.
|[...]
|Not having the correct IRQ type defined will cause us to lose interrupts,
|which in turn causes timeouts in the PCIe endpoint drivers.
|
|Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
|Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: enlarge PCIe BAR size
Christian Lamparter [Mon, 25 Feb 2019 20:12:44 +0000 (21:12 +0100)]
ipq40xx: enlarge PCIe BAR size

David Bauer reported that the VDSL modem (attached via PCIe)
on his AVM Fritz!Box 7530 was complaining about not having
enough space in the BAR. A closer inspection of the old
qcom-ipq40xx.dtsi pulled from the GL-iNet repository listed:

| qcom,pcie@80000 {
|       compatible = "qcom,msm_pcie";
|       reg = <0x80000 0x2000>,
|             <0x99000 0x800>,
|             <0x40000000 0xf1d>,
|             <0x40000f20 0xa8>,
|             <0x40100000 0x1000>,
|             <0x40200000 0x100000>,
|             <0x40300000 0xd00000>;
|       reg-names = "parf", "phy", "dm_core", "elbi",
|                       "conf", "io", "bars";

Matching the reg-names with the listed reg leads to
<0xd00000> as the size for the "bars".

BugLink: https://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg45212.html
Reported-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agokernel: owl-loader: fix sparse endian warnings
Christian Lamparter [Mon, 25 Feb 2019 14:35:23 +0000 (15:35 +0100)]
kernel: owl-loader: fix sparse endian warnings

owl-loader.c:83:21: sparse: warning: incorrect type in assignment (different base types)
owl-loader.c:83:21: sparse:    expected unsigned short [usertype] reg
owl-loader.c:83:21: sparse:    got restricted __be16 const [usertype] reg
owl-loader.c:84:21: sparse: warning: incorrect type in assignment (different base types)
owl-loader.c:84:21: sparse:    expected unsigned int [usertype] val
owl-loader.c:84:21: sparse:    got restricted __be16 const [usertype] low_val
owl-loader.c:85:28: sparse: warning: restricted __be16 degrades to integer

Reported-by: kbuild test robot
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agokernel: disable touchscreen symbols
Christian Lamparter [Sun, 24 Feb 2019 17:58:52 +0000 (18:58 +0100)]
kernel: disable touchscreen symbols

This patch removes the obsolete touchscreen config symbols
and all disables all remaining ones in the generic config.

Generated by running drivers/input/touchscreen/Kconfig

 sed -n 's/^config[[:space:]]\(.*\)/# CONFIG_\1 is not set/p' Kconfig |\
 sort -d
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agox86: fix geode image builds
Christian Lamparter [Thu, 21 Feb 2019 18:34:37 +0000 (19:34 +0100)]
x86: fix geode image builds

This patch adds the disabled DRM_RADEON and DRM_AMDGPU
config symbols from the x86' config to the generic target
configs. The existing symbols in the x86' configs are kept
for now, until we know whenever we want to remove such
symbols or not (see Github PR #1831, #1825, #1828).

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: add support for Qxwlan E2600AC C1 and C2
张鹏 [Mon, 21 Jan 2019 05:28:32 +0000 (13:28 +0800)]
ipq40xx: add support for Qxwlan E2600AC C1 and C2

Qxwlan E2600AC C1 based on IPQ4019

Specifications:
SOC: Qualcomm IPQ4019
DRAM: 256 MiB
FLASH: 32 MiB Winbond W25Q256
ETH: Qualcomm QCA8075
WLAN: 5G + 5G/2.4G
* 2T2R 2.4/5 GHz
 - QCA4019 hw1.0 (SoC)
* 2T2R 5 GHz
 - QCA4019 hw1.0 (SoC)
INPUT:  Reset buutton
LED: 1x Power ,6 driven by gpio
SERIAL: UART (J5)
UUSB: USB3.0
POWER: 1x DC jack for main power input (9-24 V)
SLOT: Pcie (J25), sim card (J11), SD card (J51)

Flash instruction (using U-Boot CLI and tftp server):

 - Configure PC with static IP 192.168.1.10 and tftp server.
 - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp
   server directory.
 - Connect PC with one of RJ45 ports, power up the board and press
   "enter" key to access U-Boot CLI.
 - Use the following command to update the device to OpenWrt: "run lfw".

Flash instruction (using U-Boot web-based recovery):

 - Configure PC with static IP 192.168.1.xxx(2-254)/24.
 - Connect PC with one of RJ45 ports, press the reset button, power up
   the board and keep button pressed for around 6-7 seconds, until LEDs
   start flashing.
 - Open your browser and enter 192.168.1.1, select "sysupgrade" image
   and click the upgrade button.

Qxwlan E2600AC C2 based on IPQ4019

Specifications:
SOC: Qualcomm IPQ4019
DRAM: 256 MiB
NOR: 16 MiB Winbond W25Q128
NAND: 128MiB Micron MT29F1G08ABAEAWP
ETH: Qualcomm QCA8075
WLAN: 5G + 5G/2.4G
* 2T2R 2.4/5 GHz
 - QCA4019 hw1.0 (SoC)
* 2T2R 5 GHz
 - QCA4019 hw1.0 (SoC)
INPUT:  Reset buutton
LED: 1x Power, 6 driven by gpio
SERIAL: UART (J5)
USB: USB3.0
POWER: 1x DC jack for main power input (9-24 V)
SLOT: Pcie (J25), sim card (J11), SD card (J51)

Flash instruction (using U-Boot CLI and tftp server):

 - Configure PC with static IP 192.168.1.10 and tftp server.
 - Rename "ubi" filename to "ubi-firmware.bin" and place it in tftp
   server directory.
 - Connect PC with one of RJ45 ports, power up the board and press
   "enter" key to access U-Boot CLI.
 - Use the following command to update the device to OpenWrt: "run lfw".

Flash instruction (using U-Boot web-based recovery):

 - Configure PC with static IP 192.168.1.xxx(2-254)/24.
 - Connect PC with one of RJ45 ports, press the reset button, power up
   the board and keep button pressed for around 6-7 seconds, until LEDs
   start flashing.
 - Open your browser and enter 192.168.1.1, select "ubi" image
   and click the upgrade button.

Signed-off-by: 张鹏 <sd20@qxwlan.com>
[ added rng node. whitespace fixes, ported 02_network,
ipq-wifi Makefile, misc dts fixes, trivial message changes ]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath79: add support for COMFAST CF-E120A v3
Roger Pueyo Centelles [Sat, 29 Dec 2018 19:44:43 +0000 (20:44 +0100)]
ath79: add support for COMFAST CF-E120A v3

This patch adds support for the COMFAST CF-E120A v3, an outdoor wireless
CPE with two Ethernet ports and a 802.11an radio.

Specifications:

 - AR9344 SoC
 - 535/400/267 MHz (CPU/DDR/AHB)
 - 2x 10/100 Mbps Ethernet, both with PoE-in support
 - 64 MB of RAM (DDR2)
 - 8 MB of FLASH
 - 2T2R 5 GHz, up to 25 dBm
 - 11 dBi built-in antenna
 - POWER/LAN/WAN/WLAN green LEDs
 - 4x RSSI LEDs (2x red, 2x green)
 - UART (115200 8N1) and GPIO (J9) headers on PCB

Flashing instructions:

 The original firmware is based on OpenWrt so a sysupgrade image can be
 installed via the stock web GUI. Settings from the original firmware
 will be saved and restored on the new one, so a factory reset will be
 needed. To do so, once the new firmware is flashed, enter into failsafe
 mode by pressing the reset button several times during the boot
 process, while while the WAN LED flashes, until it starts flashing
 faster. Once in failsafe mode, perform a factory reset as usual.

 The U-boot bootloader contains a recovery HTTP server to upload the
 firmware. Push the reset button while powering the device on and
 keep it pressed for >10 seconds. The recovery page will be at
 http://192.168.1.1

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
5 years agoramips: add TP-Link TL-WR802N-v4 support
Marcel Jost [Tue, 18 Dec 2018 07:00:52 +0000 (08:00 +0100)]
ramips: add TP-Link TL-WR802N-v4 support

This patch adds support for the TP-Link TL-WR802N-v4.
https://openwrt.org/toh/tp-link/tl-wr802n

Specification:
- MT7628N (580 MHz)
- 64 MB RAM
- 8 MB FLASH
- 2T2R 2.4 GHz
- 1x 10/100 Mbps Ethernet
- 1x LED

Flash instruction:

The only way to flash the image in TL-WR802N v4 is to use
tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.0.225/24 and tftp server.
2. Rename "openwrt-ramips-mt76x8-tplink_tl-wr802n-v4-squashfs-tftp-recovery.bin"
   to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with the LAN port, press the reset button, power up
   the router and keep button pressed for around 10 seconds, until
   device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.

Signed-off-by: Marcel Jost <majo@icutech.ch>
5 years agoramips: use generic board detection for Wavlink WL-WN575A3
Thomas Vincent-Cross [Sun, 17 Feb 2019 12:21:42 +0000 (23:21 +1100)]
ramips: use generic board detection for Wavlink WL-WN575A3

Bring Wavlink WL-WN575A3 in line with other Wavlink ramips devices.

Signed-off-by: Thomas Vincent-Cross <me@tvc.id.au>
5 years agoramips: various Wavlink WL-WN575A3 fixes
Thomas Vincent-Cross [Sun, 17 Feb 2019 12:00:59 +0000 (23:00 +1100)]
ramips: various Wavlink WL-WN575A3 fixes

* assign pinmux groups to gpio function for LEDs/buttons
* rename flash node to be more generic in line with other device nodes
* remove useless/incorrect eeprom property from wmac node
* correct base mac address for embedded switch

Signed-off-by: Thomas Vincent-Cross <me@tvc.id.au>
5 years agowireguard: bump to 0.0.20190227
Jason A. Donenfeld [Wed, 27 Feb 2019 23:36:49 +0000 (00:36 +0100)]
wireguard: bump to 0.0.20190227

* wg-quick: freebsd: allow loopback to work

FreeBSD adds a route for point-to-point destination addresses. We don't
really want to specify any destination address, but unfortunately we
have to. Before we tried to cheat by giving our own address as the
destination, but this had the unfortunate effect of preventing
loopback from working on our local ip address. We work around this with
yet another kludge: we set the destination address to 127.0.0.1. Since
127.0.0.1 is already assigned to an interface, this has the same effect
of not specifying a destination address, and therefore we accomplish the
intended behavior. Note that the bad behavior is still present in Darwin,
where such workaround does not exist.

* tools: remove unused check phony declaration
* highlighter: when subtracting char, cast to unsigned
* chacha20: name enums
* tools: fight compiler slightly harder
* tools: c_acc doesn't need to be initialized
* queueing: more reasonable allocator function convention

Usual nits.

* systemd: wg-quick should depend on nss-lookup.target

Since wg-quick(8) calls wg(8) which does hostname lookups, we should
probably only run this after we're allowed to look up hostnames.

* compat: backport ALIGN_DOWN
* noise: whiten the nanoseconds portion of the timestamp

This mitigates unrelated sidechannel attacks that think they can turn
WireGuard into a useful time oracle.

* hashtables: decouple hashtable allocations from the main device allocation

The hashtable allocations are quite large, and cause the device allocation in
the net framework to stall sometimes while it tries to find a contiguous
region that can fit the device struct. To fix the allocation stalls, decouple
the hashtable allocations from the device allocation and allocate the
hashtables with kvmalloc's implicit __GFP_NORETRY so that the allocations fall
back to vmalloc with little resistance.

* chacha20poly1305: permit unaligned strides on certain platforms

The map allocations required to fix this are mostly slower than unaligned
paths.

* noise: store clamped key instead of raw key

This causes `wg show` to now show the right thing. Useful for doing
comparisons.

* compat: ipv6_stub is sometimes null

On ancient kernels, ipv6_stub is sometimes null in cases where IPv6 has
been disabled with a command line flag or other failures.

* Makefile: don't duplicate code in install and modules-install
* Makefile: make the depmod path configurable

* queueing: net-next has changed signature of skb_probe_transport_header

A 5.1 change. This could change again, but for now it allows us to keep this
snapshot aligned with our upstream submissions.

* netlink: don't remove allowed ips for new peers
* peer: only synchronize_rcu_bh and traverse trie once when removing all peers
* allowedips: maintain per-peer list of allowedips

This is a rather big and important change that makes it much much faster to do
operations involving thousands of peers. Batch peer/allowedip addition and
clearing is several orders of magnitude faster now.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
5 years agotools: migrate from squashfs4 to squashfskit4
Alexander Couzens [Wed, 12 Dec 2018 15:10:42 +0000 (16:10 +0100)]
tools: migrate from squashfs4 to squashfskit4

squashfskit is a fork of the squashfs-tools.
squashfskit creates reproducible filesystems and includes
many of the distro patches.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Tested-by: Paul Spooren <mail@aparcar.org>
5 years agoopenssl: bump to release 1.1.1b
Eneas U de Queiroz [Wed, 27 Feb 2019 21:06:44 +0000 (18:06 -0300)]
openssl: bump to release 1.1.1b

This is bugfix release that incorporated all of the devcrypto engine
patches currently in the tree.

The cleaning procedure in Package/Configure was not removing the
dependency files, causing linking errors during a rebuild with
different options.  It was replaced by a simple make clean.

Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
5 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Wed, 27 Feb 2019 11:10:20 +0000 (12:10 +0100)]
odhcpd: update to latest git HEAD

16c5b6c ubus: always trigger an update if interface is not found

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoomcproxy: define configuration file
David Santamaría Rogado [Tue, 26 Feb 2019 23:14:17 +0000 (00:14 +0100)]
omcproxy: define configuration file

omcproxy's configuration is lost on every update or installation.
Avoid it by defining the configuration file.

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
5 years agoRevert "iw: compile with LTO enabled"
Mantas Pucka [Mon, 25 Feb 2019 16:29:13 +0000 (18:29 +0200)]
Revert "iw: compile with LTO enabled"

After update to 5.0.1 iw-full package failed to display command list on
ipq40xx arch. Root cause was found to be LTO reordering causing
incorrect detection of command struct size in:

iw.c:552
cmd_size = labs((long)&__section_set - (long)&__section_get);

This reverts commit ef16a394d2b24a363b50b5b4720cb23fe156c9da.

Signed-off-by: Mantas Pucka <mantas@8devices.com>
5 years agostrace: update to version 2.26
Hauke Mehrtens [Tue, 26 Feb 2019 20:12:18 +0000 (21:12 +0100)]
strace: update to version 2.26

The new patch is a backport from current strace master.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agotools/isl: update to 0.20
Syrone Wong [Sun, 16 Dec 2018 10:44:43 +0000 (18:44 +0800)]
tools/isl: update to 0.20

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
5 years agotoolchain/binutils: Add binutils 2.32
Daniel Engberg [Sat, 9 Feb 2019 01:22:02 +0000 (01:22 +0000)]
toolchain/binutils: Add binutils 2.32

Add binutils 2.32 to repo

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agotoolchain: Update to GCC 8.3.0
Daniel Engberg [Sat, 23 Feb 2019 01:45:42 +0000 (01:45 +0000)]
toolchain: Update to GCC 8.3.0

Update GCC to 8.3.0
Refresh patches
Allow GCC to be used for ARC
Source: https://github.com/openwrt/openwrt/pull/1803#issuecomment-462334890

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agotoolchain/gcc: Remove workaround for GCC 4.8
Daniel Engberg [Sat, 23 Feb 2019 09:47:54 +0000 (10:47 +0100)]
toolchain/gcc: Remove workaround for GCC 4.8

GCC 4.8 was removed a long time ago...

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agopopt: Use modern toolchain logic
Daniel Engberg [Sun, 24 Feb 2019 07:08:14 +0000 (08:08 +0100)]
popt: Use modern toolchain logic

Replace define Build/Configure with CONFIGURE_ARGS

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agoelfutils: fix install .so glob
Matt Merhar [Tue, 26 Feb 2019 13:05:07 +0000 (08:05 -0500)]
elfutils: fix install .so glob

Only libelf was being packaged correctly - libdw and libasm included
just the symlinks.

Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
5 years agosunxi: add support for Orange Pi One
Aleksander Jan Bajkowski [Wed, 20 Feb 2019 13:17:45 +0000 (14:17 +0100)]
sunxi: add support for Orange Pi One

CPU: H3 Quad-core Cortex-A7 H.265/HEVC 4K @ 1.2 Ghz
GPU: Mali400MP2 GPU @ 600MHz (supports OpenGL ES 2.0)
Memory: 512MB DDR3 (shared with GPU)
Onboard: Storage TF card (Max. 64GB) / MMC card slot
Onboard header: SPI, I2C, GPIO, UART
USB 2.0: One USB 2.0 HOST, One USB 2.0 OTG

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
5 years agoath79: fix support-list for TP-Link WDR3600
David Bauer [Fri, 22 Feb 2019 23:25:07 +0000 (00:25 +0100)]
ath79: fix support-list for TP-Link WDR3600

The TP-Link WDR3600 shares the same machine-code in the ar71xx target,
thus expecting "tl-wdr4300" not "tl-wdr3600" in the support-list
metadata to allow non-forced sysupgrades from ar71xx to ath79.

With this, it is possible to flash a WDR4300 image on the WDR3600. It
is no problem however, as the only difference is the 5GHz WiFi chip
which has 3SS instead of 2SS. Both work with either image.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add ar71xx support-list entry for Fritz4020
David Bauer [Sat, 23 Feb 2019 12:12:49 +0000 (13:12 +0100)]
ath79: add ar71xx support-list entry for Fritz4020

This adds the support-list entry the AVM FRITZ!Box 4020 expects in the
ar71xx target to allow non-forced sysupgrades from ar71xx to ath79.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoar71xx: GL.iNet AR300M family: correct LED definitions
Andreas Ziegler [Mon, 25 Feb 2019 00:19:59 +0000 (01:19 +0100)]
ar71xx: GL.iNet AR300M family: correct LED definitions

remove USB as this is no LED but power control
rename WiFi LED with correct color red (like in stock firmware)
set middle LED to be used for LAN link/activity

Signed-off-by: Andreas Ziegler <dev@andreas-ziegler.de>
5 years agoath10k-ct: fix incorrect multicast/broadcast rate setting
Sven Eckelmann [Mon, 25 Feb 2019 19:42:28 +0000 (20:42 +0100)]
ath10k-ct: fix incorrect multicast/broadcast rate setting

If no mcast_rate is set for the wifi-iface then there is no rate_idx (0)
set for the bss. This can break for example 5GHz meshpoint interfaces
because 0 maps to a CCK rate (11Mbit/s).

It must also be avoided that the ath10k-ct internal state for the rates is
not synced with the mac80211 rates state. Otherwise, the user specified
rate (e.g. a wifi-iface mcast_rate for a meshpoint interface) will only be
set on startup. And a short while after that, ath10k-ct specific code in
ath10k_check_apply_special_rates is missing a valid rate in its own
structures and is then recalculating a new default rate. This default rate
is in most situations not the requested rate.

Fixes: 4df3c71cd4c5 ("ath10k-ct: Update to 2018-12-11 and use version based on 4.19")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
5 years agomac80211: ath10k: fix incorrect multicast/broadcast rate setting
Sven Eckelmann [Mon, 25 Feb 2019 19:42:28 +0000 (20:42 +0100)]
mac80211: ath10k: fix incorrect multicast/broadcast rate setting

If no mcast_rate is set for the wifi-iface then there is no rate_idx (0)
set for the bss. This breaks for example 5GHz meshpoint interfaces because
0 maps to a CCK rate (11Mbit/s).

Fixes: db90c243a0b9 ("mac80211: update to version based on 4.19-rc4")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
5 years agomac80211: Add WDS / 4addr fix for ath10k supported devices
Hauke Mehrtens [Tue, 26 Feb 2019 19:41:03 +0000 (20:41 +0100)]
mac80211: Add WDS / 4addr fix for ath10k supported devices

This should fix the WDS / 4addr mode with ath10k and probably other
devices.
This patch was found here: https://patchwork.kernel.org/patch/10692383/

Fixes: d9eefa7a7031 ("mac80211: rebase ontop of v4.18.5")
Reported-by: Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agomac80211: rt2x00: fix crash on release_firmware
Stanislaw Gruszka [Sun, 24 Feb 2019 09:23:18 +0000 (10:23 +0100)]
mac80211: rt2x00: fix crash on release_firmware

Fix crash due to passing invalid r2x00dev->eeprom_file pointer to
release_firmware(). Since we copy eeprom data with EEPROM_SIZE
in rt2800_read_eeprom() we can use eeprom_file->size as marker
if the file was crated by request_firmware().

Acked-by: Kristian Evensen <kristian.evensen@gmail.com>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
5 years agomt76: update to the latest version
Felix Fietkau [Tue, 26 Feb 2019 17:00:38 +0000 (18:00 +0100)]
mt76: update to the latest version

28d81ff mt76x0: eeprom: fix VHT mcs{8,9} rate power offset
6e33ce6 mt76: move mt76_mcu_msg_alloc in mt76-core
4637f95 mt76: move mt76_mcu_get_response in mt76-core
1763cb0 mt76: move mt76_mcu_rx_event in mt76-core
4db9d75 mt76x0: mcu: remove useless commented configuration
91d0455 mt76: move mt76_dma_tx_queue_skb_raw in mt76-core module
0e8e53f mt76: remove add_buf pointer in mt76_queue_ops
db47920 mt7603: rely on mt76_mcu_msg_alloc routine
471c447 mt7603: rely on mt76_mcu_get_response routine
cacc986 mt7603: rely on mt76_mcu_rx_event routine
11ab620 mt7603: rely on mt76_tx_queue_skb_raw common routine
82fa312 mt7603: move alloc_dev common code in mt76_alloc_device
47d5922 mt76: move alloc_device common code in mt76_alloc_device
c50c993 mt76x2u: remove mt76x2u_alloc_device routine
6ed5b7a mt76x0: remove mt76x0u_alloc_device routine
e32e249 mt76x2: remove mt76x2_alloc_device routine
6aacd1e mt76: change the return type of mt76_dma_attach()
a10e9e5 mt76x02u: use usb_bulk_msg to upload firmware
a774ff6 mt76: usb: fix possible NULL pointer dereference in mt76u_mcu_deinit
c2877bc mt76: usb: fix possible memory leak in mt76u_buf_free
a5cfe96 mt76: usb: do not run mt76u_queues_deinit twice
1e4db14 mt76: usb: move mt76u_check_sg in usb.c
302406b mt76: usb: do not use sg buffers for mcu messages
8ab5267 mt76: usb: use a linear buffer for tx/rx datapath if sg is not supported
a0a3505 mt76: usb: introduce disable_usb_sg parameter
0cee180 mt76: usb: use dev_err_ratelimited instead of dev_err in mt76u_complete_rx
1bb97c4 mt76x02u: remove bogus check and comment padding
2cbc2d4 mt76: Use the correct hweight8() function
f18e03a mt76x0u: fix suspend/resume
6231336 mt76: mt76x02: fix TSF sync mode
783da04 mt76: mt76x02: fix beacon timer drift adjustment
43d2507 mt76: mt76x02: fix beacon timer issue
59a6587 mt76: mt76x02: only reset beacon drift counter when enabling beacons
8c8eb98 mt76: mt76x02: issue watchdog reset on MCU request timeout
52161d2 mt76: mt76x02: fix ED/CCA enabling/disabling
5e7ecce mt76: mt76x2: unify mt76x2[u]_mac_resume
18af219 mt76: mt76x02: set MT_TXOP_HLDR_TX40M_BLK_EN for mt76x2
e5747b2 mt76usb: allow mt76u_bulk_msg be used for reads
2437a9a mt76usb: use synchronous msg for mcu command responses
e4250c9 mt76usb: remove usb_mcu.c
8b1110e mt76: usb: fix warning in mt76u_buf_free
89215f6 mt76: usb: introduce mt76u_fill_bulk_urb routine
523e374 mt76: usb: simplify rx buffer allocation
ffe1292 mt76: usb: simplify mt76u_tx_build_sg routine
e2a9d40 mt7603: fix ba window size selection
b040ef7 mt76: remove no longer used routine declarations
645ef43 mt76: usb: check urb->num_sgs limit in mt76u_process_rx_entry
fd315bd mt7603: disable dynamic sensitivity adjustment by default

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agobuild: qsdk-ipq-*: include dtc in PATH before calling mkimage
Piotr Dymacz [Tue, 26 Feb 2019 12:04:54 +0000 (13:04 +0100)]
build: qsdk-ipq-*: include dtc in PATH before calling mkimage

Use 'dtc' from kernel sources instead of relying on host tool.

Fixes: bf4630e5adb4 ("build: add helpers for generating QSDK sysupgrade compatible images")
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agouboot-envtools: add support for ALFA Network AP120C-AC
Piotr Dymacz [Tue, 29 Jan 2019 17:12:51 +0000 (18:12 +0100)]
uboot-envtools: add support for ALFA Network AP120C-AC

While at it, fix alphabetical order.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agoipq40xx: add support for ALFA Network AP120C-AC
Piotr Dymacz [Tue, 29 Jan 2019 17:12:51 +0000 (18:12 +0100)]
ipq40xx: add support for ALFA Network AP120C-AC

ALFA Network AP120C-AC is a dual-band ceiling AP, based on Qualcomm
IPQ4018 + QCA8075 platform.

Specification:

- Qualcomm IPQ4018 (717 MHz)
- 256 MB of RAM (DDR3)
- 16 MB (SPI NOR) + 128 MB (SPI NAND) of flash
- 2x Gbps Ethernet, with 802.3af PoE support in one port
- 2T2R 2.4/5 GHz (IPQ4018), with ext. FEMs (QFE1952, QFE1922)
- 3x U.FL connectors
- 1x 1.8 dBi (Bluetooth) and 2x 3/5 dBi dual-band (Wi-Fi) antennas
- Atmel/Microchip AT97SC3205T TPM module (I2C bus)
- TI CC2540 Bluetooth LE module (USB 2.0 bus)
- 4x LED (all driven by GPIO)
- 1x button (reset)
- 1x USB 2.0 (optional, not installed in indoor version)
- DC jack for main power input (12 V)
- UART header available on PCB (2.0 mm pitch)

Flash instruction:

1. This board uses dual-image feature (128 MB NAND is divided into two
   64 MB partitions: 'rootfs1' and 'rootfs2').
2. Before update, make sure your device is running firmware no older
   than v1.1 (previous versions have incompatible U-Boot).
3. Use 'factory' image in vendor GUI or for sysupgrade tool, without
   preserving settings.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agoipq-wifi: add board-2.bin for ALFA Network AP120C-AC
Piotr Dymacz [Tue, 29 Jan 2019 17:12:51 +0000 (18:12 +0100)]
ipq-wifi: add board-2.bin for ALFA Network AP120C-AC

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agoipq40xx: add support for Macronix MX35LF1GE4AB SPI NAND
Piotr Dymacz [Tue, 29 Jan 2019 17:12:51 +0000 (18:12 +0100)]
ipq40xx: add support for Macronix MX35LF1GE4AB SPI NAND

Without a proper SPI NAND support (SPI NAND framework is available in
kernel >= 4.19) the only way to make such flash working is to include
it in raw/parallel NAND subsystem support and combine with mt29f staging
driver. Obviously, this approach isn't going to be accepted by upstream
(similar support for Winbond W25N01GV was rejected).

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agobuild: add helpers for generating QSDK sysupgrade compatible images
Piotr Dymacz [Tue, 29 Jan 2019 17:12:51 +0000 (18:12 +0100)]
build: add helpers for generating QSDK sysupgrade compatible images

Qualcomm SDK (QSDK) sysupgrade compatible images for IPQ40xx, IPQ806x
and IPQ807x use FIT format together with 'dumpimage' tool from U-Boot
for verifying and extracting them. Based on 'images' sections names,
corresponding mtd partitions are flashed. For example, in case of
NOR-only boards, below mapping is used (section name -> mtd name):

  hlos*   -> 0:HLOS
  rootfs* -> rootfs

And for boards with NAND (kernel inside UBI):

  ubi* -> rootfs

Above mappings come from unmodified QSDK sources and might be wrong for
boards running custom or modified QSDK-based firmware. Some of vendors
adjust them to meet their modified mtd layout or features like recovery
or dual-image support.

This adds simple script 'mkits-qsdk-ipq-image.sh' (based on 'mkits.sh')
for generating FIT images tree source files, compatible with the QSDK
sysupgrade format. Resulting images can be used for initial (factory ->
OpenWrt) installation and would work both in CLI and GUI.

The script is universal in a way it allows to include as many sections
as needed. To make use of it, two generic/basic build recipes for NOR
and NAND based boards are also included in 'image-commands.mk':

  Build/qsdk-ipq-factory-nand
  Build/qsdk-ipq-factory-nor

Example usage for board with UBI in NAND:

  IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agokernel: bump 4.19 to 4.19.25
Koen Vandeputte [Mon, 25 Feb 2019 10:38:50 +0000 (11:38 +0100)]
kernel: bump 4.19 to 4.19.25

Refreshed all patches.

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.14 to 4.14.103
Koen Vandeputte [Mon, 25 Feb 2019 10:38:23 +0000 (11:38 +0100)]
kernel: bump 4.14 to 4.14.103

Refreshed all patches.

Compile-tested on: ar71xx, cns3xxx, imx6, x86_64
Runtime-tested on: ar71xx, cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>