openwrt/staging/lynxis.git
7 years agoip806x: nbg6817: sysupgrade support both targets for kernel/ rootfs partitions
Stefan Lippers-Hollmann [Sun, 29 Oct 2017 02:11:51 +0000 (03:11 +0100)]
ip806x: nbg6817: sysupgrade support both targets for kernel/ rootfs partitions

With this commit and the previous "nbg6817: don't hardcode the rootfs location
by using append-rootblock instead" applied, it is possible to boot- and
sysupgrade from both dual-boot sets (the primary mmcblk0p4+mmcblk0p5 or the
alternative mmcblk0p7+mmcblk0p8). However the sysupgrade support does not
toggle between both dual-boot sets between firmware upgrades so far.

The partition map of the eMMC used in the nbg6817 is:

Found valid GPT with protective MBR; using GPT.
Disk /dev/mmcblk0: 7471104 sectors, 3.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): XXX
Partition table holds up to 12 entries
First usable sector is 34, last usable sector is 7471070
Partitions will be aligned on 2-sector boundaries
Total free space is 1 sectors (512 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34            8225   4.0 MiB     FFFF  rootfs_data
   2            8226           16417   4.0 MiB     FFFF  romd
   3           16418           18465   1024.0 KiB  FFFF  header
   4           18466           26657   4.0 MiB     FFFF  kernel
   5           26658          157729   64.0 MiB    FFFF  rootfs
   6          157730          159777   1024.0 KiB  FFFF  header_1
   7          159778          167969   4.0 MiB     FFFF  kernel_1
   8          167970          299041   64.0 MiB    FFFF  rootfs_1
   9          299042          823329   256.0 MiB   FFFF  bu1
  10          823330         7471069   3.2 GiB     FFFF  bu2

rootfs_data is the ext4 formatted overlay of the OEM firmware, LEDE
ignores it due to its (too) small size.

romd/ bu1 are initialized with zeroes (0x00) and unused.

bu2 is formatted with ext4 and used for streamboost and other optional
functionality by the OEM firmware, it is reformatted during factory
resets of the OEM firmware.

header/ header_1 contains version information for the corresponding
vendor firmwares installed to kernel/rootfs or kernel_1/ rootfs_1, the
format hasn't been completely reverse engineered so far and remains
left untouched by LEDE:

V1.00(ABCS.2)C0:
 00000000  00 00 a7 74 01 32 f0 00  56 31 2e 30 30 28 41 42  |...t.2..V1.00(AB|
 00000010  43 53 2e 32 29 43 30 00  ff ff ff ff ff ff ff ff  |CS.2)C0.........|
 00000020  ff ff ff ff ff ff ff ff  00 00 d5 dc 4e 42 47 36  |............NBG6|
 00000030  38 31 37 00 ff ff ff ff  ff ff ff ff ff ff ff ff  |817.............|
 00000040  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
 *
 00000060  ff ff ff ff ff ff ff ff  ff ff ff ff 00 00 22 a3  |..............".|
 00000070  00 1c 70 00 ff ff ff ff  ff ff ff ff ff ff ff ff  |..p.............|
 00000080  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
 *
 00000800  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 *
 00100000

V1.00(ABCS.5)C0:
 00000000  00 00 bf 94 01 46 d8 00  56 31 2e 30 30 28 41 42  |.....F..V1.00(AB|
 00000010  43 53 2e 35 29 43 30 00  ff ff ff ff ff ff ff ff  |CS.5)C0.........|
 00000020  ff ff ff ff ff ff ff ff  00 00 d6 5a 4e 42 47 36  |...........ZNBG6|
 00000030  38 31 37 00 ff ff ff ff  ff ff ff ff ff ff ff ff  |817.............|
 00000040  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
 *
 00000060  ff ff ff ff ff ff ff ff  ff ff ff ff 00 00 c0 2c  |...............,|
 00000070  00 1c 58 00 ff ff ff ff  ff ff ff ff ff ff ff ff  |..X.............|
 00000080  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
 *
 00010000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 *
 00100000

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
7 years agoip806x: nbg6817: don't hardcode the rootfs location by using append-rootblock instead
Stefan Lippers-Hollmann [Sun, 29 Oct 2017 01:55:27 +0000 (02:55 +0100)]
ip806x: nbg6817: don't hardcode the rootfs location by using append-rootblock instead

This changes the cmdline from:

Kernel command line: root=/dev/mmcblk0p5 rootfstype=squashfs,ext4 rootwait noinitrd
Bootloader command line (ignored): board=NBG6817 root=/dev/mmcblk0p5 rootwait zld_ver=2.04 console=ttyHSL1,115200n8 mtdparts=m25p80:0xC0000(SBL)ro,0x40000(TZ)ro,0x40000(RPM)ro,0x80000(u-boot)ro,0x10000(env)ro,0x10000(ART)ro,0x10000(dualflag),0x210000(reserved)

to

Kernel command line: rootfstype=squashfs,ext4 rootwait noinitrd root=/dev/mmcblk0p5
Bootloader command line (ignored): board=NBG6817 root=/dev/mmcblk0p5 rootwait zld_ver=2.04 console=ttyHSL1,115200n8 mtdparts=m25p80:0xC0000(SBL)ro,0x40000(TZ)ro,0x40000(RPM)ro,0x80000(u-boot)ro,0x10000(env)ro,0x10000(ART)ro,0x10000(dualflag),0x210000(reserved)

As a consequence booting from the alternative dual-boot partition set
(root=/dev/mmcblk0p8) becomes possible.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
7 years agouqmi: replace legacy command invoke with newer type
Koen Vandeputte [Tue, 24 Oct 2017 14:20:22 +0000 (16:20 +0200)]
uqmi: replace legacy command invoke with newer type

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
7 years agouqmi: also try newer pin verification
Koen Vandeputte [Tue, 24 Oct 2017 14:20:21 +0000 (16:20 +0200)]
uqmi: also try newer pin verification

Newer devices tend to only support the newer version of the pin
verification command, so also try that one.

Fixes PIN issues with modems like the Sierra Wireless MC7455

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
7 years agoubox: update to latest git HEAD
John Crispin [Mon, 6 Nov 2017 08:07:39 +0000 (09:07 +0100)]
ubox: update to latest git HEAD

da5b8b4 log/syslog: Add missing static to two structs.
dd61c9f ubox: Replace { 0 } with {}.

Signed-off-by: John Crispin <john@phrozen.org>
7 years agoprocd: update to latest git HEAD
John Crispin [Mon, 6 Nov 2017 07:50:18 +0000 (08:50 +0100)]
procd: update to latest git HEAD

53e92d4 procd: lower the logging threshold
b39c362 service: Start services normally when seccomp is disabled
3ba6b45 procd: add missing new lines inside debug code
56a02e3 service: fix service_handle_event array
d4a183f service: fix SERVICE_ATTR_NAME usage in service_handle_set

Signed-off-by: John Crispin <john@phrozen.org>
7 years agoprocd: Always tell cmake whether to include seccomp support or not
Michal Sojka [Fri, 3 Nov 2017 21:31:42 +0000 (22:31 +0100)]
procd: Always tell cmake whether to include seccomp support or not

Without this change, when a user disables seccomp support in .config,
procd does not get recompiled unless the package is cleaned manually.
It is because when -D option is missing from cmake command line, cmake
uses cached value from the previous run where seccomp was enabled.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
7 years agoubus: update to latest git HEAD
John Crispin [Mon, 6 Nov 2017 07:31:38 +0000 (08:31 +0100)]
ubus: update to latest git HEAD

24ffe9b libubus-req: add data_cb callback handling for ubus notifications

Signed-off-by: John Crispin <john@phrozen.org>
7 years agoipq806x: ipq4019: add ap-dk01.1-c1 board support
Roman Yeryomin [Sun, 29 Oct 2017 23:24:26 +0000 (01:24 +0200)]
ipq806x: ipq4019: add ap-dk01.1-c1 board support

AP-DK01.1-C1 is QCA dev board with:
- ipq4018 quad core ARM @716.8MHz, 2x2 dual (11n+11ac) radio
- 256MB RAM
- 32MB SPI flash
- QCA8075 multiport ethernet phy (WAN port, 4x LAN ports)

First installation via u-boot:
sf probe
sf erase 0x180000 0x1a00000
tftpboot 0x84000000 lede-ipq806x-AP-DK01.1-C1-squashfs-sysupgrade.bin
sf write 0x84000000 0x180000 $filesize

Further upgrades via sysupgrade.

Changes:
- add partitions
- set memory size to 256MB
- add reserved memory mapping
- add correct compatible string
- add image generation
- extract pre-cal data from ART partition

Compile and run tested.
Wirespeed NAT can be achieved with spreading rx interrupts over different
cores. Wifi speed is ~550Mbps @5GHz in open air.

Note:
AP-DK01.1-C1 is fully compatible with AP-DK01.2-C1, which has
ipq4028 instead of ipq4018 on board.

Changes since v2:
- based on dts(i) rework/cleanup submitted:
  http://lists.infradead.org/pipermail/lede-dev/2017-October/009596.html
- precise reserved memory mapping
- more precise description
- compatible string

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agoipq806x: ipq4019: dts: fix maximum cpu speed
Roman Yeryomin [Sun, 29 Oct 2017 23:19:32 +0000 (01:19 +0200)]
ipq806x: ipq4019: dts: fix maximum cpu speed

Supported frequencies of all ipq40xx chips are 48, 200, 500 and 716.8 MHz.
Previous 666MHz setting was most likely related to instability of early
chips/boards made before mass production.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agoipq806x: ipq4019: dts: remove spi chip node from ap-dk01 dtsi
Roman Yeryomin [Sun, 29 Oct 2017 23:19:19 +0000 (01:19 +0200)]
ipq806x: ipq4019: dts: remove spi chip node from ap-dk01 dtsi

All ap-dk01 boards have different spi chips, thus no point in keeping it in dtsi.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agoipq806x: ipq4019: dts: move ap-dk01 networking entries to dtsi
Roman Yeryomin [Sun, 29 Oct 2017 23:19:02 +0000 (01:19 +0200)]
ipq806x: ipq4019: dts: move ap-dk01 networking entries to dtsi

That is mdio/ethernet and wifi are present on all ap-dk01 boards.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agoipq806x: ipq4019: dts: remove counter entry from ap-dk01 boards
Roman Yeryomin [Sun, 29 Oct 2017 23:18:51 +0000 (01:18 +0200)]
ipq806x: ipq4019: dts: remove counter entry from ap-dk01 boards

There is no code implementing "qcom,qca-gcnt", so no point in keeping it.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agoipq806x: ipq4019: dts: move ap-dk01 tcsr nodes to dtsi
Roman Yeryomin [Sun, 29 Oct 2017 23:18:38 +0000 (01:18 +0200)]
ipq806x: ipq4019: dts: move ap-dk01 tcsr nodes to dtsi

tcsr configuration is the same for all ap-dk01 boards

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agoipq806x: ipq4019: dts: remove crypto nodes from board dts
Roman Yeryomin [Sun, 29 Oct 2017 23:18:24 +0000 (01:18 +0200)]
ipq806x: ipq4019: dts: remove crypto nodes from board dts

crypto and cryptobam are already present in dtsi used by these boards:
- fritz4040
- nbg6617
- rt-ac58u

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agoipq806x: ipq4019: dts: move xo and timer nodes to SoC dtsi
Roman Yeryomin [Sun, 29 Oct 2017 23:18:11 +0000 (01:18 +0200)]
ipq806x: ipq4019: dts: move xo and timer nodes to SoC dtsi

xo and timer are common thing and it makes more sense to keep them in SoC dtsi

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agoipq806x: ipq4019: dts: fix pinctrl node name
Roman Yeryomin [Sun, 29 Oct 2017 23:17:58 +0000 (01:17 +0200)]
ipq806x: ipq4019: dts: fix pinctrl node name

Signed-off-by: Roman Yeryomin <roman@advem.lv>
7 years agolibunwind: disable building with ssp
Yousong Zhou [Mon, 6 Nov 2017 02:43:25 +0000 (10:43 +0800)]
libunwind: disable building with ssp

If we enable -fstack-protector while building libunwind, function
__stack_chk_fail_local will be referred to for i386 and powerpc32
arches.  This will cause link failure because the default gcc build
specs says no link_ssp if -nostdlib is given.

The error message:

    OpenWrt-libtool: link: ccache_cc -shared  -fPIC -DPIC  .libs/os-linux.o mi/.libs/init.o mi/.libs/flush_cache.o mi/.libs/mempool.o mi/.libs/strerror.o x86/.libs/is_fpreg.o x86/.libs/regname.o x86/.libs/Los-linux.o mi/.libs/backtrace.o mi/.libs/dyn-cancel.o mi/.libs/dyn-info-list.o mi/.libs/dyn-register.o mi/.libs/Ldyn-extract.o mi/.libs/Lfind_dynamic_proc_info.o mi/.libs/Lget_accessors.o mi/.libs/Lget_proc_info_by_ip.o mi/.libs/Lget_proc_name.o mi/.libs/Lput_dynamic_unwind_info.o mi/.libs/Ldestroy_addr_space.o mi/.libs/Lget_reg.o mi/.libs/Lset_reg.o mi/.libs/Lget_fpreg.o mi/.libs/Lset_fpreg.o mi/.libs/Lset_caching_policy.o x86/.libs/Lcreate_addr_space.o x86/.libs/Lget_save_loc.o x86/.libs/Lglobal.o x86/.libs/Linit.o x86/.libs/Linit_local.o x86/.libs/Linit_remote.o x86/.libs/Lget_proc_info.o x86/.libs/Lregs.o x86/.libs/Lresume.o x86/.libs/Lstep.o x86/.libs/getcontext-linux.o  -Wl,--whole-archive ./.libs/libunwind-dwarf-local.a ./.libs/libunwind-elf32.a -Wl,--no-whole-archive  -L/var/lib/bbmnt/buildbot/slaves/dave-builder/i386_i486/build/sdk/staging_dir/target-i386_i486_musl-1.1.16/usr/lib -L/var/lib/bbmnt/buildbot/slaves/dave-builder/i386_i486/build/sdk/staging_dir/target-i386_i486_musl-1.1.16/lib -L/var/lib/bbmnt/buildbot/slaves/dave-builder/i386_i486/build/sdk/staging_dir/toolchain-i386_i486_gcc-5.4.0_musl-1.1.16/usr/lib -L/var/lib/bbmnt/buildbot/slaves/dave-builder/i386_i486/build/sdk/staging_dir/toolchain-i386_i486_gcc-5.4.0_musl-1.1.16/lib -lc -lgcc  -Os -march=i486 -fstack-protector -Wl,-z -Wl,now -Wl,-z -Wl,relro -nostartfiles -nostdlib   -Wl,-soname -Wl,libunwind.so.8 -o .libs/libunwind.so.8.0.1
    .libs/os-linux.o: In function `_Ux86_get_elf_image':
    os-linux.c:(.text+0x588): undefined reference to `__stack_chk_fail_local'
    x86/.libs/Lregs.o: In function `_ULx86_access_fpreg':
    Lregs.c:(.text+0x25b): undefined reference to `__stack_chk_fail_local'
    x86/.libs/Lresume.o: In function `_ULx86_resume':
    Lresume.c:(.text+0xdc): undefined reference to `__stack_chk_fail_local'
    collect2: error: ld returned 1 exit status
    Makefile:2249: recipe for target 'libunwind.la' failed

The snippet from gcc -dumpspecs

    %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
7 years agomt7620: image.mk: make elecom-header reproducible
Alexander Couzens [Fri, 3 Nov 2017 01:45:45 +0000 (02:45 +0100)]
mt7620: image.mk: make elecom-header reproducible

elecom-header adds a timestamp dependency. Replace
the timestamps with SOURCE_DATE_EPOCH [0] variable.

[0] https://reproducible-builds.org/specs/source-date-epoch/

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
7 years agoar71xx: fix section mismatch in TP-Link Archer C7 v4 support
Felix Fietkau [Sun, 5 Nov 2017 17:36:53 +0000 (18:36 +0100)]
ar71xx: fix section mismatch in TP-Link Archer C7 v4 support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoar71xx: fix flash fast read on devices using multiple flash chips
Felix Fietkau [Sun, 5 Nov 2017 17:34:01 +0000 (18:34 +0100)]
ar71xx: fix flash fast read on devices using multiple flash chips

Add a callback to allow the SPI driver to indicate which devices fast
flash read works on.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agowireguard: version bump to 0.0.20171101
Kevin Darbyshire-Bryant [Fri, 3 Nov 2017 17:01:32 +0000 (17:01 +0000)]
wireguard: version bump to 0.0.20171101

Update wireguard to latest snapshot:

9fc5daf version: bump snapshot
748ca6b compat: unbreak unloading on kernels 4.6 through 4.9
7be9894 timers: switch to kees' new timer_list functions
6be9a66 wg-quick: save all hooks on save
752e7af version: bump snapshot
2cd9642 wg-quick: fsync the temporary file before renaming
b139499 wg-quick: allow for saving existing interface
582c201 contrib: add reresolve-dns
8e04be1 tools: correct type for CTRL_ATTR_FAMILY_ID
c138276 wg-quick: allow for the hatchet, but not by default
d03f2a0 global: use fewer BUG_ONs
6d681ce timers: guard entire setting in block
4bf32ca curve25519: only enable int128 if compiler support is sound
86e06a3 device: expand scope of destruct lock
e3661ab global: get rid of useless forward declarations
bedc77a device: only take reference if netns is different
7c07e22 wg-quick: remember to rewind DNS settings on failure
2352ec0 wg-quick: allow specifiying multiple hooks
573cb19 qemu: test using four cores
e09ec4d global: style nits
4d3deae qemu: work around ccache bugs
7491cd4 global: infuriating kernel iterator style
78e079c peer: store total number of peers instead of iterating
d4e2752 peer: get rid of peer_for_each magic
6cf12d1 compat: be sure to include header before testing
3ea08d8 qemu: allow for cross compilation
d467551 crypto/avx: make sure we can actually use ymm registers
c786c46 blake2: include headers for macros
328e386 global: accept decent check_patch.pl suggestions
a473592 compat: fix up stat calculation for udp tunnel
9d930f5 stats: more robust accounting
311ca62 selftest: initialize mutex in routingtable selftest
8a9a6d3 netns: use time-based test instead of quantity-based
e480068 netns: use read built-in instead of ncat hack for dmesg

Compile-tested-for: ar71xx
Run-tested-on: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
7 years agoath9k: unset the default LED pin if used by platform buttons
Mathias Kresin [Fri, 3 Nov 2017 06:25:21 +0000 (07:25 +0100)]
ath9k: unset the default LED pin if used by platform buttons

Unset the default LED gpio pin if the same gpio pin is used by a button
defined via platform button. It prevents the change of the GPIO value
on wireless up/down or wireless traffic.

Fixes: FS#1129
Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agoar71xx: fix LED config for DIR-869 A1
Florian Beier [Wed, 25 Oct 2017 18:12:24 +0000 (20:12 +0200)]
ar71xx: fix LED config for DIR-869 A1

This fixes the LED configuration for the D-Link DIR-869 A1. In order to
support the device I probed around using an initramfs image for the
UniFi AC. Pulling GPIO 15 to low enabled the LEDs while high disabled them.
GPIO 16 set to low meant that the color was white while pulling it to high
made the color change to orange. The past code was written based upon these
findings.
However, running a flashed image I now discovered that GPIO 15 controls the
orange LEDs while GPIO 16 controls the white ones and that both are active
when low. This means that the GPIOs were inverted and one active_low was set
wrong which this patch fixes.

Behavior of the LED front after this patch is applied:

cat /sys/devices/platform/leds-gpio/leds/d-link:white:status/brightness
0   -> white LEDs are OFF
255 -> white LEDs are ON

cat /sys/devices/platform/leds-gpio/leds/d-link:orange:status/brightness
0   -> orange LEDs are OFF
255 -> orange LEDs are ON

If the brightness of both is set to 255 the LED front will be white.
If the brightness of both is set to 0 the LED front will be off.

Signed-off-by: Florian Beier <beier.florian@gmail.com>
7 years agobase-files: add interval option to netdev LED trigger configuration
Edmunt Pienkowsky [Fri, 27 Oct 2017 08:17:34 +0000 (10:17 +0200)]
base-files: add interval option to netdev LED trigger configuration

Add an uci option to set the interval parameter of the netdev trigger.

Signed-off-by: Edmunt Pienkowsky <roed@onet.eu>
7 years agoar71xx: wzr-hp-ag300h: drop unused wmac led_pin settings
Mathias Kresin [Thu, 2 Nov 2017 20:08:50 +0000 (21:08 +0100)]
ar71xx: wzr-hp-ag300h: drop unused wmac led_pin settings

The GPIOs are used for defined LEDs and therefore are ignored/unset in
the ath9k driver since 192f0a3db859. The wireless led led trigger is
added in userspace since e20965811db6, which makes the
ap9x_pci_setup_wmac_led_pin() superfluous.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agouboot-kirkwood: update to 2017.09
Paul Wassi [Wed, 11 Oct 2017 17:19:06 +0000 (19:19 +0200)]
uboot-kirkwood: update to 2017.09

Upgrade uboot-kirkwood to upstream release 2017.09
Catch up with upstream and move configuration options from
simple defines to Kconfig, as otherwise dependencies would
not be resolved and code would not compile.

Tested-by: Alberto Bursi <alberto.bursi@outlook.it>
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
7 years agoar71xx: mach-rbspi: fix 74x164 support
Thibaut VARENE [Wed, 1 Nov 2017 11:06:20 +0000 (12:06 +0100)]
ar71xx: mach-rbspi: fix 74x164 support

The platform data was missing the num_registers element which is now
mandatory in linux 4.9

Without this patch, the gpio probing would fail with:
gpio gpiochip1: (74x164): tried to insert a GPIO chip with zero lines

Fixes: #1106
Tested-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
7 years agoipq806x: nbg6817: sync MAC addresses to the upstream values
Stefan Lippers-Hollmann [Mon, 30 Oct 2017 03:28:34 +0000 (04:28 +0100)]
ipq806x: nbg6817: sync MAC addresses to the upstream values

The ZyXEL NBG6817 calculates all MAC addresses based on the ethaddr
value stored in the U-Boot environment (0:APPSBLENV). No MAC addresses
are stored in the ART partition and the generated MAC addresses for the
wlan interfaces alternate randomly between 12:34:56:78:90:12 and
00:03:7f:12:34:56.

interface   new/ OEM MAC old MAC

wlan-2.4g (phy1): ethaddr undefined
wlan-5g   (phy0): ethaddr + 1 undefined
lan             : ethaddr + 2 ethaddr
wan             : ethaddr + 3 ethaddr + 1

This patch defines stable MAC addresses for the wlan interfaces for
the first time instead of generating them at random. The previously
defined values for lan/ wan are changed to follow the settings of the
OEM firmware.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
7 years agoipq806x: nbg6817: add kmod-fs-ext4 to device packages
Stefan Lippers-Hollmann [Thu, 19 Oct 2017 19:40:26 +0000 (21:40 +0200)]
ipq806x: nbg6817: add kmod-fs-ext4 to device packages

The ZyXEL NBG6817 uses an eMMC flash for the rootfs, which is split
into the readonly squashfs and ext4 for the overlay. This adds the
required package to the device packages to allow mounting the overlay
by default.

/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
/dev/loop0 on /overlay type ext4 (rw,noatime,data=ordered)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
mountd(pid1040) on /tmp/run/blockd type autofs (rw,relatime,fd=7,pgrp=1,timeout=30,minproto=5,maxproto=5,indirect)

Before this commit, the ext4 based overlayfs could not be mounted,
which left only the tmpfs based/ volatile  emergency overlay in place.

Fixes: https://forum.lede-project.org/t/zyxel-nbg6817-flashing-from-oem/768
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
7 years agoltq-atm: add missing dependency to kmod-ltq-adsl-*-mei
Mathias Kresin [Thu, 2 Nov 2017 07:54:37 +0000 (08:54 +0100)]
ltq-atm: add missing dependency to kmod-ltq-adsl-*-mei

Commit 2e496876c60 fixed the generation of the depends line for external
kernel modules which makes it possible for the build system to
automatically detect this missing dependency.

This fixes the packaging of kmod-ltq-atm for the ar9, xway and
xway-legacy subtarget.

Fixes: FS#1124
Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agobuild: fix another regression in append-dtb fix
Felix Fietkau [Fri, 3 Nov 2017 15:08:12 +0000 (16:08 +0100)]
build: fix another regression in append-dtb fix

Filter out duplicate generated code for the same dts files

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agobuild: fix regression in append-dtb fix
Felix Fietkau [Fri, 3 Nov 2017 09:46:24 +0000 (10:46 +0100)]
build: fix regression in append-dtb fix

Strip whitespace from DTS directory
Put the dependency earlier in the chain to avoid make errors

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agouclient: update to the latest version, fixes fetch of multiple files
Felix Fietkau [Thu, 2 Nov 2017 21:53:12 +0000 (22:53 +0100)]
uclient: update to the latest version, fixes fetch of multiple files

4b87d83 uclient-fetch: fix overloading of output_file variable

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agonetifd: fix dns and domain variables pollution in dhcp.script
Tero Jänkä [Thu, 27 Apr 2017 17:34:43 +0000 (20:34 +0300)]
netifd: fix dns and domain variables pollution in dhcp.script

Unmodified dns and domain variables could be needed in user script (/etc/udhcpc.user).

Signed-off-by: Tero Jänkä <tero.janka@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> (cleanup)
7 years agobuild: allow calling append-dtb from image build commands
Felix Fietkau [Thu, 2 Nov 2017 12:28:26 +0000 (13:28 +0100)]
build: allow calling append-dtb from image build commands

mpc85xx uses this for firmware image files, since the dtb data is not
directly part of the kernel image. This causes build failures in the
image builder.

Fix this by adding a separate build step that runs this call earlier,
reusing the generated file for any calls from kernel or image build
commands.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agogcc: remove support for libgcj/java
Felix Fietkau [Thu, 2 Nov 2017 13:16:20 +0000 (14:16 +0100)]
gcc: remove support for libgcj/java

It has been removed in gcc 7

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoinclude/toplevel.mk: Add xconfig target
Alif M. Ahmad [Sun, 23 Jul 2017 03:08:56 +0000 (03:08 +0000)]
include/toplevel.mk: Add xconfig target

Add xconfig target to include/toplevel.mk, so that ``make xconfig`` can
be invoked from $TOPDIR to use Qt based configuration tool to prepare
.config file.

The qconf related sources are taken from linux 4.9.13 archive.

Signed-off-by: Alif M. Ahmad <alive4ever@live.com>
7 years agoscripts/config: add qconf files to .gitignore
Alif M. Ahmad [Sun, 23 Jul 2017 03:08:47 +0000 (03:08 +0000)]
scripts/config: add qconf files to .gitignore

This commit adds qconf related files to .gitignore.
The files to be tracked are qconf.cc, qconf.h, and images.c.
The files to be ignored are qconf*.o, qconf*, qconf.moc, and
.tmp_qtcheck.

Signed-off-by: Alif M. Ahmad <alive4ever@live.com>
7 years agoscripts/config: Add qconf target to Makefile
Alif M. Ahmad [Sun, 23 Jul 2017 03:08:17 +0000 (03:08 +0000)]
scripts/config: Add qconf target to Makefile

qconf is kconfig UI utilizing QT toolkit. This makes it possible to use
graphical interface interaction to configure LEDE build target.

This commit adds qconf target to ./script/config/Makefile to be used by
toplevel ``make xconfig`` later.

Signed-off-by: Alif M. Ahmad <alive4ever@live.com>
7 years agoscripts/config: add -DKBUILD_NO_NLS to CXXFLAGS
Felix Fietkau [Sun, 29 Oct 2017 16:15:49 +0000 (17:15 +0100)]
scripts/config: add -DKBUILD_NO_NLS to CXXFLAGS

Preparation for adding C++ code which needs the same flag

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agoscripts/config: import qconf
Alif M. Ahmad [Sun, 23 Jul 2017 03:08:04 +0000 (03:08 +0000)]
scripts/config: import qconf

Import qconf.cc, qconf.h, and images.c from linux kernel 4.9.13 archive.

Signed-off-by: Alif M. Ahmad <alive4ever@live.com>
7 years agoramips: add support for switching between 3-byte and 4-byte addressing on w25q256...
Felix Fietkau [Thu, 20 Jul 2017 10:57:44 +0000 (12:57 +0200)]
ramips: add support for switching between 3-byte and 4-byte addressing on w25q256 flash

On some devices the flash chip needs to be in 3-byte addressing mode during
reboot, otherwise the boot loader will fail to start.
This mode however does not allow regular reads/writes onto the upper 16M
half. W25Q256 has separate read commands for reading from >16M, however
it does not have any separate write commands.
This patch changes the code to leave the chip in 3-byte mode most of the
time and only switch during erase/write cycles that go to >16M
addresses.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years agonghttp2: switch to release tarball
Hans Dedecker [Tue, 31 Oct 2017 17:25:14 +0000 (18:25 +0100)]
nghttp2: switch to release tarball

Switch from git to xz release tarball as there's no good reason to keep
using git when release tarballs are provided.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
7 years agoopenssl: Enable assembler optimizations for aarch64
Baptiste Jonglez [Fri, 27 Oct 2017 18:45:53 +0000 (20:45 +0200)]
openssl: Enable assembler optimizations for aarch64

OpenSSL is built with the generic linux settings for most targets,
including aarch64.  These generic settings are designed for 32-bit CPU and
provide no assembler optmization: this is widely suboptimal for aarch64.

This patch simply switches to the aarch64 settings that are already
available in OpenSSL.

Here is the output of "openssl speed" before the optimization, with
"(...)" representing build flags that didn't change:

    OpenSSL 1.0.2l  25 May 2017
    options:bn(64,32) rc4(ptr,char) des(idx,cisc,2,int) aes(partial) blowfish(ptr)
    compiler: aarch64-openwrt-linux-musl-gcc  (...)

And after this patch, OpenSSL uses 64 bit mode and assembler optimizations:

    OpenSSL 1.0.2l  25 May 2017
    options:bn(64,64) rc4(ptr,char) des(idx,cisc,2,int) aes(partial) blowfish(ptr)
    compiler: aarch64-openwrt-linux-musl-gcc  (...)  -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM

Here are some benchmarks on a pine64+ running latest LEDE master r5142-20d363aed3:

    before# openssl speed sha aes blowfish
    The 'numbers' are in 1000s of bytes per second processed.
    type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
    sha1              3918.89k     9982.43k    19148.03k    24933.03k    27325.78k
    sha256            4604.51k    10240.64k    17472.51k    21355.18k    22801.07k
    sha512            3662.19k    14539.41k    21443.16k    29544.11k    33177.60k
    blowfish cbc     16266.63k    16940.86k    17176.92k    17237.33k    17252.35k
    aes-128 cbc      19712.95k    21447.40k    22091.09k    22258.35k    22304.09k
    aes-192 cbc      17680.12k    19064.47k    19572.14k    19703.13k    19737.26k
    aes-256 cbc      15986.67k    17132.48k    17537.28k    17657.17k    17689.26k

    after# openssl speed sha aes blowfish
    type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
    sha1              6770.87k    26172.80k    86878.38k   205649.58k   345978.20k
    sha256           20913.93k    74663.85k   184658.18k   290891.09k   351032.66k
    sha512            7633.10k    30110.14k    50083.24k    71883.43k    82485.25k
    blowfish cbc     16224.93k    16933.55k    17173.76k    17234.94k    17252.35k
    aes-128 cbc      19425.74k    21193.31k    22065.74k    22304.77k    22380.54k
    aes-192 cbc      17452.29k    18883.84k    19536.90k    19741.70k    19800.06k
    aes-256 cbc      15815.89k    17003.01k    17530.03k    17695.40k    17746.60k

For some reason AES and blowfish do not benefit, but SHA performance
improves between 1.7x and 15x.  SHA256 clearly benefits the most from the
optimization (4.5x on small blocks, 15x on large blocks!).

When using EVP (with "openssl speed -evp <algo>"):

    # Before, EVP mode
    type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
    sha1              3824.46k    10049.66k    19170.56k    24947.03k    27325.78k
    sha256            3368.33k     8511.15k    16061.44k    20772.52k    22721.88k
    sha512            2845.23k    11381.57k    19467.69k    28512.26k    33008.30k
    bf-cbc           15146.74k    16623.83k    17092.01k    17211.39k    17249.62k
    aes-128-cbc      17873.03k    20870.61k    21933.65k    22216.36k    22301.35k
    aes-192-cbc      16184.18k    18607.15k    19447.13k    19670.02k    19737.26k
    aes-256-cbc      14774.06k    16757.25k    17457.58k    17639.42k    17686.53k

    # After, EVP mode
    type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
    sha1              7056.97k    27142.10k    89515.86k   209155.41k   347419.99k
    sha256            7745.70k    29750.06k    95341.48k   211001.69k   332376.75k
    sha512            4550.47k    18086.06k    39997.10k    65880.75k    81431.21k
    bf-cbc           15129.20k    16619.03k    17090.56k    17212.76k    17246.89k
    aes-128-cbc      99619.74k   269032.34k   450214.23k   567353.00k   613933.06k
    aes-192-cbc      93180.74k   231017.79k   361766.66k   433671.51k   461731.16k
    aes-256-cbc      89343.23k   209858.58k   310160.04k   362234.88k   380878.85k

Blowfish does not seem to have assembler optimization at all, and SHA
still benefits (between 1.6x and 14.5x) but is generally slower than in
non-EVP mode.

However, AES performance is improved between 5.5x and 27.5x, which is
really impressive!  For aes-128-cbc on large blocks, a core i7-6600U
@2.60GHz is only twice as fast...

Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
7 years agoacx-mac80211: allow compilation on 4.9
Jonas Gorski [Sun, 29 Oct 2017 22:27:33 +0000 (23:27 +0100)]
acx-mac80211: allow compilation on 4.9

acx-mac80211 compiles fine with 4.9, so no reason to not allow it.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoar7: add kernel 4.9 support
Jonas Gorski [Thu, 12 Oct 2017 08:50:08 +0000 (10:50 +0200)]
ar7: add kernel 4.9 support

Compile and run tested on WAG354Gv1.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoar7: drop unused 4.1 support
Jonas Gorski [Sun, 29 Oct 2017 22:28:39 +0000 (23:28 +0100)]
ar7: drop unused 4.1 support

Kernel 4.1 isn't support anymore anyway.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoar7: unbreak serial console
Jonas Gorski [Sun, 29 Oct 2017 22:12:20 +0000 (23:12 +0100)]
ar7: unbreak serial console

Serial output was broken since 3.16 for shared uarts between
kernel and login. Fix this by adding a fix sent upstream.

While at it, drop a useless patch that adds duplicate code.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoar7: remove gpio character device
Jonas Gorski [Thu, 12 Oct 2017 08:51:53 +0000 (10:51 +0200)]
ar7: remove gpio character device

There are no obvious users, and any out of tree users should convert to
one of the generic APIs.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoar7-atm: fix function signatures with expected ones
Jonas Gorski [Thu, 19 Oct 2017 13:47:41 +0000 (15:47 +0200)]
ar7-atm: fix function signatures with expected ones

Newer kernels treat differing signatures an error, not just a warning,
so fix the signatures to match.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoar7-atm: fixup proc fixes
Jonas Gorski [Fri, 13 Oct 2017 11:17:51 +0000 (13:17 +0200)]
ar7-atm: fixup proc fixes

They were incomplete, so fix them to properly update the function signatures
to what is expected.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoar7-atm: drop LINUX_VERSION tests
Jonas Gorski [Fri, 13 Oct 2017 09:32:31 +0000 (11:32 +0200)]
ar7-atm: drop LINUX_VERSION tests

Minimum supported kernel is 3.18, so we don't need to test for anything
older. In addition, the API hasn't changed since then, so we don't need
to check for any kernel version at all.  This helps to keeps the amount
of changes more managable.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agocurl: bump to 7.56.1
Hans Dedecker [Sun, 29 Oct 2017 09:32:42 +0000 (10:32 +0100)]
curl: bump to 7.56.1

Refresh patches
Remove 320-curl-confopts.m4-fix-disable-threaded-resolver.patch as
integrated upstream

See https://curl.haxx.se/changes.html for the bugfixes in 7.56.0 and
7.56.1

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
7 years agonghttp2: bump to 1.27.0
Hans Dedecker [Sun, 29 Oct 2017 21:59:31 +0000 (22:59 +0100)]
nghttp2: bump to 1.27.0

Changes in v1.27.0 :

build: Fixed accidental compiler flags concatenation for MSVC (Patch from LazyHamster) (GH-1029)
build: Reduce libxml2 version requirement to 2.6.26 (Patch from Mike Lothian) (GH-1020)
asio: Support for Windows / MinGW (Patch from Daniel Evers) (GH-1027)
h2load: Print out h2 header fields with --verbose option (GH-1015)
nghttpx: Send non-final response to HTTP/1.1 or HTTP/2 client only (GH-1016)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
7 years agoltq-atm: Add missing dependency to kmod-ltq-adsl-ase-mei
Hauke Mehrtens [Sun, 29 Oct 2017 15:58:44 +0000 (16:58 +0100)]
ltq-atm: Add missing dependency to kmod-ltq-adsl-ase-mei

Commit 2e496876c60 fixed the generation of the depends line for external
kernel modules which makes it possible for the build system to
automatically detect this missing dependency. This fixes the build bot
build of the lantiq/aes target.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 years agobuild: use KERNEL_MAKE_FLAGS for kernel file compilations
Karl Vogel [Fri, 13 Oct 2017 09:10:03 +0000 (11:10 +0200)]
build: use KERNEL_MAKE_FLAGS for kernel file compilations

The build system already defines KERNEL_CROSS which defaults to TARGET_CROSS.
Make use of this variable for kernel makefiles.

Signed-off-by: Karl Vogel <karl.vogel@gmail.com>
7 years agoadb: fix package description
Matt Mets [Fri, 27 Oct 2017 19:27:53 +0000 (03:27 +0800)]
adb: fix package description

Signed-off-by: Matt Mets <matt@blinkinlabs.com>
7 years agolayerscape: reverse changes to ndo_get_stats64
Mathew McBride [Tue, 24 Oct 2017 00:49:00 +0000 (11:49 +1100)]
layerscape: reverse changes to ndo_get_stats64

The NXP LSDK kernel backported changes for interface ndo_get_stats64
functions from mainline, this causes a compile error with
backports/mac80211, which expects the original 4.9 defintion.

As reversing the ndo_get_stats64 change signifcantly reduces the size of
patch 601, the patches that were aggregated into it have been
disaggregated.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
7 years agolayerscape: Remove netfilter and LZ4 config symbols
Mathew McBride [Fri, 13 Oct 2017 04:23:07 +0000 (15:23 +1100)]
layerscape: Remove netfilter and LZ4 config symbols

These conflict with the kmod packages (such as nf-netlink)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
[Add same changes for arm8_32b subtarget and refresh config]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 years agoarc770: mark as source-only
Hans Dedecker [Sat, 28 Oct 2017 11:42:28 +0000 (13:42 +0200)]
arc770: mark as source-only

Mark target arc770 as source-only as it has package compile issues
(e.g. iproute2) due to the usage of uClibc.
As a prerequisite to be included in future releases the arc770 target
needs to switch either to glibc or musl.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
7 years agobuild: actually fix the creation of PKG_INFO_DIR
Jonas Gorski [Sat, 28 Oct 2017 09:57:39 +0000 (11:57 +0200)]
build: actually fix the creation of PKG_INFO_DIR

The creation was accidentally moved to the wrong hook, fix it by moving
it to the pre hook.

Fixes: e5e5c3f5fd38 ("build: ensure PKG_INFO_DIR exists before trying to use it")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agobuild: ensure PKG_INFO_DIR exists before trying to use it
Jonas Gorski [Sat, 28 Oct 2017 09:19:25 +0000 (11:19 +0200)]
build: ensure PKG_INFO_DIR exists before trying to use it

PKG_INFO_DIR is only created at the finish step of the first package
build, but kernel modules now use it at the start. Doing a parallel build
could cause a kernel module to be the first package, breaking the build.

Fix this by ensuring the directory exists.

Fixes: 2e496876c60c ("kernel: collect module symvers for external modules")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agomwlwifi: switch to AutoProbe
Jonas Gorski [Sun, 27 Aug 2017 18:03:58 +0000 (20:03 +0200)]
mwlwifi: switch to AutoProbe

Now that we have working module dependency generation, we can switch to
AutoProbe and let modprobe handle loading required modules.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agomt76: switch to AutoProbe
Jonas Gorski [Mon, 24 Jul 2017 09:16:21 +0000 (11:16 +0200)]
mt76: switch to AutoProbe

Now that we have working module dependency generation, we can switch to
AutoProbe and let modprobe handle loading required modules.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agomac80211: ath10k: switch to AutoProbe
Jonas Gorski [Mon, 24 Jul 2017 11:14:20 +0000 (13:14 +0200)]
mac80211: ath10k: switch to AutoProbe

Now that we have working module dependency generation, we can switch to
AutoProbe and let modprobe handle loading required modules.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agobroadcom-wl: switch to AutoProbe
Jonas Gorski [Sun, 27 Aug 2017 18:01:51 +0000 (20:01 +0200)]
broadcom-wl: switch to AutoProbe

Now that we have working module dependency generation, we can switch to
AutoProbe and let modprobe handle loading required modules.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agobroadcom-wl: reorder kmod build and pass EXTRA_VERSIONS
Jonas Gorski [Fri, 21 Jul 2017 14:23:06 +0000 (16:23 +0200)]
broadcom-wl: reorder kmod build and pass EXTRA_VERSIONS

Reoder the build to build the glue module first and pass the glue module's
Module.symvers to the wl driver builds.

This allows modpost to properly store a wl_glue dependency in the driver.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agobroadcom-wl: define module directories
Jonas Gorski [Fri, 21 Jul 2017 13:46:35 +0000 (15:46 +0200)]
broadcom-wl: define module directories

Define the module subdirs so our build system properly picks up the
Module.symvers.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoath10k-ct: switch to AutoProbe
Jonas Gorski [Mon, 24 Jul 2017 11:11:33 +0000 (13:11 +0200)]
ath10k-ct: switch to AutoProbe

Now that we have working module dependency generation, we can switch to
AutoProbe and let modprobe handle loading required modules.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoath10k-ct: define module directories
Jonas Gorski [Fri, 21 Jul 2017 13:20:12 +0000 (15:20 +0200)]
ath10k-ct: define module directories

Define the module subdir so our buildsystem properly picks up the
Module.symvers.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoacx-mac80211: drop PKG_BUILD_DEPENDS
Jonas Gorski [Mon, 24 Jul 2017 11:12:54 +0000 (13:12 +0200)]
acx-mac80211: drop PKG_BUILD_DEPENDS

We already have a DEPENDS on mac80211, which should be enough to ensure
headers are available before build.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoacx-mac80211: switch to AutoProbe
Jonas Gorski [Mon, 24 Jul 2017 11:12:28 +0000 (13:12 +0200)]
acx-mac80211: switch to AutoProbe

Now that we have working module dependency generation, we can switch to
AutoProbe and let modprobe handle loading required modules.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agokernel: collect module symvers for external modules
Jonas Gorski [Thu, 20 Jul 2017 20:34:54 +0000 (22:34 +0200)]
kernel: collect module symvers for external modules

Collect module symvers for all external modules to make them available
for modpost. This fixes dependencies for most external modules.

Example:

Before:

root@LEDE:/# modinfo mt76
module:         /lib/modules/4.4.74/mt76.ko
license:        Dual BSD/GPL
depends:

After:

root@LEDE:/# modinfo mt76
module:         /lib/modules/4.4.74/mt76.ko
license:        Dual BSD/GPL
depends:        mac80211,cfg80211

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoRevert "wpa_supplicant: log to syslog instead of stdout"
Jo-Philipp Wich [Fri, 27 Oct 2017 09:37:11 +0000 (11:37 +0200)]
Revert "wpa_supplicant: log to syslog instead of stdout"

This reverts commit e7373e489d8a215402d6b0c408a26188342c7c17.

Support of "-s" depends on the CONFIG_DEBUG_SYSLOG compile time flag which
is not enabled for all build variants.

Revert the change for now until we can properly examine the size impact of
CONFIG_DEBUG_SYSLOG.

Fixes FS#1117.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years agoramips: fix Youku-YK1 support
Edmunt Pienkowsky [Sat, 21 Oct 2017 09:07:43 +0000 (11:07 +0200)]
ramips: fix Youku-YK1 support

Remove the ephy-pins from the ethernet device tree node. The ephy-pins
are useed to controll the ePHY LEDs and this board doesn't have these.
Instead one of the ePHY pins is used in GPIO mode to control the WAN
LED.

Use the switch LED trigger to control the WAN LED. Move the power LED
handling to diag.sh to show the boot status via this LED.

Add the missing kernel packages for USB and microSD card reader to the
default package selection.

Fix the maximum image size value. The board has a 32MByte flash chip.

Fixes: FS#1055
Signed-off-by: Edmunt Pienkowsky <roed@onet.eu>
[make the commit message more verbose, remove GPIO pinmux for pins not
used as GPIOs]
Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agotools/squashfs4: include sysmacros.h explicitly
Alex Maclean [Mon, 23 Oct 2017 12:48:19 +0000 (13:48 +0100)]
tools/squashfs4: include sysmacros.h explicitly

glibc is moving to remove the include of sys/sysmacros.h from
sys/types.h, and some distros have done this early. Other libcs may
already lack this include. Include sysmacros.h explicitly.

Fixes: FS#1017
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
[refresh patches]
Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agotools/squashfs: include sysmacros.h explicitly
Alex Maclean [Mon, 23 Oct 2017 12:47:55 +0000 (13:47 +0100)]
tools/squashfs: include sysmacros.h explicitly

glibc is moving to remove the include of sys/sysmacros.h from
sys/types.h, and some distros have done this early. Other libcs may
already lack this include. Include sysmacros.h explicitly.

Fixes: FS#1018
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
7 years agotools/mtd-utils: include sysmacros.h explicitly
Alex Maclean [Mon, 23 Oct 2017 12:47:33 +0000 (13:47 +0100)]
tools/mtd-utils: include sysmacros.h explicitly

glibc is moving to remove the include of sys/sysmacros.h from
sys/types.h, and some distros have done this early. Other libcs may
already lack this include. Include sysmacros.h explicitly.

Fixes: FS#1015
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
[refresh patches]
Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agotools/findutils: include sysmacros.h explicitly
Alex Maclean [Mon, 23 Oct 2017 12:43:43 +0000 (13:43 +0100)]
tools/findutils: include sysmacros.h explicitly

glibc is moving to remove the include of sys/sysmacros.h from
sys/types.h, and some distros have done this early. Other libcs may
already lack this include. Include sysmacros.h explicitly.

Fixes: FS#1016
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
7 years agomdadm: fix parameter quoting
Jo-Philipp Wich [Fri, 27 Oct 2017 01:25:29 +0000 (03:25 +0200)]
mdadm: fix parameter quoting

Ensure that path defines are passed quoted to the compiler in order
to avoid cpp syntax errors.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years agomdadm: Fix config generation
Rosen Penev [Tue, 17 Oct 2017 16:28:39 +0000 (09:28 -0700)]
mdadm: Fix config generation

The init script generated something like "DEVICE=/dev/sda" when it should
have been generating "DEVICE /dev/sda". mdadm errors on this. Patch by jow.

Also changed the default sendmail path to /usr/sbin/sendmail. No package
in LEDE provides /sbin/sendmail. msmtp provides /usr/sbin/sendmail so use
that.

Also add a patch to fix file paths for mdadm runtime files. mdadm currently
errors on them since /run is missing. Once /run is added to stock LEDE, this
patch can be removed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[rewrap commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 years agoiptables: Fix target TRACE issue
Martin Wetterwald [Thu, 12 Jan 2017 14:06:00 +0000 (15:06 +0100)]
iptables: Fix target TRACE issue

The package kmod-ipt-debug builds the module xt_TRACE, which allows
users to use '-j TRACE' as target in the chain PREROUTING of the table
raw in iptables.

The kernel compilation flag NETFILTER_XT_TARGET_TRACE is also enabled so
that this feature which is implemented deep inside the linux IP stack
(for example in sk_buff) is compiled.

But a strace of iptables -t raw -I PREROUTING -p icmp -j TRACE reveals
that an attempt is made to read /usr/lib/iptables/libxt_TRACE.so, which
fails as this dynamic library is not present on the system.

I created the package iptables-mod-trace which takes care of that, and
target TRACE now works!

https://dev.openwrt.org/ticket/16694
https://dev.openwrt.org/ticket/19661

Signed-off-by: Martin Wetterwald <martin.wetterwald@corp.ovh.com>
[Jo-Philipp Wich: also remove trace extension from builtin extension list
                  and depend on kmod-ipt-raw since its required for rules]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Tested-by: Enrico Mioso <mrkiko.rs@gmail.com>
7 years agokernel: enable CONFIG_ADVISE_SYSCALLS
Rosen Penev [Sun, 15 Oct 2017 00:07:19 +0000 (17:07 -0700)]
kernel: enable CONFIG_ADVISE_SYSCALLS

Without this, posix_[fm]advise does not work. This causes issues with
btrfs-progs, which uses fadvise to drop caches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
7 years agoath10k-firmware: qca9888 firmware: remove board.bin
Henryk Heisig [Mon, 3 Jul 2017 21:59:54 +0000 (23:59 +0200)]
ath10k-firmware: qca9888 firmware: remove board.bin

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
7 years agoar71xx: fix board.bin used by QCA9886 in Archer C58/C59/C60
Henryk Heisig [Thu, 29 Jun 2017 13:38:22 +0000 (15:38 +0200)]
ar71xx: fix board.bin used by QCA9886 in Archer C58/C59/C60

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
7 years agomac80211: backport fixes for fix for CVE-2017-13080
Jonas Gorski [Thu, 26 Oct 2017 13:31:15 +0000 (15:31 +0200)]
mac80211: backport fixes for fix for CVE-2017-13080

Backport two fixes for the fix of CVE-2017-13080, preventing side channel
attacks and making it work for TKIP.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agoar71xx: Archer C58/C59/C60 fix qca9886 wireless interface
Henryk Heisig [Thu, 29 Jun 2017 13:20:31 +0000 (15:20 +0200)]
ar71xx: Archer C58/C59/C60 fix qca9886 wireless interface

This commit fix 5GHz wireless interface used in Archer C58/C59/C60v1
and set correctly MAC address on this interface.

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
7 years agotreewide: do not use IMG_PREFIX in Image/Prepare
Jonas Gorski [Fri, 13 Oct 2017 12:21:53 +0000 (14:21 +0200)]
treewide: do not use IMG_PREFIX in Image/Prepare

IMG_PREFIX can be modified in ImageBuilder by passing EXTRA_IMAGE_NAME
on command line, but Image/Prepare is not run in ImageBuilder. This
causes missing files when IMG_PREFIX is used for target file names in
Image/Prepare, then as source file names in Image/BuildKernel or
Image/Build.

Fix this by using a fixed output file name in Image/Prepare, and copy to
the expected file name in Image/BuildKernel instead, which is run by
ImageBuilder.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
7 years agohostapd: fix up ubus support
John Crispin [Sat, 21 Oct 2017 20:02:31 +0000 (22:02 +0200)]
hostapd: fix up ubus support

Signed-off-by: John Crispin <john@phrozen.org>
7 years agoramips: remove erroneous "wdt rst" DTS entries
Kevin Darbyshire-Bryant [Wed, 25 Oct 2017 08:21:35 +0000 (09:21 +0100)]
ramips: remove erroneous "wdt rst" DTS entries

Remove reference to pinmux group "wdt rst" on EW1200, ZBT-WG2626 and
ZBT-WG3526 devices. "wdt rst" is a pinmux function and not a pinmux
group.

Fixes the following error message during boot:

  rt2880-pinmux pinctrl: invalid group "wdt rst" for function "gpio"

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
7 years agoltq-xdsl-app: script style nit
Kevin Darbyshire-Bryant [Wed, 25 Oct 2017 09:39:23 +0000 (10:39 +0100)]
ltq-xdsl-app: script style nit

Fix missing space style nit.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
7 years agoipq806x: fix Zyxel NBG6817 WiFi button
Tolga Cakir [Tue, 24 Oct 2017 20:03:33 +0000 (22:03 +0200)]
ipq806x: fix Zyxel NBG6817 WiFi button

Zyxel NBG6817 features a WiFi button, which becomes functional by setting
correct GPIO. It is a switch-type button, so it emits KEY_RFKILL on each ON
and OFF state. This is achieved by setting input-type to EV_SW.

Signed-off-by: Tolga Cakir <tolga@cevel.net>
7 years agoar71xx: fix LED names for GL-AR150
Paul Wassi [Tue, 24 Oct 2017 12:23:58 +0000 (14:23 +0200)]
ar71xx: fix LED names for GL-AR150

Add the respective colour to the LED's names for the GL-AR150 to be conform
to the kernel. Also add netdev triggers for the LAN and WAN LED.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
7 years agoar71xx: base-files: alphabetical reordering
Paul Wassi [Tue, 24 Oct 2017 08:58:39 +0000 (10:58 +0200)]
ar71xx: base-files: alphabetical reordering

Re-order the cases of base-files/* alphabetically.
Also merge some cases in diag.sh

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
7 years agompc85xx: use image metadata
Mathias Kresin [Tue, 24 Oct 2017 04:57:29 +0000 (06:57 +0200)]
mpc85xx: use image metadata

Append and enforce image metadata. Remove the device specific image
checks, they are replaced by image metadata.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agompc85xx: use the generic board detect
Mathias Kresin [Mon, 15 May 2017 21:59:25 +0000 (23:59 +0200)]
mpc85xx: use the generic board detect

Use the values populated by the generic board detect function. The
first compatible from the device tree source file will be the board
name in userspace. The model property from the device tree source file
will be the model name.

Change the board name where used in the userspace and drop the target
specific board detect, to use the generic one.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agompc85xx: fix TL-WDR4900 v1 compatible string
Mathias Kresin [Mon, 15 May 2017 21:52:02 +0000 (23:52 +0200)]
mpc85xx: fix TL-WDR4900 v1 compatible string

Use the vendor as it is listed in vendor.txt. Use a standard lower case
compatible string.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agompc85xx: update HiveAP-330 dts
Chris Blake [Fri, 20 Oct 2017 15:32:37 +0000 (10:32 -0500)]
mpc85xx: update HiveAP-330 dts

initramfs is not the proper name for this, as it stores a boot ramdisk
and not a filesystem. Update the name to reflect it's usage correctly.

If CMDLINE_OVERRIDE is enabled, the chosen bootargs aren't used at all.
Drop them from the device tree source file to not cause confusion.

Remove the noinitrd bootarg. Due to the empty ramdisk this parameter
isn't required any longer:

  [    0.000000] Initrd not found or empty - disabling initrd

Use the LEDE mtd-mac-address* device tree properties to set the interfaces
MAC-Addresses.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years agompc85xx: cleanup kernel config
Mathias Kresin [Sat, 21 Oct 2017 13:44:30 +0000 (15:44 +0200)]
mpc85xx: cleanup kernel config

Move the kernel config changes added with the HiveAP 330 to the
subtarget the board belongs to instead of changing the target kernel
config.

While at it, move the TL_WDR4900_V1 config symbol to the containing
subtarget and disable boards we don't support.

Signed-off-by: Mathias Kresin <dev@kresin.me>