openwrt/staging/adrian.git
5 years agogeneric: ar8216: add support for ar724x/ar933x builtin switch
Chuanhong Guo [Thu, 10 Jan 2019 15:53:23 +0000 (23:53 +0800)]
generic: ar8216: add support for ar724x/ar933x builtin switch

This builtin switch is a bugless ar8216 with different mib counters
and gigabit cpu port.
Atheros uses the same device ID and it's impossible to distinguish
the standalone one and the builtin one. So we add support to mdio
device probe only.

This switch doesn't have buggy vlan tag so it's not needed to enable
atheros header. This commit changed ar8216_setup_port so that it can
be reused for this switch.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agogeneric: ar8216: mdiodev: add qca,phy4-mii-enable option
Chuanhong Guo [Thu, 10 Jan 2019 15:31:35 +0000 (23:31 +0800)]
generic: ar8216: mdiodev: add qca,phy4-mii-enable option

This option allows setting phy4 as a phy connected directly to CPU.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agogeneric: ar8216: ar8229: add phy_read/phy_write
Chuanhong Guo [Thu, 10 Jan 2019 14:38:13 +0000 (22:38 +0800)]
generic: ar8216: ar8229: add phy_read/phy_write

the added function also works for ar8216 and will be used in the
following ar7240 support.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agogeneric: ar8216: add support for separated mdio bus for phy access
Chuanhong Guo [Thu, 10 Jan 2019 11:30:35 +0000 (19:30 +0800)]
generic: ar8216: add support for separated mdio bus for phy access

Atheros FE switches have a builtin mdio master available for PHY
accessing and on ar724x/ar933x builtin switches this mdio master
is the only way of accessing PHYs.

After this patch if there is phy_read/phy_write method available
in ar8xxx_chip we register a separated mdio bus for accessing PHYs.

Still adds support for mdio device probing only since this isn't
needed for those switches registered using PHY probing.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agogeneric: ar8216: add support for ar8229
Chuanhong Guo [Thu, 10 Jan 2019 10:55:27 +0000 (18:55 +0800)]
generic: ar8216: add support for ar8229

ar8229 is the builtin switch in ar934x and later chips. There is
also a standalone version available and their registers/functions
are the same.

This commit added support for the builtin ar8229. The only thing
missing for standalone ar8229 should be phy modes. Since I don't
have a router using that, this commit doesn't add support for
other phy modes.

Only add its support for mdio-device probing method because the
current PHY probing can't return 1G speed when it's a FE switch.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agogeneric: ar8216: add mdio-device probing support
Chuanhong Guo [Thu, 10 Jan 2019 07:31:53 +0000 (15:31 +0800)]
generic: ar8216: add mdio-device probing support

currently only ar8327 and ar8236 are added since they are the only
two I could verify.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agogeneric: ar8216: move ar8xxx_id_chip into ar8xxx_phy_probe
Chuanhong Guo [Thu, 10 Jan 2019 06:54:56 +0000 (14:54 +0800)]
generic: ar8216: move ar8xxx_id_chip into ar8xxx_phy_probe

ar8xxx_id_chip is used to determine current ar8xxx_chip using switch
id and this isn't needed during mdiodev probing.
Move it out of ar8xxx_probe_switch so that we can skip it.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agogeneric: ar8216: add device struct into struct ar8xxx_priv
Chuanhong Guo [Thu, 10 Jan 2019 05:23:42 +0000 (13:23 +0800)]
generic: ar8216: add device struct into struct ar8xxx_priv

dev has been taken up by switch_dev so it's named pdev instead.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agogeneric: ar8216: drop duplicated include
Chuanhong Guo [Thu, 10 Jan 2019 05:16:33 +0000 (13:16 +0800)]
generic: ar8216: drop duplicated include

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agogeneric: ar8216: move chip id reading into a separate function
Chuanhong Guo [Thu, 10 Jan 2019 05:05:00 +0000 (13:05 +0800)]
generic: ar8216: move chip id reading into a separate function

for mdio-device probing we still need to read chip id but ar8xxx_chip
can be determined using drvdata. We can't distinguish the buggy
standalone ar8216 and the builtin ar8216 in ar724x/ar933x using chip
id.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: add support for linux 4.19
Chuanhong Guo [Thu, 13 Dec 2018 07:14:10 +0000 (15:14 +0800)]
ath79: add support for linux 4.19

The following patches are dropped because they are merged upstream:
-0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
-0006-usb-drop-deprecated-symbols.patch
-0009-MIPS-ath79-add-lots-of-missing-registers.patch
-0010-MIPS-ath79-add-support-for-QCA953x-QCA956x-TP9343.patch
-0014-MIPS-ath79-finetune-cpu-overrides.patch
-0015-MIPS-ath79-enable-uart-during-early_prink.patch
-0016-MIPS-ath79-get-PCIe-controller-out-of-reset.patch

This patch is dropped due to the introduction of spi-mem framework:
-461-spi-ath79-add-fast-flash-read.patch

Thank to Michael Marley @mamarley for his work on this patch:
-910-unaligned_access_hacks.patch

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
[synchronized kernel config with make kernel_oldconfig]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ag71xx: pass correct device pointer to dma functions
Chuanhong Guo [Thu, 13 Dec 2018 07:12:01 +0000 (15:12 +0800)]
ath79: ag71xx: pass correct device pointer to dma functions

linux 4.19 doesn't accept a NULL device for these functions.
It also complains that the device struct in net_device doesn't have
a dma_mask set.
Pass the device struct from platform_device for these functions.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx: add support for timer functions in linux 4.15+
Chuanhong Guo [Wed, 12 Dec 2018 11:09:35 +0000 (19:09 +0800)]
ath79: ag71xx: add support for timer functions in linux 4.15+

Kernel newer than 4.15 dropped "data" field and used from_timer
to cast out the parent struct pointer for current timer.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoramips: add support for DLINK DIR-510L
Pawel Dembicki [Mon, 19 Mar 2018 18:15:29 +0000 (19:15 +0100)]
ramips: add support for DLINK DIR-510L

The DIR-510L Wireless Router are based on the MT7620A SoC.

Specification:

-MediaTek MT7620A (580 Mhz)
-128 MB of RAM
-16 MB of FLASH
-802.11bgn radio
-1x 10/100 Mbps Ethernet
-2x internal, non-detachable antennas
-UART (J3) header on PCB (57600 8n1)
-1x bi-color LED (GPIO-controlled), 2x button
-JBOOT bootloader

Known issues:
-Ethernet port is used as LAN
-No communication with charger IC. (uart bitbang needed)

Installation:
Apply factory image via d-link http web-gui.

How to revert to OEM firmware:
1.) Push the reset button and turn on the power. Wait until LED start blinking (~10sec.)
2.) Upload original factory image via JBOOT http (IP: 192.168.123.254)
3.) If http doesn't work, it can be done with curl command:
    curl -F FN=@XXXXX.bin http://192.168.123.254/upg
    where XXXXX.bin is name of firmware file.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
[fixed whitespace issue in 10-rt2x00-eeprom]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agofirmware-utils: mkdlinkfw: add kernel image offset
Pawel Dembicki [Thu, 19 Apr 2018 17:36:55 +0000 (19:36 +0200)]
firmware-utils: mkdlinkfw: add kernel image offset

Some boards with JBOOT have partiton between bootloader
and kernel image. This patch add possibility to change kernel
partition start address.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
5 years agoramips: fix wrong i2s clock unit from kHz to MHz
Qin Wei [Tue, 5 Mar 2019 01:58:55 +0000 (09:58 +0800)]
ramips: fix wrong i2s clock unit from kHz to MHz

clk_get_rate returns the current clock rate in Hz for a clock source so
if we divide it by 1M, then we get frequency in MHz and not kHz.

Signed-off-by: Qin Wei <support@vocore.io>
[added missing commit message, and fixed author with SoB from PR message]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agomt76: update to the latest version
Felix Fietkau [Sat, 23 Mar 2019 17:00:00 +0000 (18:00 +0100)]
mt76: update to the latest version

4d8c7e8 mt76: mt76x02: send no-skb tx status without holding the status lock
7e9e9ad mt76: mt7603: add missing initialization for dev->ps_lock
3a7e6bb mt76: fix potential deadlock on cancelling workqueues
deacb8f mt76: fix using mac80211 tx skb header padding
c9402eb mt76: use napi polling for tx cleanup
60e508e mt76: use readl/writel instead of ioread32/iowrite32
5912e8a mt7603: fix sequence number assignment
95a83cc mt7603: send BAR after powersave wakeup

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agokernel: bump 4.14 to 4.14.107
Koen Vandeputte [Wed, 20 Mar 2019 12:28:57 +0000 (13:28 +0100)]
kernel: bump 4.14 to 4.14.107

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.9 to 4.9.164
Koen Vandeputte [Wed, 20 Mar 2019 12:27:16 +0000 (13:27 +0100)]
kernel: bump 4.9 to 4.9.164

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoimx6: fix legacy IRQ support (4.19)
Koen Vandeputte [Thu, 21 Mar 2019 14:08:26 +0000 (15:08 +0100)]
imx6: fix legacy IRQ support (4.19)

The PCIe DWC host controller is now using MSI
(Message-signaled-interrupts) by default.

While ath9k itself does support MSI here, a lot of wlan adapters do not.
Avoid non-functioning cards by simply continue to disable MSI for now.

This can be done by appending "pci=nomsi" to the boot cmdline.

Also an extra fix needs to be backported which avoids MSI initialization
which prevented legacy IRQ's init from taking over.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoimx6: enable PCIe (4.19)
Koen Vandeputte [Thu, 21 Mar 2019 14:02:43 +0000 (15:02 +0100)]
imx6: enable PCIe (4.19)

The DWC host controller symbols are now depending on a few others

Fixes: ca1b93f038a5 ("imx6: add support for kernel 4.19")
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoimx6: enable crypto acceleration (4.19)
Koen Vandeputte [Thu, 21 Mar 2019 16:00:24 +0000 (17:00 +0100)]
imx6: enable crypto acceleration (4.19)

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoimx6: enable crypto acceleration
Koen Vandeputte [Thu, 21 Mar 2019 16:38:44 +0000 (17:38 +0100)]
imx6: enable crypto acceleration

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoimx6: refresh kernel configs
Koen Vandeputte [Thu, 21 Mar 2019 13:56:13 +0000 (14:56 +0100)]
imx6: refresh kernel configs

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoglibc: update to latest 2.27 commit
Hans Dedecker [Fri, 22 Mar 2019 08:23:48 +0000 (09:23 +0100)]
glibc: update to latest 2.27 commit

1ab314d8d3 S390: Mark vx and vxe as important hwcap.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoath79: Add support for Ubiquiti NanoBeam AC
Tobias Schramm [Tue, 8 Jan 2019 14:27:57 +0000 (15:27 +0100)]
ath79: Add support for Ubiquiti NanoBeam AC

The NanoBeam is a small AR9342 based directional 5 GHz AC CPE with hardware
almost identical to the Ubiquiti NanoStation AC loco. Over the NanoStation
AC loco it has 5 additional LEDs. Four of those LEDs are used as rssi
indicators, the fifth LED is used as an ethernet link/activity indicator.

CPU:   Atheros AR9342 SoC
RAM:   64 MB DDR2
Flash: 16 MB NOR SPI
WLAN:  QCA988X
Ports: 1x GbE

Flashing procedure is identical to the NanoStation AC loco and can be performed
either via serial or the factory firmware upgrade.

Serial flashing:

1. Connect to serial header on device (8N1 115200)
2. Power on device and enter uboot console
3. Set up tftp server serving an openwrt initramfs build
4. Load initramfs build using the command tftpboot in the uboot cli
5. Boot the loaded image using the command bootm
6. Copy squashfs openwrt sysupgrade build to the booted device
7. Use mtd to write sysupgrade to partition "firmware"
8. Reboot and enjoy

Flashing through factory firmware:

1. Ensure firmware version v8.5.0.36727 is installed. Up/downgrade to this exact version.
2. Patch fwupdate.real binary using `hexdump -Cv /bin/ubntbox | sed 's/14 40 fe fe/00 00 00 00/g' | hexdump -R > /tmp/fwupdate.real`
3. Make the patched fwupdate.real binary executable using `chmod +x /tmp/fwupdate.real`
4. Copy the squashfs factory image to /tmp on the device
5. Flash OpenWRT using `/tmp/fwupdate.real -m <squashfs-factory image>`
6. Wait for the device to reboot

Thanks to @cybermaus for testing!

Tested-by: Maurits van Dueren den Hollander <cybermaus@gmail.com>
Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
5 years agoar71xx: Add support for Mikrotik RB SXT 2nD r3
Xavier Douville [Thu, 21 Mar 2019 13:21:34 +0000 (09:21 -0400)]
ar71xx: Add support for Mikrotik RB SXT 2nD r3

The Mikrotik RouterBOARD SXT 2nD r3 is an outdoor WiFi AP / CPE
with a single 2.4 GHz radio and a 100 Mbps Ethernet port.
The device similar to the SXT 2nD r2, but it has SPI NOR flash instead
of NAND flash.

Hardware
--------
CPU:   Atheros AR9344 (600 MHz)
RAM:   64 MiB
FLASH: 16 MiB SPI NOR W25Q128
ETH:   1x 100 Mbps Atheros AG71xx
WiFi: 2T2R 802.11b/g/n (ath9k)
Power: Passive PoE 8-30 V

Installation instructions:

1. Boot openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf using a
   DHCP+TFTP server.
2. Erase the "firmware" partition using the mtd command. This should
   no longer be required once this patch is merged.
3. Use sysupgrade to install to flash. The file
   openwrt-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin
   should be used.

Signed-off-by: Xavier Douville <github@douville.org>
5 years agobuild: suppress error output in feeds.mk
Florian Eckert [Mon, 28 May 2018 09:26:50 +0000 (11:26 +0200)]
build: suppress error output in feeds.mk

If no feed.conf or feeds.conf.default is found on image generation with
the imagebuilder we always get the following message "Unable to open
feeds configuration at <dir>/scripts/feeds line 48." on std error.

To get rid off this needless warning on image generation with the
imagebuilder supress the output in feeds.mk.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
5 years agonetifd: update to latest git HEAD
Hauke Mehrtens [Thu, 21 Mar 2019 15:40:53 +0000 (16:40 +0100)]
netifd: update to latest git HEAD

a8cf037 netifd: wireless: Add support for GCMP cipher
34a70b6 netifd: wireless: Add support for 802.11ad

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoubox: update to latest git HEAD
Hauke Mehrtens [Thu, 21 Mar 2019 15:37:58 +0000 (16:37 +0100)]
ubox: update to latest git HEAD

a782779 kmodloader: increase module name length

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoiwinfo: update to latest git HEAD
Hauke Mehrtens [Thu, 21 Mar 2019 15:31:22 +0000 (16:31 +0100)]
iwinfo: update to latest git HEAD

ce1814b iwinfo: Add device ID for Wilocity Wil6210
a8e8275 iwinfo: Add support for 802.11ad

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agoRevert "valgrind: enable LTO and refresh patches"
Hauke Mehrtens [Thu, 21 Mar 2019 14:30:03 +0000 (15:30 +0100)]
Revert "valgrind: enable LTO and refresh patches"

This reverts commit 0331770299b1587a96285fd1af33afe6de4ecbb9.

With LTO enabled valgridn does not build on MIPS32 any more, deactivate
it for now. The patch refresh was not reverted.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agolibnftnl: bump to latest version
Rosy Song [Thu, 14 Mar 2019 07:09:47 +0000 (15:09 +0800)]
libnftnl: bump to latest version

Signed-off-by: Rosy Song <rosysong@rosinson.com>
5 years agoopenssl: revert disallowing parallel build
Eneas U de Queiroz [Mon, 11 Mar 2019 21:00:58 +0000 (21:00 +0000)]
openssl: revert disallowing parallel build

Openssl 1.1.0 made wholesale changes to its building system.
Apparently, parallel builds are working now.

Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
5 years agoodhcpd: update to latest git HEAD (FS#2160)
Hans Dedecker [Thu, 21 Mar 2019 14:57:05 +0000 (15:57 +0100)]
odhcpd: update to latest git HEAD (FS#2160)

6d23385 dhcpv6: extra syslog tracing
b076916 dhcpv6/router: add support for mutiple master interfaces
e4a24dc ndp: fix adding proxy neighbor entries
4ca7f7e router: add extra syslog tracing
8318e93 netlink: fix neighbor event handling (FS#2160)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoar71xx: Remove ath10k packages from archer-c7-v1 (fixes FS#1743)
Aubrey McIntosh, PhD [Tue, 4 Sep 2018 06:40:10 +0000 (01:40 -0500)]
ar71xx: Remove ath10k packages from archer-c7-v1 (fixes FS#1743)

ath10k_pci driver crashes once loaded and causes boot loops on this
device as 5GHz radio QCA9880-AR1A shipped with this router is broken.
It's not possible to fix this problem in software, miniPCIe radio has to
be replaced.

We could've probably fixed crashing of the ath10k driver by reverting
following upstream commit:

 commit 1a7fecb766c83dace747f42b25bbb544b00a0163
 Author: Michal Kazior <michal.kazior@tieto.com>
 Date:   Sat Jan 24 12:14:48 2015 +0200

    ath10k: reset chip before reading chip_id in probe

but it's not worth the effort as it wouldn't make that 5GHz radio usable
anyway. So it seems more convenient to just remove the crashing driver
and provide bootable images, as I believe, that a router that is working
but degraded is better than a router that will not work.

For details please see discussions in PR[1] and in FS#1743[2].

1. https://github.com/openwrt/openwrt/pull/1349
2. https://bugs.openwrt.org/index.php?do=details&task_id=1743

Signed-off-by: Aubrey McIntosh, PhD <aubrey.mcintosh@utexas.edu>
[subject and commit message tweaks]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: GL.iNet AR300M-nand/nor: correct LAN LED
Andreas Ziegler [Tue, 19 Mar 2019 16:41:24 +0000 (17:41 +0100)]
ath79: GL.iNet AR300M-nand/nor: correct LAN LED

The port labled as "LAN" is eth1.
That's different from the -lite variant,
where the only existing port eth0 is used as LAN

Signed-off-by: Andreas Ziegler <dev@andreas-ziegler.de>
5 years agouboot-fritz4040: fix PKG_MIRROR_HASH
Christian Lamparter [Tue, 19 Mar 2019 16:37:07 +0000 (17:37 +0100)]
uboot-fritz4040: fix PKG_MIRROR_HASH

The PKG_MIRROR_HASH was for some reason wrong.

Fixes: d75db67870fa ("uboot-fritz4040: bump version to 2019-03-03")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoadb: fix missing PKG_MIRROR_HASH
Christian Lamparter [Tue, 19 Mar 2019 10:17:59 +0000 (11:17 +0100)]
adb: fix missing PKG_MIRROR_HASH

This package was missing a PKG_MIRROR_HASH value.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoramips: Speed up eeprom read/write
Adrian Schmutzler [Sun, 17 Mar 2019 23:07:31 +0000 (00:07 +0100)]
ramips: Speed up eeprom read/write

Reading and writing to and from flash storage is slowed down
enormously by some functions which use a block size of 1.

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

This is based on the initial commit a69e101 for ipq40xx by
Christian Lamparter <chunkeey@gmail.com>.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Rosen Penev <rosenp@gmail.com>
5 years agoramips: Xiaomi MIR3G: detect board name from DTS
Ozgur Can Leonard [Tue, 19 Mar 2019 07:04:27 +0000 (10:04 +0300)]
ramips: Xiaomi MIR3G: detect board name from DTS

- Former "mir3g" board name becomes "xiaomi,mir3g".
- Reorder some entries to maintain alphabetical order.
- Change DTS so status LEDs (yellow/red/blue) mimic
  Xiaomi stock firmware: (Section Indicator)
<http://files.xiaomi-mi.co.uk/files/router_pro/router%20PRO%20EN.pdf>
<http://files.xiaomi-mi.co.uk/files/Mi_WiFi_router_3/MiWiFi_router3_EN.pdf>
|Yellow: Update (LED flickering), the launch of the system (steady light);
|Blue: during normal operation (steady light);
|Red: Safe mode (display flicker), system failure (steady light);

Signed-off-by: Ozgur Can Leonard <ozgurcan@gmail.com>
[Added link to similar Router 3 model]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoca-certificates: update to version 20190110
Josef Schlehofer [Wed, 13 Mar 2019 23:53:41 +0000 (00:53 +0100)]
ca-certificates: update to version 20190110

- Tested on Turris MOX, OpenWrt master
- Removed PKG_BUILD_DIR
In build_dir there were two folders
ca-certificates and ca-certificates-20190110 and it failed as files
were in ca-certificates-20190110

Signed-off-by: Josef Schlehofer <josef.schlehofer@nic.cz>
5 years agoipq40xx: add support for EnGenius ENS620EXT
Steve Glennon [Wed, 27 Feb 2019 22:48:23 +0000 (15:48 -0700)]
ipq40xx: add support for EnGenius ENS620EXT

Hardware
--------
CPU:   Qualcomm IPQ4018
RAM:   256M
FLASH: 32M SPI NOR W25Q256
ETH:   QCA8075
WiFi2: IPQ4018 2T2R 2SS b/g/n
WiFi5: IPQ4018 2T2R 2SS n/ac
LED:    - Power amber
        - LAN1(PoE) green
        - LAN2 green
        - Wi-Fi 2.4GHz green
        - Wi-Fi 5GHz green
BTN:    - WPS
UART:  115200n8 3.3V J1
       VCC(1) - GND(2) - TX(3) - RX(4)

Added basic support to get the device up and running for a sysupgrade
image only.
There is currently no way back to factory firmware, so this is a one-way
street to OpenWRT.
Install from factory condition is convoluted, and may brick your device:
1) Enable SSH and disable the CLI on the factory device from the web user
   interface (Management->Advanced)
2) Reboot the device
3) Override the default, limited SSH shell:
   a) Get into the ssh shell:
      ssh admin@192.168.1.1 /bin/sh --login
   b) Change the dropbear script to disable the limited shell. At the
      empty command prompt type:
        sed -i '/login_ssh/s/^/#/g’ dropbear
        /etc/init.d/dropbear restart
        exit
4) ssh in to a (now-) normal OpenWRT SSH session
5) Flash your built image
   a) scp openwrt-ipq40xx-engenius_ens620ext-squashfs-sysupgrade.bin
      admin@192.168.1.1:/tmp/
   b) ssh admin@192.168.1.1
   c) sysupgrade -n
      /tmp/openwrt-ipq40xx-engenius_ens620ext-squashfs-sysupgrade.bin
6) After flash completes (it may say "Upgrade failed" followed by
   "Upgrade completed") and device reboots, log in to newly flashed
   system. Note you will now need to ssh as root rather than admin.

Signed-off-by: Steve Glennon <s.glennon@cablelabs.com>
[whitespace fixes, reordered partitions, removed rng node from 4.14,
fixed 901-arm-boot-add-dts-files.patch]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoramips: add support for I-O DATA WN-AC733GR3
INAGAKI Hiroshi [Thu, 14 Mar 2019 14:46:43 +0000 (23:46 +0900)]
ramips: add support for I-O DATA WN-AC733GR3

I-O DATA WN-AC733GR3 is a 2.4/5 GHz band 11ac router, based on
MediaTek MT7620A.

Specification

- SoC : MediaTek MT7620A
- RAM : DDR2 64 MiB
- Flash : SPI-NOR 8 MiB
- WLAN : 2.4/5 GHz
  - 2.4 GHz : MT7620A (SoC), 2T2R
  - 5 GHz   : MT7610E, 1T1R
- Ethernet : 10/100/1000 Mbps (RTL8367RB)
- LED/key : 4x/4x (2x buttons, 1x slide-switch)
- UART : through-hole on PCB
  - J1: Vcc, RX, GND, TX from LED side
  - 57600n8

Flash instruction using factory image:

1. Boot WN-AC733GR3 normaly
2. Access to "http://192.168.0.1/" and open firmware update page
("ファームウェア")
3. Select the OpenWrt factory image and click update ("更新") button
to perform firmware update
4. Wait ~150 seconds to complete flashing

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agokernel: brcm47xx: Backport fixes for USB on WNDR3400v2 (fixes FS#2170)
Petr Štetiar [Thu, 7 Mar 2019 10:56:48 +0000 (10:56 +0000)]
kernel: brcm47xx: Backport fixes for USB on WNDR3400v2 (fixes FS#2170)

Eric has reported on OpenWrt's bug tracking system[1], that he's not
able to use USB devices on his WNDR3400v2 device after the boot, until
he turns on GPIO #21 manually through sysfs.

1. https://bugs.openwrt.org/index.php?do=details&task_id=2170

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agokernel: Backport ar933x_uart build fix (fixes FS#2152)
Petr Štetiar [Tue, 19 Mar 2019 17:13:50 +0000 (18:13 +0100)]
kernel: Backport ar933x_uart build fix (fixes FS#2152)

Andrey has reported on OpenWrt's bug tracking system[1], that he
currently can't use ar93xx_uart as pure serial UART without console
(CONFIG_SERIAL_8250_CONSOLE and CONFIG_SERIAL_AR933X_CONSOLE undefined),
because compilation ends with following error:

 ar933x_uart.c: In function 'ar933x_uart_console_write':
 ar933x_uart.c:550:14: error: 'struct uart_port' has no
                               member named 'sysrq'

1. https://bugs.openwrt.org/index.php?do=details&task_id=2152

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoiproute2: update to 5.0.0
Deng Qingfang [Wed, 20 Mar 2019 08:05:14 +0000 (16:05 +0800)]
iproute2: update to 5.0.0

Update iproute2 to 5.0.0
Remove upstream patch 001-tc-fix-undefined-XATTR_SIZE_MAX
Alter patch 170-ip_tiny as support for IPX and DECnet is dropped
Update patch 010-cake-fwmark to match upstream commit

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agotoolchain: Remove binutils 2.29 for ARC targets
Daniel Engberg [Wed, 27 Feb 2019 10:09:34 +0000 (10:09 +0000)]
toolchain: Remove binutils 2.29 for ARC targets

Remove binutils 2.29 for ARC targets

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agotoolchain: Use binutils 2.32 by default for ARC
Daniel Engberg [Wed, 27 Feb 2019 10:00:08 +0000 (10:00 +0000)]
toolchain: Use binutils 2.32 by default for ARC

Use binutils 2.32 by default for ARC targets

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agotoolchain: Remove GCC 7.1 for ARC targets
Daniel Engberg [Wed, 27 Feb 2019 10:26:53 +0000 (10:26 +0000)]
toolchain: Remove GCC 7.1 for ARC targets

Remove GCC 7.1 for ARC targets

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agotoolchain: Use GCC 8.3.0 by default for ARC
Daniel Engberg [Wed, 27 Feb 2019 10:21:03 +0000 (10:21 +0000)]
toolchain: Use GCC 8.3.0 by default for ARC

Use GCC 8.3.0 by default for ARC targets
Includes a fix by Evgeniy Didin which fixes GCC version selection if
DEVEL isn't set

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agokernel: Update arc-add-OWRTDTB-section patch for 4.14
Evgeniy Didin [Wed, 20 Mar 2019 08:30:40 +0000 (11:30 +0300)]
kernel: Update arc-add-OWRTDTB-section patch for 4.14

In 4.14.104 commit "e7264579eb80" (ARC: U-boot: check arguments paranoidly)
was introduced, which together with 332-arc-add-OWRTDTB-section.patch
caused build failure.

This commit updates 332-arc-add-OWRTDTB-section.patch.

Fixes:
http://phase1.builds.openwrt.org/builders/archs38%2Fgeneric/builds/1290
http://phase1.builds.openwrt.org/builders/archs38%2Fgeneric/builds/1269

Signed-off-by: Evgeniy Didin <evgeniy.didin@synopsys.com>
[Updated patch for kernel 4.19 in addition]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: John Crispin <john@phrozen.org>
5 years agomac80211: fix an issue with the TXQ scheduling API and powersave clients
Felix Fietkau [Tue, 19 Mar 2019 11:02:35 +0000 (12:02 +0100)]
mac80211: fix an issue with the TXQ scheduling API and powersave clients

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: improve the txq scheduling API to deal with driver buffered packets
Felix Fietkau [Tue, 19 Mar 2019 11:01:53 +0000 (12:01 +0100)]
mac80211: improve the txq scheduling API to deal with driver buffered packets

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: optimize skb resizing to avoid reallocation when using 802.11s + batman-adv
Felix Fietkau [Mon, 18 Mar 2019 11:59:20 +0000 (12:59 +0100)]
mac80211: optimize skb resizing to avoid reallocation when using 802.11s + batman-adv

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoiproute2: add cake fwmark support
Ryan Mounce [Thu, 28 Feb 2019 15:51:36 +0000 (15:51 +0000)]
iproute2: add cake fwmark support

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
5 years agokmod-sched-cake: bump to latest cake
Ryan Mounce [Tue, 5 Mar 2019 03:34:45 +0000 (14:04 +1030)]
kmod-sched-cake: bump to latest cake

Update the out of tree build of cake. Applicable patches are also in
net-next.

057c738 Fix fwmark_shft assignment (again)
ca6c162 Add support for storing mark back into conntrack
7ed9b6c Fix off-by-one error when setting fwmark_shft.
a4a243a sch_cake: Interpret fwmark parameter as a bitmask
29d707e Simplify logic in cake_select_tin()
8acaaee Permit use of connmarks as tin classifiers
348f186 Make the dual modes fairer
99a7297 compat: Don't lock root qdisc when dumping stats on old kernels

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
5 years agokernel: fix compile issue for tda1997x media device
Koen Vandeputte [Tue, 19 Mar 2019 08:19:08 +0000 (09:19 +0100)]
kernel: fix compile issue for tda1997x media device

Building tda1997x fails now unless V4L2_FWNODE is selected:

drivers/media/i2c/tda1997x.o: in function `tda1997x_parse_dt'
undefined reference to `v4l2_fwnode_endpoint_parse'

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoipq806x: Enlarge R7500v2 flash - use netgear partition
Wang Xin-yu (王昕宇) [Sat, 16 Mar 2019 01:07:10 +0000 (09:07 +0800)]
ipq806x: Enlarge R7500v2 flash - use netgear partition

This patch increases available space from 20MB to 86MB.
Netgrear OEM firmware contains a 'netgear' partition followed 'ubi',
which can be used in openwrt for larger ubi space. (similar to
Netgear R7800).

original author (notmyrealhandle) tested this on R7500v2 and point that
OEM firmware can auto rebuild this partition (if used by openwrt).

Author: notmyrealhandle<22336358+notmyrealhandle@users.noreply.github.com>
Signed-off-by: Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [minor touch-ups]
5 years agoath79: align naming of Ubiquiti Nanostation M
Sven Roederer [Wed, 6 Mar 2019 23:09:15 +0000 (00:09 +0100)]
ath79: align naming of Ubiquiti Nanostation M

Support for the Nanostation M (XW) was added in 40530c8eb with board
name "nanostation-m-xw". The current image for the "Nanostation M"
uses "nano-m" as the board name.
This commit renames it to the full product name as it's used by all
other boards. The legacy boardname of the ar71xx target is added
via SUPPORTED_DEVICES to ease switching to ath79 target.

Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
[touch-ups on the commit message, removed subject remains]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoramips: add #pwm-cells property to MT76x8 dts
Micke Prag [Fri, 15 Mar 2019 10:05:53 +0000 (11:05 +0100)]
ramips: add #pwm-cells property to MT76x8 dts

To be able to configure pwms the pwm driver needs to know the number off
cells in the "pwms" property. For this platform this is 2.

Signed-off-by: Micke Prag <micke.prag@telldus.se>
5 years agousbutils: Update usb.ids to 0.321
Daniel Engberg [Fri, 15 Mar 2019 08:57:34 +0000 (09:57 +0100)]
usbutils: Update usb.ids to 0.321

Update usb.ids to 0.321

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agoath79: add support for jjPlus JA76PF2
Tomasz Maciej Nowak [Wed, 6 Mar 2019 19:15:19 +0000 (20:15 +0100)]
ath79: add support for jjPlus JA76PF2

jjPlus JA76PF2 (marketed as IntellusPro2) is a network embedded board.

Specification
SoC: Atheros AR7161
RAM: 64 MB DDR
Flash: 16 MB SPI NOR
Ethernet: 2x 10/100/1000 Mbps AR8316
LAN (CN11), WAN/PoE (CN6 - close to power barrel
connector, 48 V)
MiniPCI: 2x
LEDS: 4x, which 3 are GPIO controlled
Buttons: 2x GPIO controlled
Reset (SW1, closer to ethernet ports), WPS (SW2)
Serial: 1x (only RX and TX are wired)
baud: 115200, parity: none, flow control: none

Currently there is one caveat compared to ar71xx target images as the
MAC addresses are random on every reboot. To remedy this one needs to
store the WAN MAC address in RedBoot configuration. OpenWrt on first
boot, after flashing, will read out the address and assign proper ones
to both WAN and LAN ports. It is iportant to NOT keep the old
configuration when doing sysupgrade from ar71xx.

Upgrading from OpenWrt ar71xx image
1. Connect to serial port,
2. Download OpenWrt sysupgrade image to /tmp directory and flash it
   with:
    sysupgrade -n <openwrt_sysupgrade_image_name>
3. After writing new image OpenWrt will reboot, now interrupt boot
   process and enter RedBoot (bootloader) command line by pressing
   Ctrl+C,
4. Enter following commands (replace variable accordingly),
    set_mac (to view MAC addresses)
    alias ethaddr <wan_port_mac_adress>
    (confirm storing the value by inputting y and pressing Enter)
    reset
5. Now board should restart and boot OpenWrt with proper MAC addresses.

Installation
1. Prepare TFTP server with OpenWrt initramfs image,
2. Connect to WAN ethernet port,
3. Connect to serial port,
4. Power on the board and enter RedBoot (bootloader) command line by
   pressing Ctrl+C,
5. Enter following commands (replace variables accordingly):
    set_mac (to view MAC addresses)
    alias ethaddr <wan_port_mac_address>
    (confirm storing the value by inputting y and pressing Enter)
    ip_adress -l <board_ip_adress>/24 -h <tftp_server_ip_adress>
    load -r -b 0x80060000 <openwrt_initramfs_image_name>
    exec -c ""
6. Now board should boot OpenWrt initramfs image,
7. Download OpenWrt sysupgrade image to /tmp directory and flash it
   with:
    sysupgrade <openwrt_sysupgrade_image_name>
8. Wait few minutes, after the D2 LED will stop blinking, the board
   is ready for configuration.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agoath79: routerstation: prepare to use sysupgrade-tar format image
Tomasz Maciej Nowak [Mon, 4 Mar 2019 14:14:18 +0000 (15:14 +0100)]
ath79: routerstation: prepare to use sysupgrade-tar format image

In PR [1] introducing initial support for Ubiquiti RouterStation boards,
Mathias Kresin suggested to replace the combined sysupgrade image with
tarball generated by sysupgrade-tar.sh. This would simplify deployment
of sysupgrade as the kernel size (needed to update FIS partition) could
be simply calculated on the fly instead of reading value from combined
image header. Unfortunately this would break sysupgrade compatibility
between ar71xx image and ath79 image. Therefore this commit creates
migration path to use new sysuprade image, it adds code to accept both
of them at this moment. The plan is to keep it until new stable version
is released. Then the image recipe should be changed to new format and
compatibility code for old image removed.

1. https://github.com/openwrt/openwrt/pull/1237

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agolantiq: kernel 4.14: fix usb_phy1 reset status bit in vr9.dts
Martin Schiller [Mon, 11 Mar 2019 10:17:05 +0000 (11:17 +0100)]
lantiq: kernel 4.14: fix usb_phy1 reset status bit in vr9.dts

The status of USB PHY 1 Reset Domain is also in bit 5 of RST_STAT2.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
5 years agoath79: qca955x: add wmac migration hotplug event
Tomasz Maciej Nowak [Wed, 13 Mar 2019 16:44:22 +0000 (17:44 +0100)]
ath79: qca955x: add wmac migration hotplug event

When upgrading from ar71xx target images to ath79 based ones, the
integrated wireless interface changes its sysfs path. Therefore the
previous enabled wireless interface will be disabled, which can cause
false complains about it not working. This commit adds hotplug event
which migrates to new path and will keep the wrireless interface
enabled after upgrade.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agoath79: fix leds description for EnGenius EPG5000
Tomasz Maciej Nowak [Wed, 13 Mar 2019 16:44:21 +0000 (17:44 +0100)]
ath79: fix leds description for EnGenius EPG5000

Align the LEDs deffinition with MACH file present in ar71xx target which
has the correct LED functions and colors adescription.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agokernel: bump 4.14 to 4.14.106
Koen Vandeputte [Thu, 14 Mar 2019 13:22:10 +0000 (14:22 +0100)]
kernel: bump 4.14 to 4.14.106

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>
5 years agokernel: bump 4.9 to 4.9.163
Koen Vandeputte [Thu, 14 Mar 2019 13:20:14 +0000 (14:20 +0100)]
kernel: bump 4.9 to 4.9.163

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoipset: size optimizations
Deng Qingfang [Sat, 23 Feb 2019 16:46:54 +0000 (00:46 +0800)]
ipset: size optimizations

ipset utility was linked statically to libipset. Disable static library for dynamic linking to save space.
Add -Wl,--gc-sections,--as-needed for further reduction

MIPS ipk size:
ipset: 29KiB -> 2KiB
libipset: 39KiB -> 38KiB

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agoRevert "tools/cmake: Update to 3.14.0"
Stijn Tintel [Sun, 17 Mar 2019 10:17:28 +0000 (11:17 +0100)]
Revert "tools/cmake: Update to 3.14.0"

The cmake bump to 3.14.0 breaks build on all targets. Revert it for now.

This reverts commit a3446257a8737bfc2899c5911791873561feecc7.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agotools/libelf: Add mirrors as main site is dead
Daniel Engberg [Thu, 14 Mar 2019 07:25:49 +0000 (08:25 +0100)]
tools/libelf: Add mirrors as main site is dead

Main site hasn't resolved for days so just add a few mirrors instead

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agotools/cmake: Update to 3.14.0
Daniel Engberg [Sat, 16 Mar 2019 21:09:22 +0000 (21:09 +0000)]
tools/cmake: Update to 3.14.0

Update CMake to 3.14.0
Refresh patches
Remove inofficial fossies.org and replace with GitHub (link on official site)
Remote 150-C-feature-checks-Match-warnings-more-strictly.patch as it's
a no longer needed backport from upstream.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agomac80211: netifd: Use a mask when using `iw set antenna`
Alexander Couzens [Sat, 9 Mar 2019 14:59:32 +0000 (15:59 +0100)]
mac80211: netifd: Use a mask when using `iw set antenna`

The keyword "all" is only supported by `iw set antenna` if
it's used as the only argument.
Convert "all" into a mask before calling `iw set antenna`.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
5 years agomt76: update to the latest version
Felix Fietkau [Tue, 12 Mar 2019 09:44:53 +0000 (10:44 +0100)]
mt76: update to the latest version

00ac79d mt7603: fix initialization of max rx length
320af65 mt76: mt7603: use the correct hweight8() function
bdee924 mt76: fix schedule while atomic in mt76x02_reset_state
abcb544 mt76x02: do not enable RTS/CTS by default
e97a209 mt76: remove mt76_queue dependency from tx_queue_skb function pointer
ddd98f8 mt76: remove mt76_queue dependency from tx_prepare_skb function pointer
9bc2d56 mt76: remove mt76_queue dependency from tx_complete_skb function pointer
06c917f mt76: introduce mt76_sw_queue data structure
2dc63b0 mt76: introduce mt76_txq_id field in mt76_queue_entry
312f6fc mt76: remove irqsave/restore in locking for tx status fifo
0fe6386 mt76: move mt76x02_insert_hdr_pad in mt76-core module
efe9a47 mt76: mmio: move mt76_insert_hdr_pad in mt76_dma_tx_queue_skb
0b03f87 mt76: move skb dma mapping before running tx_prepare_skb
f977a92 mt76: introduce mt76_tx_info data structure
72fe286 mt76: use mac80211 txq scheduling
b77b932 mt76: reduce locking in mt76_dma_tx_cleanup
c0ab515 mt76: store wcid tx rate info in one u32 reduce locking
f37ad72 mt76: mt76x02: store software PN/IV in wcid
5323005 mt76: move tx tasklet to struct mt76_dev
688d708 mt76: only schedule txqs from the tx tasklet
42ce040 mt76: use TX_NEEDS_ALIGNED4_SKBS
2660aa9 mt76: mt7603: store software PN/IV in wcid
3ce8a93 mt76: dma: add static qualifier to mt76_dma_tx_queue_skb
81a32aa mt7603: remove mt7603_mcu_init routine
48dc7e9 mt7603: core: do not use magic numbers in mt7603_reg_map
2236490 mt76: usb: reduce code indentation in mt76u_alloc_tx

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: add a few performance improvement patches
Felix Fietkau [Sat, 16 Mar 2019 18:50:44 +0000 (19:50 +0100)]
mac80211: add a few performance improvement patches

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agokernel: backport flow dissector batman-adv support
Felix Fietkau [Sat, 16 Mar 2019 17:38:46 +0000 (18:38 +0100)]
kernel: backport flow dissector batman-adv support

Improves performance on multicore systems handling batman-adv traffic

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: improve locking around the txq scheduling / airtime fairness API
Felix Fietkau [Wed, 13 Mar 2019 20:58:55 +0000 (21:58 +0100)]
mac80211: improve locking around the txq scheduling / airtime fairness API

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: backport the txq scheduling / airtime fairness API
Felix Fietkau [Wed, 13 Mar 2019 19:08:16 +0000 (20:08 +0100)]
mac80211: backport the txq scheduling / airtime fairness API

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: fix an unaligned access in the mesh hash table function
Felix Fietkau [Wed, 13 Mar 2019 19:04:44 +0000 (20:04 +0100)]
mac80211: fix an unaligned access in the mesh hash table function

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agonetifd: add support for suppressing the DHCP request hostname by setting it to *
Felix Fietkau [Wed, 13 Mar 2019 11:45:13 +0000 (12:45 +0100)]
netifd: add support for suppressing the DHCP request hostname by setting it to *

dnsmasq (and probably other DHCP servers as well) does not like to hand out
leases with duplicate host names.
Adding support for skipping the hostname makes it easier to deploy setups
where it is not guaranteed to be unique

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: update and fix the patch to allow 4-byte aligned tx skbs
Felix Fietkau [Sun, 10 Mar 2019 20:34:09 +0000 (21:34 +0100)]
mac80211: update and fix the patch to allow 4-byte aligned tx skbs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: allocate tailroom for forwarded mesh packets
Felix Fietkau [Sun, 10 Mar 2019 20:14:53 +0000 (21:14 +0100)]
mac80211: allocate tailroom for forwarded mesh packets

Fixes a warning + packet loss on encrypted mesh networks with forwarding

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoiproute2: tc: reduce size of dynamic symbol table
Tony Ambardar [Fri, 14 Dec 2018 07:49:32 +0000 (23:49 -0800)]
iproute2: tc: reduce size of dynamic symbol table

In the case of SHARED_LIBS=y, don't use -export-dynamic to place *all*
symbols into the dynamic symbol table. Instead, use --dynamic-list to
export a smaller set of symbols similar to that defined in static-syms.h
in the case of SHARED_LIBS=n, avoiding an 11 KB tc package size increase.
The symbol set is based on that required by the only plugin, m_xt.so.

Also increment PKG_RELEASE.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE fixup]
5 years agoiproute2: tc: enable and fix support for using .so plugins
Tony Ambardar [Thu, 13 Dec 2018 19:48:55 +0000 (11:48 -0800)]
iproute2: tc: enable and fix support for using .so plugins

This enables using the tc module m_xt.so, which uses the act_ipt kernel
module to allow tc actions based on iptables targets. e.g.

   tc filter add dev eth0 parent 1: prio 10 protocol ip \
   u32 match u32 0 0 action xt -j DSCP --set-dscp-class BE

Make the SHARED_LIBS parameter configurable and based on tc package
selection.

Fix a problem using the tc m_xt.so plugin as also described in
https://bugs.debian.org/868059:

  Sync include/xtables.h from iptables to make sure the right offset is
  used when accessing structure members defined in libxtables. One could
  get “Extension does not know id …” otherwise. (See also: #868059)

Patch to sync the included xtables.h with system iptables 1.6.x. This
continues to work with iptables 1.8.2.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
5 years agoiproute2: support eBFP/XDP object file loading, simplify linking libelf
Tony Ambardar [Sun, 16 Dec 2018 02:26:48 +0000 (18:26 -0800)]
iproute2: support eBFP/XDP object file loading, simplify linking libelf

Add build and runtime dependencies on libelf, allowing tc and ip-full
to load BPF and XDP object files respectively.

Define package 'tc' as a singleton package variant, which can be used to
enable additional functionality limited only to tc. Also set ip-tiny
as the default 'ip' variant.

Preserve optionality of libelf by having configuration script follow the
HAVE_ELF environment variable, used similarly to the HAVE_MNL variable.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
5 years agonetifd: update to latest git HEAD (FS#2087)
Hans Dedecker [Thu, 14 Mar 2019 12:48:50 +0000 (13:48 +0100)]
netifd: update to latest git HEAD (FS#2087)

81ac3bc interface-ip: fix delegate config update on reload (FS#2087)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agouboot-sunxi: add fix for A20-OLinuXino-Lime2-eMMC rev. K boards
Zoltan HERPAI [Wed, 13 Mar 2019 20:14:47 +0000 (21:14 +0100)]
uboot-sunxi: add fix for A20-OLinuXino-Lime2-eMMC rev. K boards

The OLinuXino Lime2 rev. K boards use new PHYs (Micrel KSZ9031),
so enable that.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
5 years agouboot-sunxi: bump to 2019.01
Zoltan HERPAI [Wed, 13 Mar 2019 19:54:31 +0000 (20:54 +0100)]
uboot-sunxi: bump to 2019.01

Tested on:
Bananapro (A20)
Banana Pi M3 (A83t)
Linksprite pcDuino3 (A20)
Olinuxino Lime (A10)
Orange Pi 2 (H3)
Pine64 (A64)

Patches refreshed.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
5 years agoath79: ag71xx: Remove ndo_poll_controller
Rosen Penev [Mon, 4 Mar 2019 06:21:19 +0000 (22:21 -0800)]
ath79: ag71xx: Remove ndo_poll_controller

It is unused by default and upstream is trying to remove it as it has
negative effects when the driver is under load. Upstream explanation:

netpoll: avoid capture effects for NAPI drivers
As diagnosed by Song Liu, ndo_poll_controller() can
be very dangerous on loaded hosts, since the cpu
calling ndo_poll_controller() might steal all NAPI
contexts (for all RX/TX queues of the NIC).

This capture, showing one ksoftirqd eating all cycles
can last for unlimited amount of time, since one
cpu is generally not able to drain all the queues under load.

It seems that all networking drivers that do use NAPI
for their TX completions, should not provide a ndo_poll_controller() :

Most NAPI drivers have netpoll support already handled
in core networking stack, since netpoll_poll_dev(
 uses poll_napi(dev) to iterate through registered
NAPI contexts for a device.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
5 years agoar71xx: Speed up mtd extraction in ar71xx.sh
Adrian Schmutzler [Thu, 7 Mar 2019 08:40:09 +0000 (09:40 +0100)]
ar71xx: Speed up mtd extraction in ar71xx.sh

Although the amount of data read here is smaller than for the
caldata, there still might be some speed gain compared to reading
bytewise. And there is no harm ...

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoar71xx: Speed up caldata/eeprom handling
Adrian Schmutzler [Thu, 7 Mar 2019 08:40:08 +0000 (09:40 +0100)]
ar71xx: Speed up caldata/eeprom handling

Reading and writing to and from flash storage is slowed down
enormously by some functions which use a block size of 1.

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

This is based on the initial commit a69e101 for ipq40xx by
Christian Lamparter <chunkeey@gmail.com>.

Speed comparison @ TP-Link TL-WDR4300 (just manually) results
in a time reduction by three orders of magnitude (99.9 %).

> time dd if=/dev/mtd3 of=/lib/firmware/test-slow bs=1 count=4096 skip=4096
4096+0 records in
4096+0 records out
real    0m 15.85s
user    0m 0.06s
sys     0m 13.28s

> time dd if=/dev/mtd3 of=/lib/firmware/test-fast bs=4096 count=1 skip=4096 iflag=skip_bytes
1+0 records in
1+0 records out
real    0m 0.02s
user    0m 0.00s
sys     0m 0.02s

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoath79: Speed up caldata/eeprom handling
Adrian Schmutzler [Thu, 7 Mar 2019 08:40:07 +0000 (09:40 +0100)]
ath79: Speed up caldata/eeprom handling

Reading and writing to and from flash storage is slowed down
enormously by some functions which use a block size of 1.

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

This is based on the initial commit a69e101 for ipq40xx by
Christian Lamparter <chunkeey@gmail.com>.

Speed comparison @ UBNT AC-Mesh (just manually) results
in a time reduction by three orders of magnitude (99.9 %).

> time dd if=/dev/mtd6 of=/lib/firmware/test-slow bs=1 count=4096 skip=4096
4096+0 records in
4096+0 records out
real    0m 16.84s
user    0m 0.07s
sys     0m 13.54s

> time dd if=/dev/mtd6 of=/lib/firmware/test-fast bs=4096 count=1 skip=4096 iflag=skip_bytes
1+0 records in
1+0 records out
real    0m 0.02s
user    0m 0.00s
sys     0m 0.02s

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Rosen Penev <rosenp@gmail.com>
5 years agoapm821xx: usb: xhci: fix semicolon.cocci warnings
kbuild test robot [Thu, 7 Mar 2019 17:04:43 +0000 (18:04 +0100)]
apm821xx: usb: xhci: fix semicolon.cocci warnings

drivers/usb/host/xhci-pci.c:788:2-3: Unneeded semicolon

 Remove unneeded semicolon.

Generated by: scripts/coccinelle/misc/semicolon.cocci

Fixes: 9e0fd1b52ad1 ("apm821xx: add support for the Netgear Centria N900 WNDR4700/WNDR4720")
Signed-off-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [changed subject]
5 years agogemini: Generate padded kernel+rootfs images for DIR-685
Linus Walleij [Mon, 11 Mar 2019 18:16:43 +0000 (19:16 +0100)]
gemini: Generate padded kernel+rootfs images for DIR-685

We currently generate a kernel that boots from the harddrive
in the DIR-685. That's not how we usually do things, so
let's augment it to boot from flash and mount the rootfs
using squashfs and JFFS2 like everyone else.

Partition splitting only work when the partitions are
inside of a "partitions" node which is why we have a patch
like this (submitted upstream).

Another patch drops the rootfs arguments and renames the
firmware partition while adding the compatible "wrg"
to it so the WRGG parser will kick in.

Factory image was tested by bravely reflashing the DIR-685
from stock firmware using the web UI and the serial console
boot loader.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
5 years agokernel: mtdsplit: wrgg: Support big and little endian
Linus Walleij [Mon, 11 Mar 2019 18:16:42 +0000 (19:16 +0100)]
kernel: mtdsplit: wrgg: Support big and little endian

The WRGG images exist in both big and little endian variants,
as can be seen from the image generator in
tools/firmware-utils/src/mkwrggimg.c, you either pass
the "-b" flag or not. The D-Link DIR-685 is using little
endian images so we need to support splitting these.

Detect endianness like this: if the kernel entity size
gets silly big (bigger than the flash memory) we are
probably using the wrong endianness.

Example: my kernel of 0x0067ff64 was switched around by
wrong endianness and detected as 0x64ff67a0 (the actual
size in swapped endianness + header 0xa0).

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath79: add suport for EnGenius EPG5000
Tomasz Maciej Nowak [Mon, 4 Mar 2019 14:18:53 +0000 (15:18 +0100)]
ath79: add suport for EnGenius EPG5000

EnGenius EPG5000 (v1.0.0, marketed as IoT Gateway) is a dual band
wireless router.

Specification
SoC: Qualcomm Atheros QCA9558
RAM: 256 MB DDR2
Flash: 16 MB SPI NOR
WIFI: 2.4 GHz 3T3R integrated
5 GHz 3T3R QCA9880 Mini PCIe card
Ethernet: 5x 10/100/1000 Mbps QCA8337N
USB: 1x 2.0
LEDS: 4x GPIO controlled
Buttons: 2x GPIO controlled
UART: 4 pin header, starting count from white triangle on PCB
1. VCC 3.3V, 2. GND, 3. TX, 4. RX
baud: 115200, parity: none, flow control: none

Installation
1. Connect to one of LAN (yellow) ethernet ports,
2. Open router configuration interface,
3. Go to Tools > Firmware,
4. Select OpenWrt factory image with dlf extension and hit Apply,
5. Wait few minutes, after the Power LED will stop blinking, the router
   is ready for configuration.

Alternative installation
1. Prepare TFTP server with OpenWrt sysupgrade image,
2. Connect to one of LAN (yellow) ethernet ports,
3. Connect to UART port (leaving out VCC pin!),
4. Power on router,
5. When asked to enter a number 1 or 3 hit 2, this will select flashing
   image from TFTP server option,
6. You'll be prompted to enter TFTP server ip (default is 192.168.99.8),
   then router ip (default is 192.168.99.9) and for last, image name
   downloaded from TFTP server (default is uImageESR1200_1750),
7. After providing all information U-Boot will start flashing the image,
   You can observe progress on console, it'll take few minutes and when
   the Power LED will stop blinking, router is ready for configuration.

Additional information
If connected to UART, when prompted for number on boot, one can enter
number 4 to open bootloader (U-Boot) command line.
OEM firmware shell password is: aigo3d0a0tdagr
useful for creating backup of original firmware.
When doing upgrade from OpenWrt ar71xx image, it is recomended to not keep
the old configuration.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agoipq40xx: limit frequencies for Asus Lyra
Marius Genheimer [Mon, 11 Mar 2019 21:52:54 +0000 (22:52 +0100)]
ipq40xx: limit frequencies for Asus Lyra

The Asus Lyra has filters in the antenna paths which limits
the usable frequencies on both 5GHz radios.

Signed-off-by: Marius Genheimer <mail@f0wl.cc>
5 years agoipq40xx: add support for AVM FRITZ!Repeater 3000
David Bauer [Mon, 11 Mar 2019 17:05:32 +0000 (18:05 +0100)]
ipq40xx: add support for AVM FRITZ!Repeater 3000

Hardware
--------
CPU:   Qualcomm IPQ4019
RAM:   256M (NANYA NT5CC128M16JR-EK)
FLASH: 128M NAND (Macronix MX30LF1G18AC-XKI)
ETH:   Qualcomm QCA8072
WiFi2: IPQ4019 2T2R 2SS b/g/n
WiFi5: IPQ4019 2T2R 2SS n/ac
WiFi5: QCA9984 4T4R 4SS n/ac
LED:    - Connect green/blue/red
        - Power green
BTN:   WPS/Connect
UART:  115200n8 3.3V
       VCC - RX - TX - GND (Square is VCC)

Installation
------------
1. Grab the uboot for the Device from the 'u-boot-fritz3000'
   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-fritz3000.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 'FRITZ3000.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-fritz3000.bin uboot0
   > mtd write /path/to/uboot-fritz3000.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>
5 years agofritz-tools: add support for IPQ40xx platform
David Bauer [Mon, 11 Mar 2019 17:05:31 +0000 (18:05 +0100)]
fritz-tools: add support for IPQ40xx platform

AVM devices based on Qualcomm IPQ40xx do not store sector health
information in the OOB area. Make this check optional to support this
platform.

Signed-off-by: David Bauer <mail@david-bauer.net>