openwrt/openwrt.git
23 months agogemini: Fix up firmware checksum on DIR-685
Linus Walleij [Wed, 15 May 2019 20:37:26 +0000 (22:37 +0200)]
gemini: Fix up firmware checksum on DIR-685

Using the same method as the D-Link DAP-2695 A1 we use
the "mtd" tool to augment the firmware checkum in flash
on first boot of a new firmware on the D-Link DIR-685.
We need to augment the Makefile for "mtd" to build in
the special WRGG fixup support for Gemini as well.

This works around the problem of the machine not booting
after factory install unless the sysupgrade is applied
immediately.

Based on commit e3875350f3e4185020b64e0588bba521cd1d6e64
"ar71xx: add support for D-Link DAP-2695 rev. A1"

Cc: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
23 months agomtd: Make fixwrgg command work on DIR-685
Linus Walleij [Wed, 15 May 2019 20:37:25 +0000 (22:37 +0200)]
mtd: Make fixwrgg command work on DIR-685

The D-Link DIR-685 has the same problem as the
D-Link DAP-2695: when flashing the factory image, the
checksum includes the whole flashed image, even the
rootfs_data part with the end of filesystem mark.
Also the whole flashed image is stored in the flash,
so on the first boot, the whole rootfs image is loaded
into memory with the kernel.

This is fixed using the fixwrgg command to mtd, but
for this to work we need to make fixwrgg work with
the Little-Endian ARM DIR-685.

The code tries to be endian agnostic but this fails
because the WRGG image loader doesn't. On ARM, the
file size is stored in little endian format, and on
big-endian systems it is stored in big endian format,
so we can just drop all the friendly htonl() that
will make the shdr->size big endian: this will
actually break the little endian systems, and on
the big endian systems the native endianness will
still be correct.

The magic number is always stored in little endian
format however, so make sure this is always read
in LE32 format. I chose to create a straight-forward
le32_to_cpu() static inline that IMO is simple and
easy to read.

Cc: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
23 months agoramips: add support for HILINK HLK-7628N
Liu Yu [Sun, 5 May 2019 02:54:52 +0000 (10:54 +0800)]
ramips: add support for HILINK HLK-7628N

Specification:

CPU:       MT7628 580 MHz. MIPS 24K
RAM:       128 MB
Flash:     32 MB
WIFI:      802.11n/g/b 20/40 MHz
Ethernet:  5 Port ethernet switch
UART:      2x

Flash instruction:
The U-boot is based on Ralink SDK so we can flash the firmware using UART:
1. Configure PC with a static IP address and setup an TFTP server.
2. Put the firmware into the tftp directory.
3. Connect the UART0 line as described on the PCB.
4. Power up the device and press 2, follow the instruction to
   set device and tftp server IP address and input the firmware
   file name. U-boot will then load the firmware and write it into
   the flash.
5. After firmware is started connect via ethernet at 192.168.1.1

Signed-off-by: Liu Yu <f78fk@live.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [removed dupped subject]
23 months agoath79: add support for EnGenius ECB1750
sven friedmann [Tue, 26 Mar 2019 21:35:05 +0000 (22:35 +0100)]
ath79: add support for EnGenius ECB1750

Specification:

- Qualcomm Atheros SoC QCA9558
- 720/600/200 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 1x 10/100/1000 Mbps Ethernet
- 3T3R 2.4 GHz (QCA9558 WMAC)
- 3T3R 5.8 Ghz (QCA9880-BR4A, Senao PCE4553AH)

https://fccid.io/A8J-ECB1750

Tested and working:

- lan, wireless, leds, sysupgrade (tftp)

Flash instructions:

1.) tftp recovery

- use a 1GbE switch or direct attached 1GbE link
- setup client ip address 192.168.1.10 and start tftpd
- save "openwrt-ath79-generic-engenius_ecb1750-initramfs-kernel.bin" as "ap.bin" in tfpd root directory
- plugin powercord and hold reset button 10secs.. "ap.bin" will be downloaded and executed
- afterwards login via ssh and do a sysuprade

2.) oem webinterface factory install (not tested)

Use normal webinterface upgrade page und select "openwrt-ath79-generic-engenius_ecb1750-squashfs-factory.bin".

3.) oem webinterface command injection

OEM Firmware already running OpenWrt (Attitude Adjustment 12.09).
Use OEM webinterface and command injection. See wiki for details.

https://openwrt.org/toh/engenius/engenius_ecb1750_1

Signed-off-by: sven friedmann <sf.openwrt@okay.ms>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[use interrupt-driven "gpio-keys" binding]

23 months agoipq40xx: Add support for Linksys EA8300 (Dallas)
Jeff Kletsky [Wed, 10 Apr 2019 15:34:28 +0000 (08:34 -0700)]
ipq40xx: Add support for Linksys EA8300 (Dallas)

The Linksys EA8300 is based on QCA4019 and QCA9888 and provides three,
independent radios. NAND provides two, alternate kernel/firmware
images with fail-over provided by the OEM U-Boot.

Installation:

  "Factory" images may be installed directly through the OEM GUI.

Hardware Highlights:

  * IPQ4019 at 717 MHz (4 CPUs)
  * 256 MB NAND (Winbond W29N02GV, 8-bit parallel)
  * 256 MB RAM
  * Three, fully-functional radios; `iw phy` reports (FCC/US, -CT):
      * 2.4 GHz radio at 30 dBm
      * 5 GHz radio on ch. 36-64 at 23 dBm
      * 5 GHz radio on ch. 100-144 at 23 dBm (DFS), 149-165 at 30 dBm
      #{ managed } <= 16, #{ AP, mesh point } <= 16, #{ IBSS } <= 1
      * All two-stream, MCS 0-9
  * 4x GigE LAN, 1x GigE Internet Ethernet jacks with port lights
  * USB3, single port on rear with LED
  * WPS and reset buttons
  * Four status lights on top
  * Serial pads internal (unpopulated)

  "Linksys Dallas WiFi AP router based on Qualcomm AP DK07.1-c1"

Implementation Notes:

  The OEM flash layout is preserved at this time with 3 MB kernel and
  ~69 MB UBIFS for each firmware version. The sysdiag (1 MB) and
  syscfg (56 MB) partitions are untouched, available as read-only.

Serial Connectivity:

  Serial connectivity is *not* required to flash.

  Serial may be accessed by opening the device and connecting
  a 3.3-V adapter using 115200, 8n1. U-Boot access is good,
  including the ability to load images over TFTP and
  either run or flash them.

  Looking at the top of the board, from the front of the unit,
  J3 can be found on the right edge of the board, near the rear

      |
   J3 |
  |-| |
  |O| | (3.3V seen, open-circuit)
  |O| | TXD
  |O| | RXD
  |O| |
  |O| | GND
  |-| |
      |

Unimplemented:

    * serial1 "ttyQHS0" (serial0 works as console)
    * Bluetooth; Qualcomm CSR8811 (potentially conected to serial1)

Other Notes:

    https://wikidevi.com/wiki/Linksys_EA8300 states

        FCC docs also cover the Linksys EA8250. According to the
RF Test Report BT BR+EDR, "All models are identical except
for the EA8300 supports 256QAM and the EA8250 disable 256QAM."

Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
23 months agomtd: base-files: Unify dual-firmware devices (Linksys)
Jeff Kletsky [Wed, 10 Apr 2019 15:28:01 +0000 (08:28 -0700)]
mtd: base-files: Unify dual-firmware devices (Linksys)

Consistently handle boot-count reset and upgrade across
ipq40xx, ipq806x, kirkwood, mvebu

Dual-firmware devices often utilize a specific MTD partition
to record the number of times the boot loader has initiated boot.

Most of these devices are NAND, typically with a 2k erase size.
When this code was ported to the ipq40xx platform, the device in hand
used NOR for this partition, with a 16-byte "record" size. As the
implementation of `mtd resetbc` is by-platform, the hard-coded nature
of this change prevented proper operation of a NAND-based device.

* Unified the "NOR" variant with the rest of the Linksys variants

* Added logging to indicate success and failure

* Provided a meaningful return value for scripting

* "Protected" the use of `mtd resetbc` in start-up scripts so that
   failure does not end the boot sequence

* Moved Linksys-specific actions into common `/etc/init.d/bootcount`

For upgrade, these devices need to determine which partition to flash,
as well as set certain U-Boot envirnment variables to change the next
boot to the newly flashed version.

* Moved upgrade-related environment changes out of bootcount

* Combined multiple flashes of environment into single one

* Current-partition detection now handles absence of `boot_part`

Runtime-tested: Linksys EA8300

Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[checkpatch.pl fixes, traded split strings for 80+ chars per line]

23 months agofirmware/ipq-wifi: Extend for multi-chip boards
Jeff Kletsky [Sun, 14 Apr 2019 20:20:57 +0000 (13:20 -0700)]
firmware/ipq-wifi: Extend for multi-chip boards

This package provides board-specific reference ("cal") data
on an interim basis until included in the upstream distros

While originally conceived for IPQ4019-based boards, similar needs
are appearing with three-radio devices. For some of these devices,
both a board-2.bin file needs to be supplied both for the IPQ4019
as well as for the other radio on the board.

This patch allows new or multiple overrides to be specified by:

  * Adding board name to ALLWIFIBOARDS
  * Placing file(s) in this directory named as
      board-<devicename>.<qca4019|qca9888|qca9984>
  * Adding
      $(eval $(call generate-ipq-wifi-package,<device>,<display name>))

(along with suitable package selection for the board)

At this time, QCA4019, QCA9888, and QCA9984 are supported.
Extension to other chips should be straightforward.

The existing files, board-*.bin, are "grandfathered" as QCA4019.

The package name has been retained for compatability reasons.
At this time it DEPENDS:=@TARGET_ipq40xx, limiting its visibility.

Build-tested-on: asus_map-ac2200, alfa-network_ap120c-ac,
    avm_fritzbox-7530, avm_fritzrepeater-3000, engenius_eap1300,
    engenius_ens620ext, linksys_ea6350v3, qxwlan-e2600ac-c1/-c2

Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
23 months agonetifd: update to latest git HEAD
Hans Dedecker [Sat, 18 May 2019 07:32:42 +0000 (09:32 +0200)]
netifd: update to latest git HEAD

22e8e58 interface-ip: use ptp address as well to find local address target
f1aa0f9 treewide: pass bool as second argument of blobmsg_check_attr

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
23 months agolibbsd: Fix compilation under ARC
Rosen Penev [Wed, 1 May 2019 17:04:45 +0000 (10:04 -0700)]
libbsd: Fix compilation under ARC

The 8 year old file does not have any ARC definitions.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[updated content of the patch with version sent to upstream]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
23 months agozynq: make title consistent for all devices
Luis Araneda [Thu, 16 May 2019 03:57:19 +0000 (23:57 -0400)]
zynq: make title consistent for all devices

Modify the title to match the following format, as it's enough
to uniquely identify a device:
<manufacturer> <model>

This matches what's done for other targets and has the
added benefit of creating a sorted-by-manufacturer list
of devices on menuconfig

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
23 months agosystem: uci: Use config dir on uci_add and support add_/del_list
Kristian Evensen [Wed, 15 May 2019 18:56:18 +0000 (20:56 +0200)]
system: uci: Use config dir on uci_add and support add_/del_list

This commit makes three changes to the uci shell library:

* A check for UCI_CONFIG_DIR has been added to the command line when
adding anonymous sections. Without this change, adding anonymous
sections to configs not stored in /etc/config is not possible.

* Support for adding/removing items from lists were missing, so I have
added the functions uci_add_list() and uci_remove_list() to simplify
working with uci lists from scripts.

Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
[added missing package version bump]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
23 months agoramips: Add support for ZBT WE826-E
Kristian Evensen [Thu, 16 May 2019 13:38:00 +0000 (15:38 +0200)]
ramips: Add support for ZBT WE826-E

ZBT WE826-E is a dual-SIM version of the ZBT WE826. The router has the
following specifications:

- MT7620A (580 MHz)
- 128MB RAM
- 32MB of flash (SPI NOR)
- 5x 10/100Mbps Ethernet (MT7620A built-in switch)
- 1x microSD slot
- 1x miniPCIe slot (only USB2.0 bus)
- 2x SIM card slots (standard size)
- 1x USB2.0 port
- 1x 2.4GHz wifi (rt2800)
- 10x LEDs (4 GPIO-controlled)
- 1x reset button

The following have been tested and working:
- Ethernet switch
- wifi
- miniPCIe slot
- USB port
- microSD slot
- sysupgrade
- reset button

Installation and recovery:

In order to install OpenWRT the first time or recover the router, you
can use the web-based recovery system. Keep the reset button pressed
during boot and access 192.168.1.1 in your browser when your machine
obtains an IP address.  Upload the firmware to start the recovery
process.

How to swap SIMs:

You control which SIM slot to use by writing 0/1 to
/sys/class/gpio/gpio13/value. In order for the change to take effect,
you can either use AT-commands (AT+CFUN) or power-cycle the modem (write
0/1 to /sys/class/gpio/gpio14/value).

Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
23 months agoramips: Add support for Head Weblink HDRM200
Kristian Evensen [Wed, 15 May 2019 18:50:45 +0000 (20:50 +0200)]
ramips: Add support for Head Weblink HDRM200

Head Weblink HDRM200 is a dual-sim router based on MT7620A. The detailed
specifications are:

- MT7620A (580MHz)
- 64MB RAM
- 16MB of flash (SPI NOR)
- 6x 10/100Mbps Ethernet (MT7620A built-in switch)
- 1x microSD slot
- 1x miniPCIe slot (only USB2.0 bus). Device is shipped with a SIMCOM
SIM7100E LTE modem.
- 2x SIM slots (standard size)
- 1x USB2.0 port
- 1x 2.4GHz wifi (rt2800)
- 1x 5GHz wifi (mt7612)
- 1x reset button
- 1x WPS button
- 3x GPIO-controllable LEDs
- 1x 10 pin terminal block (RS232, RS485, 4 x GPIO)

Tested:
- Ethernet switch
- Wifi
- USB slot
- SD card slot
- miniPCIe-slot
- sysupgrade
- reset button

Installation instructions:

Installing OpenWRT for the first time requires a bit of work, as the
board does not ship with OpenWRT. In addition, the bootloader
automatically reboots when installing an image over tftp. In order to
install OpenWRT on the HDRM200, you need to do the following:

* Copy the initramfs-image to your tftp-root (default filename is
test.bin) and configure networking accordingly (default server IP is
10.10.10.3, client 10.10.10.123). Start your tftp server.
* Open the board and connect to UART. The pins are exposed and clearly
marked.
* Boot the board and press 1.
* Either use the default filename and client/server IP-addresses, or
specify your own.

The image should now be loaded to memory and board boot. If the router
reboots while the image is loading, you need to try again. Once the
board has booted, copy the sysupgrade-image to the router and run
sysupgrade in order to install OpenWRT to the flash.

Notes:

- You control which SIM slot to use by writing 0/1 to
/sys/class/gpio/gpio0/value. In order for the change to take
effect, you can either use AT-commands (AT+CFUN) or power-cycle the
modem (write 0/1 to /sys/class/gpio/gpio21/value).
- RS485 is available on /dev/ttyS0.
- RS232 is available on /dev/ttyS1.
- The name of the ioX-gpios map to the labels on the casing.

Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
[fixed whitespace issue and merge conflict in target.mk]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
23 months agozlib: Use relative paths in pkg-config metadata file
Jeffery To [Wed, 15 May 2019 14:30:24 +0000 (22:30 +0800)]
zlib: Use relative paths in pkg-config metadata file

The buildroot pkg-config (in staging_dir/host/bin) overrides the prefix
and exec_prefix variables in *.pc files, to supply the correct
(buildroot) paths for callers. If other variables are not defined
relative to prefix and exec_prefix, then the returned values will be
incorrect.

The default zlib.pc file generated by cmake contains absolute paths.
This patches the file to use relative paths (relative to ${prefix} and
${exec_prefix}).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
23 months agobuild: fix STAGING_DIR cleaning when filenames contain spaces
Jeffery To [Wed, 15 May 2019 14:20:17 +0000 (22:20 +0800)]
build: fix STAGING_DIR cleaning when filenames contain spaces

When looping through a package's STAGING_FILES_LIST (a list of
file/directory paths delimited by newlines), if the path contains
spaces, then the path will be split by the while loops, and the
file/directory will not be deleted/removed.

This sets the internal field separator to the newline only so that the
entire path is considered when deleting/removing.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
23 months agoath79: drop unused/incomplete dts
Chuanhong Guo [Mon, 13 May 2019 12:21:12 +0000 (20:21 +0800)]
ath79: drop unused/incomplete dts

These dts itself are incomplete (e.g. missing mtd partitions) and its
deivce support is never added to ath79 target.
Drop these unused dts for now.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
23 months agoath79: ar9330: fix switch_led_disable_pins reg value
Petr Štetiar [Thu, 16 May 2019 10:10:03 +0000 (12:10 +0200)]
ath79: ar9330: fix switch_led_disable_pins reg value

In commit e9652e1696d9 ("ath79: fix pinmux for ar933x devices") I've
wrongly changed desired register value to 0xf8 although it should've
been set to 0x0.

0xf8 value sets bits 3-7 (ETH_SWITCH_LEDx_EN) to 1 which actually
enables ethernet switch LEDs, so 0x0 is correct value in order to use
the pins as GPIO.

Fixes: e9652e1696d9 ("ath79: fix pinmux for ar933x devices")
Reported-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
23 months agoath79: archer-x7-v5: sync ar8327 initial reg values with ar71xx
Petr Štetiar [Sun, 14 Apr 2019 20:59:00 +0000 (22:59 +0200)]
ath79: archer-x7-v5: sync ar8327 initial reg values with ar71xx

Simply dumped content of this regs in ar71xx and wrote them to DTS, as a
result port 6 on the switch will appear disconnected as on Archer C7v4.

[AS: testing and PORT6_STATUS fix]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
23 months agokernel: bump 4.19 to 4.19.43
Koen Vandeputte [Wed, 15 May 2019 14:21:35 +0000 (16:21 +0200)]
kernel: bump 4.19 to 4.19.43

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agokernel: bump 4.14 to 4.14.119
Koen Vandeputte [Wed, 15 May 2019 11:32:16 +0000 (13:32 +0200)]
kernel: bump 4.14 to 4.14.119

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agokernel: bump 4.9 to 4.9.176
Koen Vandeputte [Wed, 15 May 2019 10:32:49 +0000 (12:32 +0200)]
kernel: bump 4.9 to 4.9.176

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agoodhcpd: update to latest git HEAD (FS#2242)
Hans Dedecker [Fri, 17 May 2019 06:50:37 +0000 (08:50 +0200)]
odhcpd: update to latest git HEAD (FS#2242)

41a74cb config: remove 'ignore' config option
c0c8034 treewide: init assignment lists head
f98b7ee config: use list safe iterator in lease_delete
3c9810b dhcpv4: fix lease ordering by ip address
b60c384 config: use multi-stage parsing of uci sections
a2dd8d6 treewide: always init interface list heads during initialization
a17665e dhcpv4: do not allow pool end address to overlap with broadcast address
6b951c5 treewide: give file descriptors safe initial value
39e11ed dhcpv4: DHCP pool size is off-by-one
4a600ce dhcpv4: add support for Parameter Request List option 55
09e5eca dhcpv4: fix DHCP packet size
3cd4876 ndp: fix syslog flooding (FS#2242)
79fbba1 config: set default loglevel to LOG_WARNING

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
23 months agoglibc: update to latest 2.27 commit
Hans Dedecker [Thu, 16 May 2019 16:28:33 +0000 (18:28 +0200)]
glibc: update to latest 2.27 commit

f9c3c12f336 Fix crash in _IO_wfile_sync (bug 20568)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
23 months agoimagebuilder: new DISABLED_SERVICES make variable
Richard Musil [Thu, 9 May 2019 01:45:07 +0000 (03:45 +0200)]
imagebuilder: new DISABLED_SERVICES make variable

Adds a new variable DISABLED_SERVICES to ImageBuilder Makefile, which
defines a list of services (installed as /etc/init.d/*) to be disabled
during the build of a custom image (normally all are enabled).

It comes handy when a particular service should not be run under normal
circumstances, but should be ready in the image for situations when it
might be needed.

Signed-off-by: Richard Musil <risa2000x@gmail.com>
23 months agoath79: Add missing reset button for TP-Link CPE210 v2 and v3
Adrian Schmutzler [Fri, 10 May 2019 13:14:13 +0000 (15:14 +0200)]
ath79: Add missing reset button for TP-Link CPE210 v2 and v3

Reset button support seems to be missing in ath79.

Run-tested on CPE210 v2.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
23 months agoath79: fix pinmux for ar933x devices
Paul Wassi [Mon, 31 Dec 2018 20:51:47 +0000 (21:51 +0100)]
ath79: fix pinmux for ar933x devices

Properly disable the SoC's internal Switch LEDs on the pinmux.
Devices that previously called ath79_gpio_function_disable for
the switch LEDs, just need to reference switch_led_pins in the
pinctrl-0 property of the gpio-leds node.

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
[changed desired pinctrl register value from 0x1f to proper 0xf8]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
[renamed pinmux name to switch_led_disable_pins to make purpose more clear]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
23 months agoath79: archer-x7-v5: remove confusing ar8327 initvals for LEDs
Petr Štetiar [Sun, 14 Apr 2019 19:24:39 +0000 (21:24 +0200)]
ath79: archer-x7-v5: remove confusing ar8327 initvals for LEDs

This devices have LEDs connected to the SoC's GPIOs, so it makes no
sense to fiddle with ar8327 LED regs.

Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
23 months agoar71xx: Fix network setup for TP-Link Archer C25 v1
Adrian Schmutzler [Thu, 9 May 2019 15:02:36 +0000 (17:02 +0200)]
ar71xx: Fix network setup for TP-Link Archer C25 v1

Network for the Archer C25 v1 is set up without switch for no
obvious reason. The LED setup is even done switch-based.

This patch changes network setup so a switch is created.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
23 months agotegra: add vendor string to device name
Tomasz Maciej Nowak [Wed, 1 May 2019 17:43:54 +0000 (19:43 +0200)]
tegra: add vendor string to device name

for better identification. Also create SUPPORTED_DEVICES string from it
which corresponds to dts compatible string.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agomvebu: add kmod-i2c-mux-pca954x for Turris Omnia
Josef Schlehofer [Fri, 19 Apr 2019 23:05:05 +0000 (01:05 +0200)]
mvebu: add kmod-i2c-mux-pca954x for Turris Omnia

The driver is for the I2C mux.
Schematic available at https://doc.turris.cz/doc/_media/rtrom01-schema.pdf

Signed-off-by: Josef Schlehofer <josef.schlehofer@nic.cz>
Tested-by: Rosen Penev <rosenp@gmail.com>
23 months agonftables: Fix compilation with uClibc-ng
Rosen Penev [Wed, 1 May 2019 17:08:10 +0000 (10:08 -0700)]
nftables: Fix compilation with uClibc-ng

Missing header for va_list.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[updated with upstream version of the patch]

23 months agolantiq/xrx200: enable initramfs images
Stijn Segers [Sat, 27 Apr 2019 16:23:21 +0000 (18:23 +0200)]
lantiq/xrx200: enable initramfs images

Commit eae6cac6a3 ("lantiq: add support for AVM FRITZ!Box 7362 SL"), but
one needs an initramfs image to flash OpenWrt from stock firmware (as
described in the commit log). This patch has the initramfs image built
by default.

Thanks to blogic (for pointing to the FEATURES declaration in the target
Makefiles) and Musashino on the forum for suggesting
config/Config-images.in needed editing too. While at it, reorder the
TARGET_INITRAMFS_COMPRESSION_LZMA declarations alphabetically.

This patch will result in initramfs images for all lantiq subtargets
that have the ramdisk flag set. I tested on the falcon and ase
subtargets, which lack that flag, to confirm they don't produce any
initramfs images with this patch - which they do not.

Given the limited scope of the lantiq (sub)target(s), blogic indicated
this should be OK.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[fixed the wrong reference to eae6cac6a3 commit]

23 months agolinux-firmware: update to 20190416
Deng Qingfang [Fri, 19 Apr 2019 10:01:45 +0000 (18:01 +0800)]
linux-firmware: update to 20190416

Update linux-firmware to 20190416, which includes updated firmwares e.g. for ath10k
Also switch to official tarball source.

The following firmware files we use are updated in this change:
ath10k/QCA6174/hw3.0/board-2.bin
ath10k/QCA9888/hw2.0/firmware-5.bin
ath10k/QCA988X/hw2.0/firmware-5.bin
ath10k/QCA9984/hw1.0/firmware-5.bin
mrvl/sd8887_uapsta.bin
mrvl/pcie8897_uapsta.bin
iwlwifi-8000C-36.ucode
iwlwifi-8265-36.ucode

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
23 months agomalta: Deactivate MIPS O32 and N32 support
Hauke Mehrtens [Sun, 12 May 2019 15:14:38 +0000 (17:14 +0200)]
malta: Deactivate MIPS O32 and N32 support

OpenWrt is completely compiled from sources using a 64 bit compiler, we
do not need support for the old 32 bit MIPS interface on 64 Bit CPUs,
deactivate it.

Fixes: 46af22de16b2 ("kernel: Remove CONFIG_COMPAT")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agoocteon: Deactivate MIPS O32 and N32 support
Hauke Mehrtens [Sun, 12 May 2019 15:12:55 +0000 (17:12 +0200)]
octeon: Deactivate MIPS O32 and N32 support

OpenWrt is completely compiled from sources using a 64 bit compiler, we
do not need support for the old 32 bit MIPS interface on 64 Bit CPUs,
deactivate it.

Fixes: 46af22de16b2 ("kernel: Remove CONFIG_COMPAT")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agoocteon: Refresh kernel configuration
Hauke Mehrtens [Tue, 14 May 2019 19:48:02 +0000 (21:48 +0200)]
octeon: Refresh kernel configuration

This refreshes the kernel configuration with "make kernel_oldconfig"

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Move some DSA config options to generic config
Hauke Mehrtens [Sun, 12 May 2019 17:08:15 +0000 (19:08 +0200)]
kernel: Move some DSA config options to generic config

This moves some new configuration options to the generic kernel
configuration instead of configuring them for each target on our own.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agovalgrind: Add support for ARM64 architecture
Hauke Mehrtens [Sat, 11 May 2019 22:44:15 +0000 (00:44 +0200)]
valgrind: Add support for ARM64 architecture

valgrind also works on the ARM64 architecture, build it also for such CPUs.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agovalgrind: Update to version 3.15.0
Hauke Mehrtens [Sat, 11 May 2019 22:43:52 +0000 (00:43 +0200)]
valgrind: Update to version 3.15.0

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agostrace: Update to version 5.0
Hauke Mehrtens [Sat, 11 May 2019 22:43:12 +0000 (00:43 +0200)]
strace: Update to version 5.0

The removed patch was merged upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agoiperf: Update to version 2.0.13
Hauke Mehrtens [Sat, 11 May 2019 15:34:20 +0000 (17:34 +0200)]
iperf: Update to version 2.0.13

The removed patches are already integrated in the upstream version.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agobrcm63xx: fixup broken patch after kernel bump
Jonas Gorski [Tue, 14 May 2019 11:13:53 +0000 (13:13 +0200)]
brcm63xx: fixup broken patch after kernel bump

Fixes the following compilation issue that was introduced with the bump
to 4.14.118:

  CC      drivers/gpio/gpiolib-of.o
drivers/gpio/gpiolib-of.c: In function 'of_gpiochip_add':
drivers/gpio/gpiolib-of.c:510:12: error: too few arguments to function 'of_gpiochip_scan_gpios'
   status = of_gpiochip_scan_gpios(chip);
            ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpiolib-of.c:247:5: note: declared here
 int of_gpiochip_scan_gpios(struct gpio_chip *chip, unsigned int start,
     ^~~~~~~~~~~~~~~~~~~~~~
scripts/Makefile.build:326: recipe for target 'drivers/gpio/gpiolib-of.o' failed

Fixes: 09050b6fe228 ("kernel: bump 4.14 to 4.14.118")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
23 months agokernel: bump 4.19 to 4.19.42
Koen Vandeputte [Mon, 13 May 2019 11:41:34 +0000 (13:41 +0200)]
kernel: bump 4.19 to 4.19.42

Refreshed all patches.

Remove upstreamed:
- 060-v5.1-serial-ar933x_uart-Fix-build-failure-with-disabled-c.patch
- 400-v5.2-leds-trigger-netdev-fix-refcnt-leak-on-interface-ren.patch

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agokernel: bump 4.14 to 4.14.118
Koen Vandeputte [Mon, 13 May 2019 10:50:25 +0000 (12:50 +0200)]
kernel: bump 4.14 to 4.14.118

Refreshed all patches.

Remove upstreamed:
- 060-v5.1-serial-ar933x_uart-Fix-build-failure-with-disabled-c.patch

Altered:
- 143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agokernel: bump 4.9 to 4.9.175
Koen Vandeputte [Mon, 13 May 2019 08:36:37 +0000 (10:36 +0200)]
kernel: bump 4.9 to 4.9.175

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agobrcm63xx: remove kernel 4.9 support
Koen Vandeputte [Mon, 6 May 2019 12:58:43 +0000 (14:58 +0200)]
brcm63xx: remove kernel 4.9 support

This target got bumped to 4.14 a long time ago
in commit: 2308b87204206d84b6bf3dbc3d72591611cc6b78

Remove all leftover 4.9 files.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agoppp: update to version 2.4.7.git-2019-05-06
Hans Dedecker [Mon, 13 May 2019 13:26:56 +0000 (15:26 +0200)]
ppp: update to version 2.4.7.git-2019-05-06

fcb076c Various fixes for errors found by coverity static analysis (#109)
d98ab38 Merge branch 'pppd_print_changes' of https://github.com/nlhintz/ppp into nlhintz-pppd_print_changes

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
23 months agokernel: Fix build of omap target
Hauke Mehrtens [Sat, 11 May 2019 22:05:04 +0000 (00:05 +0200)]
kernel: Fix build of omap target

CONFIG_HW_RANDOM_OMAP is not set to any value after kmod-random-omap was
removed, add the configuration option to the generic configuration.

Fixes: cd3b29853380 ("omap24xx: Remove unmaintained target")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agomvebu: add images for additional ESPRESSObin boards
Tomasz Maciej Nowak [Sat, 11 May 2019 17:37:35 +0000 (19:37 +0200)]
mvebu: add images for additional ESPRESSObin boards

This commit adds support for different iterations of ESPRESSObin.
The added variants are:

ESPRESSObin with soldered eMMC,

ESPRESSObin V7, compared to V5 some passive elements changed and ethernet
ports labels positions have been reversed,

ESPRESSObin V7 with soldered eMMC.

Please refer to:
584d7c5 ("mvebu: new subtarget cortex A53")
for instruction how to boot OpenWrt image placed on SD card. It is
advised for owners of V5 and previous with bootloader based on U-Boot
2015.01, to upgrade the latest version available at:
http://espressobin.net/tech-spec.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agomvebu: use device-tree board detection
Tomasz Maciej Nowak [Sat, 11 May 2019 17:37:34 +0000 (19:37 +0200)]
mvebu: use device-tree board detection

Convert whole target to Device Tree based board detection instead of
identifying devices by dts file name. With this we can drop mvebu.sh
translation script and rely on common method for model detection.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agomvebu: align device names to vendor_device format
Tomasz Maciej Nowak [Sat, 11 May 2019 17:37:33 +0000 (19:37 +0200)]
mvebu: align device names to vendor_device format

Add vendors in device names and also rename few device names, for easier
identyfying potential firmware to flash. The vendor and device string is
mainly derived from model/compatipble string in dts from particular
device, but since not all devices are well described, some of the renames
follow marketing names.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agomvebu: image: don't create unnecessarily shell variables
Tomasz Maciej Nowak [Sat, 11 May 2019 17:37:32 +0000 (19:37 +0200)]
mvebu: image: don't create unnecessarily shell variables

Use make syntax to pass the U-Boot image location and boot with root
partitions size, instead of relying on shell functions and variables.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agomvebu: image: improve readability of device recipes
Tomasz Maciej Nowak [Sat, 11 May 2019 17:37:31 +0000 (19:37 +0200)]
mvebu: image: improve readability of device recipes

Drop overly complex amount of defines wich are referenced in the same
devices pool and move image recipes to common define, since devices not
using them overwrite it.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agomvebu: image: introduce BOOT_SCRIPT variable
Tomasz Maciej Nowak [Sat, 11 May 2019 17:37:30 +0000 (19:37 +0200)]
mvebu: image: introduce BOOT_SCRIPT variable

All of U-Boot scripts repeat the same pattern with only Device Tree blob
name changing for respective device. Therefore create generic scripts
which will be altered on demad by image build process, and create
BOOT_SCRIPT variable which can be added to device recipe and will allow
referencing the same script by many device recipes. This will allow to
slim down the ammount of files in buildroot tree and avoid needlessly
incrementing amount of boot scripts if new devices will be added.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agomvebu: image: stack repeated variables
Tomasz Maciej Nowak [Sat, 11 May 2019 17:37:29 +0000 (19:37 +0200)]
mvebu: image: stack repeated variables

All of arm64 devices have part of variables repeatedly defined. Stack
them to common define, and reference it in each device recipe.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agomvebu: remove unnecessary code building dtbs
Tomasz Maciej Nowak [Sat, 11 May 2019 17:37:28 +0000 (19:37 +0200)]
mvebu: remove unnecessary code building dtbs

Even if dts is not included in upstream Makefile, it is built anyway by
recipe specified in include/image.mk. Also remove Build/dtb, it's not
used since 3f72f3a ("mvebu: clearfog: include DTB for all variants in
image").

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agotoolchain/binutils: use default Host/Configure rule
Alexandru Ardelean [Mon, 22 Apr 2019 12:22:40 +0000 (15:22 +0300)]
toolchain/binutils: use default Host/Configure rule

This seems to have been omitted over-time.
Using the default Host/Configure seems to work fine.

The last patches to have touched this in a major way were ~10 years ago:
33a0eb3613d ("cosmetic & coherency fixes")
7eb15898755 ("build system refactoring in preparation for allowing
              packages to do host-build steps")

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
23 months agouClibc++: Update to 0.2.5
Rosen Penev [Sun, 7 Apr 2019 06:37:56 +0000 (23:37 -0700)]
uClibc++: Update to 0.2.5

Switched to xz archives for smaller size.

Removed upstreamed patches.

Reorganized Makefile a little bit for clarity. Build/Prepare is not useful
anymore. Upstream converted the file to LF.

Refreshed config.

Removed -ansi option from the original CFLAGS as this was causing long
long support to be missing.

Removed fPIC. We have the macro $(FPIC) already used. No point in setting
fpic and fPIC together.

Removed pedantic -Wlong-long warnings as they are not useful.

Removed -std=gnu++98. Not only is it unnecessary (it compiles against all
standards), it actually results in a size increase. 75843 vs. 75222 (gcc
in OpenWrt defaults to g++14).

Added --gc-sections to linker flags to reduce size: 72653 vs 75222.

Removed warn linker options. They have been upstreamed.

Tested on Archer C7v2 and GnuBee PC1.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
23 months agoxfsprogs: Replace valloc with posix_memalign
Rosen Penev [Mon, 6 May 2019 21:57:18 +0000 (14:57 -0700)]
xfsprogs: Replace valloc with posix_memalign

Fixes compilation under uClibc-ng.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
23 months agogeneric-4.19: Backport spi-nand support for GigaDevice A/E
Jeff Kletsky [Fri, 10 May 2019 13:01:47 +0000 (06:01 -0700)]
generic-4.19: Backport spi-nand support for GigaDevice A/E

This patch backports verbatim the commits from Linux 5.0 and 5.1
that implemented support for GigaDevice SPI NAND A and E variants.

Supported only in Linux 4.19 and later as based on the upstream
drivers/mtd/nand/spi/ framework.

mtd-spinand-add-support-for-GigaDevice-GD5FxGQ4xA.patch
commit c93c613214ac (5.0)

mtd-spinand-Add-support-for-GigaDevice-GD5F1GQ4UExxG.patch
commit c40c7a990a46 (5.1)

Run-tested-on: GL.iNet AR750S

Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
23 months agokernel: Reorder generic configuration
Hauke Mehrtens [Fri, 10 May 2019 20:46:49 +0000 (22:46 +0200)]
kernel: Reorder generic configuration

This was done like this:
./scripts/kconfig.pl '+' target/linux/generic/config-4.14 /dev/null > target/linux/generic/config-4.14-new
mv target/linux/generic/config-4.14-new target/linux/generic/config-4.14

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agogemini: Make kernel text and rodata read-only
Hauke Mehrtens [Sun, 7 Apr 2019 14:53:11 +0000 (16:53 +0200)]
gemini: Make kernel text and rodata read-only

This is activate for all other targets except gemini, also activate it
there.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agocns3xxx: Activate CONFIG_CPU_SW_DOMAIN_PAN
Hauke Mehrtens [Sun, 7 Apr 2019 16:03:54 +0000 (18:03 +0200)]
cns3xxx: Activate CONFIG_CPU_SW_DOMAIN_PAN

This is already activated for all other ARM targets

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agox86: Activate CONFIG_X86_SMAP
Hauke Mehrtens [Sun, 7 Apr 2019 17:38:04 +0000 (19:38 +0200)]
x86: Activate CONFIG_X86_SMAP

This activates "Supervisor Mode Access Prevention". modern CPUs will
prevent the kernel code from accessing any data from the userspace
without the usage of copy_to_user() or copy_from_user()

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Deactivate CONFIG_BINFMT_MISC
Hauke Mehrtens [Sun, 7 Apr 2019 17:08:18 +0000 (19:08 +0200)]
kernel: Deactivate CONFIG_BINFMT_MISC

CONFIG_BINFMT_MISC allows it to add support for new executable formats
to the kernel from user space, the kernel will then detect for example a
java binary and call the java execution program automatically. I am not
aware that this feature is used in OpenWrt and this could be used to
exploit something. Deactivate it for all targets for now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Do not set CONFIG_DEVMEM or CONFIG_DEVKMEM
Hauke Mehrtens [Sun, 7 Apr 2019 17:03:54 +0000 (19:03 +0200)]
kernel: Do not set CONFIG_DEVMEM or CONFIG_DEVKMEM

This is deactivated by default and should be manually activated in the
OpenWrt kernel configuration

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Activate CONFIG_SYN_COOKIES for all targets
Hauke Mehrtens [Sun, 7 Apr 2019 17:00:45 +0000 (19:00 +0200)]
kernel: Activate CONFIG_SYN_COOKIES for all targets

Some targets deactivated CONFIG_SYN_COOKIES, for unknown reasons, use
the default setting from the generic configuration which activates
CONFIG_SYN_COOKIES.

This should prevent SYN flooding.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Remove CONFIG_COMPAT
Hauke Mehrtens [Sun, 7 Apr 2019 15:14:24 +0000 (17:14 +0200)]
kernel: Remove CONFIG_COMPAT

This removes support for executing old 32 bit applications on 64 bit ARM
and MIPS kernels.
On OpenWrt we normally compile all the user space applications on our
own and do not support third party binary only modules especial not 32
bit applications on 64 bit CPUs.

This reduces the attack surface on such systems and should also save
some memory.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Remove CONFIG_DEBUG_RODATA and CONFIG_DEBUG_SET_MODULE_RONX
Hauke Mehrtens [Sun, 7 Apr 2019 14:55:38 +0000 (16:55 +0200)]
kernel: Remove CONFIG_DEBUG_RODATA and CONFIG_DEBUG_SET_MODULE_RONX

These were renamed to CONFIG_STRICT_KERNEL_RWX and CONFIG_STRICT_MODULE_RWX and are
activated in kernel 4.14 and later by default.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agokernel: Activate CONFIG_ARM64_SW_TTBR0_PAN
Hauke Mehrtens [Sun, 7 Apr 2019 16:06:34 +0000 (18:06 +0200)]
kernel: Activate CONFIG_ARM64_SW_TTBR0_PAN

This activates "Emulate Privileged Access Never using TTBR0_EL1
switching" on ARM64.

This should prevent the kernel from reading code from user space in
kernel context.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agoKernel: Activate CONFIG_HARDENED_USERCOPY
Hauke Mehrtens [Sun, 7 Apr 2019 14:38:44 +0000 (16:38 +0200)]
Kernel: Activate CONFIG_HARDENED_USERCOPY

This adds additional checks to the copy_from_user() and copy_to_user()
functions. The details are described in this article:
https://lwn.net/Articles/695991/

This should only have a very small performance impact on system calls
and should not affect routing performance.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 months agoutils/spidev_test: build package directly from Linux
Christian Lamparter [Fri, 10 May 2019 21:31:01 +0000 (23:31 +0200)]
utils/spidev_test: build package directly from Linux

Jeff Kletsky noted in his patch titled:
"utils/spidev_test: Update to current source from upstream Linux"
that the spidev_test utility OpenWrt ships is severly out of date.

Instead of updating the spidev_test.c from the current kernel,
this patch replaces the package building code to utilize the
very file that gets shipped with the kernel we compiling for
anyway much like the "perf" package already does.

Reported-by: Jeff Kletsky <git-commits@allycomm.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
23 months agoath79: Add missing read-only properties
Adrian Schmutzler [Thu, 9 May 2019 13:31:05 +0000 (15:31 +0200)]
ath79: Add missing read-only properties

Add some read-only properties to protect partitions from
accidental changes.

Also fixed two whitespaces error on the way.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
23 months agolldpd: add option to edit hostname
Lucian Cristian [Thu, 9 May 2019 21:19:07 +0000 (00:19 +0300)]
lldpd: add option to edit hostname

also fixes the annoying repeating syslog
lldp[]: unable to get system name

Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
23 months agolldpd: update to 1.0.3
Lucian Cristian [Tue, 30 Apr 2019 14:32:47 +0000 (17:32 +0300)]
lldpd: update to 1.0.3

Support for CDP PD PoE

Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
23 months agoath10k-ct: Update to current version
Robert Marko [Thu, 9 May 2019 15:27:58 +0000 (17:27 +0200)]
ath10k-ct: Update to current version

This patch updates ath10k-ct to current version.
Changes are:
     ath10k-ct:  Fix printing PN in peer stats.

     Previous logic was incorrect.  Also add set-special API to enable
     returning PN.

Patches refreshed and tested on 8devices Jalapeno dev board(IPQ4019)

Signed-off-by: Robert Marko <robimarko@gmail.com>
23 months agoath10k-firmware: update Candela Tech firmware images
Robert Marko [Thu, 9 May 2019 15:27:57 +0000 (17:27 +0200)]
ath10k-firmware: update Candela Tech firmware images

Release notes since last time:

Release notes for wave-1:

2019-04-02: Support some get/set API for eeprom rate power tables.
    Mostly backported from 10.2

2019-04-02: Support adaptive-CCA, backported from 10.2

2019-04-02: Support adding eeprom configAddr pairs via the
            set-special API. These configAddrs can be used to change
            the default register settings for up to 12 registers.

2019-05-03: Fix tx-power settings for 2x2, 3x3 rates.
    Original logic I put in back in 2016 set 2x2 and 3x3 lower
    than the needed to be when using most NICs (very high
    powered NICs would not have been affected I think, not sure
    any of those exist though.)

    This improves throughput for 2x2 and 3x3 devices,
    especially when the signal is weaker.

Release notes for wave-2:

2019-04-08: When setting keys, if high bit of high value of
    key_rsc_counter is set to 0x1, then the lower 48 bits will
    be used as the PN value.  By default, PN is set to 1 each
    time the key is set.

2019-04-08: Pack PN into un-used 'excretries' aka
    'num_pkt_loss_excess_retry' high 16 bits.
    This lets us report peer PN, but *only* if driver has
    previously set a PN when setting key (or set-special cmd is
    used to enable PN reporting).

    This is done so that we know the driver is recent
            enough to deal with the PN stat reporting.

2019-04-16: Support specifying tx rate on a per-beacon packet.
    See ath10k_wmi_op_gen_beacon_dma and
    ath10k_convert_hw_rate_to_rate_info for API details.

     Driver needs additional work to actually enable this
     feature currently.

2019-04-30: Compile out tx-prefetch caching logic.
    It is full of tricky bugs that cause tx hangs.
    I fixed at least one, but more remain and I have wasted too
    much time on this already.

2019-05-08: Start rate-ctrl at mcs-3 instead of mcs-5.
    This significantly helps DHCP happen quickly, probably
    because the initial rate being too high would take a while
    to ramp down, especially since there are few packets sent
    by the time DHCP needs to start.

    This bug was triggered by me decreasing retries of 0x1e
    (upstream default) to 0x4.  But, I think it is better to
    start with lower initial MCS instead of always having a
    very high retry count.

Tested on 8devices Jalapeno dev board(IPQ4019)

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [neatify]
23 months agoramips: fix R6120 factory image
David Bauer [Thu, 9 May 2019 16:04:06 +0000 (18:04 +0200)]
ramips: fix R6120 factory image

The factory firmware omits the JFFS2 end-marker while flashing via
web-interface. Add a 64k padding after the marker fixes this problem.

When the end-marker is not present, OpenWRT won't save the overlayfs
after initial flash.

Reported-by: Andreas Ziegler <dev@andreas-ziegler.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
23 months agomvebu: fix board_name condition in 79_move_config
Klaus Kudielka [Wed, 8 May 2019 18:40:51 +0000 (20:40 +0200)]
mvebu: fix board_name condition in 79_move_config

The correct board_name for the Turris Omnia is armada-385-turris-omnia.

Fixes: 4e8345ff68 ("mvebu: base-files: autodetect upgrade device")
Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
23 months agobase-files: improve lib/upgrade/common.sh
Klaus Kudielka [Wed, 8 May 2019 18:40:50 +0000 (20:40 +0200)]
base-files: improve lib/upgrade/common.sh

Recently, upgrade device autodetection has been added to the mvebu target.
This exposes some shortcomings of the generic export_bootdevice function,
e.g. on the Turris Omnia: export_bootdevice silently reports the root
partition to be the boot device. This makes the sysupgrade process fail at
several places.

Fix this by clearly distinguishing between /proc/cmdline arguments which
specify the boot disk, and those which specify the root partition. Only in
the latter case, strip off the partition, and do it consistently.
root=PARTUUID=<pseudo PARTUUID for MBR> (any partition) and root=/dev/*
(any partition) are accepted.

The root of the problem is that the *existing* export_bootdevice in
/lib/upgrade/common.sh behaves differently, if the kernel is booted with
root=/dev/..., or if it is booted with root=PARTUUID=...

In the former case, it reports back major/minor of the root partition,
in the latter case it reports back major/minor of the complete boot disk.

Targets, which boot with root=/dev/... *and* use export_bootdevice /
export_partdevice, have added workarounds to this behaviour, by specifying
*negative* increments to the export_partdevice function.

Consequently, those targets have to be adapted to use positive increments,
otherwise they are broken by the change to export_bootdevice.

Fixes: 4e8345ff68 ("mvebu: base-files: autodetect upgrade device")
Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
Tested-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agoipq40xx: add factory image for EnGenius ENS620EXT
Steve Glennon [Tue, 9 Apr 2019 20:46:32 +0000 (14:46 -0600)]
ipq40xx: add factory image for EnGenius ENS620EXT

Extended  mksenaofw to support new "capwap" header structure.
This supports flashing from factory 3.0.0, 3.0.1, 3.1.0 and 3.5.5
firmware.

Note that the factory image format changes for 3.1 and later firmware,
and that the 3.1.0 and 3.5.5 Engenius firmware will refuse the
factory_30.bin file. Similarly, the 3.0.0 and 3.0.1 Engenius firmware
will refuse the factory_35.bin file.

Flashing from the Engenius 3.1.0 firmware with the factory_35.bin
firmware has not been tested, as 3.1.0 firmware (Engenius "middleFW")
is only intended as part of the upgrade path to 3.5.5 firmware.

Modified ipq40xx image Makefile to appropriately invoke mksenaofw
with new parameters to configure the capwap header.

Note that there is currently no method to return to factory firmware,
so this is a one-way street.

Path from factory 3.0.0 and 3.0.1 (EnGenius) software to OpenWrt is
to navigate to 192.168.1.1 on the stock firmware and navigate to the
firmware menu. Then copy the URL you have for that page, something like
http://192.168.1.1/cgi-bin/luci/;stok=12345abcdef/admin/system/flashops
and replace the trailing /admin/system/flashops with just /easyflashops

You should then be presented with a simple "Firmware Upgrade" page.
On that page, BE SURE TO CLEAR the "Keep Settings:" checkbox.

Choose the openwrt-ipq40xx-engenius_ens620ext-squashfs-factory_30.bin,
click "Upgrade" and on the following page select "Proceed".

Path from factory 3.5.5 (EnGenius) software to OpenWrt is simply to
use the stock firmware update menu. Choose the
openwrt-ipq40xx-engenius_ens620ext-squashfs-factory_35.bin and click
"Upload" and "Proceed".

The device should then flash the OpenWrt firmware and reboot. Note
that this resets the device to a default configuration with Wi-Fi
disabled, LAN1/PoE acting as a WAN port (running DHCP client) and LAN2
acting as a LAN port with a DHCP server on 192.168.1.x (AP is at
192.168.1.1)

Signed-off-by: Steve Glennon <s.glennon@cablelabs.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[sorry, for unfixing the 80-lines eyesores.]

23 months agoipq40xx: Fix reboot on EnGenius ENS620EXT
Steve Glennon [Tue, 23 Apr 2019 20:46:37 +0000 (14:46 -0600)]
ipq40xx: Fix reboot on EnGenius ENS620EXT

This patch works around an issue where reboot would cause the AP
to power down and not reboot.

The ipq4019 restart controller reboot causes the system
to power down and not recover. Fix is to disable the restart
controller in the device tree and the device reverts to
using the watchdog to perform the reset.

The real problem is due to the buggy bootloader that ships
with the device. Steve Glennon reported in the PR for this
patch: <https://github.com/openwrt/openwrt/pull/2009> that:

"the problem was due to a bad u-boot that ships with the device.

Using the u-boot that comes with 3.5.5.3 EnGenius factory
software now allows the old code (using the do_msm_reboot)
to reboot successfully.

On to the bad news:
Well 3.5.5.3 is a bad path. Finally managed to recover. You
CANNOT use prior EnGenius firmware to downgrade.

Findings:

* They now password protect the serial console with a new, unkown
  password.
* They changed the protection on their walled-garden. I have to
  use the ssh admin@ip /bin/sh --login to get out of their
  walled-garden.
* Attempts to flash the original 3.0.0 or 3.0.1 EnGenius firmware
  fail through the UI and sysupgrade. Their firmware update GUI now
  seem to detect regular openwrt images, but they fail to flash
  Attempts to flash a normal OpenWrt image with sysupgrade fail.
[..]

Attempts to sysupgrade with EnGenius firmware fail with the same
"mandatory section(s) missing" error, so you cannot downgrade to
3.0.0 or 3.0.1."

Signed-off-by: Steve Glennon <s.glennon@cablelabs.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added valuable
findings from github discussion]

23 months agokirkwood: enable sata port multiplier
Alberto Bursi [Sat, 20 Apr 2019 15:25:29 +0000 (17:25 +0200)]
kirkwood: enable sata port multiplier

Marvell sata controllers in all kirkwood SoCs support
sata port multipliers, just like mvebu.
Enable this feature in the default kernel config
so it is available in normal builds.
tested and working on nsa310b

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
23 months agobuild: add a config option for enabling a testing version of the target kernel
Felix Fietkau [Sat, 27 Apr 2019 17:13:07 +0000 (19:13 +0200)]
build: add a config option for enabling a testing version of the target kernel

If the target supports a newer kernel version that is not used by default
yet, it can be enabled with this option

Signed-off-by: Felix Fietkau <nbd@nbd.name>
23 months agotoolchain/nasm: update to version 2.14
Daniel Golle [Fri, 10 May 2019 23:25:12 +0000 (01:25 +0200)]
toolchain/nasm: update to version 2.14

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
23 months agoramips: mt7620: fix dependencies
Deng Qingfang [Fri, 19 Apr 2019 10:04:56 +0000 (18:04 +0800)]
ramips: mt7620: fix dependencies

MT7620 integrated WMAC does not need RT2x00 PCI driver or firmware
Also corrected kmod-eeprom-93cx6 and kmod-lib-crc-itu-t dependencies
according to original Kconfig and lsmod output

This will remove some unnecessary packages from MT7620 target to
save some space

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[75 characters per line in the commit message]

23 months agoprocd: fix compile issue
Hans Dedecker [Thu, 9 May 2019 16:31:01 +0000 (18:31 +0200)]
procd: fix compile issue

1361b97 container: include stdbool.h

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
23 months agonetifd: update to latest git HEAD
Hans Dedecker [Wed, 8 May 2019 19:52:20 +0000 (21:52 +0200)]
netifd: update to latest git HEAD

f6fb700 interface-ip: fine tune IPv6 mtu warning
975a5c4 interface: tidy ipv6 mtu warning

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
23 months agoprocd: update to latest git HEAD
Hans Dedecker [Wed, 8 May 2019 18:50:09 +0000 (20:50 +0200)]
procd: update to latest git HEAD

9b35439 procd: detect lxc container and behave accordingly

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
23 months agokernel: bump 4.19 to 4.19.38
Koen Vandeputte [Thu, 2 May 2019 12:31:34 +0000 (14:31 +0200)]
kernel: bump 4.19 to 4.19.38

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agokernel: bump 4.14 to 4.14.115
Koen Vandeputte [Thu, 2 May 2019 12:30:50 +0000 (14:30 +0200)]
kernel: bump 4.14 to 4.14.115

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agokernel: bump 4.9 to 4.9.172
Koen Vandeputte [Thu, 2 May 2019 12:25:32 +0000 (14:25 +0200)]
kernel: bump 4.9 to 4.9.172

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 months agoelfutils: Fix compile with uClibc-ng
Rosen Penev [Wed, 1 May 2019 17:05:20 +0000 (10:05 -0700)]
elfutils: Fix compile with uClibc-ng

Probably glibc too. argp_help takes a char *. not const char *.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[updated with upstream version of the patch]

23 months agouboot-tegra: bump to 2019.04
Tomasz Maciej Nowak [Thu, 25 Apr 2019 13:38:16 +0000 (15:38 +0200)]
uboot-tegra: bump to 2019.04

This version has important change for tegra boards which is reserving
32MB memory for Linux kernel instead of current 16MB.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
23 months agoath79: glinet_gl-ar750s: Use QCA9887 firmware
Jeff Kletsky [Fri, 3 May 2019 11:59:59 +0000 (04:59 -0700)]
ath79: glinet_gl-ar750s: Use QCA9887 firmware

The GL.iNet AR750S is based around the QCA9563
and requires the QCA9887 firmware for operation.

Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
23 months agoar71xx: fix failsafe interface for TL-WR940nv6
Joachim Fünfer [Mon, 29 Apr 2019 10:53:08 +0000 (12:53 +0200)]
ar71xx: fix failsafe interface for TL-WR940nv6

Switches failsafe mode interface from WAN to LAN ports.

Tested on TL-WR940Nv6.0 and TL-WR940Nv6.1

Signed-off-by: Joachim Fünfer <joachim.fuenfer@stusta.net>
23 months agoath79: fix OCEDO Raccoon 10Mbit PLL value
David Bauer [Mon, 22 Apr 2019 19:29:42 +0000 (21:29 +0200)]
ath79: fix OCEDO Raccoon 10Mbit PLL value

This corrects the PLL value for 10 Mbit/s links on the OCEDO Raccoon.
Prior to this patch, 10 Mbit/s links would not transmit data.

It is worth mentioning that the vendor firmware used the same PLL
settings and 10Mbit/s was also not working there.

All other link-modes are working correctly without any packet loss.

Signed-off-by: David Bauer <mail@david-bauer.net>
23 months agobase-files: add service_stopped as a post stop hook
Arthur Skowronek [Wed, 30 Jan 2019 13:58:47 +0000 (14:58 +0100)]
base-files: add service_stopped as a post stop hook

Purpose of these changes is to introduce a hook for post service
shutdown in a similar fashion to the existing hook service_started. I
found it to be useful to specify a hook that is called once the service
has been stopped and not before the service is stopped like the
stop_service hook does.

The concrete use case I have for this is that I'm running a binary that
takes over the hardware watchdog timer. Said binary unfortunately can
not use ubus directly to tell procd to hand over the watchdog timer so
this has to be done in the service file for the binary in question. In
order to support a clean handover of the watchdog timer back to procd,
the service init script has to dispatch the ubus invocation once the
binary in question has been stopped.

Signed-off-by: Arthur Skowronek <ags@digineo.de>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[added commit message, use the same form as other hooks]

23 months agoar71xx: mute script error in ar922x-led-fix script
Rosy Song [Tue, 16 Apr 2019 01:05:14 +0000 (09:05 +0800)]
ar71xx: mute script error in ar922x-led-fix script

This commit fixes following script error in syslog:

 cat: can't open '/sys/devices/platform/ehci-platform/usb1/1-1/1-1.2/1-1.2:1.4/ieee80211/phy*/name': No such file or directory
 sh: add: unknown operand
 sh: add: unknown operand

Signed-off-by: Rosy Song <rosysong@rosinson.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[commit subject and message tweaks]

23 months agokernel: Rename UPROBE_EVENT to UPROBE_EVENTS
Petr Štetiar [Wed, 10 Apr 2019 15:07:34 +0000 (17:07 +0200)]
kernel: Rename UPROBE_EVENT to UPROBE_EVENTS

Upstream has renamed UPROBE_EVENT to UPROBE_EVENTS in the following
commit:

 commit 6b0b7551428e4caae1e2c023a529465a9a9ae2d4
 Author: Anton Blanchard <anton@samba.org>
 Date:   Thu Feb 16 17:00:50 2017 +1100

     perf/core: Rename CONFIG_[UK]PROBE_EVENT to CONFIG_[UK]PROBE_EVENTS

     We have uses of CONFIG_UPROBE_EVENT and CONFIG_KPROBE_EVENT as
     well as CONFIG_UPROBE_EVENTS and CONFIG_KPROBE_EVENTS.

     Consistently use the plurals.

So I'm changing it to this plural option in order to make kconfig happy
and stop asking about it if kernel is compiled with verbose logging:

 Enable uprobes-based dynamic events (UPROBE_EVENTS) [Y/n/?] (NEW)

Signed-off-by: Petr Štetiar <ynezz@true.cz>