openwrt/staging/chunkeey.git
5 years agofstools: update to latest git HEAD
Jo-Philipp Wich [Sun, 22 Dec 2019 20:30:02 +0000 (21:30 +0100)]
fstools: update to latest git HEAD

b4e25d5 libblkid-tiny: fix symbol collision with full libblkid

Fixes: FS#2691, FS#2692
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoramips: fix MAC address setup for Xiaomi MiWiFi Nano
Sungbo Eo [Sun, 22 Dec 2019 15:36:11 +0000 (00:36 +0900)]
ramips: fix MAC address setup for Xiaomi MiWiFi Nano

MAC addresses are stored in factory partition at:
0x0004: WiFi 2.4GHz (label_mac +1)
0x0028: LAN, WAN (label_mac)

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
5 years agoramips: further improve support for Xiaomi MiWiFi Nano
Sungbo Eo [Sun, 22 Dec 2019 14:47:24 +0000 (23:47 +0900)]
ramips: further improve support for Xiaomi MiWiFi Nano

This patch does the following:

- prepend vendor name to model
- set status LEDs to follow the behavior in stock FW
- simplify state_default node definition
- use generic name for flash node

Stock FW status indicators:
https://files.xiaomi-mi.com/files/Mi_Router_Wi-Fi_Nano/Mi_router-NANO_EN.pdf
> Yellow: power on / off
> Blue: during normal operation
> Red: in case of problems with the operation of the device

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
5 years agoopenvpn: update to 2.4.8
Magnus Kroken [Fri, 1 Nov 2019 23:30:02 +0000 (00:30 +0100)]
openvpn: update to 2.4.8

Backport two upstream commits that allow building
openvpn-openssl without OpenSSLs deprecated APIs.

Full changelog:
https://community.openvpn.net/openvpn/wiki/ChangesInOpenvpn24#OpenVPN2.4.8

Signed-off-by: Magnus Kroken <mkroken@gmail.com>
5 years agolantiq: move include to parent falcon_lantiq_easy98000.dtsi
Adrian Schmutzler [Fri, 20 Dec 2019 13:08:55 +0000 (14:08 +0100)]
lantiq: move include to parent falcon_lantiq_easy98000.dtsi

This moves the include of lantiq.dtsi from the DTS files to the
parent falcon_lantiq_easy98000.dtsi.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agolantiq: remove ar9_lantiq_easy50810.dts
Adrian Schmutzler [Sun, 15 Dec 2019 23:25:01 +0000 (00:25 +0100)]
lantiq: remove ar9_lantiq_easy50810.dts

This file seems to be orphaned, no device setup existing for it.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agolantiq: use soc_vendor_device scheme on DTS file
Adrian Schmutzler [Sun, 15 Dec 2019 23:21:33 +0000 (00:21 +0100)]
lantiq: use soc_vendor_device scheme on DTS file

This renames lantiq DTS(I) files to follow soc_vendor_device scheme.
This will make DTS files easier to maintain.

As a side effect, DTS file name can be derived from device node
names now, only having to specify a SOC variable in Makefiles.

While at it, move files to arch/mips/boot/dts/lantiq subfolder.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agolantiq: split device definitions into files
Adrian Schmutzler [Sun, 15 Dec 2019 21:58:34 +0000 (22:58 +0100)]
lantiq: split device definitions into files

This splits device definitions into several *.mk files to increase
overview.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agolantiq: dts: assign the ASC pins to the serial controller node
Martin Blumenstingl [Mon, 8 Jul 2019 13:24:22 +0000 (15:24 +0200)]
lantiq: dts: assign the ASC pins to the serial controller node

Assign the ASC pins to the serial controller node instead of using pin
hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
5 years agolantiq: dts: assign the PCI pins to the PCI controller node
Martin Blumenstingl [Mon, 8 Jul 2019 13:17:25 +0000 (15:17 +0200)]
lantiq: dts: assign the PCI pins to the PCI controller node

Assign the PCI pins to the PCI controller node instead of using pin
hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
5 years agolantiq: dts: assign the STP pins to the STP GPIO controller node
Martin Blumenstingl [Mon, 8 Jul 2019 12:54:13 +0000 (14:54 +0200)]
lantiq: dts: assign the STP pins to the STP GPIO controller node

Assign the STP pins to the STP GPIO controller node instead of using
pin hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
5 years agolantiq: dts: assign the GPHY LED pins to the Ethernet controller node
Martin Blumenstingl [Mon, 8 Jul 2019 12:47:37 +0000 (14:47 +0200)]
lantiq: dts: assign the GPHY LED pins to the Ethernet controller node

Assign the GPHY LED pins to the Ethernet controller node instead of
using pin hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
5 years agolantiq: dts: assign the NAND pins to the nand-controller node
Martin Blumenstingl [Mon, 8 Jul 2019 10:10:12 +0000 (12:10 +0200)]
lantiq: dts: assign the NAND pins to the nand-controller node

Assign the NAND pins to the NAND controller node instead of using pin
hogging (where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

While here, define all NAND pins (CLE, ALE, read/RD, ready busy/RDY and
CE/CS1). This means that the pinctrl subsystem knows that these pins are
in use and cannot be re-assigned as GPIOs for example.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
5 years agolantiq: dts: define the SPI pins in {amazonse,ar9,vr9}.dtsi
Martin Blumenstingl [Mon, 8 Jul 2019 09:50:23 +0000 (11:50 +0200)]
lantiq: dts: define the SPI pins in {amazonse,ar9,vr9}.dtsi

Define the SPI pins in the corresponding SoCs.dtsi and assign them to
the SPI controller node. All known boards use CS4 and it's likely that
this is hardcoded in bootrom so this doesn't bother with having
per-board SPI pinmux settings.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
5 years agolantiq: dts: assign the MDIO pins to the gsw node
Martin Blumenstingl [Mon, 8 Jul 2019 09:40:25 +0000 (11:40 +0200)]
lantiq: dts: assign the MDIO pins to the gsw node

Assign the MDIO pins to the switch node instead of using pin hogging
(where pins are assigned to the pin controller).
This is the preferred way of assigning pins upstream.

This converts amazonse, ar9 and vr9. danube is skipped because the pin
controller doesn't define a pinmux for the MDIO pins (some of the SoC
pads may be hardwired to the MDIO pins instead of being configurable).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
5 years agoramips: further DTS improvements for Edimax RG21S
Adrian Schmutzler [Thu, 19 Dec 2019 18:03:44 +0000 (19:03 +0100)]
ramips: further DTS improvements for Edimax RG21S

This fixes the state_default node by setting the correct groups and
inheriting &state_default from parent DTSI directly.

The compatible for the wifi nodes is changed to the more generic
mediatek,mt76.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: add eth0 MAC address for Edimax RG21S
Adrian Schmutzler [Tue, 17 Dec 2019 12:43:25 +0000 (13:43 +0100)]
ramips: add eth0 MAC address for Edimax RG21S

So far, lan/wan MAC address for Edimax RG21S are only read using
mtd_get_mac_ascii, so eth0.1 and eth0.2 addresses are set, but
eth0 address is random. Since the device's LAN address is the same
as for 2.4 GHz, though, this patch set's the eth0 address based
on the 2.4 GHz one, which can be extracted by mtd-mac-address.

This will also allow to move the label MAC address setup to DT.

The setup of lan_mac and wan_mac are kept in 02_network, so those
locations are still in use, too.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoipq40xx: remove unnecessary usb nodes in DTS for ASUS RT-AC58U
Sungbo Eo [Sat, 21 Dec 2019 12:43:24 +0000 (21:43 +0900)]
ipq40xx: remove unnecessary usb nodes in DTS for ASUS RT-AC58U

RT-AC58U has single USB 3.0 port, and only usb3_port1 is actually used.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
5 years agoipq40xx: improve ASUS RT-AC58U support
Sungbo Eo [Sat, 21 Dec 2019 03:43:40 +0000 (12:43 +0900)]
ipq40xx: improve ASUS RT-AC58U support

This patch does the following:

- move WiFi LED setup to DTS
- fix LAN/WAN MAC addresses and add label MAC address
- wan5G -> wlan5G, power -> led_power
- increase flash SPI frequency to 30MHz

MAC addresses are stored in Factory partition at:
0x1006: WiFi 2.4GHz, WAN (label_mac)
0x5006: WiFi 5GHz, LAN (label_mac +4)

By improving flash speed,
`time dd if=/dev/mtdblock8 of=/dev/null bs=2k`
is reduced from 7m 10.26s to 5m 9.52s.
Using higher frequencies did not improve speed further.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
5 years agoar71xx: fix MAC address setup for TL-WDR4300 board
Sungbo Eo [Sun, 15 Dec 2019 09:10:18 +0000 (18:10 +0900)]
ar71xx: fix MAC address setup for TL-WDR4300 board

The current ethernet MAC address setup of TL-WDR4300 board is different
from the setup of stock firmware:

OpenWrt: lan = label_mac -2, wan = label_mac -2
  stock: lan = label_mac,    wan = label_mac +1

This patch applies to all devices using TL-WDR4300 board:
TL-WDR3600 v1
TL-WDR4300 v1
TL-WDR4300 v1 (IL)
TL-WDR4310 v1
Mercury MW4530R v1

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
5 years agoath79: fix MAC address setup for TP-Link TL-WDR3600/TL-WDR4300
Sungbo Eo [Sun, 15 Dec 2019 09:11:45 +0000 (18:11 +0900)]
ath79: fix MAC address setup for TP-Link TL-WDR3600/TL-WDR4300

The current ethernet MAC address setup of TL-WDR4300 board is different
from the setup of stock firmware:

OpenWrt: lan = label_mac -2, wan = label_mac -2
  stock: lan = label_mac,    wan = label_mac +1

The full address assignment is as follows:
LAN  label
WAN  label + 1
5G   label
2G   label - 1

This patch changes all devices using TL-WDR4300 board:
TL-WDR3600 v1 (checked on device)
TL-WDR4300 v1 (checked on device)
TL-WDR4300 v1 (IL)

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rephrase/extend commit title/message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoipq40xx: add support for Aruba AP-303
David Bauer [Wed, 23 Oct 2019 20:25:14 +0000 (22:25 +0200)]
ipq40xx: add support for Aruba AP-303

Hardware
--------

SoC:   Qualcomm IPQ4029
RAM:   512M DDR3
FLASH: - 128MB NAND (Macronix MX30LF1G18AC)
       - 4MB SPI-NOR (Macronix MX25R3235F)
TPM:   Atmel AT97SC3203
BLE:   Texas Instruments CC2540T
       attached to ttyMSM0
ETH:   Atheros AR8035
LED:   WiFi (amber / green)
       System (red / green)
BTN:   Reset

To connect to the serial console, you can solder to the labled pads next
to the USB port or use your Aruba supplied UARt adapter.

Do NOT plug a standard USB cable into the Console labled USB-port!
Aruba/HPE simply put UART on the micro-USB pins. You can solder yourself
an adapter cable:

VCC - NC
 D+ - TX
 D- - RX
GND - GND

The console setting in bootloader and OS is 9600 8N1. Voltage level is
3.3V.

To enable a full list of commands in the U-Boot "help" command, execute
the literal "diag" command.

Installation
------------

1. Get the OpenWrt initramfs image. Rename it to ipq40xx.ari and put it
   into the TFTP server root directory. Configure the TFTP server to
   be reachable at 192.168.1.75/24. Connect the machine running the TFTP
   server to the ethernet port of the access point.

2. Connect to the serial console. Interrupt autobooting by pressing
   Enter when prompted.

3. Configure the bootargs and bootcmd for OpenWrt.
   $ setenv bootargs_openwrt "setenv bootargs console=ttyMSM1,9600n8"
   $ setenv nandboot_openwrt "run bootargs_openwrt; ubi part aos1;
     ubi read 0x85000000 kernel; bootm 0x85000000"
   $ setenv ramboot_openwrt "run bootargs_openwrt;
     setenv ipaddr 192.168.1.105; setenv serverip 192.168.1.75;
     netget; set fdt_high 0x87000000; bootm"
   $ setenv bootcmd "run nandboot_openwrt"
   $ saveenv

4. Load OpenWrt into RAM:
   $ run ramboot_openwrt

5. After OpenWrt booted, transfer the OpenWrt sysupgrade image to the
   /tmp folder on the device.

6. Flash OpenWrt:
   $ ubidetach -p /dev/mtd1
   $ ubiformat /dev/mtd1
   $ sysupgrade -n /tmp/openwrt-sysupgrade.bin

To go back to the stock firmware, simply reset the bootcmd in the
bootloader to the original value:

  $ setenv bootcmd "boot"
  $ saveenv

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoipq-wifi: add BDF for Aruba AP-303
David Bauer [Sun, 15 Dec 2019 22:02:54 +0000 (23:02 +0100)]
ipq-wifi: add BDF for Aruba AP-303

The BDF originates from the vendor-firmware.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoramips: fix USB LED for Belkin F9K1109v1
Sungbo Eo [Mon, 11 Nov 2019 16:19:03 +0000 (01:19 +0900)]
ramips: fix USB LED for Belkin F9K1109v1

Device support for Belkin F9K1109v1 was added using set_usb_led()
although this was removed in 772b27c20736 ("ramips: set F5D8235 v1
usb led trigger via devicetree").

Use ucidef_set_led_usbport() instead.

Fixes: f2c83532f92c ("ramips: add support for Belkin F9K1109v1")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rephrase commit title and message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agofstools: update to latest git HEAD
Rafał Miłecki [Fri, 20 Dec 2019 07:19:02 +0000 (08:19 +0100)]
fstools: update to latest git HEAD

111a43f libblkid-tiny: vfat: Change parsing label in special cases
f43a1aa libblkid-tiny: vfat: Fix reading labels which starts with byte 0x05
157924d libblkid-tiny: add blkid_probe_set_id_label() stub
0c5761f libblkid-tiny: use separated buffer for each block device read
b82c5c1 libblkid-tiny: add functions for allocating & freeing probe struct
12851d6 blockd: don't flush devices list on "hotplug" call
5ea47fe blockd: fix vlist memory corruption

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agosunxi: rename SUNXI_SOC to SOC
Adrian Schmutzler [Fri, 20 Dec 2019 00:18:44 +0000 (01:18 +0100)]
sunxi: rename SUNXI_SOC to SOC

This replaces SUNXI_SOC by the newly introduced common SOC device
variable.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: rename MTK_SOC to SOC
Adrian Schmutzler [Fri, 20 Dec 2019 00:15:57 +0000 (01:15 +0100)]
ramips: rename MTK_SOC to SOC

This replaces MTK_SOC by the newly introduced common SOC device
variable.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoath79: rename ATH_SOC to SOC
Adrian Schmutzler [Fri, 20 Dec 2019 00:12:42 +0000 (01:12 +0100)]
ath79: rename ATH_SOC to SOC

This replaces ATH_SOC by the newly introduced common SOC device
variable.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agobuild: image: add SOC device variable
Adrian Schmutzler [Mon, 16 Dec 2019 12:19:43 +0000 (13:19 +0100)]
build: image: add SOC device variable

This creates the device variable SOC and adds it to DEFAULT_DEVICE_VARS.

It is supposed to replace target-specific SOC variables like ATH_SOC or
MTK_SOC and thus unify variable names across targets.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoath79: harmonize line breaks in image Makefiles
Adrian Schmutzler [Thu, 19 Dec 2019 19:42:19 +0000 (20:42 +0100)]
ath79: harmonize line breaks in image Makefiles

This harmonizes the line wrapping in image Makefile device
definitions, as those are frequently copy-pasted and are a common
subject of review comments. Having the treatment unifying should
reduce the cases where adjustment is necessary afterwards.

Harmonization is achieved by consistently (read "strictly")
applying certain rules:
- Never put more than 80 characters into one line
- Fill lines up (do not break after 40 chars because of ...)
- Use one tab for indent after wrapping by "\"
- Only break after pipe "|" for IMAGE variables

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: harmonize line breaks in image Makefiles
Adrian Schmutzler [Thu, 19 Dec 2019 18:40:33 +0000 (19:40 +0100)]
ramips: harmonize line breaks in image Makefiles

This harmonizes the line wrapping in image Makefile device
definitions, as those are frequently copy-pasted and are a common
subject of review comments. Having the treatment unifying should
reduce the cases where adjustment is necessary afterwards.

Harmonization is achieved by consistently (read "strictly")
applying certain rules:
- Never put more than 80 characters into one line
- Fill lines up (do not break after 40 chars because of ...)
- Use one tab for indent after wrapping by "\"
- Only break after pipe "|" for IMAGE variables

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agouci: update to latest Git HEAD
Petr Štetiar [Wed, 11 Dec 2019 20:23:24 +0000 (21:23 +0100)]
uci: update to latest Git HEAD

165b44413145 uci: Fix extra semicolons warnings
66264ed9ec9e cmake: add more hardening compiler flags
cca6f105fae2 libuci: refactor uci_get_errorstr
750b046eb77f tests: cram: Lua: add test case for uci_get_errorstr
654d7c33da28 lua: add missing forward declaration
03dfbbe6fef7 cli: fix format string clang-10 warning

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agouboot-envtools: ath79: fix missing etactica eg200 support
Karl Palsson [Fri, 13 Dec 2019 14:38:14 +0000 (14:38 +0000)]
uboot-envtools: ath79: fix missing etactica eg200 support

Was inadvertantly missed from the inital forward port from ar71xx to
ath79.

Fixes: 1588114cf2a3 ("ath79: add etactica-eg200 support")
Signed-off-by: Karl Palsson <karlp@etactica.com>
[commit description/subject facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79-tiny: enable 4k sectors
Paul Fertser [Tue, 26 Nov 2019 13:01:11 +0000 (16:01 +0300)]
ath79-tiny: enable 4k sectors

This enables using 4kiB sectors as erase blocks for 4MiB NOR flash ICs
that support it.

Writeable jffs2 overlay used to store settings requires a partition with
at least 5 erase blocks, so using small sectors is essential for devices
with 4MiB flash.

Sysupgrading a device running firmware without this feature will likely
not allow to preserve configs automatically but since ath79 is
considered to be in a "technology preview" state it shouldn't be a
problem.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
5 years agoath79: add D-Link DIR-615 E4
Paul Fertser [Tue, 10 Dec 2019 10:52:02 +0000 (13:52 +0300)]
ath79: add D-Link DIR-615 E4

Specifications:

- FCC ID: KA2IR615E3
- SoC: MIPS32 24K 400 MHz Atheros AR7240
- RAM: 32 MiB DDR SDRAM ESMT M13S2561616A-5T
- Flash: 4 MiB NOR SPI Macronix MX25L3208E
- Wireless: AR9287 2.4 GHz 802.11n 2T2R, 2x RP-SMA connectors
- Ethernet: 5x 100BASE-TX Fast Ethernet
- LEDs: 9x GPIO, 1x ath9k
- Buttons: 2x tactile switches
- UART: 3.3 V, 115200 8n1
- USB: simple hardware modification required, 1x USB 1.1 Full Speed

Partitioning notes:

Vendor firmware (based on CameoAP99) defines two additional partitions:
"mac" @0x3b0000, size 0x10000 and "lp" @0x3c0000, size 0x30000.

The "mac" partition stores LAN MAC address and hardware board name.
However, the vendor firmware uses addresses from "nvram" partition, and
the board name is used only for informational purposes in the Web
interface (included in the pages' header), not affecting the firmware
image check.

The "lp" partition is supposed to contain a "language pack" (which can
be used to add an additional language support to the Web interface) and
is flashed separately, using the vendor firmware upgrade page.

Since these partitions are absolutely useless for OpenWrt and
overwriting them doesn't prevent downgrading to obsolete vendor
firmware, this patch appends the valueable space to "firmware".

Installation instructions:

- Upgrade from OpenWrt ar71xx with "sysupgrade -f -n"
or
- Upload as a firmware update via the vendor Web-interface
or
- Connect UART and use "loady" to upload and run OpenWrt initramfs
  image, then sysupgrade from it (TFTP client doesn't work)
or
- Before powering up hold "reset" button and keep it pressed for about
  15 seconds after, then access fail safe Web server on 192.168.0.1 (the
  old uIP TCP/IP protocol stack is not compatible with modern Linux, the
  kernel, so you'll need to use some other OS to do this). Can be
  performed without a Web-browser too:
    curl http://192.168.0.1/cgi/index \
      -F Send=@openwrt-ath79-tiny-dlink_dir-615-e4-squashfs-factory.bin

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
5 years agoath79: enable all space on Netgear ar9344-based WNDR routers
Michal Cieslakiewicz [Tue, 12 Nov 2019 13:02:14 +0000 (14:02 +0100)]
ath79: enable all space on Netgear ar9344-based WNDR routers

Netgear WNDR routers (AR9344 models) like WNDR4300 have 128 MiB of flash
memory but only first 32 MiB are used now - both by vendor's firmware and
OpenWrt. This patch concatenates two regions of flash memory: ubi part
of firmware partition and reserved (unused) space beyond 'caldata_backup'
while preserving ART backup. No data is wiped or moved away.
This increases area for OS ubi volumes from 23 to 119 Megabytes.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
5 years agobase-files: send informational UDP message each second waiting
Paul Fertser [Tue, 10 Dec 2019 14:24:20 +0000 (17:24 +0300)]
base-files: send informational UDP message each second waiting

The preinit network initialisation and failsafe informational message
are inherently racy as the interface takes some time to become
functional after "ip link set $pi_ifname up" command.

Consider this timing:

[   12.002713] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   12.008819] IPv6: ADDRCONF(NETDEV_UP): eth1.1: link is not ready
[   12.118877] random: procd: uninitialized urandom read (4 bytes read)
[   13.068614] eth1: link up (1000Mbps/Full duplex)
[   13.073309] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   13.080445] IPv6: ADDRCONF(NETDEV_CHANGE): eth1.1: link becomes ready

Since the UDP message was sent prior to link becoming ready, it was
never seen on the wire.

The default failsafe timeout is set to 2 seconds, so with this patch
there are two attempts to send the message, one spent in vain, and the
other visible in tcpdump on an attached host. Of course, in cases when
the interface is brought up faster it leads to two messages, however it
should be harmless. This patch (almost) doesn't affect normal boot time
while still allowing to enter failsafe reliably with a single button
press, matching the official "generic failsafe" documentation.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
5 years agoiputils: move iputils tools to packages feed
Petr Štetiar [Fri, 6 Dec 2019 05:55:24 +0000 (06:55 +0100)]
iputils: move iputils tools to packages feed

iputils has moved from the master tree to the packages feed, and is
switching from the abandoned skbuff.net upstream to
github.com/iputils/iputils.

Ref: https://git.openwrt.org/556698cedf9e86a0ffe9f148d4e8e733676c26f6
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: switch to 4.19 kernel version
Ansuel Smith [Sun, 15 Dec 2019 13:08:46 +0000 (14:08 +0100)]
ipq806x: switch to 4.19 kernel version

It has been used by several people for some time already and feedback
has been mostly positive.

Ref: https://github.com/openwrt/openwrt/pull/2472
Tested-by: Hannu Nyman <hannu.nyman@iki.fi> [ipq8065, R7800]
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq8065, NBG6817]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[separate commit, commit subject and description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: update USB3 modules for 4.19
Ansuel Smith [Sun, 15 Dec 2019 13:07:46 +0000 (14:07 +0100)]
ipq806x: update USB3 modules for 4.19

- Use new dwc3-qcom usb driver.
- Drop dwc3-of-simple as we have a dedicated driver now.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[split into separate commit, commit subject facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: add missing core1 voltage tolerance
Pavel Kubelun [Mon, 2 Dec 2019 23:45:47 +0000 (00:45 +0100)]
ipq806x: add missing core1 voltage tolerance

Voltage tolerance is accounted per core, not per cpu, so add
missing DT entry.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agokernel: make dwc3 usb driver depends on kernel 4.14
Ansuel Smith [Fri, 29 Nov 2019 16:24:14 +0000 (17:24 +0100)]
kernel: make dwc3 usb driver depends on kernel 4.14

- usb-dwc3-of-simple is not used anymore as we have qcom dedicated driver
- usb-phy-qcom-dwc3 is not dependent of dwc3-of-simple

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: fix tsens driver in 4.19
Ansuel Smith [Thu, 28 Nov 2019 21:29:15 +0000 (22:29 +0100)]
ipq806x: fix tsens driver in 4.19

Added patch:

 - 063-3 Fix tsense shared memory problem

Recent changes in ioremap_resource function are causing fails for the
memory areas which are already mapped. This changes are causing tsense
driver failures during initialization:

  qcom-tsens 900000.thermal-sensor: tsens init failed

So this patch uses simple ioremap in order to use this shared memory
space.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[commit subject and desciption facelitf]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: improve mdio gpios list
Christian Lamparter [Wed, 4 Dec 2019 01:57:38 +0000 (02:57 +0100)]
ipq806x: improve mdio gpios list

Improve rediability of gpio mdio list. No functional change.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[proper authorship of the patch]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: ap161: fix wrong definition stdout
Christian Lamparter [Wed, 4 Dec 2019 01:28:53 +0000 (02:28 +0100)]
ipq806x: ap161: fix wrong definition stdout

From documentation
https://www.kernel.org/doc/Documentation/devicetree/bindings/chosen.txt
should be just stdout-path

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[proper authorship of the patch]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: ap148: reorganize dts
Christian Lamparter [Wed, 4 Dec 2019 01:28:22 +0000 (02:28 +0100)]
ipq806x: ap148: reorganize dts

Reorganize dts to use tags from ipq8064 dtsi

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: d7800: fix warning on dtc compilation
Christian Lamparter [Thu, 5 Dec 2019 01:26:30 +0000 (02:26 +0100)]
ipq806x: d7800: fix warning on dtc compilation

There is warning with "property has invalid length (4 bytes)"
related to nand definition. Set size-cells to zero to fix this.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: r7800: add missing wifi definition for pcie
Christian Lamparter [Thu, 5 Dec 2019 01:24:44 +0000 (02:24 +0100)]
ipq806x: r7800: add missing wifi definition for pcie

Add missing wifi compatible definition for r7800 device.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: use ipq8064 dedicated watchdog
Christian Lamparter [Thu, 5 Dec 2019 00:26:22 +0000 (01:26 +0100)]
ipq806x: use ipq8064 dedicated watchdog

Add missing watchdog to list of compatible timers

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: add nand and sata tags
Christian Lamparter [Thu, 5 Dec 2019 00:23:26 +0000 (01:23 +0100)]
ipq806x: add nand and sata tags

Add some tags for nand and sata structure to easily
reference them in other dts.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: increase drive-strength for pinmux
Christian Lamparter [Thu, 5 Dec 2019 00:25:33 +0000 (01:25 +0100)]
ipq806x: increase drive-strength for pinmux

Increase drive-strength from
https://lore.kernel.org/patchwork/patch/626885/

2mA drive strength is not enough when we connect multiple i2c devices
on the bus with different pull up resistors.

This issue was detected when multiple i2c devices
connected on the other side of level shifters on Linaro sensor board.
Maxing up to 16mA made i2c much stable.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: add missing gpio and gsbi declaration
Christian Lamparter [Thu, 5 Dec 2019 00:24:55 +0000 (01:24 +0100)]
ipq806x: add missing gpio and gsbi declaration

Adds missing gpio and gsbi declaration.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: disable spc on ipq8065 soc
Ansuel Smith [Thu, 5 Dec 2019 00:12:55 +0000 (01:12 +0100)]
ipq806x: disable spc on ipq8065 soc

Spc is disabled in ipq8065 board as it does cause cpu lockup
(probably caused by wrong register being set)

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: set apq8064 regulator to support cpuidle
Ansuel Smith [Thu, 5 Dec 2019 00:12:32 +0000 (01:12 +0100)]
ipq806x: set apq8064 regulator to support cpuidle

Set qcom,apq8064-saw2-v1.1-cpu as regulator to make cpuidle work.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: convert ipq8064 dtsi interrupts
Christian Lamparter [Thu, 5 Dec 2019 00:11:01 +0000 (01:11 +0100)]
ipq806x: convert ipq8064 dtsi interrupts

Convert hardcoded interrupts value to types defined in gci include file.
Interrupts sets to 0 are converted to IRQ_TYPE_LEVEL_HIGH to fix
kernel warning. Same fix has been applied to arm64 dts.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1797143
https://patchwork.kernel.org/patch/10367453/
https://patchwork.kernel.org/patch/10315315/

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: use new usb3 implementation
Christian Lamparter [Thu, 5 Dec 2019 01:10:26 +0000 (02:10 +0100)]
ipq806x: use new usb3 implementation

Use new usb3 implementation and refresh dts to the new dwc3 structure

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[proper authorship of the patch]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: fix missing compatible and rename
Christian Lamparter [Mon, 16 Dec 2019 19:29:17 +0000 (20:29 +0100)]
ipq806x: fix missing compatible and rename

- ipq8064 compatible was missing from nbg6817.
- Rename ap148 with a better descriptive name.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[proper authorship of the patch]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: convert ok to okay in dts
Christian Lamparter [Wed, 4 Dec 2019 00:20:45 +0000 (01:20 +0100)]
ipq806x: convert ok to okay in dts

DT spec require okay instead of ok in dts files

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
5 years agoipq806x: refresh 4.19 patches
Christian Lamparter [Thu, 28 Nov 2019 21:28:48 +0000 (22:28 +0100)]
ipq806x: refresh 4.19 patches

Reworked:

 - 0034 patchset update

Added:

 - 080 Add support for pinctrl-msm framework

Removed:

 - 0074-ipq806x-usb-Control-USB-master-reset.patch
   (we now have a dedicated driver for qcom usb)

 - 0047-mtd-nand-Create-a-BBT-flag-to-access-bad-block-marke
   (merged upstream)

 - 310-msm-adhoc-bus-support
   (it looks like it was never actually used in any dts)

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[commit subject and description facelift, SoB fix]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agokernel: generic: add missing config symbol to 4.19
Ansuel Smith [Thu, 28 Nov 2019 20:58:19 +0000 (21:58 +0100)]
kernel: generic: add missing config symbol to 4.19

PCI_V3_SEMI config symbol was found missing in generic kernel config
after ipq806x config refresh to 4.19.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[commit subject and description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: update 4.19 kernel config
Ansuel Smith [Sun, 15 Dec 2019 13:06:02 +0000 (14:06 +0100)]
ipq806x: update 4.19 kernel config

These changes are needed in order to migrate old kernel 4.14 config to
the upcoming kernel version 4.19.  Also add missing configuration
options that comes up with this SoC.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[line wrap long commit description, add 4.19 to subject, soc->SoC]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoipq806x: copy files from 4.14 to 4.19
Ansuel Smith [Thu, 28 Nov 2019 20:41:20 +0000 (21:41 +0100)]
ipq806x: copy files from 4.14 to 4.19

This copies files from files-4.14 to files-4.19 directory in order to
get clear diffs for any changes done from now on.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[added missing commit description, refreshed ea8500 and wpq864 DTS]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: restore gpio-export on TL-WDR3600/4300
Lech Perczak [Sun, 8 Dec 2019 14:23:54 +0000 (15:23 +0100)]
ath79: restore gpio-export on TL-WDR3600/4300

This partially reverts commit 32144ba275d163ce6e7d93546ab4414f03f508fb.

This commit replaced gpio-exports in favor of gpio-hogs for enabling USB
power at boot, but this rids the user of control of the USB port power
present on this device for a long time. It was agreed on a mailing list
[1] that this is not the way to go, and this patch breaks a very common
use-case of WWAN modem reset by power cycle, used on a lot USB equipped
routers, hence revert this change until a better solution can be found.

[1] http://lists.infradead.org/pipermail/openwrt-devel/2019-November/020151.html

Tested-by: Sungbo Eo <mans0n@gorani.run>
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
[adjusted commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoath79: add support for TP-Link TL-WR902AC v1
Lech Perczak [Sun, 1 Dec 2019 18:31:32 +0000 (19:31 +0100)]
ath79: add support for TP-Link TL-WR902AC v1

TP-Link TL-WR902AC v1 is a pocket-size, dual-band (AC750), successor of
TL-MR3020 (both devices use very similar enclosure, in same size). New
device is based on Qualcomm QCA9531 v2 + QCA9887. FCC ID: TE7WR902AC.

Specification:

- 650/391/216 MHz (CPU/DDR/AHB)
- 1x 10/100 Mbps Ethernet
- 1x USB 2.0 (GPIO-controlled power)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz (QCA9531)
- 1T1R 5 GHz (QCA9887)
- 5x LED (GPIO-controlled), 2x button, 1x 3-pos switch
- UART pads on PCB (TP1 -> TX, TP2 -> RX, TP3 -> GND, TP4 -> 3V3, jumper
  resitors are missing on TX/RX lines)
- 1x micro USB (for power only)

Flash instructions:

Use "factory" image under vendor GUI.

Recovery instructions:

This device contains tftp recovery mode inside U-Boot. You can use it to
flash OpenWrt (use "factory" image) or vendor firmware.

1. Configure PC with static IP 192.168.0.66/24 and tftp server.
2. Rename "openwrt-ath79-generic-tplink_tl-wr902ac-v1-squashfs-factory.bin"
   to "wr902acv1_un_tp_recovery.bin" and place it in tftp server dir.
3. Connect PC with LAN port, press the reset button, power up the router
   and keep button pressed until WPS LED lights up.
4. Router will download file from server, write it to flash and reboot.

MAC Address summary:
- wlan1 (2.4GHz Wi-Fi): Label MAC
- wlan0 (5GHz Wi-Fi): Offset -1 from label
- eth0 (Wired): Offset +1 from label

Root access over serial line in vendor firmware: root/sohoadmin.

Based on support in ar71xx target by: Piotr Dymacz <pepe2k@gmail.com>

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
[remove size-cells from gpio-export]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: fix portmap for TP-Link Archer C50 v4
Maxim Anisimov [Wed, 18 Dec 2019 07:06:14 +0000 (10:06 +0300)]
ramips: fix portmap for TP-Link Archer C50 v4

According to 02_network portmap is wan=0 lan1=1 lan2=2 lan3=3 lan4=4

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
5 years agomac80211: brcm: add support for BCM4359 SDIO chipset
Rafał Miłecki [Thu, 19 Dec 2019 08:16:59 +0000 (09:16 +0100)]
mac80211: brcm: add support for BCM4359 SDIO chipset

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agomac80211: brcm: backport 5.5 and 5.6 kernel patches
Rafał Miłecki [Thu, 19 Dec 2019 07:40:12 +0000 (08:40 +0100)]
mac80211: brcm: backport 5.5 and 5.6 kernel patches

This update doesn't include:
3b1e0a7bdfee brcmfmac: add support for SAE authentication offload
be898fed355e brcmfmac: send port authorized event for FT-802.1X
due to nl80211 dependencies.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobrcm2708: switch to cypress-nvram package
Álvaro Fernández Rojas [Wed, 4 Sep 2019 15:22:54 +0000 (17:22 +0200)]
brcm2708: switch to cypress-nvram package

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agocypress-nvram: add new package
Álvaro Fernández Rojas [Wed, 4 Sep 2019 15:21:26 +0000 (17:21 +0200)]
cypress-nvram: add new package

This package contains nvram files for brcmfmac, a mac80211 driver for FullMAC
Cypress devices.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agowireguard: bump to 0.0.20191212
Kevin Darbyshire-Bryant [Tue, 17 Dec 2019 14:10:13 +0000 (14:10 +0000)]
wireguard: bump to 0.0.20191212

1ec6ece version: bump snapshot
e13de91 main: remove unused include <linux/version.h>
72eb17c wg-quick: linux: support older nft(8)
1d8e978 global: fix up spelling
e02713e wg-quick: linux: add support for nft and prefer it
b4e3a83 compat: support building for RHEL-8.1 instead of RHEL-8.0
f29e3ac socket: convert to ipv6_dst_lookup_flow for 5.5

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agobrcmfmac-board-rpi: remove uneeded package
Álvaro Fernández Rojas [Wed, 4 Sep 2019 15:32:08 +0000 (17:32 +0200)]
brcmfmac-board-rpi: remove uneeded package

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agobrcm2708: switch to cypress-firmware package
Álvaro Fernández Rojas [Wed, 4 Sep 2019 15:22:54 +0000 (17:22 +0200)]
brcm2708: switch to cypress-firmware package

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agocypress-firmware: add new package
Álvaro Fernández Rojas [Wed, 4 Sep 2019 15:20:36 +0000 (17:20 +0200)]
cypress-firmware: add new package

This package contains firmwares provided by Cypress
See https://community.cypress.com/community/linux

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 years agouboot-envtools: check for config prior to append
Imran Khan [Tue, 17 Dec 2019 13:59:28 +0000 (05:59 -0800)]
uboot-envtools: check for config prior to append

In the rare event a pre-populated fw_env.config exists in the rootfs prior
to firstboot, calling fw_setenv after the system has initialised will
annihilate the devices environment due to two identical lines in
fw_env.config.

Check for existence prior to blind appendage.

Signed-off-by: Imran Khan <gururug@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: fixed patch format, improved grep, cosmetics]

5 years agoramips: allow to set switchdev by board in ramips_set_preinit_iface
Adrian Schmutzler [Mon, 16 Dec 2019 17:07:03 +0000 (18:07 +0100)]
ramips: allow to set switchdev by board in ramips_set_preinit_iface

This adds the option to determine switchdev by board when setting
preinit iface for failsafe. The patch reorganizes the code to use
functions for setting correct switchdev based on SOC and board,
which is supposed to improve readability and maintainability.

In this patch, the ramips_switchdev_from_board function is added
without specifying an actual device using it. This is meant to
make the life of device supporters waiting for merge easier, as
there is less to rebase and keep track of.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: add support for ipTIME A104ns
Sungbo Eo [Thu, 26 Sep 2019 15:16:33 +0000 (00:16 +0900)]
ramips: add support for ipTIME A104ns

ipTIME A104ns is a 2.4/5GHz band AC750 router, based on MediaTek MT7620A.

Specifications:
- SoC: MT7620A
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB
- WiFi:
  - 2.4GHz: SoC internal
  - 5GHz: MT7610EN
- Ethernet: 5x 10/100Mbps
  - Switch: SoC internal
- USB: 1x 2.0
- UART:
  - J2: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1

Installation via web interface:
1.  Flash **initramfs** image through the stock web interface.
2.  Boot into OpenWrt and perform sysupgrade with sysupgrade image.

Revert to stock firmware:
1.  Perform sysupgrade with stock image.

In contrast to to-be-supported A1004ns, the A104ns has no usable
value in 0x1fc40 (uboot), so wan_mac needs to be calculated.
Also note that GPIOs for the LEDs really are inverted compared to
the A1004ns.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[moved state_default to device DTS, reordered properties in wmac,
added comment about wan_mac and LED GPIOs]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoath79: migrate LED paths of TL-WDR4300 board
Sungbo Eo [Sun, 15 Dec 2019 09:16:55 +0000 (18:16 +0900)]
ath79: migrate LED paths of TL-WDR4300 board

TL-WDR4300 board uses only green LED names in DTSI.
This patch adds migration for them.

The actual LED colors on the devices have been reported to vary
across subrevisions (v1.x). Despite, the USB LEDs on the back might
have different color than the other LEDs on the front.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[extended commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: add label MAC address for Edimax RG21S
Adrian Schmutzler [Mon, 16 Dec 2019 13:01:41 +0000 (14:01 +0100)]
ramips: add label MAC address for Edimax RG21S

The Edimax RG21S has a label which bears two MAC addresses:
2.4 GHz (n) and 5 GHz (n+1)

The complete MAC address setup is as follows:
2.4 GHz  *:83  factory 0x4, u-boot-env wlanaddr
5 GHz    *:84  factory 0x8004
LAN      *:83  u-boot-env ethaddr
WAN      *:85  u-boot-env wanaddr

Since 2.4 GHz is the first address on the label and the same
as used for ethernet, take this one for label MAC address.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: increase SPI frequency for Edimax RG21S
Birger Koblitz [Mon, 16 Dec 2019 12:57:44 +0000 (13:57 +0100)]
ramips: increase SPI frequency for Edimax RG21S

This increases SPI frequency from the relatively low 10 MHz to 40 MHz.

Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
[added commit title/message, split patch]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: remove unnecessary nodes in DTS for Edimax RG21S
Birger Koblitz [Mon, 16 Dec 2019 12:55:03 +0000 (13:55 +0100)]
ramips: remove unnecessary nodes in DTS for Edimax RG21S

This sdhci and i2c nodes were copy-pasted, but are not needed as
the device does not provide that functionality. Remove them.

Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
[added commit title/message, split patch]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agorpcd: update to latest Git HEAD
Jo-Philipp Wich [Tue, 17 Dec 2019 07:33:33 +0000 (08:33 +0100)]
rpcd: update to latest Git HEAD

aaa0836 file: extend exec acl checks to commands with arguments

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoar71xx: indicate upgrade using system LED
David Bauer [Sat, 14 Dec 2019 18:15:21 +0000 (19:15 +0100)]
ar71xx: indicate upgrade using system LED

This enables the system LED to indicate a running firmware upgrade. This
pattern is used on most platforms provided by the generic base-files
package. ar71xx uses it's own implementation for the system-LED, where
the upgrade case is not yet implemented.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agomac80211: fix txpower when using DFS channels
David Bauer [Sat, 14 Dec 2019 22:38:02 +0000 (23:38 +0100)]
mac80211: fix txpower when using DFS channels

With this patch, txpower for the PHY is applied when configuring the PHY
instead of the VIF. Otherwise, the configured txpower is not applied for
the first initialized VIF when using DFS channels, as it is currently
applied too early when the CAC hasn't finished.

Reported-by: Martin Weinelt <martin@darmstadt.freifunk.net
Signed-off-by: David Bauer <mail@david-bauer.net>
Tested-by: Martin Weinelt <martin@darmstadt.freifunk.net>
5 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Sun, 15 Dec 2019 19:52:31 +0000 (20:52 +0100)]
odhcpd: update to latest git HEAD

d60f0a6 treewide: optimize syslog priority values

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agompc85xx: add support for Enterasys WS-AP3710i
David Bauer [Fri, 13 Dec 2019 20:31:50 +0000 (21:31 +0100)]
mpc85xx: add support for Enterasys WS-AP3710i

Hardware
--------

SoC:   NXP P1020 (2x e500 @ 800MHz)
RAM:   256M DDR3 (Micron)
FLASH: 32M NOR (Spansion S29GL128S)
BTN:   1x Reset
WiFi:  1x Atheros AR9590 2.4 bgn 3x3
       2x Atheros AR9590 5.0 an 3x3
ETH:   1x Gigabit Ethernet (Atheros AR8033)
LED:   System (green/red) - Radio{0,1} (green)
       LAN (connected to PHY)
        - GE blue
        - FE green

Serial is a Cisco-compatible RJ45 next to the ethernet port.
115200-N-8 are the settings for OS and U-Boot.

Installation
------------

1. Grab the OpenWrt initramfs, rename it to 01C8A8C0.img. Place it in
   the root directory of a TFTP server and serve it at
   192.168.200.200/24.

2. Connect to the serial port and boot the AP. Stop autoboot in U-Boot
   by pressing Enter when prompted. Credentials are identical to the one
   in the APs interface. By default it is admin / new2day.

3. Set the bootcmd so the AP can boot OpenWrt by executing

   $ setenv boot_openwrt "setenv bootargs;
     cp.b 0xee000000 0x1000000 0x1000000; bootm 0x1000000"
   $ setenv bootcmd "run boot_openwrt"
   $ saveenv

   If you plan on going back to the vendor firmware - the bootcmd for it
   is stored in the boot_flash variable.

4. Load the initramfs image to RAM and boot by executing

   $ tftpboot 0x1000000 192.168.200.200:01C8A8C0.img; bootm

5. Make a backup of the "firmware" partition if you ever wish to go back
   to the vendor firmware.

6. Upload the OpenWrt sysupgrade image via SCP to the devices /tmp
   folder.

7. Flash OpenWrt using sysupgrade.

   $ sysupgrade -n /tmp/openwrt-sysupgrade.bin

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoramips: add support for JCG JHR-AC876M
DENG Qingfang [Fri, 13 Dec 2019 16:24:19 +0000 (00:24 +0800)]
ramips: add support for JCG JHR-AC876M

JCG JHR-AC876M is an AC2600M router

Hardware specs:
  SoC: MT7621AT
  2.4GHz: MT7615N 4x4 @ PCIe0
  5GHz: MT7615N 4x4 @ PCIe1
  Flash: Winbond W25Q128JVSQ 16MiB
  RAM: Nanya NT5CB128M16 256MiB
  USB 2.0 and 3.0 ports
  6 LEDs, 3 of which are connected to SoC GPIO
  Reset and WPS buttons

Flash instructions:
Stock to OpenWrt:
  Upload factory.bin in stock firmware's upgrade page,
  do not preserve settings

OpenWrt to stock:
  Push and hold the reset button for 5s while power cycling to
  enter recovery mode;
  Visit 192.168.1.1 and upload stock firmware

MAC addresses map:
  0x0004  *:1c  wlan2g/wan/label
  0x8004  *:20  wlan5g
  0xe000  *:1b  lan
  0xe006  *:1a  not used in stock fw

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agoramips: allow JCG_MAXSIZE in kiB in Build/jcg-header
Adrian Schmutzler [Thu, 12 Dec 2019 19:26:06 +0000 (20:26 +0100)]
ramips: allow JCG_MAXSIZE in kiB in Build/jcg-header

This allows JCG_MAXSIZE to be specified in kilobytes. This makes
this value more consistent and easier comparable with other size
variables.

This also changes the only occurence of the variable, for Cudy WR1000.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: add support for ipTIME A6ns-M
Sungbo Eo [Mon, 11 Nov 2019 16:25:31 +0000 (01:25 +0900)]
ramips: add support for ipTIME A6ns-M

ipTIME A6ns-M is a 2.4/5GHz band AC1900 router, based on MediaTek MT7621A.

Specifications:
- SoC: MT7621AT
- RAM: DDR3 128MB
- Flash: SPI NOR 16MB
- WiFi:
  - 2.4GHz: MT7615
  - 5GHz: MT7615
- Ethernet: 5x 10/100/1000Mbps
  - Switch: SoC internal
- UART:
  - J4: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1

Installation via web interface:
1.  Flash **initramfs** image through the stock web interface.
2.  Boot into OpenWrt and perform sysupgrade with sysupgrade image.

Revert to stock firmware:
1.  Perform sysupgrade with stock image.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
5 years agoramips: DTS style improvements for mt7621_wevo_w2914ns-v2.dtsi
Adrian Schmutzler [Thu, 12 Dec 2019 18:49:55 +0000 (19:49 +0100)]
ramips: DTS style improvements for mt7621_wevo_w2914ns-v2.dtsi

This does several trivial DTS style improvements:

- Move device name compatible to DTS files (and fix compatible in
  11acnas.dts)
- Remove xhci node as status is set to okay in mt7621.dtsi already
- 0x0 instead of 0x0000
- Simplify state_default node definition

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: add support for ZIO FREEZIO
Sungbo Eo [Mon, 11 Nov 2019 16:26:44 +0000 (01:26 +0900)]
ramips: add support for ZIO FREEZIO

ZIO FREEZIO is a 2.4/5GHz band AC1200 router, based on MediaTek MT7621A.

Specifications:
- SoC: MT7621AT
- RAM: DDR3 128MB
- Flash: SPI NOR 16MB
- WiFi:
  - 2.4GHz: MT7603EN
  - 5GHz: MT7612EN
- Ethernet: 5x 10/100/1000Mbps
  - Switch: SoC internal
- USB: 1x 3.0
- UART:
  - J4: 3.3V, RX, TX, GND (3.3V is the square pad) / 57600 8N1

Notes:
- FREEZIO has almost the same board as WeVO W2914NS v2.
- Stock firmware is based on OpenWrt BB.

MAC addresses in factory partition:
0x0004: WiFi 2.4GHz (label_mac-8)
0x002e: WAN (label_mac)
0x8004: WiFi 5GHz (label_mac-4)
0xe000: LAN (label_mac+1)

Installation via web interface:
1.  Access web admin page and turn on "OpenWrt UI mode".
2.  Flash sysupgrade image through LuCI, with the "Keep settings" option
    OFF.

Revert to stock firmware:
1.  Perform sysupgrade with stock image.
    Make sure to NOT preserve settings.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rebase, use mt7621_wevo_w2914ns-v2.dtsi]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agosunxi: add support for FriendlyARM Nano PI NEO Air dev board
Roman Bazalevsky [Thu, 5 Dec 2019 14:21:28 +0000 (17:21 +0300)]
sunxi: add support for FriendlyARM Nano PI NEO Air dev board

Hardware:

  Allwinner H3 upto 1.2GHz
  512MB DDR3 RAM
  8GB on-board eMMC - mountable, can be used as boot with custom boot.scr
  microSD-card slot
  WiFi 802.11n (AP6212A) - working
  Bluetooth (AP6212A) - not working for now
  Micro-USB OTG + 2*USB headers
  UART 3.3V - working
  GPIO/I2C/SPI 2.54mm headers

Standard sunxi SD-card installation procedure - copy image to SD card,
insert in into slot and boot. First time you will need UART adapter to
enable on-board wireless (or just build custom image with enabled WiFi).

To boot from eMMC:

  - boot from SD
  - copy SD image to emmc (dd bs=... if=.... of=/dev/mmcblk2)
  - mount eMMC boot partition and replace boot script on it
  - unmount, reboot

To use i2c, spi and more uarts - replace dtb on boot partition with
fixed one (use dtc or fdt-tools).

Signed-off-by: Roman Bazalevsky <rvb@rvb.name>
[rebase onto device name consolidation patches]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agosunxi: construct DTS name from device node name and SOC
Adrian Schmutzler [Thu, 5 Dec 2019 23:47:18 +0000 (00:47 +0100)]
sunxi: construct DTS name from device node name and SOC

The device part in the SUNXI_DTS variable always corresponds to
device node name. This is another redundancy that can be removed
by calculating the DTS name from a newly introduced SUNXI_SOC
variable and the node name.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agosunxi: use vendor_device scheme for device definitions
Adrian Schmutzler [Thu, 5 Dec 2019 23:11:56 +0000 (00:11 +0100)]
sunxi: use vendor_device scheme for device definitions

This changes device definition to resemble the vendor_device scheme
already present for the majority of device compatible strings.

By doing this, we achieve several advantages at once:
- Image names and node names are more consistent with other targets.
- SUPPORTED_DEVICES can be set automatically for all but two cases.
- Image names and node names are in line with DEVICE_TITLEs.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoath79: add support for TP-Link TL-WDR4300 v1 (IL)
Adrian Schmutzler [Mon, 9 Dec 2019 12:53:21 +0000 (13:53 +0100)]
ath79: add support for TP-Link TL-WDR4300 v1 (IL)

The TL-WDR4300 v1 sold in Israel has a different TPLINK_HWID.

Thanks to Josh4300 for testing on device.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoath79: redistribute UBNT variables in Ubiquiti image Makefile
Adrian Schmutzler [Fri, 6 Dec 2019 12:56:51 +0000 (13:56 +0100)]
ath79: redistribute UBNT variables in Ubiquiti image Makefile

The variables UBNT_BOARD and UBNT_VERSION are defined in the parent
Device/ubnt definition and then overwritten for most of the derived
platform definitions (e.g. Device/ubnt-wa).

Since this mixed use of inheritance and overwriting can be misleading,
this moves the variables to the platform-based definitions.

While at it, reorder the definitions to have order consistent, too.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: add label MAC address for Mikrotik RBM33G
Adrian Schmutzler [Mon, 9 Dec 2019 11:56:12 +0000 (12:56 +0100)]
ramips: add label MAC address for Mikrotik RBM33G

The device label contains:
E01: B8:69:F4:xx:xx:07
E02: B8:69:F4:xx:xx:09

The first value corresponds to the address set in hard_config 0x10.

That one is taken for the label MAC address.

Thanks to Martin Schiller for retrieving the information.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: rt305x: use flash location for wan_mac in 02_network
Adrian Schmutzler [Sun, 8 Dec 2019 15:15:00 +0000 (16:15 +0100)]
ramips: rt305x: use flash location for wan_mac in 02_network

This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.

The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.

This removes the wan_mac setup for the following devices as they
do not set up a MAC address for ethernet in the first place:
- asiarf,awapn2403
- belkin,f7c027
- dlink,dir-615-d
- mofinetwork,mofi3500-3gn
- prolink,pwh2004
- ralink,v22rw-2x2
- unbranded,wr512-3gn-4m
- unbranded,wr512-3gn-8m

While at it, make some DT node labels consistent with the label
property.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: rt288x: use flash location for wan_mac in 02_network
Adrian Schmutzler [Sun, 8 Dec 2019 13:55:49 +0000 (14:55 +0100)]
ramips: rt288x: use flash location for wan_mac in 02_network

This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.

The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.

This removes the wan_mac setup for ralink,v11st-fe as this device
does not set up a MAC address for ethernet in the first place.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: mt76x8: use flash location for wan_mac in 02_network
Adrian Schmutzler [Sun, 8 Dec 2019 13:26:34 +0000 (14:26 +0100)]
ramips: mt76x8: use flash location for wan_mac in 02_network

This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.

The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.

While at it, change the partition label for zyxel,keenetic-extra-ii
to factory to be consistent with node label and all the other devices.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agoramips: mt7621: use flash location for wan_mac in 02_network
Adrian Schmutzler [Sun, 8 Dec 2019 12:42:39 +0000 (13:42 +0100)]
ramips: mt7621: use flash location for wan_mac in 02_network

This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.

The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>