openwrt/openwrt.git
2 years agoiproute2: only link libelf where needed
Jo-Philipp Wich [Wed, 19 Dec 2018 08:50:05 +0000 (09:50 +0100)]
iproute2: only link libelf where needed

The iproute2 build system links libelf support to every utility while only
the tc program actually requires libelf specific functionality.

Unfortunately the BPF ELF functionality is not confined into an own
compilation unit but added to the existing bpf.c sources of the shared
static libutil.a, causing every iproute2 applet to pick up an implicit
libelf.so dependency.

In order to avoid this requirement, patch the iproute2 build system to
create both a libutil.a and a libutil-elf.a, with the former being built
without libelf functionality and to only link the tc applet with the libelf
enabled libutil.

Finally, make the tc package depend on libelf to solve compilation errors.

Ref: https://github.com/openwrt/packages/issues/7728
Fixes: FS#2011
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoelfutils: install library files for pkg-config
Tony Ambardar [Sat, 24 Nov 2018 00:40:24 +0000 (16:40 -0800)]
elfutils: install library files for pkg-config

Support other packages using pkg-config to query existence and details of
libelf and libdw libraries at build time.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2 years agobase-files: install missing /etc/iproute2/ematch_map
Tony Ambardar [Wed, 21 Nov 2018 13:03:12 +0000 (05:03 -0800)]
base-files: install missing /etc/iproute2/ematch_map

This file is needed to properly use the tc ematch modules present in
kmod-sched-core and kmod-sched. It is a read-only index file of ematch
methods used only by tc.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2 years agobrcm2708: switch to kernel 4.14
Stijn Tintel [Thu, 6 Dec 2018 22:33:59 +0000 (00:33 +0200)]
brcm2708: switch to kernel 4.14

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kernel 4.14 support
Stijn Tintel [Sat, 10 Nov 2018 11:03:18 +0000 (13:03 +0200)]
brcm2708: add kernel 4.14 support

Patch generation process:
- rebase rpi/rpi-4.14.y on v4.14.89 from linux-stable
- git format-patch v4.14.89

Patches skipped during rebase:
- lan78xx: Read MAC address from DT if present
- lan78xx: Enable LEDs and auto-negotiation
- Revert "softirq: Let ksoftirqd do its job"
- sc16is7xx: Fix for multi-channel stall
- lan78xx: Ignore DT MAC address if already valid
- lan78xx: Simple patch to prevent some crashes
- tcp_write_queue_purge clears all the SKBs in the write queue
- Revert "lan78xx: Simple patch to prevent some crashes"
- lan78xx: Connect phy early
- Arm: mm: ftrace: Only set text back to ro after kernel has been marked ro
- Revert "Revert "softirq: Let ksoftirqd do its job""
- ASoC: cs4265: SOC_SINGLE register value error fix
- Revert "ASoC: cs4265: SOC_SINGLE register value error fix"
- Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends"
- Revert "Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends""

Patches dropped after rebase:
- net: Add non-mainline source for rtl8192cu wlan
- net: Fix rtl8192cu build errors on other platforms
- brcm: adds support for BCM43341 wifi
- brcmfmac: Mute expected startup 'errors'
- ARM64: Fix build break for RTL8187/RTL8192CU wifi
- ARM64: Enable RTL8187/RTL8192CU wifi in build config
- This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator
- brcmfmac: add CLM download support
- brcmfmac: request_firmware_direct is quieter
- Sets the BCDC priority to constant 0
- brcmfmac: Disable ARP offloading when promiscuous
- brcmfmac: Avoid possible out-of-bounds read
- brcmfmac: Delete redundant length check
- net: rtl8192cu: Normalize indentation
- net: rtl8192cu: Fix implicit fallthrough warnings
- Revert "Sets the BCDC priority to constant 0"
- media: cxd2880: Bump to match 4.18.y version
- media: cxd2880-spi: Bump to match 4.18.y version
- Revert "mm: alloc_contig: re-allow CMA to compact FS pages"
- Revert "Revert "mm: alloc_contig: re-allow CMA to compact FS pages""
- cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with
  MEDIA_SUBDRV_AUTOSELECT
- 950-0421-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch
- 950-0453-Add-hid-bigbenff-to-list-of-have_special_driver-for-.patch

Make I2C built-in instead of modular as in upstream defconfig; also the
easiest way to get MFD_ARIZONA enabled, which is required by
kmod-sound-soc-rpi-cirrus.
Add missing compatible strings from
4.9/960-add-rasbperrypi-compatible.patch, using upstream names for
compute modules.
Add extra patch to enable the LEDs on lan78xx.

Compile-tested: bcm2708, bcm2709, bcm2710 (with CONFIG_ALL_KMODS=y)
Runtime-tested: bcm2708, bcm2710

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kmod-sound-soc-3dlab-nano-player
Stijn Tintel [Thu, 6 Dec 2018 22:13:01 +0000 (00:13 +0200)]
brcm2708: add kmod-sound-soc-3dlab-nano-player

Add kernel module for 3Dlab Nano Player support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kmod-sound-soc-rpi-cirrus
Stijn Tintel [Thu, 6 Dec 2018 20:57:02 +0000 (22:57 +0200)]
brcm2708: add kmod-sound-soc-rpi-cirrus

Add kernel module for Cirrus Logic Audio Card support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kmod-sound-soc-googlevoicehat
Stijn Tintel [Thu, 6 Dec 2018 20:52:10 +0000 (22:52 +0200)]
brcm2708: add kmod-sound-soc-googlevoicehat

Add kernel module for Google Voice HAT support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kmod-sound-soc-audioinjector-octo-soundcard
Stijn Tintel [Thu, 6 Dec 2018 20:35:53 +0000 (22:35 +0200)]
brcm2708: add kmod-sound-soc-audioinjector-octo-soundcard

Add kernel module for AudioInjector Octo surround sound card support in
kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kmod-sound-soc-allo-katana-codec
Stijn Tintel [Thu, 6 Dec 2018 20:26:04 +0000 (22:26 +0200)]
brcm2708: add kmod-sound-soc-allo-katana-codec

Add kernel module for Allo Katana DAC support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kmod-sound-soc-allo-piano-dac-plus
Stijn Tintel [Thu, 6 Dec 2018 20:16:12 +0000 (22:16 +0200)]
brcm2708: add kmod-sound-soc-allo-piano-dac-plus

Add kernel module for the Allo Piano DAC Plus in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kmod-sound-soc-allo-digione
Stijn Tintel [Thu, 6 Dec 2018 20:10:44 +0000 (22:10 +0200)]
brcm2708: add kmod-sound-soc-allo-digione

Add kernel module for Allo DigiOne support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kmod-sound-soc-allo-boss-dac
Stijn Tintel [Thu, 6 Dec 2018 19:41:30 +0000 (21:41 +0200)]
brcm2708: add kmod-sound-soc-allo-boss-dac

Add kernel module for Allo Boss DAC support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: add kmod-hwmon-rpi-poe-fan
Stijn Tintel [Thu, 6 Dec 2018 19:28:46 +0000 (21:28 +0200)]
brcm2708: add kmod-hwmon-rpi-poe-fan

Add kernel module for the fan on the PoE HAT for the 3B+ model in kernel
4.14. Without this, the fan will not turn on.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: prepare kmod-drm-vc4 for 4.14
Stijn Tintel [Thu, 6 Dec 2018 19:27:34 +0000 (21:27 +0200)]
brcm2708: prepare kmod-drm-vc4 for 4.14

It requires sound card support in the new kernel. HDMI CEC support is
disabled for now; enabling it turned out to be non-trivial.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: prepare kmod-video-bcm2835 for 4.14
Stijn Tintel [Thu, 6 Dec 2018 19:23:20 +0000 (21:23 +0200)]
brcm2708: prepare kmod-video-bcm2835 for 4.14

Since kernel 4.12, this driver appeared in staging. The rpi-4.14.y
kernel tree uses these as well.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: prepare kmod-sound-raspidac3 for 4.14
Stijn Tintel [Fri, 7 Dec 2018 00:41:28 +0000 (02:41 +0200)]
brcm2708: prepare kmod-sound-raspidac3 for 4.14

Support for RaspiDac3 has been removed from the rpi-4.14.y kernel tree.
Make the kmod package depend on kernel 4.9.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobrcm2708: prepare kmod-sound-arm-bcm2835 for 4.14
Stijn Tintel [Thu, 6 Dec 2018 19:15:58 +0000 (21:15 +0200)]
brcm2708: prepare kmod-sound-arm-bcm2835 for 4.14

Since kernel 4.12, this driver appeared in staging. The rpi-4.14.y
kernel tree uses these as well.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agoubox: bump to git HEAD
Stijn Tintel [Tue, 18 Dec 2018 21:16:23 +0000 (23:16 +0200)]
ubox: bump to git HEAD

876c7f5 kmodloader: load_modprobe: abort after 2 attempts

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agobuild: fix build dependency of kmod .ipk with version filtered files
Yousong Zhou [Mon, 17 Dec 2018 13:07:19 +0000 (13:07 +0000)]
build: fix build dependency of kmod .ipk with version filtered files

We need to use resolved file list as prerequisites for repacking kmod
.ipk files.  Note that currently version_filter uses a Makefile macro
KERNEL_PATCHVER that should be available at ipk building time.

Reported-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2 years agolayerscape: use MKUBIFS_OPTS for per-device ubi parameters
Yangbo Lu [Tue, 20 Nov 2018 09:54:49 +0000 (17:54 +0800)]
layerscape: use MKUBIFS_OPTS for per-device ubi parameters

UBIFS_OPTS couldn't be used for per-device ubi parameters.
Let's use MKUBIFS_OPTS instead.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2 years agolayerscape: drop kernel 4.9 support
Biwen Li [Wed, 12 Dec 2018 01:56:18 +0000 (09:56 +0800)]
layerscape: drop kernel 4.9 support

This patch is to drop kernel 4.9 support.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2 years agolayerscape: add LS1021AIOT board support
Biwen Li [Fri, 2 Nov 2018 10:30:57 +0000 (18:30 +0800)]
layerscape: add LS1021AIOT board support

The LS1021A-IoT gateway reference design based on the
QorIQ LS1021A processor is a purpose-built, small
footprint hardware platform with a wide array of
high-speed connectivity and low-speed serial interfaces
to support secure delivery of IoT services for home,
business or other commercial location.

- Combines standards-based, open source software with a
  feature-rich IoT gateway design to establish a common,
  open framework for secured IoT service delivery and
  management.

- Provides a wide assortment of high-speed and serial-based
  connectivity in a compact, highly secure design.

- High efficiency through the use of the Arm-based QorIQ
  LS1021A embedded processor.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
2 years agolayerscape: upgrade kernel to 4.14
Biwen Li [Fri, 2 Nov 2018 03:21:57 +0000 (11:21 +0800)]
layerscape: upgrade kernel to 4.14

This patch is to upgrade kernel to 4.14 for layerscape.
patches-4.14 for layerscape included two categories.

- NXP Layerscape SDK kernel-4.14 patches

  All patches on tag LSDK-18.09-V4.14 were ported to OpenWrt
  kernel. Since there were hundreds patches, we had to make
  an all-in-one patch for each IP/feature.
  See below links for LSDK kernel.
  https://lsdk.github.io/components.html
  https://source.codeaurora.org/external/qoriq/qoriq-components/linux

- Non-LSDK kernel patches

  Other patches which were not in LSDK were just put in patches-4.14.
  Kept below patches from patches-4.9.
  303-dts-layerscape-add-traverse-ls1043.patch
  821-add-esdhc-vsel-to-ls1043.patch
  822-rgmii-fixed-link.patch

  Renamed and rebase them as below in patches-4.14,
  303-add-DTS-for-Traverse-LS1043-Boards.patch
  712-sdk-dpaa-rgmii-fixed-link.patch
  824-mmc-sdhci-of-esdhc-add-voltage-switch-support-for-ls.patch

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
2 years agokernel: Add missing symbols to 4.19
Petr Štetiar [Mon, 17 Dec 2018 22:04:30 +0000 (23:04 +0100)]
kernel: Add missing symbols to 4.19

While building 4.19 for ath79 with CONFIG_ALL_KMODS=y with verbose mode
enabled I was asked by kernel config about few symbols/modules so I'm
adding those missing symbols to the generic config.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agokernel: Fix usb-chipidea dependency on ulpi.ko for 4.19
Petr Štetiar [Mon, 17 Dec 2018 23:19:30 +0000 (00:19 +0100)]
kernel: Fix usb-chipidea dependency on ulpi.ko for 4.19

It seems, that since Linux 4.18-rc2 ci_hdrc depends on ulpi.

 commit a930d8bd94d8db7715d1af74299f710b1fb22fc8
 Author: Fabio Estevam <fabio.estevam@nxp.com>
 Date:   Wed Jul 4 10:09:58 2018 -0300

    usb: chipidea: Always build ULPI code

    Commit 03e6275ae381 ("usb: chipidea: Fix ULPI on imx51") causes a kernel
    hang on imx51 systems that use the ULPI interface and do not select the
    CONFIG_USB_CHIPIDEA_ULPI option.

    In order to avoid such potential misuse, let's always build the
    chipidea ULPI code into the final ci_hdrc object.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agouboot-envtools: fix configuration for I2SE Duckbills
Michael Heimpold [Mon, 17 Dec 2018 22:59:31 +0000 (23:59 +0100)]
uboot-envtools: fix configuration for I2SE Duckbills

After changing board names to DT compat string, we also need to
adjust the script which generates uboot-env configuration files.

Fixes: e880a30549b ("mxs: use generic sysinfo board detection")
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2 years agouboot-envtools: ath79: add support for the Buffalo BHR-4GRV2
Stefan Lippers-Hollmann [Sun, 16 Dec 2018 20:41:55 +0000 (21:41 +0100)]
uboot-envtools: ath79: add support for the Buffalo BHR-4GRV2

According to https://github.com/openwrt/openwrt/pull/1527, support
for the Buffalo BHR-4GRV2 in ath79 requires repartitioning from
an initramfs image, make this easier by supporting uboot-envtools
support out of the box.

Build tested, but not runtime tested.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
2 years agouboot-envtools: ath79: add support for the Buffalo WZR-HP-AG300H
Stefan Lippers-Hollmann [Sun, 16 Dec 2018 20:35:16 +0000 (21:35 +0100)]
uboot-envtools: ath79: add support for the Buffalo WZR-HP-AG300H

Port support for the Buffalo WZR-HP-AG300H from the ar71xx target to
ath79 as well.

Build- and runtime tested on the Buffalo WZR-HP-AG300H.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
2 years agodropbear: fix dropbear startup issue
Hans Dedecker [Tue, 18 Dec 2018 18:40:31 +0000 (19:40 +0100)]
dropbear: fix dropbear startup issue

Interface triggers are installed by the dropbear init script in case an
interface is configured for a given dropbear uci section.
As dropbear is started after network the interface trigger event can be
missed during a small window; this is especially the case if lan is
specified as interface.
Fix this by starting dropbear before network so no interface trigger
is missed. As dropbear is started earlier than netifd add a boot function
to avoid the usage of network.sh functions as call to such functions will
fail at boottime.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Acked-by: Jo-Philipp Wich <jo@mein.io>
2 years agocns3xxx: fix writing to wrong PCI registers
Koen Vandeputte [Tue, 18 Dec 2018 11:37:07 +0000 (12:37 +0100)]
cns3xxx: fix writing to wrong PCI registers

Originally, cns3xxx used it's own functions for mapping, reading and writing registers.

Upstream commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
removed the internal PCI config write function in favor of the generic one:

cns3xxx_pci_write_config() --> pci_generic_config_write()

cns3xxx_pci_write_config() expected aligned addresses, being produced by cns3xxx_pci_map_bus()
while the generic one pci_generic_config_write() actually expects the real address
as both the function and hardware are capable of byte-aligned writes.

This currently leads to pci_generic_config_write() writing
to the wrong registers on some ocasions.

First issue seen due to this:

- driver ath9k gets loaded
- The driver wants to write value 0xA8 to register PCI_LATENCY_TIMER, located at 0x0D
- cns3xxx_pci_map_bus() aligns the address to 0x0C
- pci_generic_config_write() effectively writes 0xA8 into register 0x0C (CACHE_LINE_SIZE)

This seems to cause some slight instability when certain PCI devices are used.

Another issue example caused by this this is the PCI bus numbering,
where the primary bus is higher than the secondary, which is impossible.

Before:

00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0, IRQ 255
    Bus: primary=02, secondary=01, subordinate=ff, sec-latency=0

After fix:

00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0, IRQ 255
    Bus: primary=00, secondary=01, subordinate=02, sec-latency=0

And very likely some more ..

Fix all by omitting the alignment being done in the mapping function.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agokernel: bump 4.14 to 4.14.89
Koen Vandeputte [Tue, 18 Dec 2018 12:00:45 +0000 (13:00 +0100)]
kernel: bump 4.14 to 4.14.89

Refreshed all patches.

Remove upstreamed patches:
- 096-v4.20-netfilter-ipv6-Preserve-link-scope-traffic-original-.patch

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agokernel: bump 4.9 to 4.9.146
Koen Vandeputte [Tue, 18 Dec 2018 12:00:03 +0000 (13:00 +0100)]
kernel: bump 4.9 to 4.9.146

Refreshed all patches.

Compile-tested on: brcm2708
Runtime-tested on: brcm2708

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agokernel: bump 3.18 to 3.18.130
Koen Vandeputte [Tue, 18 Dec 2018 11:52:57 +0000 (12:52 +0100)]
kernel: bump 3.18 to 3.18.130

Refreshed all patches.

Compile-tested on: adm5120
Runtime-tested on: none

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agobuild: drop cameo-factory recipe
Mathias Kresin [Mon, 17 Dec 2018 20:59:35 +0000 (21:59 +0100)]
build: drop cameo-factory recipe

The cameo factory images are created using existing image build
commands, which makes the code obsolete.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoath79: replace cameo-factory with existing build commands
Mathias Kresin [Mon, 17 Dec 2018 20:56:56 +0000 (21:56 +0100)]
ath79: replace cameo-factory with existing build commands

Use pad-offset and append-string to create the cameo factory images for
the D-LINK DIR-825 C1/DIR-835 A1 factory images.

Tested-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agobuild: move append-string to image-commands.mk
Mathias Kresin [Mon, 17 Dec 2018 20:47:16 +0000 (21:47 +0100)]
build: move append-string to image-commands.mk

Move it to image-commands.mk so that it can used by other targets.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoipset: update to 7.1
Syrone Wong [Sun, 16 Dec 2018 10:43:28 +0000 (18:43 +0800)]
ipset: update to 7.1

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2 years agokernel: preserve oif of IPv6 link scope packets
Hans Dedecker [Mon, 17 Dec 2018 20:26:22 +0000 (21:26 +0100)]
kernel: preserve oif of IPv6 link scope packets

Backort upstream patch which preserves oif of IPv6 link scoped packets.
The outgoing interface of IPv6 link scope packets can be changed by the
function ip6_route_me_harder. This is unwanted behavior for link local
packets and multicast packets as the outgoing interface is fixed and must
not be altered as it can break neighbor discovery and multicast listener
discovery.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agonetifd: fix ipv6 multicast check in previous commit
Kevin Darbyshire-Bryant [Mon, 17 Dec 2018 18:57:26 +0000 (18:57 +0000)]
netifd: fix ipv6 multicast check in previous commit

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agoimage: remove duplicate cameo-factory
Sebastian Kemper [Mon, 17 Dec 2018 18:27:02 +0000 (19:27 +0100)]
image: remove duplicate cameo-factory

The function was accidentally added twice. Remove the duplicate.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2 years agoipq40xx: GL-B1300: convert to new partitions layout
Christian Lamparter [Mon, 17 Dec 2018 10:49:54 +0000 (11:49 +0100)]
ipq40xx: GL-B1300: convert to new partitions layout

Alberto Bursi reported:
>The patch "ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300"
>prevents boot on my B1300. I compiled from latest sources.

The GL-B1300 was using the discouraged direct subnodes method to declare
the partitions on the flash.

|The partition table should be a subnode of the flash node and should be named
|'partitions'. This node should have the following property:
|- compatible : (required) must be "fixed-partitions"
|Partitions are then defined in subnodes of the partitions node.
|
|For backwards compatibility partitions as direct subnodes of the flash device are
|supported. This use is discouraged.
|NOTE: also for backwards compatibility, direct subnodes that have a compatible
|string are not considered partitions, as they may be used for other bindings.
<https://www.kernel.org/doc/Documentation/devicetree/bindings/mtd/partition.txt>

Hence, this patch converts the device to the "partitions" layout.

Fixes: 1cbe457cf94 ("ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300")
Reported-by: Alberto Bursi <bobafetthotmail@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoath79: dts: Remove newly added default-state=off property
Christian Lamparter [Mon, 17 Dec 2018 11:13:50 +0000 (12:13 +0100)]
ath79: dts: Remove newly added default-state=off property

I'm afraid that this will be "one of many" patches to come.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoar71xx/ath79: switch devices to the -ct driver and firmware
Christian Lamparter [Mon, 17 Dec 2018 00:58:49 +0000 (01:58 +0100)]
ar71xx/ath79: switch devices to the -ct driver and firmware

Since commit 61b5b4971e7 ("mac80211: make ath10k-ct the default ath10k")
select ath10k-ct and the -ct firmwares by default.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agobcm53xx: include WiFi firmware for devices with 4366C0
Rafał Miłecki [Mon, 17 Dec 2018 11:50:25 +0000 (12:50 +0100)]
bcm53xx: include WiFi firmware for devices with 4366C0

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agolinux-firmware: broadcom: package 4366C0 FullMAC firmware
Rafał Miłecki [Mon, 17 Dec 2018 11:50:21 +0000 (12:50 +0100)]
linux-firmware: broadcom: package 4366C0 FullMAC firmware

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agolinux-firmware: update to the commit from 2018-12-16
Rafał Miłecki [Mon, 17 Dec 2018 10:41:30 +0000 (11:41 +0100)]
linux-firmware: update to the commit from 2018-12-16

It includes e.g. new Broadcom FullMAC firmwares for 4366B1 and 4366C0.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agokernel: backport ifconfig ioctl support for class e addresses
Kevin Darbyshire-Bryant [Sun, 16 Dec 2018 19:13:56 +0000 (19:13 +0000)]
kernel: backport ifconfig ioctl support for class e addresses

Backport net: Allow class-e address assignment via ifconfig ioctl
While most distributions long ago switched to the iproute2 suite
of utilities, which allow class-e (240.0.0.0/4) address assignment,
distributions relying on busybox, toybox and other forms of
ifconfig cannot assign class-e addresses without this kernel patch.

While CIDR has been obsolete for 2 decades, and a survey of all the
open source code in the world shows the IN_whatever macros are also
obsolete... rather than obsolete CIDR from this ioctl entirely, this
patch merely enables class-e assignment, sanely.

https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=65cab850f0eeaa9180bd2e10a231964f33743edf

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agonetifd: support configuring class e 240.0.0.0/4 addresses
Kevin Darbyshire-Bryant [Sun, 16 Dec 2018 19:36:06 +0000 (19:36 +0000)]
netifd: support configuring class e 240.0.0.0/4 addresses

cd089c5 proto: Support class-e addressing in netifd

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agotreewide: dts: Remove default-state=off property from all gpio LED nodes
Petr Štetiar [Sun, 16 Dec 2018 11:26:34 +0000 (12:26 +0100)]
treewide: dts: Remove default-state=off property from all gpio LED nodes

>From the Documentation/devicetree/bindings/leds/common.txt:

- default-state : The initial state of the LED. Valid values are "on", "off",
  and "keep". If the LED is already on or off and the default-state property is
  set the to same value, then no glitch should be produced where the LED
  momentarily turns off (or on). The "keep" setting will keep the LED at
  whatever its current state is, without producing a glitch.  The default is
  off if this property is not present.

So setting the default-state of the LEDs to `off` is redundant as `off`
is default LED state anyway. We should remove it as almost every new
PR/patch submission contains this property by default which seems to be
just copy&paste from some DTS file already present in the tree.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoath79: add support for TP-Link Archer A7
Karl-Felix Glatzer [Wed, 12 Dec 2018 16:56:15 +0000 (17:56 +0100)]
ath79: add support for TP-Link Archer A7

This patch adds support for TP-Link Archer A7

Specification:
- SOC: QCA9563
- Flash: 16 MiB (SPI)
- RAM: 128 MiB (DDR2)
- Ethernet: 4x 1Gbps LAN + 1x 1Gbps WAN
- Wireless:
  - 2.4GHz (bgn) SoC internal
  - 5GHz (ac) QCA988x
- USB: 1x USB 2.0 port
- Button: 1x power, 1x reset, 1x wps
- LED: 10x LEDs
- UART: holes in PCB
  - Vcc, GND, RX, TX from ethernet port side
  - 115200n8

Flash instructions:

Upload openwrt-ath79-generic-tplink_archer-a7-v5-squashfs-factory.bin
via the Webinterface.

Flash instruction using tftp recovery:

1. Connect the computer to one of the LAN ports of the Archer A7
2. Set the computer IP to 192.168.0.66
3. Start a tftp server with the OpenWrt factory image in the tftp
   root directory renamed to ArcherC7v5_tp_recovery.bin
2. Connect power cable to Archer A7, press and hold the reset button
   and turn the router on
3. Keep the reset button pressed for ~5 seconds
4. Wait ~150 seconds to complete flashing

Changes since first revision:

  - Flash instructions using stock image webinterface
  - Changed "Version 5" in model string to "v5"
  - Split DTS file in qca9563_tplink_archer-x7-v5.dtsi
    and qca9563_tplink_archer-a7-v5.dts
  - Firmware image is now build with dynamic partitioning
  - Default to ath10k-ct

Changes since second revision:
  - Changed uboot@0 to uboot@20000 in DTS file
  - Fixed ordering issue in board led script
  - Specify firmware partition format in DTS file
  - Rebased Makefile device definition on common
    Device/tplink-safeloader-uimage definition
  - Merged switch section in network script
    (same configuration as tplink,tl-wdr3600
    and tplink,tl-wdr4300)

Signed-off-by: Karl-Felix Glatzer <karl.glatzer@gmx.de>
2 years agoath79, brcm63xx: Fix debounce-interval properties in gpio-keys-polled nodes
Petr Štetiar [Tue, 11 Dec 2018 22:02:04 +0000 (23:02 +0100)]
ath79, brcm63xx: Fix debounce-interval properties in gpio-keys-polled nodes

This patch fixes wrong usage of debounce-interval subnode property of
gpio-keys-polled nodes, which was used inproperly in parent node, but it
belongs to the subnodes, excerpt from the docs:

 Optional subnode-properties:
     - debounce-interval: Debouncing interval time in milliseconds.
       If not specified defaults to 5.

And the docs are up to date as the source code matches that description
as well:

 if (fwnode_property_read_u32(child, "debounce-interval",
                              &button->debounce_interval))
         button->debounce_interval = 5;

While at it, I've also re-formatted gpio-keys-polled nodes, usually just
adding new lines after every key subnode.

Cc: Tomasz Maciej Nowak <tomek_n@o2.pl>
Cc: Matt Merhar <mattmerhar@protonmail.com>
Cc: Jonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoath79: ag71xx: Fix code formatting in ag71xx_probe
Petr Štetiar [Mon, 10 Dec 2018 22:34:17 +0000 (23:34 +0100)]
ath79: ag71xx: Fix code formatting in ag71xx_probe

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoath79: ag71xx: Unify debug output with ar71xx and make debugging easier
Petr Štetiar [Mon, 10 Dec 2018 22:34:16 +0000 (23:34 +0100)]
ath79: ag71xx: Unify debug output with ar71xx and make debugging easier

Currently it's quite hard to diff debugging output between ar71xx and
ath79, so this patch tries to improve it by adding the same
ag71xx_dump_regs function and placing debugging output from the
registers to relatively same places.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoar71xx: ag71xx: Replace duplicate debugging code with simple function call
Petr Štetiar [Mon, 10 Dec 2018 22:34:15 +0000 (23:34 +0100)]
ar71xx: ag71xx: Replace duplicate debugging code with simple function call

ag71xx_dump_regs is used in code several times, and is providing same
output.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoscripts/qemustart: more compact rand_mac()
Yousong Zhou [Mon, 17 Dec 2018 04:15:32 +0000 (04:15 +0000)]
scripts/qemustart: more compact rand_mac()

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2 years agoipq806x: drop kernel/ rootfs partition images for the ZyXEL NBG6817
Stefan Lippers-Hollmann [Sun, 16 Dec 2018 20:04:15 +0000 (21:04 +0100)]
ipq806x: drop kernel/ rootfs partition images for the ZyXEL NBG6817

Since commit 8e9a59a6b924469c0061d4bd945ae0c6dbfdecfe (build: add
mkrasimage) a proper factory image can be provided for the ZyXEL
NBG6817, which can be flashed from the OEM firmware or used for
tftp based push-button recovery, therefore the previously used
partition images for mmcblk0p5-rootfs.bin and mmcblk0p4-kernel.bin
are no longer required (and using them properly has always been
slightly difficult and risky) and can now be dropped from the image
generation code.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
2 years agoath79: add d-link dir-825-c1 and dir-835-a1
Sebastian Kemper [Sat, 1 Dec 2018 18:41:34 +0000 (19:41 +0100)]
ath79: add d-link dir-825-c1 and dir-835-a1

This commit ports both dir-825-c1 and dir-835-a1 from ar71xx to ath79.
They're pretty much identical, except dir-835-a1 has less LEDs.

The routers come with 128 MByte of RAM and 16 MBytes of flash and sport
2.4GHz and 5.0GHz wireless. Both routers have entries already in
OpenWrt's TOH. Please check there for more information on these
antiquities.

https://openwrt.org/toh/hwdata/d-link/d-link_dir-825_c1
https://openwrt.org/toh/hwdata/d-link/d-link_dir-835_a1

Installation:

1. Connect to the web interface of the vendor firmware (usually
   listening on 192.168.0.1).
2. Go to "Tools", then "Firmware".
3. In the "Firmware Upgrade" box click "Browse".
4. Select the OpenWrt factory image for your router.
5. Click "Upload", confirm the popups if you agree to flash the file you
   selected.
6. Wait for firmware upgrade to complete. It takes about 5 minutes.

Run-tested on dir-825-c1. dir-835-a1 should work as well, but I don't
have this router so I can't confirm.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [trivial changes]
2 years agoimage: add cameo-factory command
Sebastian Kemper [Sat, 1 Dec 2018 18:13:50 +0000 (19:13 +0100)]
image: add cameo-factory command

This command enables factory image generation for Cameo boards. On
upgrade the vendor firmware will check the size of the provided image
and if a specific string is located at the end of the binary.
cameo-factory will generate an image that the vendor firmware accepts.

Tested on a D-Link DIR-825 C1 with vendor firmwares 3.01 and 3.04.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2 years agoipq40xx: device-tree overhaul
Christian Lamparter [Sun, 16 Dec 2018 09:35:30 +0000 (10:35 +0100)]
ipq40xx: device-tree overhaul

 - replace licence texts with SPDX-License-Identifier where
   applicable.

 - make node-names more generic to fit with Device-Tree Release v0.2
   Section 2.2.2 Generic Names Recommendation.

 - utilize wifi0/1, blsp1_uart1 labels

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: specify "firmware" partition format for EnGenius EAP1300
Christian Lamparter [Sat, 1 Dec 2018 12:25:25 +0000 (13:25 +0100)]
ipq40xx: specify "firmware" partition format for EnGenius EAP1300

Specify firmware partition format by compatible string.

Cc: Steven Lin <steven.lin@senao.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: specify "firmware" partition format for GL.iNet GL-B1300
Christian Lamparter [Mon, 26 Nov 2018 17:59:22 +0000 (18:59 +0100)]
ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300

Specify firmware partition format by compatible string.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: specify "firmware" partition format for Compex WPJ428
Christian Lamparter [Mon, 26 Nov 2018 17:58:42 +0000 (18:58 +0100)]
ipq40xx: specify "firmware" partition format for Compex WPJ428

Specify firmware partition format by compatible string.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: specify "firmware" partition format for ZyXEL WRE6606
Christian Lamparter [Mon, 26 Nov 2018 17:57:41 +0000 (18:57 +0100)]
ipq40xx: specify "firmware" partition format for ZyXEL WRE6606

Specify firmware partition format by compatible string.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: specify "firmware" partition format for Netgear EX61[50]0v2
Christian Lamparter [Mon, 26 Nov 2018 17:56:04 +0000 (18:56 +0100)]
ipq40xx: specify "firmware" partition format for Netgear EX61[50]0v2

Specify firmware partition format by compatible string.

Cc: David Bauer <mail@david-bauer.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoipq40xx: specify "firmware" partition format for AVM Fritz!Box 4040
Christian Lamparter [Mon, 26 Nov 2018 17:52:37 +0000 (18:52 +0100)]
ipq40xx: specify "firmware" partition format for AVM Fritz!Box 4040

Specify firmware partition format by compatible string.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agokernel: add DT binding support to the fit parser
Christian Lamparter [Sat, 8 Dec 2018 20:54:10 +0000 (21:54 +0100)]
kernel: add DT binding support to the fit parser

It allows specifying default and Netgear parsers directly in the DT.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agobase-files: Fix netdev led trigger
Hauke Mehrtens [Sun, 16 Dec 2018 15:51:26 +0000 (16:51 +0100)]
base-files: Fix netdev led trigger

In the upstream netdev led trigger the one mode file was replaced by 3
files named rx, tx and link. Fix the netdev trigger configuration code
to use the modified API.

Fixes: aa3b6a08c56 ("kernel: Replace ledtrig-netdev with upstream backport")
Reported-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoomcproxy: use PROJECT_GIT in PKG_SOURCE_URL
Hans Dedecker [Sun, 16 Dec 2018 18:20:39 +0000 (19:20 +0100)]
omcproxy: use PROJECT_GIT in PKG_SOURCE_URL

Switch PKG_SOURCE_URL to git.openwrt.org

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agoRevert "elfutils: install library files for pkg-config"
Kevin Darbyshire-Bryant [Sun, 16 Dec 2018 17:15:49 +0000 (17:15 +0000)]
Revert "elfutils: install library files for pkg-config"

This reverts commit 216397b8124dafafbd79afdf9f8e716b55775194.

Due to:

Package ip-tiny is missing dependencies for the following libraries:
libelf.so.1
Makefile:187: recipe for target '/var/lib/buildbot/slaves/slave-lede-builds4/mips_24kc/build/sdk/bin/packages/mips_24kc/base/ip-tiny_4.19.0-6_mips_24kc.ipk' failed

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2 years agoomcproxy: switch to OpenWrt github repo
Hans Dedecker [Sun, 16 Dec 2018 11:43:43 +0000 (12:43 +0100)]
omcproxy: switch to OpenWrt github repo

Switch to OpenWrt github repo in PKG_SOURCE_URL so we can
remove the out of tree patch

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2 years agogemini: Activate USB support again
Hauke Mehrtens [Sun, 16 Dec 2018 13:59:59 +0000 (14:59 +0100)]
gemini: Activate USB support again

This activates the CONFIG_USB_SUPPORT option in the in the gemini kernel
again which will provide the core USB support and makes it possible to
compile the rest of the USB parts into modules. Without this change USB
will not be available in the gemini target and some modules fail to
compile because the feature list indicates USB support.

Fixes: 10ec966f7ba7 ("gemini: Break out USB to packages")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agohostapd: Make eapol-test depend on libubus
Hauke Mehrtens [Sun, 16 Dec 2018 13:25:41 +0000 (14:25 +0100)]
hostapd: Make eapol-test depend on libubus

The eapol-test application also uses the code with the newly activated
ubus support, add the missing dependency.

Fixes: f5753aae233 ("hostapd: add support for WPS pushbutton station")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agotools/sdimage: Fix build with host Linux headers < 3.18
Hauke Mehrtens [Sun, 16 Dec 2018 12:57:01 +0000 (13:57 +0100)]
tools/sdimage: Fix build with host Linux headers < 3.18

The ufb tool needs the host UAPI Linux headers from kernel 3.18
or later, remove it for now as it is not used anyway.

Fixes: 4bf5c4395b3 ("tools/sdimage: update to latest git version")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agombedtls: fix compilation on ARM < 6
Hauke Mehrtens [Sun, 16 Dec 2018 12:07:41 +0000 (13:07 +0100)]
mbedtls: fix compilation on ARM < 6

mbedtls uses some instructions introduced in ARMv6 which are not
available in older architectures.

Fixes: 3f7dd06fd85 ("mbedtls: Update to 2.14.1")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoramips: add support for Netgear R6350
NOGUCHI Hiroshi [Fri, 24 Aug 2018 01:36:13 +0000 (10:36 +0900)]
ramips: add support for Netgear R6350

Netgear R6350 is a wireless router, aka Netgear AC1750.

Specification:
- SoC: Mediatek MT7621AT (2 CPU cores, 4 threads)
- RAM: 128MiB (Nanya NT5CC64M16GP-DI)
- ROM: 128MiB NAND Flash (Macronix MX30LF1G18AC-TI)
- Wireless:
   for 11b/g/n (upto 300Mbps): MT7603
   for 11a/ac  (upto 1450Mbps) : MT7615, is not avaliable now
- Ethernet LAN speed: up to 1000Mbps
- Ethernet LAN ports: 4
- Ethernet WAN speed: up to 1000Mbps
- Ethernet WAN ports: 1
- USB ports: 1 (USB 2.0)
- LEDs: 4 (all can be controlled by SoC's GPIO)
- buttons: 2
- serial ports: unknown

Installation through telnet:
  - Copy kernel.bin and rootfs.bin to a USB flash disk,
    plug to usb port on the router.
link: http://192.168.1.1/setup.cgi?todo=debug
    (login if required, default: admin password)
  - You will see "Debug Enabled!"
  - Telnet 192.168.1.1 and login with "root"
  - ls /mnt/shares/ to find out path of your USB disk.
    'myUdisk' for example.
  - cd /mnt/shares/myUdisk
  - mtd_write write rootfs.bin Rootfs
  - mtd_write write kernel.bin Kernel
  - reboot

recovery when bricked:
  nmrpflash can be used to recover to the netgear firmware
  if a broken image was flashed.

The SC_PART_MAP partition suggests that an on flash partition table
exists. After implementing a partition parser/builder for the sercom
partition format, the definitions don't match the flash layout used by
the stock firmware.

It either means the partition format has not yet been completely
understood or it isn't used by the stock firmware. For now, use fixed
partitions instead.

Signed-off-by: NOGUCHI Hiroshi <drvlabo@gmail.com>
[apply latest ramips changes and document the on flash partition map
issues]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agojffs2: Fix use of uninitialized delayed_work, lockdep breakage
Daniel Santos [Fri, 19 Oct 2018 08:59:20 +0000 (03:59 -0500)]
jffs2: Fix use of uninitialized delayed_work, lockdep breakage

I've sent this one upstream.  This patch is critical if you want to run
with "prove lock correctness" (lockdep) and you happen to have certain
mtd devices.  The misuse of the uninitialized object is undefined
behaviour, but being zeroed it does not appear to have actually broken
anything other than the lockdep engine.

Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
2 years agotools/sdimage: update to latest git version
Michael Heimpold [Sun, 18 Nov 2018 09:21:18 +0000 (10:21 +0100)]
tools/sdimage: update to latest git version

This includes code cleanups and fixes some portability issues,
compiler warnings about printf arguments etc.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2 years agokernel/modules: HMC5843 3D-compass kernel module support enabled.
Roman Bazalevsky [Thu, 6 Dec 2018 11:54:41 +0000 (14:54 +0300)]
kernel/modules: HMC5843 3D-compass kernel module support enabled.

Signed-off-by: Roman Bazalevsky <rvb@rvb.name>
2 years agombedtls: Update to 2.14.1
Daniel Engberg [Sat, 24 Nov 2018 23:42:10 +0000 (00:42 +0100)]
mbedtls: Update to 2.14.1

Update mbedtls to 2.14.1

This fixes:
* CVE-2018-19608: Local timing attack on RSA decryption

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
[Update to 2.14.1]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agonetfilter: Add fib support for nftables
Brett Mastbergen [Tue, 11 Dec 2018 19:09:22 +0000 (14:09 -0500)]
netfilter: Add fib support for nftables

Signed-off-by: Brett Mastbergen <bmastbergen@untangle.com>
2 years agokernel: mv88e6060: disable hardware level MAC learning
Anderson Luiz Alves [Sun, 12 Aug 2018 12:18:27 +0000 (09:18 -0300)]
kernel: mv88e6060: disable hardware level MAC learning

Disable Marvell's hardware level MAC learning because it breaks station roaming.

When enabled it drops all frames that arrive from a MAC address
that is on a different port at learning table.

Problem description:
Multiple APs with inter-AP roaming connected to different ports,
when station moves from one AP on one port to another AP on another port,
traffic flow breaks down because the learning table is not updated.

Signed-off-by: Anderson Luiz Alves <alacn1@gmail.com>
[Replaced with upstream version, move to generic]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agokernel: add mv88e61xx switch port-mirroring support
Deng Qingfang [Fri, 14 Dec 2018 10:24:11 +0000 (18:24 +0800)]
kernel: add mv88e61xx switch port-mirroring support

Compile & run tested on mvebu

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
2 years agomt76: fix dependencies
Deng Qingfang [Fri, 14 Dec 2018 10:21:49 +0000 (18:21 +0800)]
mt76: fix dependencies

Only MT76x0U needs kmod-mt76x02-usb

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
2 years agoswconfig: Add missing include
Rosen Penev [Thu, 6 Dec 2018 21:12:06 +0000 (13:12 -0800)]
swconfig: Add missing include

Fixes these warnings:

swlib.c:455:18: warning: implicit declaration of function 'isspace'
swlib.c:461:9: warning: implicit declaration of function 'isdigit'

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agof2fs-tools: Update to 1.12.0
Rosen Penev [Mon, 10 Dec 2018 03:58:21 +0000 (19:58 -0800)]
f2fs-tools: Update to 1.12.0

Added two upstream mailing list patches that fix behavior under big endian
systems. Issue was present since version 1.11.0.

Tested on Turris Omnia.

Original discussion: https://github.com/openwrt/openwrt/pull/1575

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years agolantiq: add integer latency stat for lantiq-dsl
Andre Heider [Mon, 10 Dec 2018 09:06:50 +0000 (10:06 +0100)]
lantiq: add integer latency stat for lantiq-dsl

The current stats always have a 'ms' suffix, and they're used by luci.
Introduce dsl.latency_[down|up] values, exported in µs without suffix.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2 years agortl8812au: Add out-of-tree driver.
Ben Greear [Thu, 13 Dec 2018 23:22:32 +0000 (23:22 +0000)]
rtl8812au: Add out-of-tree driver.

Use a forked version of the rtl8812au driver that works better
with OpenWRT (fix compile bugs, fix phy MAC address, etc)

Signed-off-by: Ben Greear <greearb@candelatech.com>
[update to 2018-11-16, replace rtw_byteorder.h, rename folder]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agoomcproxy: fix compilation on little-endian CPUs
Eneas U de Queiroz [Fri, 14 Dec 2018 18:25:27 +0000 (16:25 -0200)]
omcproxy: fix compilation on little-endian CPUs

Don't use cpu_to_be32 outside of a function.

Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
2 years agoath79: add support for TP-Link TL-WR842N/ND v1 router
Marcin Jurkowski [Tue, 11 Dec 2018 15:14:21 +0000 (16:14 +0100)]
ath79: add support for TP-Link TL-WR842N/ND v1 router

This ports support for TP-Link TL-WR842N/ND v1 from ar71xx.

CPU: Atheros AR7241 400 MHz
RAM: 32 MiB
FLASH: 8 MiB
PORTS: 4 Port 100/10 Switch, 1 Port 100/10 Wan
WiFi: Atheros AR9287
LED: SYS, WiFi, LAN, WAN, 3G, QSS
BTN: WiFi, Reset/WPS

AR71xx target used "tl-mr3420" as board id so force flag is needed
if upgrading from old target.

Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [trivial cleanup]
2 years agoipq806x: add ath10k calibration data MAC addresses patching
Christian Lamparter [Sun, 28 Oct 2018 16:39:43 +0000 (17:39 +0100)]
ipq806x: add ath10k calibration data MAC addresses patching

Ben Greear reported in his patch:
|Subject: netgear r7800: Fix mac address of radios.
|
|Reloading the driver causes the phyX to change, and that
|caused the MAC address to change.

This is because all ODM/OEMs except QCA bothered to write
the correct MAC address for the ath10k wifi into the
calibration data.

This patch copies over the MAC patching helper functions from ipq40xx's
target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
file and converts all the devices to patch the correct MACs into the
extracted calibration data before it gets sent to the driver, which sets
up the device with the correct MAC address. It also removes the entries
in the 10_fix_wifi_mac file as they have served their purpose for good.

Please note the C2600: There is conflicting information on what
the offset for the second wifi is supposed to be. This patch uses
what was specified in 10_fix_wifi_mac.

According to Ben Greear this method is save to use with the
stock firmware too. As he explained that the stock firmware
messes up rx-bssid mask calculation when the MAC is changed
after the first vif is created.

Reported-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoramips: mt7620: add usb packages
Mathias Kresin [Sat, 8 Dec 2018 11:25:00 +0000 (12:25 +0100)]
ramips: mt7620: add usb packages

Add the usb drivers for all boards with enabled ochi/ehci node in the
dts file.

Fixes: FS#1987

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoramips: mt7620: remove unnecessary usb packages
Mathias Kresin [Sat, 8 Dec 2018 10:48:47 +0000 (11:48 +0100)]
ramips: mt7620: remove unnecessary usb packages

These are either installed as dependency or not required at all.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoramips: mt7620: add usb ohci driver
Mathias Kresin [Sat, 8 Dec 2018 10:46:57 +0000 (11:46 +0100)]
ramips: mt7620: add usb ohci driver

Add the USB 1.1 driver for all boards not having a fixed USB 2.0
device attached to the USB bus.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2 years agoramips: several fixes for HC5x61
Deng Qingfang [Fri, 14 Dec 2018 10:15:52 +0000 (18:15 +0800)]
ramips: several fixes for HC5x61

 - Mark other partitions as read-only for HC5x61

 - Only enable USB and PCIe for HC5761/HC5861
   HC5661 doesn't have a USB port, and there is nothing attached to its PCIe.

 - Fix HC5761 switch ports
   HC5761 has only 3 ethernet ports (1x WAN + 2x LAN). Remove unused ports.

 - Fix HC5861 5GHz radio
   HC5861 has MT7612EN 5GHz WiFi chip, not MT7610EN.

 - Fix HC5761/HC5861 WiFi LEDs
   After 5GHz is enabled, it becomes wlan0. And 2.4GHz would be wlan1.

 - Fix HC5x61 image size
   It should be 15872k (0xf80000)

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
2 years agoipq40xx: integrate ath10kcal_patch_mac into ath10kcal_patch_mac_crc
Christian Lamparter [Sat, 15 Dec 2018 15:56:24 +0000 (16:56 +0100)]
ipq40xx: integrate ath10kcal_patch_mac into ath10kcal_patch_mac_crc

In the thread: "ipq806x: add ath10k calibration data MAC addresses patching"
Chuanhong Guo <gch981213@gmail.com> noted that:
"All ath10k calibration data have a checksum at 0x2.
ath10kcal_patch_mac works for QCA9880/QCA9882 only because
the ath10k firmware for these two chips doesn't check the
checksum value. (QCA proprietary driver checks this and
refuses to use caldata with incorrect checksum.)"

This patch updates 11-ath10k-caldata of the ipq40xx target accordingly.

Reported-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2 years agoath10k-firmware: update all CT firmware variants
Michael Yartys [Wed, 12 Dec 2018 19:29:50 +0000 (20:29 +0100)]
ath10k-firmware: update all CT firmware variants

Wave-1 firmware (988x, 9887): bug fixes
Wave-2 firmware (4019, 9888, 99x0, 9984): fix protected management frames, rate-ctrl fixes, and performance improvements

Signed-off-by: Michael Yartys <michael.yartys@gmail.com>
2 years agoath10k-ct: Update to 2018-12-11 and use version based on 4.19
Hauke Mehrtens [Sun, 25 Nov 2018 20:24:05 +0000 (21:24 +0100)]
ath10k-ct: Update to 2018-12-11 and use version based on 4.19

This updates the ath10k-ct driver to the version from 2018-12-11 and
selects the ath10k-ct version based on kernel 4.19 by default.

CONFIG_ATH10K_CE was introduced between kernel 4.16 and 4.19 and is a
mandatory option.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 years agogcc: update to version 7.4.0
Hauke Mehrtens [Sun, 9 Dec 2018 18:08:06 +0000 (19:08 +0100)]
gcc: update to version 7.4.0

This updates the GCC to the next minor release which fixes 178 bugs.
The two removed patches are included in gcc 7.4.0

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2 years agokernel: netfilter: chain filters merged into nf_tables.ko
Hauke Mehrtens [Fri, 2 Nov 2018 23:31:22 +0000 (00:31 +0100)]
kernel: netfilter: chain filters merged into nf_tables.ko

In mainline kernel commit 02c7b25e5f5 ("netfilter: nf_tables: build-in
filter chain type") all chain filters were merged into one file and into
one kernel module to save some memory. The code protected by these
configuration options CONFIG_NF_TABLES_BRIDGE, CONFIG_NF_TABLES_IPV4,
CONFIG_NF_TABLES_ARP, CONFIG_NF_TABLES_IPV6, CONFIG_NF_TABLES_NETDEV and
CONFIG_NF_TABLES_INET was merged into the nft_chain_filter.c file which
is now always compiled into the nf_tables.ko file.

This only happened in kernel 4.19 and OpenWrt has to select these as
modules in older kennel versions. Mark them as build-in in the kernel
4.19 specific kernel configuration file which will then not be
overwritten by the package specific settings which try to make them
modular again.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>