openwrt/staging/luka.git
5 years agoramips: add support for MTC Wireless Router WR1201
Valentín Kivachuk [Thu, 29 Nov 2018 23:13:53 +0000 (00:13 +0100)]
ramips: add support for MTC Wireless Router WR1201

MTC Wireless Router WR1201 is the OEM name of the board. It is also sold
rebranded as STRONG Dual Band Gigabit Router 1200.

Specification:
- SoC: MediaTek MT7621A (880 MHz)
- Flash: 16 MiB
- RAM: 128 MiB
- Wireless: 2.4Ghz(MT7602EN) and 5Ghz (MT7612EN)
- Ethernet speed: 10/100/1000
- Ethernet ports: 4+1
- 1x USB 3.0
- 1x microSD reader
- Serial baud rate of Bootloader and factory firmware: 57600

The OEM webinterface writes only as much bytes as listed in the
uImage header field to the flash. Also, the OEM webinterface
evaluates the name field of uImage header before flashing (the
string "WR1201_8_128")

To flash via webinterface, is mandatory to use first initramfs.bin
and after (from the OpenWrt) the sysupgrade.bin

Some notes:
- Some microSD will not work:

  mtk-sd 1e130000.sdhci: no support for card's volts
  mmc0: error -22 whilst initialising SDIO card
  mtk-sd 1e130000.sdhci: no support for card's volts
  mmc0: error -22 whilst initialising MMC card
  mtk-sd 1e130000.sdhci: no support for card's volts
  mmc0: error -22 whilst initialising SDIO card
  mtk-sd 1e130000.sdhci: card claims to support voltages below defined range
  mtk-sd 1e130000.sdhci: no support for card's volts
  mmc0: error -22 whilst initialising MMC card
  mtk-sd 1e130000.sdhci: no support for card's volts
  mmc0: error -22 whilst initialising SDIO card
  mtk-sd 1e130000.sdhci: no support for card's volts
  mmc0: error -22 whilst initialising MMC card

Signed-off-by: Valentín Kivachuk <vk18496@gmail.com>
5 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Thu, 29 Nov 2018 20:44:16 +0000 (21:44 +0100)]
odhcpd: update to latest git HEAD

d404c7e netlink: fix triggering of NETEV_ADDR6LIST_CHANGE event
ae6cf80 config: correctly break string for prefix filter

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoramips: specify "firmware" partition format
INAGAKI Hiroshi [Wed, 28 Nov 2018 03:28:35 +0000 (12:28 +0900)]
ramips: specify "firmware" partition format

Specify firmware partition format by compatible string.

formats in ramips:

- denx,uimage
- tplink,firmware
- seama

It's unlikely but the firmware splitting might not work any longer for
the following boards, due to a custom header:

- EX2700: two uImage headers
- BR-6478AC-V2: edimax-header
- 3G-6200N: edimax-header
- 3G-6200NL: edimax-header
- BR-6475ND: edimax-header
- TEW-638APB-V2: umedia-header
- RT-N56U: mkrtn56uimg

But it rather looks like the uImage splitter is fine with the extra
header.

The following dts are not touched, due to lack of a compatible string in
the matching firmware splitter submodule:

- CONFIG_MTD_SPLIT_JIMAGE_FW
    DWR-116-A1.dts
    DWR-118-A2.dts
    DWR-512-B.dts
    DWR-921-C1.dts
    LR-25G001.dts
- CONFIG_MTD_SPLIT_TRX_FW
    WCR-1166DS.dts
    WSR-1166.dts
- CONFIG_MTD_SPLIT_MINOR_FW
    RBM11G.dts
    RBM33G.dts
- CONFIG_MTD_SPLIT_LZMA_FW
    AR670W.dts
- CONFIG_MTD_SPLIT_WRGG_FW
    DAP-1522-A1.dts

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoramips: unifiy sysupgrade file extensions
Mathias Kresin [Thu, 29 Nov 2018 09:48:03 +0000 (10:48 +0100)]
ramips: unifiy sysupgrade file extensions

Use .bin as file extension where possible. The user doesn't need to that
sysupgrade images for NAND boards are tarballs.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: remove duplicate image build variables
Mathias Kresin [Thu, 29 Nov 2018 09:22:26 +0000 (10:22 +0100)]
ramips: remove duplicate image build variables

Remove image build variables which are set to the same value as the
default image build recipe.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: bdcom-wap2100: Change DTS license to GPL-2.0-or-later OR MIT
Petr Štetiar [Thu, 29 Nov 2018 08:29:06 +0000 (09:29 +0100)]
ramips: bdcom-wap2100: Change DTS license to GPL-2.0-or-later OR MIT

Having MIT as alternative is sometimes preferred by upstream maintainers
and allows sharing that simple code with other projects. We don't really
want multiple DTS versions for the same device.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ubnt-xw: Change DTS license to GPL-2.0-or-later OR MIT
Petr Štetiar [Thu, 29 Nov 2018 08:25:40 +0000 (09:25 +0100)]
ath79: ubnt-xw: Change DTS license to GPL-2.0-or-later OR MIT

Having MIT as alternative is sometimes preferred by upstream maintainers
and allows sharing that simple code with other projects. We don't really
want multiple DTS versions for the same device.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ubnt-bullet-m-xw: Change DTS license to GPL-2.0-or-later OR MIT
Petr Štetiar [Thu, 29 Nov 2018 08:27:23 +0000 (09:27 +0100)]
ath79: ubnt-bullet-m-xw: Change DTS license to GPL-2.0-or-later OR MIT

Having MIT as alternative is sometimes preferred by upstream maintainers
and allows sharing that simple code with other projects. We don't really
want multiple DTS versions for the same device.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agorules.mk: fix syntax error
Jo-Philipp Wich [Thu, 29 Nov 2018 11:32:34 +0000 (12:32 +0100)]
rules.mk: fix syntax error

Fix broken assignment operator added in a previous commit.

Fixes db73ec9f51 ("rules.mk: add INSTALL_SUID macro")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agorules.mk: add INSTALL_SUID macro
Jo-Philipp Wich [Thu, 29 Nov 2018 10:59:20 +0000 (11:59 +0100)]
rules.mk: add INSTALL_SUID macro

This is useful for packages that want to stage SUID executables.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agobase-files: fix prerm return value, align with postinst code
Tony Ambardar [Sat, 3 Mar 2018 04:04:36 +0000 (20:04 -0800)]
base-files: fix prerm return value, align with postinst code

The return value of a package prerm script is discarded and not returned
correctly by default_prerm(). This allows other operations like service
shutdown to "leak" their return value, prompting workarounds like commit
48cfc826 which do not address the root cause.

Preserve a package prerm script return value for use by default_prerm(),
sharing the corresponding code from default_postinst() for consistency.
Also use consistent code for handling of /etc/init.d/ scripts.

Run Tested on: LEDE 17.01.4 running ar71xx.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
5 years agoramips: fix MTD EEPROM offset for TL-WR840N v5
Felix Fietkau [Thu, 29 Nov 2018 10:45:07 +0000 (11:45 +0100)]
ramips: fix MTD EEPROM offset for TL-WR840N v5

The previous offset was invalid and pointed to the end of the partition,
which was causing issues with mt76

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agosdk: find kernel modules when KDIR is a symlink
Karl Vogel [Thu, 29 Nov 2018 08:07:21 +0000 (09:07 +0100)]
sdk: find kernel modules when KDIR is a symlink

The find statement would not return any results if the KDIR_BASE pointed to a
symlink. Ran into this issue due to a custom Kernel/Prepare that was installing
a symlink to the kernel directory.

The extra slash at the end fixes this scenario and does no harm for targets that
have a proper KDIR.

Signed-off-by: Karl Vogel <karl.vogel@gmail.com>
5 years agoramips: bdcom-wap2100: Enable mt7610e 5GHz radio
Petr Štetiar [Wed, 28 Nov 2018 20:53:02 +0000 (21:53 +0100)]
ramips: bdcom-wap2100: Enable mt7610e 5GHz radio

The 5GHz radio of this device uses an mt7610e PCI-E chip, which has
been recently started to be supported.

 mt76x0e 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
 mt76x0e 0000:01:00.0: ASIC revision: 76100002
 mt76x0e 0000:01:00.0: Firmware Version: 0.1.00
 mt76x0e 0000:01:00.0: EEPROM ver:01 fae:00

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoramips: bdcom-wap2100: Set firmware partition format to denx,uimage
Petr Štetiar [Wed, 28 Nov 2018 20:48:59 +0000 (21:48 +0100)]
ramips: bdcom-wap2100: Set firmware partition format to denx,uimage

Specify firmware partition format to denx,uimage in compatible DTS property.

 2 uimage-fw partitions found on MTD device firmware
 Creating 2 MTD partitions on "firmware":
 0x000000000000-0x00000017f72b : "kernel"
 0x00000017f72b-0x000000f70000 : "rootfs"

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoramips: bdcom-wap2100: Fix boot failure by adding partitions compatible property
Petr Štetiar [Wed, 28 Nov 2018 19:06:03 +0000 (20:06 +0100)]
ramips: bdcom-wap2100: Fix boot failure by adding partitions compatible property

Flash partitions were moved under partition table node, but addition of
compatible property was omitted which lead to following boot failure:

 VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
 Please append a correct "root=" boot option; here are the available partitions:
 1f00           16384 mtdblock0
  (driver?)
 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Fixes: e4d9217f (ramips: improve BDCOM WAP2100-SK support)
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agomxs: use generic sysinfo board detection
Michael Heimpold [Sat, 3 Nov 2018 00:24:01 +0000 (01:24 +0100)]
mxs: use generic sysinfo board detection

Since we do nothing special for mxs based boards,
we can simply use the generic existing code.
We just need to convert scripts to use the DT
compatible strings.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
5 years agomac80211: fix reordering of buffered broadcast packets
Felix Fietkau [Wed, 28 Nov 2018 21:42:25 +0000 (22:42 +0100)]
mac80211: fix reordering of buffered broadcast packets

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomt76: update to the latest version
Felix Fietkau [Wed, 28 Nov 2018 21:35:10 +0000 (22:35 +0100)]
mt76: update to the latest version

5fb60a7 mt7603: fix aggregation size handling
31cd20e mt7603: issue PSE reset on stuck beacon
4063ae1 mt7603: check for PSE hang / stuck beacon first
00e03b9 mt7603: fix MT_WF_PHY_CR_RXTD_BASE definition
c3efb5d mt7603: add support for detecting MT7688 and single stream devices
2a136cb mt7603: fix TKIP key setup
cd456ca mt7603: disable broken support for WEP hardware encryption
3ecb7f8 mt7603: fix hardware queue assignment
6ac9653 mt7603: fix CAB queue limits
d22feb0 mt7603: move cab queue enabling to pre-tbtt tasklet
44bb372 mt7603: fix CAB queue flush mask

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoopenvpn: update to 2.4.6
Jo-Philipp Wich [Wed, 28 Nov 2018 20:23:03 +0000 (21:23 +0100)]
openvpn: update to 2.4.6

Update the OpenVPN package to version 2.4.6, refresh patches and drop
menuconfig options which are not supported upstream anymore.

Also fix the x509-alt-username configure flag - it is not supported
by mbedtls and was syntactically wrong in the Makefile - and the
port-share option which has been present in menuconfig but not been
used in the Makefile.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agouhttpd: update to latest Git head
Jo-Philipp Wich [Wed, 28 Nov 2018 11:42:24 +0000 (12:42 +0100)]
uhttpd: update to latest Git head

cdfc902 cgi: escape url in 403 error output
0bba1ce uhttpd: fix building without TLS and Lua support
2ed3341 help: document -A option
fa5fd45 file: fix CPP syntax error
77b774b build: avoid redefining _DEFAULT_SOURCE

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoramips: fix switch port order for HuaWei HG255D
David Yang [Fri, 26 Oct 2018 09:21:58 +0000 (17:21 +0800)]
ramips: fix switch port order for HuaWei HG255D

The order of port marks and LEDs is reversed according to the board.

Signed-off-by: David Yang <mmyangfl@gmail.com>
5 years agoramips: mt7620: add DIR-810L's mt7610e 5 GHz radio
Roger Pueyo Centelles [Wed, 24 Oct 2018 16:07:43 +0000 (18:07 +0200)]
ramips: mt7620: add DIR-810L's mt7610e 5 GHz radio

The 5 GHz radio of this device uses an mt7610e pci-e chip, which has
been recently added support.

Tested on the actual device as AP and client, TCP throughput ~90 Mbps
U/D.

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
5 years agoramips: add support for UniElec U7621-06-512M-64M variant
Nishant Sharma [Wed, 24 Oct 2018 14:23:20 +0000 (19:53 +0530)]
ramips: add support for UniElec U7621-06-512M-64M variant

Add support for UniElec U7621-06 variant with 512MB RAM and 64MB flash.

Additional specs are below:

CPU: MT7621 (880Mhz)
Bootloader: Ralink U-Boot
Flash: 64MB
 - U-Boot identifies as Macronix MX66L51235F
 - kernel identifies as MX66L51235l (65536 Kbytes)
RAM: 512MB

Rest of the details as per commit 46ab81e405d2 ("ramips add support for
UniElec U7621-06")

Signed-off-by: Nishant Sharma <nishant@unmukti.in>
[use generic board detection, add firmware partition compatible, extend
firmware partition to use all of the remaining flash space, add a
maximum image size matching the firmware partition size]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: use generic board detection for Unielec u7621-06
Mathias Kresin [Tue, 27 Nov 2018 23:31:10 +0000 (00:31 +0100)]
ramips: use generic board detection for Unielec u7621-06

Use the generic board detection for the board instead of the target
specific one. Mark the sysupgrade image compatible with the former used
userspace boardname to allow an upgrade from earlier versions.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: add support for Wavlink WL-WN570HA1
Thomas Vincent-Cross [Mon, 22 Oct 2018 15:21:16 +0000 (02:21 +1100)]
ramips: add support for Wavlink WL-WN570HA1

This commit adds support for the Wavlink WL-WN570HA1, a dual-band PoE
wireless router with the following specifications:

 - CPU: MediaTek MT7688AN 580MHz
 - Flash: 8MB
 - RAM: 64MB
 - Ethernet: 1x 10/100Mbps
 - 2.4 GHz: 802.11b/g/n SoC, 1T1R, 27 dBm
 - 5 GHz: 802.11a/n/ac MT7610E, 1T1R, 25 dBm
 - Antennas: 2x external (1 per radio), detachable
 - LEDs: 3 programmable + Wi-Fi, WAN/LAN, Power
 - Buttons: Reset

Flashing instructions:

Factory U-boot launches a TFTP client if reset button is pressed during power-on.
Rename the sysupgrade file and configure TFTP as follows:

 - Client (WL-WN570HA1) IP: 192.168.10.101
 - Server IP: 192.168.10.100
 - Filename: firmware.bin

Signed-off-by: Thomas Vincent-Cross <me@tvc.id.au>
[use generic board detection, add firmware partition compatible]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoath79: add support for ROSINSON WR818 board
Rosy Song [Sun, 7 Oct 2018 04:04:54 +0000 (12:04 +0800)]
ath79: add support for ROSINSON WR818 board

This commit adds support for the ROSINSON WR818 WiFi-Router

SoC:    Qualcomm Atheros QCA9563,
FLASH:  Winbond W25Q128FV 16MBytes,
WiFi:   QCA9563 b/g/n 3x3 450Mbit/s,
USB:    1x USB 2.0 Type A, 1x USB2.0 Type C,
IN:     WPS/Reset button GPIO1,
OUT:    Power LED red, Internet LED red, WLAN LED red,
        LAN1 LED red, LAN2 LED red, System LED red,
UART:   RX-GPIO18, TX-GPIO22,

Tested and working:
    - Ethernet (LAN + WAN)
    - WiFi
    - OpenWRT sysupgrade
    - Button
    - LEDs

Installation of OpenWRT from vendor firmware:
    - Connect to the Web-interface at http://192.168.1.1
    - Go to "Administration" -> "Firmware Upgrade"
    - Upload the OpenWrt sysupgrade image

Signed-off-by: Rosy Song <rosysong@rosinson.com>
5 years agoath79: merge glinet gl-x750 dtsi and dts
Mathias Kresin [Mon, 26 Nov 2018 14:46:14 +0000 (15:46 +0100)]
ath79: merge glinet gl-x750 dtsi and dts

The board doesn't come in different flash type flavours, hence there is
no need to keep a dtsi + dts for this purpose.

While at it, fix some whitespace issues.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoath79: rename glinet x750
Mathias Kresin [Mon, 26 Nov 2018 14:39:25 +0000 (15:39 +0100)]
ath79: rename glinet x750

The boardname is gl-x750 and is already used for the led names.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: fix alphabetic ordering of skylab skw92a
Russell Senior [Mon, 26 Nov 2018 21:03:05 +0000 (13:03 -0800)]
ramips: fix alphabetic ordering of skylab skw92a

Fix the alphabetic ordering of skylab skw92a in ramips_setup_interfaces.

Signed-off-by: Russell Senior <russell@personaltelco.net>
5 years agoramips: fix RavPower WD03 SoC dtsi include
Matthias Badaire [Mon, 26 Nov 2018 20:35:19 +0000 (21:35 +0100)]
ramips: fix RavPower WD03 SoC dtsi include

The RavPower WD03 is a mt7620n based baord. With the change applied, I2C
should work now with the RavPower WD03.

Signed-off-by: Matthias Badaire <mbadaire@gmail.com>
[reworded commit message]
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoRevert "x86: add intel microcode entries to grub config"
John Crispin [Tue, 27 Nov 2018 17:58:38 +0000 (18:58 +0100)]
Revert "x86: add intel microcode entries to grub config"

This reverts commit 546fced2a23557e95dd34246744c3aa6cad92fe6.

Signed-off-by: John Crispin <john@phrozen.org>
5 years agoRevert "intel-microcode: create early load microcode image"
John Crispin [Tue, 27 Nov 2018 17:58:37 +0000 (18:58 +0100)]
Revert "intel-microcode: create early load microcode image"

This reverts commit 022ffb56b2491fd7d8051ac6e6c7622ecc313d8f.

Signed-off-by: John Crispin <john@phrozen.org>
5 years agoRevert "x86: add amd microcode entries to grub config"
John Crispin [Tue, 27 Nov 2018 17:58:35 +0000 (18:58 +0100)]
Revert "x86: add amd microcode entries to grub config"

This reverts commit a822283c7e56bb3b409712e0eb9af5a91aac247d.

Signed-off-by: John Crispin <john@phrozen.org>
5 years agoRevert "amd64-microcode: create early load microcode image"
John Crispin [Tue, 27 Nov 2018 17:58:33 +0000 (18:58 +0100)]
Revert "amd64-microcode: create early load microcode image"

This reverts commit 975019b3a755ec3b91864b60b45e5ee104075096.

Signed-off-by: John Crispin <john@phrozen.org>
5 years agotools/bison: Update to 3.2.2
Daniel Engberg [Tue, 27 Nov 2018 07:53:29 +0000 (08:53 +0100)]
tools/bison: Update to 3.2.2

Update bison to 3.2.2

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agoath79: add Archer C58/C59 partition compatible
David Bauer [Mon, 26 Nov 2018 18:28:07 +0000 (19:28 +0100)]
ath79: add Archer C58/C59 partition compatible

This commit adds firmware partition compatible for the
TP-Link Archer C58 v1 and Archer C59 v1.

Since a22311e this allows to select the correct mtdsplit
parser instead of trying all available ones one by one.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add firmware partition compatible for OCEDO
David Bauer [Mon, 26 Nov 2018 18:25:19 +0000 (19:25 +0100)]
ath79: add firmware partition compatible for OCEDO

This commit adds firmware partition compatible for the
OCEDO Raccoon and OCEDO Koala.

Since a22311e this allows to select the correct mtdsplit
parser instead of trying all available ones one by one.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: specify "firmware" partition format for I-O DATA devices
INAGAKI Hiroshi [Mon, 26 Nov 2018 13:34:49 +0000 (22:34 +0900)]
ath79: specify "firmware" partition format for I-O DATA devices

Specify firmware partition format (denx,uimage) by compatible string
for I-O DATA devices.

affected devices (&run tested)

- WN-AC1167DGR
- WN-AC1600DGR2

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoath79: specify "firmware" partition format for ELECOM WRC-300GHBK2-I
INAGAKI Hiroshi [Mon, 26 Nov 2018 13:31:23 +0000 (22:31 +0900)]
ath79: specify "firmware" partition format for ELECOM WRC-300GHBK2-I

Specify firmware partition format (denx,uimage) by compatible string
for ELECOM WRC-300GHBK2-I.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoath79: fix shebang
Mathias Kresin [Mon, 26 Nov 2018 13:57:34 +0000 (14:57 +0100)]
ath79: fix shebang

The shebang was accidentally changed with 9989fd5154fd ("ath79: add
support for GL-iNet GL-X750").

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: fix GB-PC1/PC2 build error
Mathias Kresin [Mon, 26 Nov 2018 15:10:33 +0000 (16:10 +0100)]
ramips: fix GB-PC1/PC2 build error

With ed25e3ac02d9 ("ramips: fix some clocks in mt7621.dtsi") the
cpuclock node was dropped from the mt7621.dtsi without removing the
references to this node from the GB-PC1/PC2 dts files.

Remove them now, to fix the build error.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: fix Lava LR-25G001 invalid led names
Mathias Kresin [Mon, 26 Nov 2018 15:03:09 +0000 (16:03 +0100)]
ramips: fix Lava LR-25G001 invalid led names

It has to be <board>:<colour>:<function> and is expected exactly this
way by the userspace scripts.

While at it, fix some whitespace issues in the dts file and rename the
flash node as required upstream.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agokernel: ar8xxx: get_arl_table now shows all ports of an entry
Günther Kelleter [Mon, 26 Nov 2018 14:44:31 +0000 (15:44 +0100)]
kernel: ar8xxx: get_arl_table now shows all ports of an entry

Multicast ARL entries can have multiple destination ports. Get and dump
all destination ports of each entry, not just the lowest.

Signed-off-by: Günther Kelleter <guenther.kelleter@devolo.de>
5 years agoramips: rt2880: fix pci cells definition
Mathias Kresin [Mon, 26 Nov 2018 13:17:47 +0000 (14:17 +0100)]
ramips: rt2880: fix pci cells definition

Set the correct number of cells to fix "property has invalid length" dtc
compiler warnings.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: improve BDCOM WAP2100-SK support
Mathias Kresin [Mon, 26 Nov 2018 12:26:06 +0000 (13:26 +0100)]
ramips: improve BDCOM WAP2100-SK support

Use the generic board detection instead of the target specific one as
all recent additions are doing.

Setup the USB led via devicetree (a58535771f11) and include the required
driver by default. Merge the led userspace setting with an existing
identical case.

Use the wps led for boot status indication.

Move the partitions into a partition table node (6031ab345df8) and drop
needless labels. Drop misplaced cells properties (53624c1702e6).

Cleanup the pinmux and only switch pins to gpio functions which a
referenced as gpio in the dts.

Match the maximum image size with the size of the firmware partition.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: add Sanlinking Technologies D240 pinmux quirk
Mathias Kresin [Thu, 1 Nov 2018 22:11:40 +0000 (23:11 +0100)]
ramips: add Sanlinking Technologies D240 pinmux quirk

The sd function of the nd_sd group configures two of the groups pins as
gpios. The pins are used as PCIe reset/power.

Due to the driver load order, the pins are configured way to late if
triggered by the sd-card driver.

To not introduce another kind of driver load order dependency and
configure the pins as early as possible, means during pinmux driver
load.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoralink: fix mt7620 nd_sd pinmux
Mathias Kresin [Sun, 28 Oct 2018 12:05:17 +0000 (13:05 +0100)]
ralink: fix mt7620 nd_sd pinmux

In case the nd_sd group is set to the sd-card function, Pins 45 + 46 are
configured as GPIOs. If they are blocked by the sd function, they can't
be used as GPIOs.

Reported-by: Kristian Evensen <kristian.evensen@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: revert fix rt3883 pci pinmux
Mathias Kresin [Mon, 26 Nov 2018 11:59:16 +0000 (12:59 +0100)]
ramips: revert fix rt3883 pci pinmux

This reverts commit dcdc6d9dadf2f97253f7891dacdd5b581d7914b4.

Even if described this way in the datasheet, it causes a bootloop on a
RT-N56U (v1):

  of-flash 1c000000.nor-flash: do_map_probe() failed for type cfi_probe
  of-flash 1c000000.nor-flash: do_map_probe() failed
  VFS: Cannot open root device “(null)” or unknown-block(0,0): error -6

Fixes: FS#1930
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoramips: improve Skylab SKW92A support
Mathias Kresin [Mon, 26 Nov 2018 11:34:48 +0000 (12:34 +0100)]
ramips: improve Skylab SKW92A support

Use the generic board detection instead of the target specific one as
all recent additions are doing.

Add the wireless led according the gpio number from the datasheet.
Rename the board part of the leds to match the name used for the
compatible string. Finally, do not hijack the wps led for boot status
indication longer than necessary.

Merge userspace config into existing cases.

Include the manufacture Name in the dts model string.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agonetifd: update to latest git HEAD
Hans Dedecker [Mon, 26 Nov 2018 14:26:53 +0000 (15:26 +0100)]
netifd: update to latest git HEAD

dfa4ede interface: fix return code of __interface_add()
a82a8f6 netifd: fix resource leak on error in netifd_add_dynamic()
fa2403d config: fix resource leaks on error in config_parse_interface()
85de9de interface: fix memory leak on error in __interface_add()

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoRevert "ramips: mt7621-spi: replace the driver with upstream staging one"
John Crispin [Mon, 26 Nov 2018 13:43:42 +0000 (14:43 +0100)]
Revert "ramips: mt7621-spi: replace the driver with upstream staging one"

This reverts commit a44f0000779d48c061703351df58adb88419a7c3.

This breaks some mt7621 devices.

Signed-off-by: John Crispin <john@phrozen.org>
5 years agoramips: fix switch ports mapping for newifi d2
Zheng Qian [Thu, 8 Nov 2018 10:16:36 +0000 (18:16 +0800)]
ramips: fix switch ports mapping for newifi d2

Signed-off-by: Zheng Qian <sotux82@gmail.com>
5 years agolantiq: enable FXS ports on VR200v
Kevin Schmidt [Fri, 2 Nov 2018 22:50:25 +0000 (23:50 +0100)]
lantiq: enable FXS ports on VR200v

Disables SMP support.
Add VR200 target to keep SMP on FXS-less device variant.

Signed-off-by: Kevin Schmidt <kevin.patrick.schmidt@googlemail.com>
5 years agoath79: modify mtd partitions for Buffalo BHR-4GRV2
INAGAKI Hiroshi [Tue, 6 Nov 2018 13:37:43 +0000 (22:37 +0900)]
ath79: modify mtd partitions for Buffalo BHR-4GRV2

This commit modifies mtd partitions define for Buffalo BHR-4GRV2 and
move it to generic subtarget.

In Buffalo BHR-4GRV2, "kernel" partition is located behined "rootfs"
partition in the stock firmware. This causes the size of the kernel
to be limited by the fixed value.

0x50000                       0xe80000        0xff0000
  +-------------------------------+--------------+
  |            rootfs             |    kernel    |
  |           (14528k)            |    (1472k)   |
  +-------------------------------+--------------+

After ar71xx was updated to Kernel 4.14, the kernel size of BHR-4GRV2
exceeded the limit, and it breaks builds on official buildbot.
Since this issue was also confirmed in ath79, I modified the mtd
partitions to get rid of that limitation.

0x50000                                       0xff0000
  +----------------------------------------------+
  |                   firmware                   |
  |                   (16000k)                   |
  +----------------------------------------------+

However, this commit breaks compatibility with ar71xx firmware, so I
dropped "SUPPORTED_DEVICES += bhr-4grv2".

This commit requires new flash instruction instead of the old one.

Flash instruction using initramfs image:

1. Connect the computer to the LAN port of BHR-4GRV2
2. Set the IP address of the computer to 192.168.12.10
3. Rename the OpenWrt initramfs image to
"bhr4grv2-uImage-initramfs-gzip.bin" and place it into the TFTP
directory
4. Start the tftp server on the computer
5. While holding down the "ECO" button, connect power cable to
BHR-4GRV2 and turn on it
6. Flashing (orange) diag LED and release the finger from the button,
BHR-4GRV2 downloads the intiramfs image from TFTP server and boot
with it
7. On the initramfs image, create "/etc/fw_env.config" file with
following contents
  /dev/mtd1 0x0 0x10000 0x10000
8. Execute following commands to add environment variables for
u-boot
  fw_setenv ipaddr 192.168.12.1
  fw_setenv serverip 192.168.12.10
  fw_setenv ethaddr 00:aa:bb:cc:dd:ee
  fw_setenv bootcmd "bootm 0x9f050000 || bootm 0x9fe80000"
9. Perform sysupgrade with squashfs-sysupgrade image
10. Wait ~150 seconds to complete flashing

And this commit includes small fix; BHR-4GRV2 has QCA9557 as a SoC,
not QCA9558.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoath79: Remove source-only flag
Robert Marko [Thu, 15 Nov 2018 14:45:54 +0000 (15:45 +0100)]
ath79: Remove source-only flag

Remove the source-only flag from ath79, its supposed to replace ar71xx after next stable release but buildbots are not currently generating images for it.
So in order to expand testing as much as possible and prepare for moving to ath79 lets enable the buildbots to actually build the target.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoramips: mt7621-spi: replace the driver with upstream staging one
Chuanhong Guo [Sun, 25 Nov 2018 02:25:40 +0000 (10:25 +0800)]
ramips: mt7621-spi: replace the driver with upstream staging one

That driver is more efficient thanks to the refactor of spi reading operation.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoramips: add support for Lava LR-25G001
Pawel Dembicki [Sat, 17 Nov 2018 08:47:40 +0000 (08:47 +0000)]
ramips: add support for Lava LR-25G001

The Lava LR-25G001 Wireless Router is based on the MT7620A SoC.

Specification:

- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 16 MB of FLASH
- 1x 802.11bgn radio
- 1x 802.11ac radio (MT7610EN)
- 5x 10/100/1000 Mbps AR8337 Switch (1 WAN AND 4 LAN)
- 2x external, detachable antennas
- 1x USB 2.0
- UART (J3) header on PCB (57600 8n1)
- 8x LED (3x GPIO-controlled), 2x button
- JBOOT bootloader

Known issues:
- Work only three Gigabit ports (3/5, 1 WAN and 2LAN)

Installation:
Apply factory image via http web-gui or JBOOT recovery page

How to revert to OEM firmware:
- push the reset button and turn on the power. Wait until LED start
  blinking (~10sec.)
- upload original factory image via JBOOT http (IP: 192.168.123.254)

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
5 years agoramips: mt7620: add force use of mdio-mode
Pawel Dembicki [Sat, 17 Nov 2018 08:43:41 +0000 (08:43 +0000)]
ramips: mt7620: add force use of mdio-mode

Some boards have external switches different than mt7530.

This patch allow to use mdio-mode without 0x1f register.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
5 years agoar8216: add adjust_link checking
Pawel Dembicki [Sat, 17 Nov 2018 08:07:47 +0000 (08:07 +0000)]
ar8216: add adjust_link checking

Driver crash when 'phydev->adjust_link' isn't provided.

This patch check if 'phydev->adjust_link' exist before
call the method.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
5 years agoramips: fix some clocks in mt7621.dtsi
Weijie Gao [Sun, 18 Nov 2018 16:07:01 +0000 (00:07 +0800)]
ramips: fix some clocks in mt7621.dtsi

As the cpu clock calculation has been fixed, the clock for gic and spi
should be also fixed.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
5 years agoramips: fix cpu clock of mt7621 and add dt clk devices
Weijie Gao [Sun, 18 Nov 2018 17:14:53 +0000 (01:14 +0800)]
ramips: fix cpu clock of mt7621 and add dt clk devices

For a long time the mt7621 uses a fixed cpu clock which causes a problem
if the cpu frequency is not 880MHz.

This patch fixes the cpu clock calculation and adds the cpu/bus clkdev
which will be used in dts.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
5 years agoramips: fix register range of memc node in mt7621.dtsi
Weijie Gao [Sun, 18 Nov 2018 17:12:49 +0000 (01:12 +0800)]
ramips: fix register range of memc node in mt7621.dtsi

The memc node from mt7621.dtsi has incorrect register resource.
Fix it according to the programming guide.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
5 years agoramips: merge two patches 101-mt7621-timer and 998-mt7621-needs-jiffies
Weijie Gao [Sun, 18 Nov 2018 15:49:23 +0000 (23:49 +0800)]
ramips: merge two patches 101-mt7621-timer and 998-mt7621-needs-jiffies

These two patches both modified the mt7621.c, and the patch file
998-mt7621-needs-jiffies.patch adds only one line which is used by the
another patch file. So merge them into one file.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
5 years agoath79: specify "firmware" partition format for Buffalo devices
INAGAKI Hiroshi [Sun, 25 Nov 2018 13:25:27 +0000 (22:25 +0900)]
ath79: specify "firmware" partition format for Buffalo devices

Specify firmware partition format (denx,uimage) by compatible string
for Buffalo devices.

affected devices (&run tested):
- BHR-4GRV
- WHR-G301N
- WZR-HP-AG300H
- WZR-HP-G302H A1A0
- WZR-HP-G450H (WZR-450HP)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agosdk: expose part of advanced configuration options
Tomasz Maciej Nowak [Thu, 25 Oct 2018 18:47:20 +0000 (20:47 +0200)]
sdk: expose part of advanced configuration options

These option can be useful in developement/packagig applications for
OpenWrt. Instead of searching them by hand in Config-build.in lets
expose them for easier access.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agokernel: nf-nathelper-extra depends on ipt-raw
Steven Honson [Fri, 7 Sep 2018 13:44:19 +0000 (13:44 +0000)]
kernel: nf-nathelper-extra depends on ipt-raw

The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.
As automatic helper assignment is disabled in recent Linux kernels,
explicit rules must be added to the raw table for each helper.

While commit f50a524 in the firewall3 project added a set of default
rules and other additional related functionality, both this and the
alternative manual methods of defining these rules require kmod-ipt-raw.

Signed-off-by: Steven Honson <steven@honson.id.au>
5 years agoramips: add mt76x0 node to RT-AC51U device tree
Lorenzo Bianconi [Tue, 30 Oct 2018 22:28:03 +0000 (23:28 +0100)]
ramips: add mt76x0 node to RT-AC51U device tree

Introduce mt76x0e device tree node in RT-AC51U dts.
Define mt76x0e mtd partition and offset

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
5 years agoapm821xx: wndr4700: restore sd-card media detection
Christian Lamparter [Sun, 14 Oct 2018 21:53:56 +0000 (23:53 +0200)]
apm821xx: wndr4700: restore sd-card media detection

This was not converted to the new, dt-based board name.

Fixes: e90dc8d2722 ("apm821xx: convert to device-tree board detection")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: shuffle helper scripts to the front
Christian Lamparter [Wed, 17 Oct 2018 20:37:39 +0000 (22:37 +0200)]
apm821xx: shuffle helper scripts to the front

In a patch for the ath79, Mathias Kresin mentioned that
helper scripts should be in front of the device targets.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: add support for the Netgear WNDAP620 and WNDAP660
Christian Lamparter [Wed, 17 Oct 2018 20:37:38 +0000 (22:37 +0200)]
apm821xx: add support for the Netgear WNDAP620 and WNDAP660

This patch adds support for the Netgear WNDAP620 and WNDAP660,
they are similar devices, but due to the LAN LED configuration,
the switch setup and WIFI configuration each gets a different
device target.

Hardware Highlights WNDAP620:
CPU: AMCC PowerPC APM82181 at 1000 MHz
DRAM:  128 MB, 2 x 64 MiB DDR2 Hynix H5PS5162GF
CPU: AMCC PowerPC APM82181 at 1000 MHz
FLASH: 32 MiB, NAND SLC, Hynix HY27US08561A
Ethernet: RealTek RTL8363SB 2x2-Port Switch PHY - Only 1 GBit Port (POE)
Wifi: Atheros AR9380 minipcie - Dual-Band - 3x3:3
Serial: console port with RJ45 Interface (9600-N-8-1)
LEDS: Power, LAN-Activity, dual color LAN-Linkspeed, 2.4GHz, 5GHz LEDs
Button: Soft Reset Button
Antennae: 3 internal dual-band antennae + 3 x RSMA for external antennaes

Hardware Highlights WNDAP660:
CPU: AMCC PowerPC APM82181 at 1000 MHz + 2 Heatsinks
DRAM:  256 MB, 2 x 128 MiB DDR2
FLASH: 32 MiB, NAND SLC, Hynix HY27US08561A
Ethernet: RealTek RTL8363SB 2x2-Port Switch PHY (POE)
Wifi1: Atheros AR9380 minipcie - Dual-Band - 3x3:3
Wifi2: Atheros AR9380 minipcie - Dual-Band - 3x3:3
Serial: console port with RJ45 Interface (9600-N-8-1)
LEDS: Power, LAN-Activity, 2x dual color LAN-Linkspeed, 2.4GHz, 5GHz LEDs
Button: Soft Reset Button
Antennae: 6 internal dual-band antennae + 3 x RSMA for external antennaes

Flashing requirements:

 - needs a tftp server at 192.168.1.10/serverip.
 - special 8P8C(aka RJ45)<->D-SUB9 Console Cable
   ("Cisco Console Cable"). Note: Both WNDAP6x0 have
   a MAX3232 transceivers, hence no need for any separate
   CMOS/TTL level shifters.

External Antenna:
The antennae mux is controlled by GPIO 11 and GPIO14. Valid Configurations:
 = Config# = | = GPIO 11 = | = GPIO 14 = |  ===== Description =====
      1.     |   1 / High  |  0 / Low    | Use the internal antennae (default)
      2.     |   0 / Low   |  1 / High   | Use the external antennae

The external antennaes are only meant for the 2.4 GHz band.

One-way Flashing instructions via u-boot:

 0. connect the serial cable to the RJ45 Console Port
    Note: This requires a poper RS232 and not a TTL/USB adaptor.

 1. power up the AP and interrupt the u-boot process at

    'Hit any key to stop autoboot'

 2. setup serverip and ipaddr env settings
    Enter the following commands into the u-boot shell
    # setenv ipaddr 192.168.1.1
    # setenv serverip 192.168.1.10

 3. download the factory.img image to the AP
    Enter the following commands into the u-boot shell

    # tftp ${kernel_addr_r} openwrt-apm821xx-nand-netgear_wndap660-squashfs-factory.img

 4. verfiy image integrity
    Enter the following commands into the u-boot shell

    # crc32 $fileaddr $filesize

    If the calculated crc32 checksum does not match, go back to step 3.

 5. flash the image
    Enter the following commands into the u-boot shell

    # nand erase 0x110000 0x1bd0000
    # nand write ${kernel_addr_r} 0x110000 ${filesize}

 6. setup uboot environment
    Enter the following commands into the u-boot shell

    # setenv bootargs
    # setenv fileaddr
    # setenv filesize
    # setenv addroot 'setenv bootargs ${bootargs} root=/dev/ubiblock0_0'
    # setenv owrt_boot 'nboot ${kernel_addr_r} nand0 0x110000; run addroot; run addtty; bootm ${kernel_addr_r}'
    # setenv bootcmd 'run owrt_boot'
    # saveenv

 7. boot
    # run bootcmd

Booting initramfs instructions via u-boot:

 Follow steps 0 - 2 from above.

 3. boot initramfs
    Enter the following commands into the u-boot shell

    # tftp ${kernel_addr_r} openwrt-apm821xx-nand-netgear_wndap660-initramfs-kernel.bin
    # run addtty
    # bootm ${kernel_addr_r}

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agogeneric: rtl8367b: make it possible to specify cpu_port via DT
Christian Lamparter [Wed, 17 Oct 2018 20:37:37 +0000 (22:37 +0200)]
generic: rtl8367b: make it possible to specify cpu_port via DT

This patch adds the feature to parse the existing cpu_port DT
property, which is used to specify which port is the cpu port
of the switch.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agogeneric: rtl836x: support defered probe on mdio-bus
Christian Lamparter [Wed, 17 Oct 2018 20:37:36 +0000 (22:37 +0200)]
generic: rtl836x: support defered probe on mdio-bus

On the WNDAP620, the mdio and mdc lines are controlled by
the EMAC ethernet device. This results in a hen-vs-egg problem.
The rtl8367b driver is probed before the ethernet driver and
the mdio-bus is not available yet, which caused the rtl8367b
driver to fail.

This patch changes the rtl8366_smi_probe_of() function to
return -EPROBE_DEFER if the mdio-bus lookup failed and changes
rtl8366_smi_probe()'s signature to return the error code back to
the callee, so it can propagate back to the kernel. Which, will
retry the switch probe at a later time.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: import gpio-export DT code from lantiq
Christian Lamparter [Wed, 17 Oct 2018 20:37:35 +0000 (22:37 +0200)]
apm821xx: import gpio-export DT code from lantiq

This will come in handy for the Netgear WNDAP620's antennae mux.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: MX60(W): enable u-boot environment
Christian Lamparter [Wed, 17 Oct 2018 20:37:34 +0000 (22:37 +0200)]
apm821xx: MX60(W): enable u-boot environment

This patch adds u-boot environment access to the MX60(W) target.
"The environment size is one NAND block (128KiB on Buckminster).
We allocate four NAND blocks to deal with bad blocks which may
exist in the saved  environment"

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: MR24: add to uboot-envtools
Christian Lamparter [Wed, 17 Oct 2018 20:37:33 +0000 (22:37 +0200)]
apm821xx: MR24: add to uboot-envtools

This patch adds the complicated u-boot
environment access settings for to the
MR24 target.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: add uboot-envtools support
Christian Lamparter [Wed, 17 Oct 2018 20:37:32 +0000 (22:37 +0200)]
apm821xx: add uboot-envtools support

All apm821xx devices use u-boot and most of them have
an accessible u-boot environment. This patch adds the
necessary template file, but does not add the
uboot-envtools package to any of the targets.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq806x: Add support for IPQ8064 AP161 board
Ram Chandra Jangir [Fri, 19 Oct 2018 11:17:42 +0000 (16:47 +0530)]
ipq806x: Add support for IPQ8064 AP161 board

Specification:
   - SoC: Qualcomm Atheros IPQ8064 ARM-v7 Dual Core SMP CPU
   - RAM: 512MB DDR3 System Memory
   - NOR Flash: 32MB SPI NOR
   - NAND Flash: 256MB NAND
   - Ethernet: 5 x 1G via QCA8337N
   - USB: 2 x USB 3.0 SuperSpeed
   - PCIe: 3x Mini PCIe 2.0 Slots
   Three PCIE2.0 connectors can connect two or three radio cards
           such as the CUS260 for 2.4 GHz WLAN and the CUS239 for 802.11ac WLAN

 How to flash via u-boot console:
   tftpboot 0x44000000 openwrt-ipq806x-qcom_ipq8064-ap161-squashfs-nand-factory.bin
   nand erase  0x1340000 0x4000000
   nand write  0x44000000 0x1340000 $filesize
   setenv bootargs ‘console=ttyMSM0,115200 ubi.mtd=ubi root=/dev/ubiblock0_1’
   saveenv
   bootm

 Further upgrades via sysupgrade.

 Tested on IPQ8064 AP161 Board:
   1) NAND boot
   2) Tested USB and PCIe interfaces
   3) WDOG test
   4) cpu frequency scaling
   5) ethernet, 2G and 5G WiFi
   6) ubi sysupgrade

Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
5 years agoipq8064: pinctrl: Fixed missing RGMII pincontrol definitions
Ram Chandra Jangir [Fri, 19 Oct 2018 11:17:41 +0000 (16:47 +0530)]
ipq8064: pinctrl: Fixed missing RGMII pincontrol definitions

Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
5 years agoar71xx: fix RouterBOARD Power LED default state
Sergey Ryazanov [Thu, 25 Oct 2018 22:22:37 +0000 (01:22 +0300)]
ar71xx: fix RouterBOARD Power LED default state

RouterBOARD(s) bootloader actully turns Power LED off just before
it starts the kernel. So we need to set the LED default status to On
instead of Keep in order to keep LED on during kernel boot.

This change fixes Power LED off during the kernel boot on the RB91x and
SXT Lite boards.

Fixes: 6cad8ee0bd ("ar71xx: keep the RouterBOARD Power LED in On state")
CC: Mathias Kresin <dev@kresin.me>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
5 years agohotplug: Allow configuring radio name.
Ben Greear [Fri, 26 Oct 2018 17:05:39 +0000 (10:05 -0700)]
hotplug: Allow configuring radio name.

This way the radio (phy) name can be the same through module reloads.

To set the desired name:

uci set wireless.@wifi-device[0].phyname=wiphy0

I guess this only works on ipq6086 boards as I could not find a more
generic place to put this.  Maybe someone can improve it.

Signed-off-by: Ben Greear <greearb@candelatech.com>
5 years agobase-files: fwtool: Fix wrong checksum on combined-image with metadata
Petr Štetiar [Fri, 9 Nov 2018 11:27:12 +0000 (12:27 +0100)]
base-files: fwtool: Fix wrong checksum on combined-image with metadata

If I create following image:

define Device/engenius-m36
  IMAGE/sysupgrade.bin := combined-image | append-metadata
endef

Sysupgrade then errors out:

  Invalid image. Contents do not match checksum (image:cd285595eaf297370404ae0e2815ec1a calculated:2cf9a2286fb6b01af3ea189128017d44)
  Image check 'platform_check_image' failed.

By removing the metadata from the image I get combined-image checksum
working again and sysupgrade works.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoamd64-microcode: create early load microcode image
Tomasz Maciej Nowak [Wed, 31 Oct 2018 17:48:38 +0000 (18:48 +0100)]
amd64-microcode: create early load microcode image

Create initrd image with packed microcode. This'll allow to load it at
early boot stage.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agox86: add amd microcode entries to grub config
Tomasz Maciej Nowak [Wed, 31 Oct 2018 17:48:37 +0000 (18:48 +0100)]
x86: add amd microcode entries to grub config

Create initrd enries for x86 images, that'll load amd microcode as early
as possible. Also remove the preinit script responsible for late load of
microcode.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agoath79: add support for Archer C58/C59 v1
David Bauer [Wed, 31 Oct 2018 19:19:49 +0000 (20:19 +0100)]
ath79: add support for Archer C58/C59 v1

This commit adds support for the Archer C58 v1 and C59 v1, previously
supported in the ar71xx target.

CPU:   Qualcomm QCA9561
RAM:   64M (C58) / 128M (C59)
FLASH: 8M (C58) / 16M (C59)
WiFi:  QCA9561 bgn 3x3:3
       QCA9888 nac 2x2:2
LED:   Power, WiFi 2.4, WiFi 5, WAN green, WAN amber, LAN, WPS
       Only C59: USB
BTN:   WPS, WiFi, Reset

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

Via Web-UI:
Update factory image via Web-UI.

Via TFTP:
Rename factory image to "tp_recovery.bin" and place it in the root-dir
of your tftp server. Configure to listen on 192.168.0.66. Power up the
router while holding down the reset-button. The router will flash itself
and reboot.

Note: For TFTP, you might need a switch between router and computer, as
link establishment might take to long.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoralink: Add support for GPIO as interrupt-controller
Daniel Santos [Mon, 5 Nov 2018 02:48:13 +0000 (20:48 -0600)]
ralink: Add support for GPIO as interrupt-controller

The gpio-ralink driver has everything it needs to be used as an
interrupt controller except for device tree support.  This simple patch
adds that support by configuring the irq domain to use two cells and
adding the appropriate documentation to the devicetree bindings.

Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
5 years agoath79: add support for GL-iNet GL-X750
Luo chongjun [Mon, 5 Nov 2018 02:03:05 +0000 (10:03 +0800)]
ath79: add support for GL-iNet GL-X750

this patch adds supports for GL-X750.

Specification:
- SOC: QCA9531 (650MHz)
- Flash: 16 MiB (W25Q128FVSG)
- RAM: 128 MiB DDR2
- Ethernet: 10/100: 1xLAN + 10/100: 1xWAN
- Wireless: 2.4GHz (bgn) and 5GHz (ac)
- USB: 1x USB 2.0 port
- Button: 1x reset button
- LED: 5x LEDS (green)

Flash instruction:
The original firmware is openwrt, so both LuCI or sysupgrade can be used.

Signed-off-by: Luo chongjun <luochongjun@gl-inet.com>
5 years agoar71xx: add support for UniFi-AC-Mesh-Pro
Christoph Krapp [Thu, 8 Nov 2018 11:09:02 +0000 (11:09 +0000)]
ar71xx: add support for UniFi-AC-Mesh-Pro

This adds the build option for UniFi AC Mesh Pro as well as
model detection for it.
The device is a hardware clone of the AC Pro.

- SoC: QCA9563-AL3A (775Mhz)
- RAM: 128MiB
- Flash: 16MiB - dual firmware partitions!
- LAN: 2x 1000M - POE+
- Wireless:
        2.4G: QCA9563
          5G: UniFi Chip, QCA988X compatible

Signed-off-by: Christoph Krapp <achterin@googlemail.com>
5 years agoramips: Add support for ZTE ZXECS EBG3130 aka BDCOM WAP2100-SK
Petr Štetiar [Tue, 13 Nov 2018 12:10:40 +0000 (13:10 +0100)]
ramips: Add support for ZTE ZXECS EBG3130 aka BDCOM WAP2100-SK

On the bottom sticker it's branded as ZTE ZXECS EBG3130 device, but in factory
OpenWrt image it's referenced as BDCOM WAP2100-SK device.

Specifications:

- SoC: MediaTek MT7620A
- RAM: 128 MB
- Flash: 16 MB
- Ethernet: 5 FE ports
- Wireless radio: 2T2R 2.4 GHz and 1T1R 5 GHz (MT7610EN, unsupported)
- UART: 1 x UART on PCB marked as J2 (R=RX, T=TX, G=GND) with 115200 8N1 config
- LEDs: Power, FE ports 1-5, WPS, USB, RF 2.4G, RF 5G
- Other: USB port, SD card slot and 2x external antennas (non-detachable)

Flashing instructions:

A) The U-Boot has HTTP based firmware upgrade

  A1) Flashing notes

  We've identified so far two different batches of units, unfortunately
  each batch has different U-Boot bootloader flashed with different
  default environment variables, thus each batch has different IP address
  for accessing web based firmware updater.

  * First batch has web based bootloader IP address 1.1.1.1
  * Second batch has web based bootloader IP address 192.168.1.250

  In case you can't connect to either of those IPs, you can try to get
  the default IP address via two methods:

  A1.1) Serial console, then the IP address is visible during the boot

   ...
   HTTP server is starting at IP: 1.1.1.1
   raspi_read: from:40004 len:6
   HTTP server is ready!
   ...

  A1.2) Over telnet/SSH using this command:

   root@bdcom:/# grep ipaddr= /dev/mtd0
   ipaddr=1.1.1.1

  A2) Flashing with browser

  * Change IP address of PC to 1.1.1.2 with 255.255.255.0 netmask
  * Reboot the device and try to reach web based bootloader in the
    browser with the following URL http://1.1.1.1

  * Quickly select the firmware sysupgrade file and click on the
    `Update firmware` button, this all has to be done within 10 seconds,
    bootloader doesn't wait any longer

   If done correctly, the web page should show UPDATE IN PROGRESS page
   with progress indicator. Once the flashing completes (it takes roughly
   around 1 minute), the device will reboot to the OpenWrt firmware

  A3) Flashing with curl

   sudo ip addr add 1.1.1.2/24 dev eth0
   curl \
      --verbose \
      --retry 3 \
      --retry-delay 1 \
      --retry-max-time 30 \
      --connect-timeout 30 \
      --form "firmware=@openwrt-ramips-mt7620-BDCOM-WAP2100-SK-squashfs-sysupgrade.bin" \
      http://1.1.1.1

   Now power on the router.

B) 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 UART line as described on the PCB (G=GND, R=RX, T=TX)
   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.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agointel-microcode: create early load microcode image
Tomasz Maciej Nowak [Tue, 20 Nov 2018 16:20:44 +0000 (17:20 +0100)]
intel-microcode: create early load microcode image

Create initrd image with packed microcode. This'll allow to load it at
early boot stage.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agox86: add intel microcode entries to grub config
Tomasz Maciej Nowak [Tue, 20 Nov 2018 16:20:43 +0000 (17:20 +0100)]
x86: add intel microcode entries to grub config

Create initrd enries for x86 images, that'll load intel microcode as
early as possible. To achieve that the test module for grub is enabled
which provides shell-like conditionals. Also restrict the late load of
microcode to AMD processors.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agointel-microcode: remove dependency on iucode-tool
Tomasz Maciej Nowak [Tue, 20 Nov 2018 16:20:42 +0000 (17:20 +0100)]
intel-microcode: remove dependency on iucode-tool

It is not necessary to have iucode-tool present on target system to have
functional intel-microcode package. The build time dependency is kept.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agox86: add packages files to image bootfs
Tomasz Maciej Nowak [Tue, 20 Nov 2018 16:20:41 +0000 (17:20 +0100)]
x86: add packages files to image bootfs

Add files to bootfs image from selected as built-in packages, which want
to install files to targets boot file system.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agox86: mount writable bootfs
Tomasz Maciej Nowak [Tue, 20 Nov 2018 16:20:40 +0000 (17:20 +0100)]
x86: mount writable bootfs

Mount boot file system with rw option to allow installation of packages
which install files to /boot directory.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agoinclude/rootfs.mk: remove boot directory
Tomasz Maciej Nowak [Tue, 20 Nov 2018 16:20:39 +0000 (17:20 +0100)]
include/rootfs.mk: remove boot directory

Currently every file in boot directory is copied over target /boot on
root file system and is usually inaccessible because appropriate boot
file system is mounted on top of it. Therefore remove /boot, which in
result will also save space on target root file system.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
5 years agoath79: ubnt-m-xw: Fix factory image flashing using TFTP recovery method
Petr Štetiar [Mon, 19 Nov 2018 20:44:50 +0000 (21:44 +0100)]
ath79: ubnt-m-xw: Fix factory image flashing using TFTP recovery method

Ubiquity allows flashing of unsigned factory images via TFTP recovery
method[1]. They claim in airOS v6.0.7 release changelog[2] following:

 All future airOS versions will be signed in this way and not allow
 unsigned firmware to be loaded except via TFTP.

U-boot bootloader on M-XW devices expects factory image revision
version in specific format. On airOS v6.1.7 with `U-Boot 1.1.4-s1039
(May 24 2017 - 15:58:18)` bootloader checks if the revision major(?)
number is actually a number, but in currently generated images there's
OpenWrt text and so the check fails:

 Hit any key to stop autoboot:  0
 Setting default IP 192.168.1.20
 Starting TFTP server...
 Receiving file from 192.168.1.25:38438
 Received 4981148 bytes
 Firmware check failed! (1)

By placing arbitrary correct number first in major version, we make the
bootloader happy and we can flash factory images over TFTP again:

 Received 3735964 bytes
 Firmware Version: XW.ar934x.v6.0.4-42.r8474-56aa1ac-OpenWrt
 Setting U-Boot environment variables
 Un-Protected 1 sectors
 Erasing Flash.... done

Patch provided by AREDN[3] project, tested on Bullet M2 XW (ynezz) and
Nanostation M5 XW (ae6xe).

1. https://help.ubnt.com/hc/en-us/articles/204910124-UniFi-TFTP-Recovery-for-Bricked-Access-Points
2. https://dl.ubnt.com/firmwares/XW-fw/v6.0.7/changelog.txt
3. https://github.com/aredn

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: Add support for Ubiquity Bullet M (XW)
Petr Štetiar [Sat, 17 Nov 2018 07:01:55 +0000 (08:01 +0100)]
ath79: Add support for Ubiquity Bullet M (XW)

CPU: AR9342 SoC
RAM:     64 MB DDR2
Flash:    8 MB NOR SPI
Ports:  100 MBit (24V PoE in)
WLAN: 2.4/5 GHz
UART:     1 UART on PCB marked as J1 with 115200 8N1 config
LEDs:       Power, Ethernet, 4x RSSI LEDs (orange, red, 2x green)
Buttons:    Reset

UART connection details

  .---------------------------------.
  |                                 |
[ETH]          J1                 [ANT]
  |    o VCC o RX o TX o GND        |
  `---------------------------------'

Flashing instructions

 A) Serial console, U-Boot and TFTP

   1. Connect to serial header J1 on the PCB
   2. Power on device and enter U-Boot console
   3. Set up TFTP server serving an OpenWrt initramfs build
   4. Load initramfs build using the command tftpboot in the U-Boot cli
   5. Boot the loaded image using the command bootm
   6. Copy squashfs OpenWrt sysupgrade build to the booted device
   7. Use mtd to write sysupgrade to partition "firmware"
   8. Reboot and enjoy

 B) Experimental factory image flashing over SSH from airOS v6.1.7

   1. You need to flash your UBNT M2HP with airOS v6.1.7 firmware
      no other airOS version is currently supported
   2. git clone https://github.com/true-systems/ubnt-bullet-m2hp-openwrt-flashing
   3. cd ubnt-bullet-m2hp-openwrt-flashing
   4. make flash-factory FW_OWRT=/path/to/your/openwrt-ath79-generic-ubnt_bullet-m-xw-squashfs-factory.bin

Tested only on Bullet M2HP.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoramips: fix ethernet for f5d8235-v2 board
Roman Yeryomin [Sun, 18 Nov 2018 13:46:58 +0000 (15:46 +0200)]
ramips: fix ethernet for f5d8235-v2 board

Belkin F5D8235 v2 has two ethernet switches on board.
One internal rt3052 and rtl8366rb on rgmii interface.
Looks like internal switch settings were lost in
translation to device tree infrastructure.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
5 years agoramips: add support for Skylab SKW92A in EVB
Russell Senior [Sun, 25 Nov 2018 11:39:19 +0000 (03:39 -0800)]
ramips: add support for Skylab SKW92A in EVB

Specifically, SKW92A_E16, described here:

  http://www.skylabmodule.com/wp-content/uploads/SkyLab_SKW92A_V1.04_datasheet.pdf

Specification:
- MediaTek MT7628N/N (580 Mhz)
- 64 MB of RAM
- 16 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
- 2x u.FL
- Power by micro-USB connector at USB1 on EVB
- UART via micro-USB connector at USB3 on EVB (57600 8n1)
- 5x Ethernet LEDs
- 1x WLAN LEDs
- 1x WPS LED connected by jumper wire from I2S_CK on J20 to WPS_LED pin hole next
  to daughter board on EVB
- WPS/Reset button (S2 on EVB)
- RESET button (S1 on EVB) is *not* connected to RST hole next to daughter board

Flash instruction:

>From Skylab firmware:

1. Associate with SKYLAP_AP
2. In a browser, load: http://10.10.10.254/
3. Username/password: admin/admin
4. In web admin interface: Administration / Upload Firmware, browse to
   sysupgrade image, apply, flash will fail with a message:
   Not a valid firmware. *** Warning: "/var/tmpFW" has corrupted data!
5. Telnet to 10.10.10.254, drops you into a root shell with no credentials
6. # cd /var
7. # mtd_write -r write tmpFW mtd4
   Unlocking mtd4 ...
   Writing from tmpFW to mtd4 ... [e]
8. When flash has completed, you will have booted into your firmware.

>From U-boot via TFTP and initramfs:

1. Place openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin on a TFTP server
2. Connect to serial console at USB3 on EVB
3. Connect ethernet between port 1 (not WAN) and your TFTP server (e.g.
   192.168.11.20)
4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC
5. Apply power to EVB
6. Interrupt u-boot with keypress of "1"
7. At u-boot prompts:
   Input device IP (10.10.10.123) ==:192.168.11.21
   Input server IP (10.10.10.3) ==:192.168.11.20
   Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin
8. Move ethernet to port 0 (WAN) on EVB
9. At new OpenWrt console shell, fetch squashfs-sysupgrade image and flash
   with sysupgrade.

>From U-boot via TFTP direct flash:

1. Place openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin on a TFTP server
2. Connect to serial console at USB3 on EVB (57600 8N1)
3. Connect ethernet between port 1 (not WAN) an your TFTP server (e.g.
   192.168.11.20)
4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC
5. Apply power to EVB
6. Interrupt u-boot with keypress of "2"
7. At u-boot prompts:
   Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y
   Input device IP (10.10.10.123) ==:192.168.11.21
   Input server IP (10.10.10.3) ==:192.168.11.20
   Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin
8. When transfer is complete or as OpenWrt begins booting, move ethernet to
   port 0 (WAN).

Signed-off-by: Russell Senior <russell@personaltelco.net>
5 years agovalgrind: enable LTO and refresh patches
Syrone Wong [Sat, 24 Nov 2018 02:00:46 +0000 (10:00 +0800)]
valgrind: enable LTO and refresh patches

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>