oweals/openwrt.git
5 years agofritz-tools: add fritz_tffs_nand_read tool
Andy Binder [Thu, 24 Jan 2019 16:53:13 +0000 (17:53 +0100)]
fritz-tools: add fritz_tffs_nand_read tool

A tool for reading the TFFS partitions (a name-value storage usually
found in AVM Fritz!Box based devices) on nand flash.

Copyright (c) 2018 Valentin Spreckels <Valentin.Spreckels@Informatik.Uni-Oldenburg.DE>

Based on the fritz_tffs_read tool:
    Copyright (c) 2015-2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>
and on the TFFS 2.0 kernel driver from AVM:
    Copyright (c) 2004-2007 AVM GmbH <fritzbox_info@avm.de>
and the TFFS 3.0 kernel driver from AVM:
    Copyright (C) 2004-2014 AVM GmbH <fritzbox_info@avm.de>
and the OpenWrt TFFS kernel driver:
    Copyright (c) 2013 John Crispin <blogic@openwrt.org>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Signed-off-by: Valentin Spreckels <Valentin.Spreckels@Informatik.Uni-Oldenburg.de>
Signed-off-by: Andy Binder <AndyBinder@gmx.de>
5 years agosunxi: add support for Orange Pi PC Plus
Aleksander Jan Bajkowski [Fri, 1 Mar 2019 19:30:47 +0000 (20:30 +0100)]
sunxi: add support for Orange Pi PC Plus

CPU: H3 Quad-core Cortex-A7 H.265/HEVC 4K @ 1.2 Ghz
GPU: Mali400MP2 GPU @ 600MHz (supports OpenGL ES 2.0)
Memory: 1GB DDR3 (shared with GPU)
Onboard: Storage TF card (Max. 64GB) / MMC card slot
Onboard: Storage 8 GB eMMC
Onboard: Network 10/100M Ethernet RJ45
Onboard: Network WiFi 802.11 b/g/n (Realtek RTL8189FTV)
Onboard header: SPI, I2C, GPIO, UART
USB 2.0: Three USB 2.0 HOST, One USB 2.0 OTG

Known issues:
-Wifi diesn't work

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
5 years agoopenssl: backport devcrypto changes from master
Eneas U de Queiroz [Wed, 27 Feb 2019 21:39:18 +0000 (21:39 +0000)]
openssl: backport devcrypto changes from master

The patches to the /dev/crypto engine were commited to openssl master,
and will be in the next major version (3.0).

Changes:
- Optimization in computing a digest in one operation, saving an ioctl
- Runtime configuration options for the choice of algorithms to use
- Command to dump useful information about the algorithms supported by
  the engine and the system.
- Build the devcrypto engine as a dynamic module, like other engines.

The devcrypto engine is built as a separate package by default, but
options were added to allow building the engines into the main library.

Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
[refresh patches]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years ago6to4: update OpenWrt documentation URL
Vieno Hakkerinen [Sun, 3 Mar 2019 11:19:00 +0000 (11:19 +0000)]
6to4: update OpenWrt documentation URL

Signed-off-by: Vieno Hakkerinen <txt.file@txtfile.eu>
5 years agouboot-envtools: ath79: add support for YunCore A770
Piotr Dymacz [Sat, 9 Mar 2019 15:31:22 +0000 (16:31 +0100)]
uboot-envtools: ath79: add support for YunCore A770

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agoath79: add support for YunCore A770
Piotr Dymacz [Sat, 9 Mar 2019 15:31:17 +0000 (16:31 +0100)]
ath79: add support for YunCore A770

YunCore A770 is a ceiling AC750 AP with 2 Fast Ethernet ports, PoE
(802.3at) support, based on QCA9531 + QCA9887.

Specification:

- 650/597/216 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of flash (SPI NOR)
- 2x 10/100 Mbps Ethernet (PoE 802.3at support in WAN port)
- 2T2R 2.4 GHz (QCA9531), with ext. PA and LNA
- 1T1R 5 GHz (QCA9887), with ext. FEM (SKY85728-11)
- 2x regular LED, 1x RGB LED (all driven by GPIO)
- 1x button (reset)
- DC jack for main power input (12 V)
- UART header on PCB

Flash instruction:

1. First, gain root access to the device, following below steps:

- Login into web gui (default password/IP: admin/192.168.188.253).
- Go to 'Advanced' -> 'Management' -> 'System' and download backup of
  configuration (bakfile.bin).
- Open the file as tar.gz archive, edit/update 'shadow' file and change
  hash of root password to something known.
- Repack the archive, rename it back to 'bakfile.bin' and use to
  restore configuration of the device.
- After that, device will reboot and can be accessed over SSH.

2. Then, install OpenWrt:

- Login over SSH and issue command:
  fw_setenv bootcmd "bootm 0x9f050000 || bootm 0x9fe80000"
- Upload 'sysupgrade' image and install it (only if previous command
  succeeded) with command: 'sysupgrade -n -F openwrt-...'.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agoipq40xx: backport I2C QUP driver changes from 4.17
Piotr Dymacz [Sun, 3 Mar 2019 19:23:31 +0000 (20:23 +0100)]
ipq40xx: backport I2C QUP driver changes from 4.17

Backport below changes for I2C QUP driver from v4.17:

  0668bc44a426 i2c: qup: fix copyrights and update to SPDX identifier
  7239872fb340 i2c: qup: fixed releasing dma without flush operation completion
  eb422b539c1f i2c: qup: minor code reorganization for use_dma
  6d5f37f166bb i2c: qup: remove redundant variables for BAM SG count
  c5adc0fa63a9 i2c: qup: schedule EOT and FLUSH tags at the end of transfer
  7e6c35fe602d i2c: qup: fix the transfer length for BAM RX EOT FLUSH tags
  3f450d3eea14 i2c: qup: proper error handling for i2c error in BAM mode
  08f15963bc75 i2c: qup: use the complete transfer length to choose DMA mode
  ecb6e1e5f435 i2c: qup: change completion timeout according to transfer length
  6f2f0f6465ac i2c: qup: fix buffer overflow for multiple msg of maximum xfer len
  f7714b4e451b i2c: qup: send NACK for last read sub transfers
  fbfab1ab0658 i2c: qup: reorganization of driver code to remove polling for qup v1
  7545c7dba169 i2c: qup: reorganization of driver code to remove polling for qup v2

This fixes various I2C issues observed on AP120C-AC board equipped with
Atmel/Microchip AT97SC3205T TPM module.

Tested-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agoipq40xx: add ath10k-calibration-variant in AP120C-AC DTS
Piotr Dymacz [Sat, 2 Mar 2019 13:42:55 +0000 (14:42 +0100)]
ipq40xx: add ath10k-calibration-variant in AP120C-AC DTS

Use 'ath10k-calibration-variant' (with the value sent upstream) for the
second (5 GHz) radio in AP120C-AC board DTS. First radio uses the same
BDF as in one of Qualcomm reference designs.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agoipq-wifi: update ALFA Network AP120C-AC board-2.bin
Piotr Dymacz [Sat, 2 Mar 2019 13:26:11 +0000 (14:26 +0100)]
ipq-wifi: update ALFA Network AP120C-AC board-2.bin

Add specific 'variant' for 'bus=ahb,bmi-chip-id=0,bmi-board-id=25' BDF.
Use the same value ('ALFA-Network-AP120C-AC') as sent upstream.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
5 years agoib: show current revision based on $(REVISION)
Paul Spooren [Fri, 8 Mar 2019 00:09:23 +0000 (01:09 +0100)]
ib: show current revision based on $(REVISION)

This is useful in for the attendedsyupsgrade server (asu) to
distinguish between snapshot version. Currently asu can't tell devices
requesting a snapshot build if the same build is already installed.

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years agoib: show unified target based on $(TARGETID)
Paul Spooren [Fri, 8 Mar 2019 00:06:26 +0000 (01:06 +0100)]
ib: show unified target based on $(TARGETID)

Instead of showing a slightly more readable target like
"ar71xx (Generic)" print the more generic format "ar71xx/genric"

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years agoucert: add PROVIDES also for minimal 'ucert' package
Daniel Golle [Thu, 7 Mar 2019 10:46:51 +0000 (11:46 +0100)]
ucert: add PROVIDES also for minimal 'ucert' package

Otherwise ucert-full gets selected instead of ucert when depending on
ucert.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agomt76: update to the latest version
Felix Fietkau [Thu, 7 Mar 2019 18:22:24 +0000 (19:22 +0100)]
mt76: update to the latest version

1d7760d mt76: mt7603: set moredata flag when queueing ps-filtered packets
0b927b2 mt76: fix return value check in mt76_wmac_probe()
e72376d mt76x02: fix hdr pointer in write txwi for USB

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agokernel: bump 4.14 to 4.14.105
Koen Vandeputte [Wed, 6 Mar 2019 16:02:12 +0000 (17:02 +0100)]
kernel: bump 4.14 to 4.14.105

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.9 to 4.9.162
Koen Vandeputte [Wed, 6 Mar 2019 11:56:56 +0000 (12:56 +0100)]
kernel: bump 4.9 to 4.9.162

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agotools/mkimage: use http download server (fixes FS#2052)
Felix Fietkau [Tue, 5 Mar 2019 12:18:02 +0000 (13:18 +0100)]
tools/mkimage: use http download server (fixes FS#2052)

Fixes timeouts with trying to access the FTP site.
Also remove mirror2.openwrt.org, which does not keep current tarballs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agoowl-loader: fix crash caused by endian patch
Christian Lamparter [Wed, 6 Mar 2019 16:53:27 +0000 (17:53 +0100)]
owl-loader: fix crash caused by endian patch

This patch fixes a crash that occured on the
BT Home Hub v5a (lantiq/xrx200) which resulted
in the device bootlooping.

Reported-by: Ryan Mounce <ryan@mounce.com.au>
Tested-by: Vitalij Alshevsky <v_alshevsky@tut.by>
Fixes: ddece08bf456 ("kernel: owl-loader: fix sparse endian warnings")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agomips: fix dynamic ftrace
Mantas Pucka [Tue, 5 Mar 2019 14:22:02 +0000 (16:22 +0200)]
mips: fix dynamic ftrace

This was fixed for v4.9 in 076d2ea68, now port to all kernels

Signed-off-by: Mantas Pucka <mantas@8devices.com>
5 years agoramips: rework network settings for HC5861
Chen Minqiang [Fri, 22 Feb 2019 14:38:59 +0000 (22:38 +0800)]
ramips: rework network settings for HC5861

dts: disable port4 and leave it ephy mode because it connect to nothing
switch port5 connected to GE port we use it as wan port

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
5 years agoar71xx: enable QCA955x SGMII fixup on Rambutan
Mantas Pucka [Wed, 6 Mar 2019 08:24:33 +0000 (10:24 +0200)]
ar71xx: enable QCA955x SGMII fixup on Rambutan

fixes intermittent loss of connectivity on 1Gbit port, with
log message:

  803x_aneg_done: SGMII link is not ok

Signed-off-by: Mantas Pucka <mantas@8devices.com>
5 years agoath10k-ct: limit available channels via DT
David Bauer [Mon, 4 Mar 2019 17:03:57 +0000 (18:03 +0100)]
ath10k-ct: limit available channels via DT

This backports upstream commit

34d5629 ath10k: limit available channels via DT ieee80211-freq-limit

to the 4.19 ath10k-ct version. Without this patch, disabled channels
are still listed as a supported configuration for the radio.

The identical patch was also backported by OpenWRT to the non-ct driver.
It can be dropped as soon as we switch to an ath10k-ct version based on
4.20 or higher.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath10k-firmware: update Candela Tech firmware images
Michael Yartys [Fri, 1 Mar 2019 11:25:40 +0000 (12:25 +0100)]
ath10k-firmware: update Candela Tech firmware images

Release notes since last update:

wave-1 firmware:

*  Feb 14, 2019:  Remove logic that causes assert when swba logic is not
                  initialized. This was seen when trying to bring up 6 VAP
                  vdevs. A similar fix went into wave-2 firmware some time
                  ago.

*  Feb 27, 2019:  Support up to 32 vAP vdevs, fix stack corruption when
                  driver requests too many vAP.

*  Feb 28, 2019:  Support beacon-tx-wmi callback message. This lets driver
                  properly clean up beacon buffers so we don't crash
                  (somethings the entire OS/system) due to DMA errors.

wave-2 firmware:

*  Feb 27. 2019:  Support up to 32 AP vdevs. Previous to this, stack would
                  be corrupted if you went past 16 AP vdevs.

*  Feb 28, 2019:  Support beacon-tx-wmi callback message. This lets driver
                  properly clean up beacon buffers. In wave-1, this could
                  crash the entire OS, but I didn't see the same crashes
                  in wave-2, so maybe it is fixed in some other way. Add
                  the feature regardless as it seems proper.

Signed-off-by: Michael Yartys <michael.yartys@gmail.com>
5 years agoath10k-ct: Update to 2019-02-28
Michael Yartys [Sat, 2 Mar 2019 19:50:18 +0000 (20:50 +0100)]
ath10k-ct: Update to 2019-02-28

9360f389234a ath10k: Support up to 24 vAP per radio, fix DMA bug in wave-1.
9cbf8d430974 ath10k-ct: Add 4.20 driver, SGI support for fixed-rate tx.

Runtime tested on: ipq806x

Signed-off-by: Michael Yartys <michael.yartys@gmail.com>
5 years agolantiq: enlarge ZyXEL P-2812HNU-F1 kernel partition (FS#2124)
Christian Lamparter [Sat, 2 Mar 2019 21:33:42 +0000 (22:33 +0100)]
lantiq: enlarge ZyXEL P-2812HNU-F1 kernel partition (FS#2124)

The current snapshot release kernel with it's 2119245 Byte
size is too big to fit into the 2097152 (2MiB) area that
was set aside for the kernel. Which causes the device to
fail to boot (after an update or even during a fresh install)

 NAND read: device 0 offset 0x60000, size 0x200000
  2097152 bytes read: OK
 ## Booting kernel from Legacy Image at 80800000 ...
    Image Name:   MIPS OpenWrt Linux-4.14.98
    Created:      2019-02-13   9:37:36 UTC
    Image Type:   MIPS Linux Kernel Image (lzma compressed)
    Data Size:    2119245 Bytes = 2 MiB
    Load Address: 80002000
    Entry Point:  80002000
    Verifying Checksum ... Bad Data CRC
 ERROR: can't get kernel image!

This patch fixes the problem by enlarging the kernel partition
at the cost of the ubi/data partition behind it. The patch
also adds a KERNEL_SIZE variable to the image Makefile to
prevent silent corruptions from happening in the future.

Please note: The u-boot environment for the router also
needs to be updated. So please attach an appropriate
serial converter cable and enter the following commands
into the u-boot prompt:

 setenv nboot 'nand read 0x80800000 0x60000 0x300000; bootm 0x80800000'
 saveenv

The wiki has been updated accordingly:
<https://openwrt.org/toh/zyxel/p2812hnu-f1>

Fixes: FS#2124
Suggested-by: Mafketel (User on bugs.openwrt.org)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoib: display whether profile comes with image metadata
Daniel Golle [Wed, 6 Mar 2019 13:45:15 +0000 (14:45 +0100)]
ib: display whether profile comes with image metadata

Having image metadata (and signature) appended is a condition for
semi-automated sysupgrade, hence IB needs to be able to tell which
images will end up with metadata.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoramips: mt7620: export chip version and pkg
Daniel Golle [Sun, 5 Feb 2017 14:03:14 +0000 (15:03 +0100)]
ramips: mt7620: export chip version and pkg

Similar to the (currently unused) mt7620_get_eco() function, introduce
mt7620_get_chipver() and mt7620_get_pkg() functions to allow rt2x00 to
probe for the type of WiSoC. This is ugly and probably unacceptable
for upstream, however, it should help to evaluate which of those hacks
are actually really needed, enumerate the possible values and label
them in a more meaningful way than currently done in the vendor driver.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agometadata: add "metadata_version" field
Paul Spooren [Tue, 5 Mar 2019 23:32:45 +0000 (00:32 +0100)]
metadata: add "metadata_version" field

allow downstream projects to see the current version of the metadata,
usefull if eventually more variables change

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years agometadata: add "target" entry
Paul Spooren [Tue, 26 Feb 2019 19:41:52 +0000 (20:41 +0100)]
metadata: add "target" entry

add "target" entry based on $(TARGETID) resulting in
`<target>/<subtarget>`.

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years agometadata: fixup "board"
Paul Spooren [Tue, 26 Feb 2019 19:50:49 +0000 (20:50 +0100)]
metadata: fixup "board"

currently the "board" parameter contains $(BOARD) which actually results
to `<target>` (like ramips, ar71xx) without subtarget. However, one
actually excepts (not?) to contain BOARD_NAME or DEVICE_NAME.

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years agokernel: fix refcnt leak in LED netdev trigger on interface rename
Rafał Miłecki [Tue, 5 Mar 2019 22:08:45 +0000 (23:08 +0100)]
kernel: fix refcnt leak in LED netdev trigger on interface rename

This fixes a possible unbalanced dev_hold():
> iw dev bar del
[  237.355366] unregister_netdevice: waiting for bar to become free. Usage count = 1
[  247.435362] unregister_netdevice: waiting for bar to become free. Usage count = 1
[  257.545366] unregister_netdevice: waiting for bar to become free. Usage count = 1

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agouqmi: inherit firewall zone membership to virtual sub interfaces
Jo-Philipp Wich [Wed, 14 Nov 2018 11:49:45 +0000 (12:49 +0100)]
uqmi: inherit firewall zone membership to virtual sub interfaces

Fix an issue where subinterfaces were not added to the same
firewall zone as their parent.

Fixes: FS#2122
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agoar71xx: ag71xx: fix compile error when enabling debug
Koen Vandeputte [Mon, 11 Feb 2019 17:34:38 +0000 (18:34 +0100)]
ar71xx: ag71xx: fix compile error when enabling debug

Starting from kernel 4.5, phy_id needs to be fetched from a different location.

not doing so results in this compile error:

drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c: In function 'ag71xx_phy_connect_multi':
drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c:133:35: error: 'struct mdio_device' has no member named 'phy_id'
    ag->mii_bus->mdio_map[phy_addr]->phy_id);
                                   ^
./include/linux/printk.h:137:18: note: in definition of macro 'no_printk'
    printk(fmt, ##__VA_ARGS__); \
                  ^~~~~~~~~~~
drivers/net/ethernet/atheros/ag71xx/ag71xx.h:72:27: note: in expansion of macro 'pr_debug'
 #define DBG(fmt, args...) pr_debug(fmt, ## args)
                           ^~~~~~~~
drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c:130:3: note: in expansion of macro 'DBG'
   DBG("%s: PHY found at %s, uid=%08x\n",
   ^~~
scripts/Makefile.build:326: recipe for target 'drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.o' failed

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.14 to 4.14.104
Koen Vandeputte [Wed, 27 Feb 2019 16:07:48 +0000 (17:07 +0100)]
kernel: bump 4.14 to 4.14.104

Refreshed all patches.

Altered patches:
- 332-arc-add-OWRTDTB-section.patch

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.9 to 4.9.161
Koen Vandeputte [Wed, 27 Feb 2019 16:01:41 +0000 (17:01 +0100)]
kernel: bump 4.9 to 4.9.161

Refreshed all patches.

Altered patches:
- 332-arc-add-OWRTDTB-section.patch

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agomac80211: rt2x00: do not increment sequence number while re-transmitting
Vijayakumar Durai [Tue, 26 Feb 2019 13:59:30 +0000 (19:29 +0530)]
mac80211: rt2x00: do not increment sequence number while re-transmitting

Currently STA+AP re-transmitting the management frames with
incremented sequence number if hardware is assigning the sequence.

Fix is to assign the sequence number for Beacon by hardware
and for other Management frames software will assign the
sequence number

Signed-off-by: Vijayakumar Durai <vijayakumar.durai1@vivint.com>
5 years agoath79: Add support for Ubiquiti Nanostation M (XW)
Petr Štetiar [Wed, 12 Dec 2018 20:09:01 +0000 (21:09 +0100)]
ath79: Add support for Ubiquiti Nanostation M (XW)

CPU:  AR9342 SoC
RAM:      64 MB DDR2
Flash:     8 MB NOR SPI
Ports: 2x100 MBit (24V PoE in, 24V PoE out), AR8236 switch
WLAN:  2.4/5 GHz
UART:      1 UART
LEDs:        Power, 2x Ethernet, 4x RSSI LEDs (orange, red, 2x green)
Buttons:     Reset

Flashing instructions using recovery method over TFTP

 1. Unplug the ethernet cable from the router.
 2. Using paper clip press and hold the router's reset button. Make sure
    you can feel it depressed by the paper clip. Do not release the button
    until step 4.
 3. While keeping the reset button pressed in, plug the ethernet cable
    back into the AP. Keep the reset button depressed until you see the
    device's LEDs flashing in upgrade mode (alternating LED1/LED3 and
    LED2/LED4), this may take up to 25 seconds.
 4. You may release the reset button, now the device should be in TFTP
    transfer mode.
 5. Set a static IP on your Computer's NIC. A static IP of 192.168.1.25/24
    should work.
 6. Plug the PoE injector's LAN cable directly to your computer.
 7. Start tftp client and issue following commands:
     tftp> binary
     tftp> connect 192.168.1.20
     tftp> put openwrt-ath79-generic-ubnt-nano-m-xw-squashfs-factory.bin

Tested-by: Joe Ayers <ae6xe@arrl.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: gmac: ar934x: Add parser for mii-gmac0-slave
Petr Štetiar [Mon, 19 Nov 2018 23:16:27 +0000 (00:16 +0100)]
ath79: gmac: ar934x: Add parser for mii-gmac0-slave

While converting Nanostation M XW from current ar71xx code to ath79 I've
hit one issue, where the ethernet networking wasn't working, so I was
checking every bit in the networking setup path between ar71xx and
ath79.

I've came to the following code in ar71xx/mach-ubnt-xm.c:

 static void __init ubnt_xw_init(void) {
  ...
  ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_MII_GMAC0 |
                                   AR934X_ETH_CFG_MII_GMAC0_SLAVE);
  ...
 }

Where this code is setting AR934X_ETH_CFG_MII_GMAC0_SLAVE bit in
AR934X_GMAC_REG_ETH_CFG register, but I couldn't find a way of setting
this bit from DTS, so this patch adds `mii-gmac0-slave` DTS property
which allows setting of this bit in `gmac-config`, which is then used in
Nanostation M XW DTS.

Tested-by: Joe Ayers <ae6xe@arrl.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: qca955x: assert mdio/gmac reset together
Chuanhong Guo [Sun, 27 Jan 2019 12:54:47 +0000 (20:54 +0800)]
ath79: qca955x: assert mdio/gmac reset together

This allows resetting gmac registers during initialization.
Also add compatible string for qca955x mdio to enable more mdio
clock dividers.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ar934x: assert mac/mdio reset together for gmac0
Chuanhong Guo [Sat, 15 Dec 2018 07:57:54 +0000 (15:57 +0800)]
ath79: ar934x: assert mac/mdio reset together for gmac0

This allows resetting gmac registers during initialization.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx: add support for optional mdio reset
Chuanhong Guo [Sat, 15 Dec 2018 07:44:34 +0000 (15:44 +0800)]
ath79: ag71xx: add support for optional mdio reset

On ar933x and later chips, there are separated mac/mdio resets, but
resetting the entire gmac block with register values requires both
mac_reset and mdio_reset to be asserted together.

Add support for optional mdio reset so that we can do a full reset
if needed.

This patch also replaced deprecated devm_reset_control_get for
mac reset.

To use this feature, the following is needed:
 1. drop "simple-mfd" compatible to register mdio0 after gmac init
    so that mdio registers aren't reset after initialization.
 2. move mdio reset from mdio-bus to its parent eth node.

NOTE: This can't be applied on gmac1 with builtin switch since we
haven't add a feature to defer probe if phy connection failed.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx: register mdio using of_platform_populate
Chuanhong Guo [Wed, 9 Jan 2019 14:02:09 +0000 (22:02 +0800)]
ath79: ag71xx: register mdio using of_platform_populate

remove the hacky checking of "simple-mfd" compatible
also add some comments explaining that piece of code.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx-mdio: get reset control using devm api
Chuanhong Guo [Sat, 15 Dec 2018 07:35:37 +0000 (15:35 +0800)]
ath79: ag71xx-mdio: get reset control using devm api

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx: replace alloc_etherdev with devm_alloc_etherdev
Chuanhong Guo [Fri, 14 Dec 2018 16:03:43 +0000 (00:03 +0800)]
ath79: ag71xx: replace alloc_etherdev with devm_alloc_etherdev

using the devm api makes the code simpler.
also drop unneeded memory free from ag71xx_remove since they are
allocated using devm apis.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agoath79: ag71xx: replace ag71xx_get_phy_if_mode_name() with phy_modes()
Chuanhong Guo [Fri, 14 Dec 2018 15:38:49 +0000 (23:38 +0800)]
ath79: ag71xx: replace ag71xx_get_phy_if_mode_name() with phy_modes()

phy_modes() in phy.h can convert PHY modes to string with supports
for all available PHY modes.

Also add a space in mode printing to make it look better.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 years agooxnas: pcie: model shared resource as external pcie-phy driver
Daniel Golle [Mon, 4 Mar 2019 21:09:36 +0000 (22:09 +0100)]
oxnas: pcie: model shared resource as external pcie-phy driver

Refactor pcie-oxnas to have shared resources in syscon and new pcie-phy
driver. Hopefully this revives PCIe...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: convert pcie to builtin_platform_driver
Daniel Golle [Mon, 4 Mar 2019 03:04:52 +0000 (04:04 +0100)]
oxnas: convert pcie to builtin_platform_driver

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: restart: use register definitions from dt-bindings
Daniel Golle [Sun, 3 Mar 2019 21:09:33 +0000 (22:09 +0100)]
oxnas: restart: use register definitions from dt-bindings

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: cleanup and improve pcie driver
Daniel Golle [Sun, 3 Mar 2019 19:34:15 +0000 (20:34 +0100)]
oxnas: cleanup and improve pcie driver

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agotools: squashfskit4 should only depend on coreutils on non-linux systems
Felix Fietkau [Sun, 3 Mar 2019 19:58:52 +0000 (20:58 +0100)]
tools: squashfskit4 should only depend on coreutils on non-linux systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agotools/squashfskit: fix version detection on non-linux system
Alexander Couzens [Sat, 2 Mar 2019 13:46:57 +0000 (14:46 +0100)]
tools/squashfskit: fix version detection on non-linux system

gnu date is present in our staging_dir which means squashfskit will fail
to build. Prevent also a race condition if coreutils is build after
squashfskit.

To prevent a race condition, depend on coreutils.

Acked-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
5 years agomt76: update to the latest version
Felix Fietkau [Fri, 1 Mar 2019 15:55:39 +0000 (16:55 +0100)]
mt76: update to the latest version

3c6df9b mt76: rewrite dma descriptor base and ring size on queue reset
30e757e mt76: mt76x02: when setting a key, use PN from mac80211
fa83406 mt76: mt76x2: implement full device restart on watchdog reset
ead881b mt76: mt76x02: do not sync PN for keys with sw_iv set
ba1d989 mt76: mmio: move mt76x02_set_irq_mask in mt76 module
283ebbe mt76: dma: move mt76x02_init_{tx,rx}_queue in mt76 module
b216d3c mt76: introduce q->stopped parameter
8b437d2 mt76x02: clear sta and vif driver data structures on add
2c62d03 mt76x02: clear running flag when resetting state on restart
6b10cfc mt76: mt76x02: only update the base mac address if necessary
669bc49 mt76: mt76x02: reduce false positives in ED/CCA tx blocking
2ed9382 mt76: mt7603: fix tx status HT rate validation
d2c6823 mt76: mt76x2: fix external LNA gain settings
8ee2259 mt76: mt76x2: fix 2.4 GHz channel gain settings
8bfe6d4 mt76: mt7603: clear ps filtering mode before releasing buffered frames
d13b065 mt76: mt7603: fix up hardware queue index for PS filtered packets
eb1ecc4 mt76: mt7603: notify mac80211 about buffered frames in ps queue
3687eec mt76: mt7603: clear the service period on releasing PS filtered packets
42ab27e mt76: when releasing PS frames, end the service period if no frame was found
461f3b0 mt76: mt76x02: disable ED/CCA by default

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: Activate DRIVER_11W_SUPPORT for more capable drivers
Hauke Mehrtens [Thu, 28 Feb 2019 19:41:32 +0000 (20:41 +0100)]
mac80211: Activate DRIVER_11W_SUPPORT for more capable drivers

ieee80211w support is only activated in hostapd when at least one
capable driver is build into the image. Many drivers which are capable
of ieee80211 (MFP) and have the MFP_CAPABLE set in the driver are still
missing the DRIVER_11W_SUPPORT dependency. Add this to more driver
capable of ieee80211w.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agooxnas: add SoC restart driver for reboot
Daniel Golle [Sun, 3 Mar 2019 01:30:21 +0000 (02:30 +0100)]
oxnas: add SoC restart driver for reboot

Refresh oxnas kernel config while at it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoltq-vdsl-fw: update download URL
Daniel Golle [Sat, 2 Mar 2019 18:24:22 +0000 (19:24 +0100)]
ltq-vdsl-fw: update download URL

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: cloudengines,pogoplug*: enable USB ports
Daniel Golle [Sat, 2 Mar 2019 17:53:21 +0000 (18:53 +0100)]
oxnas: cloudengines,pogoplug*: enable USB ports

Reported-by: Jörg Fischer <fischer.loepsingen@yahoo.de>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agompc85xx: Fix Aerohive HiveAP-330 initramfs image
Chris Blake [Sat, 2 Mar 2019 02:03:32 +0000 (20:03 -0600)]
mpc85xx: Fix Aerohive HiveAP-330 initramfs image

At some point our initramfs image grew over 6MB, which is
causing an issue when uncompressing in the stock bootloader:

=> bootm 0x5000000 - 0x1000000;
   Image Name:   Linux-4.19.24
   Created:      2019-02-23   1:58:20 UTC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    6752470 Bytes =  6.4 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Booting using the fdt blob at 0x1000000
   Uncompressing Kernel Image ... Error: inflate() returned -5
GUNZIP: uncompress, out-of-mem or overwrite error - must RESET
   board to recover
   Loading Device Tree to 00ffa000, end 00fffc78 ... OK

To get around this, we need to move to an uncompressed image
for the initramfs image. While this makes a larger image, it
is thankfully bootable so people can then convert their
devices to run OpenWRT. It's worth noting the non-initramfs
image is under 3M, so it will be ages before we have any issues
with the flashed kernel.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[keep commit message at less than 75 characters per line]

5 years agoath79: make TP-Link revision naming consistent
David Bauer [Sun, 24 Feb 2019 23:13:51 +0000 (00:13 +0100)]
ath79: make TP-Link revision naming consistent

This commit makes the TP-Link hardware-revision naming consistent to
match the one used by the vendor. TP-Link refers to the different
revisions as "vX" not "Version X".

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoramips: add support for Belkin F9K1109v1
Kip Porterfield [Sun, 3 Feb 2019 18:54:18 +0000 (13:54 -0500)]
ramips: add support for Belkin F9K1109v1

Device specification:
- SoC: Ralink RT3883 (MIPS 74Kc) 500Mhz
- RAM: 64Mb
- Flash: 8MB (SPI-NOR)
- Ethernet: 10/100/1000 Mbps
- WLAN
Wireless 1: SoC-integrated : 2.4/5 GHz
Wireless 2: 2.4 GHz RT3092L
- LED: 2x USB, WAN, LAN
- Key: WPS, reset
- Serial: 4-pin header, (57600,8,N,1), 3.3V TTL,
GND, RX, TX, V - J12 marking on board
- USB ports: 2 x USB 2.0

Flashing instructions:

Option 1 (from bootloader web)
- Hold reset button on the back of router when plugging
  in power (for at-least 10 seconds after plugged in)
- Connect to a Lan port
- Set computer IP to 10.10.10.3
- Go to http://10.10.10.123 in a web browser
- Click the Browse... Button and select the
   *squashfs.sysupgrade.bin file then click APPLY

Option 2 (from the stock admin web)
- Go to firmware upgrade
- Upload the **factory** image *initramfs.bin first
- Boot into openwrt
- From Luci web in openwrt upload the *squashfs.sysupgrade.bin

Signed-off-by: Kip Porterfield <kip.porterfield@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[added v1 to the compatible identifier, added pciid for
the RT3092L, fixed pci unit-address, split out the F9K110X.dtsi
to prepare for a possible F9K1103 patch]

5 years agoath79: TP-Link Archer C7 v4 swap usb led names
David Santamaría Rogado [Thu, 28 Feb 2019 21:08:48 +0000 (22:08 +0100)]
ath79: TP-Link Archer C7 v4 swap usb led names

Commit 34b10b46 made usb match with the corresponding usb label.
The problem is that v4 seems to use in stock firmware the
upper led for usb 1 and the lower led for usb 2.

The led assigned varies between TP-Link models and even
same model versions. For example, Archer C7 v1 and v2 have
the leds in the reverse order.

Revert 34b10b46 and swap led labels instead, now usb port
and led label match and also respect the original behavior.

Tested-by: Oldrich Jedlicka <oldium.pro@gmail.com>
Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
5 years agolayerscape: fix VFIO driver build issue since linux-4.14.99
Yangbo Lu [Fri, 1 Mar 2019 05:50:08 +0000 (13:50 +0800)]
layerscape: fix VFIO driver build issue since linux-4.14.99

The linux-4.14.99 had introduced below upstream patch.
6636dc5e01c6 arm64: io: Ensure value passed to __iormb() is held in a 64-bit register

It was causing VFIO driver build issue. This patch is to fix it.

 CC      drivers/vfio/fsl-mc/vfio_fsl_mc.o
In file included from ./include/linux/scatterlist.h:9:0,
                 from ./include/linux/iommu.h:22,
                 from drivers/vfio/fsl-mc/vfio_fsl_mc.c:14:
drivers/vfio/fsl-mc/vfio_fsl_mc.c: In function 'vfio_fsl_mc_dprc_wait_for_response':
./arch/arm64/include/asm/io.h:122:45: error: expected expression before ')' token
        : "=r" (tmp) : "r" ((unsigned long)(v))  \
                                             ^
drivers/vfio/fsl-mc/vfio_fsl_mc.c:334:3: note: in expansion of macro '__iormb'
   __iormb();
   ^~~~~~~
./arch/arm64/include/asm/io.h:122:45: error: expected expression before ')' token
        : "=r" (tmp) : "r" ((unsigned long)(v))  \
                                             ^
drivers/vfio/fsl-mc/vfio_fsl_mc.c:336:3: note: in expansion of macro '__iormb'
   __iormb();
   ^~~~~~~

Reported-by: Mathew McBride <matt@traverse.com.au>
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
5 years agoapm821xx: speed up ath9k-caldata extraction
Christian Lamparter [Tue, 19 Feb 2019 17:52:35 +0000 (18:52 +0100)]
apm821xx: speed up ath9k-caldata extraction

Reading and writing to and from flash storage is slow and currently,
the ath10kcal_extract() scripts are even more at an disadvantage
because they use a block size of 1 to be able skip.

This patch reworks the extraction scripts to be much faster and
efficient by reading and writing the calibration data in possibly
one big block.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath79: speed up ath9k-eeprom extraction
Dmitry Tunin [Fri, 22 Feb 2019 12:30:39 +0000 (15:30 +0300)]
ath79: speed up ath9k-eeprom extraction

This is a simple copy of ipq40xx: speed up ath10k-caldata
extraction commit a69e101ed1169f562fc030a783cd997d3f066b16

Tested on DIR-825-B1

3768+0 records in
3768+0 records out
real 0m 11.90s
user 0m 0.03s
sys 0m 9.94s

1+0 records in
1+0 records out
real 0m 0.03s
user 0m 0.00s
sys 0m 0.03s

With this change eeprom extraction is fast enough to get
working Wi-Fi after initial install.

Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
5 years agox86: fix geode image builds redux
Christian Lamparter [Thu, 28 Feb 2019 14:43:49 +0000 (15:43 +0100)]
x86: fix geode image builds redux

This patch adds more disabled DRM config symbols from the
x86' config to the generic target configs. The existing
symbols in the x86' configs are kept for now, until we
know whenever we want to remove such symbols or not
(see Github PR #1831, #1825, #1828).

THis patch also contains a squashed patch from
Daniel Engberg <daniel.engberg.lists@pyret.net> titled
"kernel: Fix config for 4.14" which fixes a duplicated line
added by: commit 8bdc241d01eb ("x86: fix geode image builds")

Fixes: 8bdc241d01eb ("x86: fix geode image builds")
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agooxnas: switch to DTS aliases for LEDs and use generic diag.sh
Daniel Golle [Fri, 1 Mar 2019 22:51:19 +0000 (23:51 +0100)]
oxnas: switch to DTS aliases for LEDs and use generic diag.sh

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoiwinfo: update to latest git
Daniel Golle [Fri, 1 Mar 2019 22:25:59 +0000 (23:25 +0100)]
iwinfo: update to latest git

b514490 iwinfo: add device id for MediaTek MT7603E
e9e1400 iwinfo: more Ralink and MediaTek WiSoC and PCIe chips
cb108c5 iwinfo: fix capitalization of vendor name

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: fix forgotten MTD partition name
Daniel Golle [Fri, 1 Mar 2019 21:15:43 +0000 (22:15 +0100)]
oxnas: fix forgotten MTD partition name

Fixes: 858aebc0ef ("oxnas: unify MTD partition names")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agomac80211: add a fix to prevent unsafe queue wake calls during restart
Felix Fietkau [Fri, 1 Mar 2019 13:54:31 +0000 (14:54 +0100)]
mac80211: add a fix to prevent unsafe queue wake calls during restart

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agomac80211: backport tx queue start/stop fix
Felix Fietkau [Fri, 1 Mar 2019 12:10:53 +0000 (13:10 +0100)]
mac80211: backport tx queue start/stop fix

Among other things, it fixes a race condition on calling ieee80211_restart_hw

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 years agolibubox: bump to version 2019-02-27
Yousong Zhou [Fri, 1 Mar 2019 07:24:21 +0000 (07:24 +0000)]
libubox: bump to version 2019-02-27

Contains the following change

eeef7b5 blobmsg_json: blobmsg_format_string: do not escape '/'

Resolves FS#2147

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agobusybox: sync Config.in files
Yousong Zhou [Wed, 27 Feb 2019 03:23:45 +0000 (03:23 +0000)]
busybox: sync Config.in files

The change was made with the following commands

cd package/utils/busybox/config
../convert_menuconfig.pl ~/git-repo/openwrt/openwrt/build_dir/target-mips_24kc_musl/busybox-1.30.1

convert_defaults.pl has no changes other than overwriting defaults for
BUSYBOX_DEFAULT_FEATURE_IPV6

Resolves FS#2146

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agobusybox: unindent busybox Config.in
Yousong Zhou [Wed, 27 Feb 2019 03:22:35 +0000 (03:22 +0000)]
busybox: unindent busybox Config.in

This is to align with upstream change 72089cf ("config: deindent all
help texts") and to make the follow-up change syncing Config.in files
with current busybox version more reviewable

It was made with the following commands

cd package/utils/busybox/config
find . -name 'Config.in' | xargs sed -ir -e 's/^\t  \([^ ]\)/\t\1/'

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agoath79: Fix indent
Adrian Schmutzler [Thu, 28 Feb 2019 18:09:20 +0000 (19:09 +0100)]
ath79: Fix indent

Fix wrong indentation introduced in 59c2f8a.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
5 years agomac80211: rt2x00: cleanup ePA, RXIQ and TX-LOFT code
Daniel Golle [Fri, 1 Mar 2019 05:57:40 +0000 (06:57 +0100)]
mac80211: rt2x00: cleanup ePA, RXIQ and TX-LOFT code

consolidate patch 651-rt2x00-remove-unneccesary-code.patch.
fixup the most obvious whitespace problems in RXIQ and TX-LOFT code.
always backup registers bbpr1, bbpr4, bbpr241 and bbpr242 to avoid
compiler warning about them being potentially uninitialized.
no functional changes (intended)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agomac80211: rt2x00: patch tracking cosmetics
Daniel Golle [Fri, 1 Mar 2019 02:34:40 +0000 (03:34 +0100)]
mac80211: rt2x00: patch tracking cosmetics

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: remove uboot-oxnas-ox820 from default package selection
Daniel Golle [Fri, 1 Mar 2019 01:55:09 +0000 (02:55 +0100)]
oxnas: remove uboot-oxnas-ox820 from default package selection

All supported boards should work with the $vendor bootloader just fine.
Existing users should mindfully re-flash using new initramfs build and
restore $vendor bootloader's bootcmd to it's original setting.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: switch to kmod-ledtrig-usb-port
Daniel Golle [Fri, 1 Mar 2019 01:43:48 +0000 (02:43 +0100)]
oxnas: switch to kmod-ledtrig-usb-port

Add port handles for both USB 2.0 ports so they can be used as
trigger-source for USB LEDs.
Suggestions for pogoplug and akitio,mycloud devices are welcome.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agouboot-envtools: oxnas: sync with current oxnas/ox820 DTS
Daniel Golle [Fri, 1 Mar 2019 00:56:11 +0000 (01:56 +0100)]
uboot-envtools: oxnas: sync with current oxnas/ox820 DTS

Use tested values on shuttle,kd20 and assumed values for
mitrastar,stg-212 and cloudengines,pogoplug*.
akitio users have yet to report back stock flash layout to support
vendor bootloader environment there as well.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agooxnas: unify MTD partition names
Daniel Golle [Fri, 1 Mar 2019 00:55:16 +0000 (01:55 +0100)]
oxnas: unify MTD partition names

Use 'u-boot' and 'u-boot-env' like the majority of OpenWrt targets
does...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agopackage/ncurses: change AR options to fix reproducible builds
Alexander Couzens [Thu, 28 Feb 2019 17:43:38 +0000 (18:43 +0100)]
package/ncurses: change AR options to fix reproducible builds

ar has a deterministic (-D) and non-deterministic (-U) mode.
OpenWrt is already using the deterministic mode by default,
but ncurses' configure script force this to be non-deterministic.
Since autoreconf fails to generate a new configure, the configure script
is directly modified.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
5 years agoinclude/kernel: sort autoload modules list to fix reproducible builds
Alexander Couzens [Thu, 28 Feb 2019 15:37:41 +0000 (16:37 +0100)]
include/kernel: sort autoload modules list to fix reproducible builds

When autoloading more than one modules per packages,
/etc/modules.d/$module depends on the file system ordering.
To test this: use disorderfs on the build_dir and build kmod-sched.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
5 years agooxnas: add missing NAND partitions
Daniel Golle [Mon, 25 Feb 2019 11:02:15 +0000 (12:02 +0100)]
oxnas: add missing NAND partitions

add kernel and other missing NAND flash partitions to allow booting
using stock loader instead of the 2nd-stage bootloader.
This will ease installation from stock firmware on pogoplugs as well
as stg212 aka. medion nas.

Existing users of OpenWrt on those boards will have to boot initramfs
generated after this commit and subsequently flash first the ubinized
image, then again run initramfs to flash sysupgrade.tar image, and
then restore bootcmd in U-Boot environment back to the original setting
('nboot 60500000 0 440000' or something like that) instead of jumping
into the now no longer used 2nd-stage loader.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 years agoipq806x: fix LED configuration for NEC Aterm WG2600HP
INAGAKI Hiroshi [Mon, 25 Feb 2019 12:14:10 +0000 (21:14 +0900)]
ipq806x: fix LED configuration for NEC Aterm WG2600HP

NEC WG2600HP uses port1 on QCA8337 as a WAN port, so "0x2" should
be used as a portmask instead of "0x1e" for "WAN" LED configuration.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoar71xx: Change led trigger from usbdev to usbport
David Santamaría Rogado [Wed, 27 Feb 2019 14:36:19 +0000 (15:36 +0100)]
ar71xx: Change led trigger from usbdev to usbport

This patch changes all the legacy usbdev leds triggers
to the use usbport. The problem is that the usbdev triggers
get applied as usbport in sysfs but LuCI gets confused and
is not able to show the configuration with usbdev. More
information can be found in the PR:
<https://github.com/openwrt/openwrt/pull/1819>

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[extended commit message]

5 years agoath79: add support for TP-Link Archer C5 v1
Bart Lauret [Mon, 25 Feb 2019 18:27:28 +0000 (19:27 +0100)]
ath79: add support for TP-Link Archer C5 v1

TP-Link Archer C5 v1 is a dual band router
based on Qualcomm/Atheros QCA9558 + QCA9880.

Specification:

 - 720 MHz CPU
 - 128 MB of RAM (Various chips)
 - 16 MB of FLASH (Various chips)
 - SoC QCA9558 integrated 3T3R 2.4 GHz Wi-Fi
 - minipcie slot with 3T3R 5 GHz QCA9880-BR4A
 - 5x 10/100/1000 Mbps Ethernet (AR8327N Switch)
 - 10x LEDs, 2x software buttons

For further informwation on the device, visit the wiki:
<https://openwrt.org/toh/tp-link/archer-c5-c7-wdr7500>

Signed-off-by: Bart Lauret <bblauret@gmail.com>
5 years agoath79: TP-Link Archer C7 v4 swap usb port leds
David Santamaría Rogado [Sun, 24 Feb 2019 15:28:23 +0000 (16:28 +0100)]
ath79: TP-Link Archer C7 v4 swap usb port leds

USB 1 triggers usb2 led and USB 2 triggers usb1.
Lower LED is usb1 and upper LED usb2.

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
5 years agoath79: Modify glinet x750 and AR300m MAC address offsets
Luo chongjun [Fri, 22 Feb 2019 11:46:37 +0000 (19:46 +0800)]
ath79: Modify glinet x750 and AR300m MAC address offsets

In the production of glinet, the MAC address of ethernet port is
only written at the position where the ART area offset address
is 0, and the MAC address of eth1 is added 1 on the basis of eth0.

Signed-off-by: Luo chongjun <luochongjun@gl-inet.com>
5 years agoipq40xx: add support for FritzBox 7530
David Bauer [Mon, 18 Feb 2019 22:58:34 +0000 (23:58 +0100)]
ipq40xx: add support for FritzBox 7530

Hardware
--------
CPU:   Qualcomm IPQ4019
RAM:   256M
FLASH: 128M NAND
ETH:   QCA8075
VDSL:  Intel/Lantiq VRX518 PCIe attached
       currently not supported
DECT:  Dialog SC14448
       currently not supported
WiFi2: IPQ4019 2T2R 2SS b/g/n
WiFi5: IPQ4019 2T2R 2SS n/ac
LED:    - Power/DSL green
        - WLAN green
        - FON/DECT green
        - Connect/WPS green
        - Info green
        - Info red
BTN:    - WLAN
        - FON
        - WPS/Connect
UART:  115200n8 3.3V (located under the Dialog chip)
       VCC - RX - TX - GND (Square is VCC)

Installation
------------
1. Grab the uboot for the Device from the 'u-boot-fritz7530'
   subdirectory. Place it in the same directory as the 'eva_ramboot.py'
   script. It is located in the 'scripts/flashing' subdirectory of the
   OpenWRT tree.

2. Assign yourself the IP address 192.168.178.10/24. Connect your
   Computer to one of the boxes LAN ports.

3. Connect Power to the Box. As soon as the LAN port of your computer
   shows link, load the U-Boot to the box using following command.

   > ./eva_ramboot.py --offset 0x85000000 192.168.178.1 uboot-fritz7530.bin

4. The U-Boot will now start. Now assign yourself the IP address
   192.168.1.70/24. Copy the OpenWRT initramfs (!) image to a TFTP
   server root directory and rename it to 'FRITZ7530.bin'.

5. The Box will now boot OpenWRT from RAM. This can take up to two
   minutes.

6. Copy the U-Boot and the OpenWRT sysupgrade (!) image to the Box using
   scp. SSH into the Box and first write the Bootloader to both previous
   kernel partitions.

   > mtd write /path/to/uboot-fritz7530.bin uboot0
   > mtd write /path/to/uboot-fritz7530.bin uboot1

7. Remove the AVM filesystem partitions to make room for our kernel +
   rootfs + overlayfs.

   > ubirmvol /dev/ubi0 --name=avm_filesys_0
   > ubirmvol /dev/ubi0 --name=avm_filesys_1

8. Flash OpenWRT peristently using sysupgrade.

   > sysupgrade -n /path/to/openwrt-sysupgrade.bin

Signed-off-by: David Bauer <mail@david-bauer.net>
[removed pcie-dts range node, refreshed on top of AP120-AC/E2600AC]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agouboot-fritz4040: bump version to 2019-02-08
David Bauer [Mon, 18 Feb 2019 22:58:33 +0000 (23:58 +0100)]
uboot-fritz4040: bump version to 2019-02-08

Adds support for the AVM FRITZ!Box 7530.

Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [PKG_RELEASE]
5 years agoscripts: make eva_ramboot.py offset configurable
David Bauer [Mon, 18 Feb 2019 22:58:32 +0000 (23:58 +0100)]
scripts: make eva_ramboot.py offset configurable

The current eva_ramboot.py script is currently only compatible with
Lantiq based AVM devices. For IPQ40xx devices, the offset needs to be
changed. Also an alignment is not necessary here.

Adjust the script to be able to pass an optional offset to load the
image to. In case no offset is provided, the script behaves exactly as
before this commit.

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoipq40xx: fix pcie msi IRQ trigger level
Christian Lamparter [Tue, 26 Feb 2019 15:22:27 +0000 (16:22 +0100)]
ipq40xx: fix pcie msi IRQ trigger level

From: Niklas Cassel <niklas.cassel@linaro.org>
|The databook clearly states that the MSI IRQ (msi_ctrl_int) is a level
|triggered interrupt.
|
|The msi_ctrl_int will be high for as long as any MSI status bit is set,
|thus the IRQ type should be set to IRQ_TYPE_LEVEL_HIGH, causing the
|IRQ handler to keep getting called, as long as any MSI status bit is set.
|[...]
|Not having the correct IRQ type defined will cause us to lose interrupts,
|which in turn causes timeouts in the PCIe endpoint drivers.
|
|Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
|Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: enlarge PCIe BAR size
Christian Lamparter [Mon, 25 Feb 2019 20:12:44 +0000 (21:12 +0100)]
ipq40xx: enlarge PCIe BAR size

David Bauer reported that the VDSL modem (attached via PCIe)
on his AVM Fritz!Box 7530 was complaining about not having
enough space in the BAR. A closer inspection of the old
qcom-ipq40xx.dtsi pulled from the GL-iNet repository listed:

| qcom,pcie@80000 {
|       compatible = "qcom,msm_pcie";
|       reg = <0x80000 0x2000>,
|             <0x99000 0x800>,
|             <0x40000000 0xf1d>,
|             <0x40000f20 0xa8>,
|             <0x40100000 0x1000>,
|             <0x40200000 0x100000>,
|             <0x40300000 0xd00000>;
|       reg-names = "parf", "phy", "dm_core", "elbi",
|                       "conf", "io", "bars";

Matching the reg-names with the listed reg leads to
<0xd00000> as the size for the "bars".

BugLink: https://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg45212.html
Reported-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agokernel: owl-loader: fix sparse endian warnings
Christian Lamparter [Mon, 25 Feb 2019 14:35:23 +0000 (15:35 +0100)]
kernel: owl-loader: fix sparse endian warnings

owl-loader.c:83:21: sparse: warning: incorrect type in assignment (different base types)
owl-loader.c:83:21: sparse:    expected unsigned short [usertype] reg
owl-loader.c:83:21: sparse:    got restricted __be16 const [usertype] reg
owl-loader.c:84:21: sparse: warning: incorrect type in assignment (different base types)
owl-loader.c:84:21: sparse:    expected unsigned int [usertype] val
owl-loader.c:84:21: sparse:    got restricted __be16 const [usertype] low_val
owl-loader.c:85:28: sparse: warning: restricted __be16 degrades to integer

Reported-by: kbuild test robot
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agokernel: disable touchscreen symbols
Christian Lamparter [Sun, 24 Feb 2019 17:58:52 +0000 (18:58 +0100)]
kernel: disable touchscreen symbols

This patch removes the obsolete touchscreen config symbols
and all disables all remaining ones in the generic config.

Generated by running drivers/input/touchscreen/Kconfig

 sed -n 's/^config[[:space:]]\(.*\)/# CONFIG_\1 is not set/p' Kconfig |\
 sort -d
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agox86: fix geode image builds
Christian Lamparter [Thu, 21 Feb 2019 18:34:37 +0000 (19:34 +0100)]
x86: fix geode image builds

This patch adds the disabled DRM_RADEON and DRM_AMDGPU
config symbols from the x86' config to the generic target
configs. The existing symbols in the x86' configs are kept
for now, until we know whenever we want to remove such
symbols or not (see Github PR #1831, #1825, #1828).

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoipq40xx: add support for Qxwlan E2600AC C1 and C2
张鹏 [Mon, 21 Jan 2019 05:28:32 +0000 (13:28 +0800)]
ipq40xx: add support for Qxwlan E2600AC C1 and C2

Qxwlan E2600AC C1 based on IPQ4019

Specifications:
SOC: Qualcomm IPQ4019
DRAM: 256 MiB
FLASH: 32 MiB Winbond W25Q256
ETH: Qualcomm QCA8075
WLAN: 5G + 5G/2.4G
* 2T2R 2.4/5 GHz
 - QCA4019 hw1.0 (SoC)
* 2T2R 5 GHz
 - QCA4019 hw1.0 (SoC)
INPUT:  Reset buutton
LED: 1x Power ,6 driven by gpio
SERIAL: UART (J5)
UUSB: USB3.0
POWER: 1x DC jack for main power input (9-24 V)
SLOT: Pcie (J25), sim card (J11), SD card (J51)

Flash instruction (using U-Boot CLI and tftp server):

 - Configure PC with static IP 192.168.1.10 and tftp server.
 - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp
   server directory.
 - Connect PC with one of RJ45 ports, power up the board and press
   "enter" key to access U-Boot CLI.
 - Use the following command to update the device to OpenWrt: "run lfw".

Flash instruction (using U-Boot web-based recovery):

 - Configure PC with static IP 192.168.1.xxx(2-254)/24.
 - Connect PC with one of RJ45 ports, press the reset button, power up
   the board and keep button pressed for around 6-7 seconds, until LEDs
   start flashing.
 - Open your browser and enter 192.168.1.1, select "sysupgrade" image
   and click the upgrade button.

Qxwlan E2600AC C2 based on IPQ4019

Specifications:
SOC: Qualcomm IPQ4019
DRAM: 256 MiB
NOR: 16 MiB Winbond W25Q128
NAND: 128MiB Micron MT29F1G08ABAEAWP
ETH: Qualcomm QCA8075
WLAN: 5G + 5G/2.4G
* 2T2R 2.4/5 GHz
 - QCA4019 hw1.0 (SoC)
* 2T2R 5 GHz
 - QCA4019 hw1.0 (SoC)
INPUT:  Reset buutton
LED: 1x Power, 6 driven by gpio
SERIAL: UART (J5)
USB: USB3.0
POWER: 1x DC jack for main power input (9-24 V)
SLOT: Pcie (J25), sim card (J11), SD card (J51)

Flash instruction (using U-Boot CLI and tftp server):

 - Configure PC with static IP 192.168.1.10 and tftp server.
 - Rename "ubi" filename to "ubi-firmware.bin" and place it in tftp
   server directory.
 - Connect PC with one of RJ45 ports, power up the board and press
   "enter" key to access U-Boot CLI.
 - Use the following command to update the device to OpenWrt: "run lfw".

Flash instruction (using U-Boot web-based recovery):

 - Configure PC with static IP 192.168.1.xxx(2-254)/24.
 - Connect PC with one of RJ45 ports, press the reset button, power up
   the board and keep button pressed for around 6-7 seconds, until LEDs
   start flashing.
 - Open your browser and enter 192.168.1.1, select "ubi" image
   and click the upgrade button.

Signed-off-by: 张鹏 <sd20@qxwlan.com>
[ added rng node. whitespace fixes, ported 02_network,
ipq-wifi Makefile, misc dts fixes, trivial message changes ]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath79: add support for COMFAST CF-E120A v3
Roger Pueyo Centelles [Sat, 29 Dec 2018 19:44:43 +0000 (20:44 +0100)]
ath79: add support for COMFAST CF-E120A v3

This patch adds support for the COMFAST CF-E120A v3, an outdoor wireless
CPE with two Ethernet ports and a 802.11an radio.

Specifications:

 - AR9344 SoC
 - 535/400/267 MHz (CPU/DDR/AHB)
 - 2x 10/100 Mbps Ethernet, both with PoE-in support
 - 64 MB of RAM (DDR2)
 - 8 MB of FLASH
 - 2T2R 5 GHz, up to 25 dBm
 - 11 dBi built-in antenna
 - POWER/LAN/WAN/WLAN green LEDs
 - 4x RSSI LEDs (2x red, 2x green)
 - UART (115200 8N1) and GPIO (J9) headers on PCB

Flashing instructions:

 The original firmware is based on OpenWrt so a sysupgrade image can be
 installed via the stock web GUI. Settings from the original firmware
 will be saved and restored on the new one, so a factory reset will be
 needed. To do so, once the new firmware is flashed, enter into failsafe
 mode by pressing the reset button several times during the boot
 process, while while the WAN LED flashes, until it starts flashing
 faster. Once in failsafe mode, perform a factory reset as usual.

 The U-boot bootloader contains a recovery HTTP server to upload the
 firmware. Push the reset button while powering the device on and
 keep it pressed for >10 seconds. The recovery page will be at
 http://192.168.1.1

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
5 years agoramips: add TP-Link TL-WR802N-v4 support
Marcel Jost [Tue, 18 Dec 2018 07:00:52 +0000 (08:00 +0100)]
ramips: add TP-Link TL-WR802N-v4 support

This patch adds support for the TP-Link TL-WR802N-v4.
https://openwrt.org/toh/tp-link/tl-wr802n

Specification:
- MT7628N (580 MHz)
- 64 MB RAM
- 8 MB FLASH
- 2T2R 2.4 GHz
- 1x 10/100 Mbps Ethernet
- 1x LED

Flash instruction:

The only way to flash the image in TL-WR802N v4 is to use
tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.0.225/24 and tftp server.
2. Rename "openwrt-ramips-mt76x8-tplink_tl-wr802n-v4-squashfs-tftp-recovery.bin"
   to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with the LAN port, press the reset button, power up
   the router and keep button pressed for around 10 seconds, until
   device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.

Signed-off-by: Marcel Jost <majo@icutech.ch>
5 years agoramips: use generic board detection for Wavlink WL-WN575A3
Thomas Vincent-Cross [Sun, 17 Feb 2019 12:21:42 +0000 (23:21 +1100)]
ramips: use generic board detection for Wavlink WL-WN575A3

Bring Wavlink WL-WN575A3 in line with other Wavlink ramips devices.

Signed-off-by: Thomas Vincent-Cross <me@tvc.id.au>
5 years agoramips: various Wavlink WL-WN575A3 fixes
Thomas Vincent-Cross [Sun, 17 Feb 2019 12:00:59 +0000 (23:00 +1100)]
ramips: various Wavlink WL-WN575A3 fixes

* assign pinmux groups to gpio function for LEDs/buttons
* rename flash node to be more generic in line with other device nodes
* remove useless/incorrect eeprom property from wmac node
* correct base mac address for embedded switch

Signed-off-by: Thomas Vincent-Cross <me@tvc.id.au>
5 years agowireguard: bump to 0.0.20190227
Jason A. Donenfeld [Wed, 27 Feb 2019 23:36:49 +0000 (00:36 +0100)]
wireguard: bump to 0.0.20190227

* wg-quick: freebsd: allow loopback to work

FreeBSD adds a route for point-to-point destination addresses. We don't
really want to specify any destination address, but unfortunately we
have to. Before we tried to cheat by giving our own address as the
destination, but this had the unfortunate effect of preventing
loopback from working on our local ip address. We work around this with
yet another kludge: we set the destination address to 127.0.0.1. Since
127.0.0.1 is already assigned to an interface, this has the same effect
of not specifying a destination address, and therefore we accomplish the
intended behavior. Note that the bad behavior is still present in Darwin,
where such workaround does not exist.

* tools: remove unused check phony declaration
* highlighter: when subtracting char, cast to unsigned
* chacha20: name enums
* tools: fight compiler slightly harder
* tools: c_acc doesn't need to be initialized
* queueing: more reasonable allocator function convention

Usual nits.

* systemd: wg-quick should depend on nss-lookup.target

Since wg-quick(8) calls wg(8) which does hostname lookups, we should
probably only run this after we're allowed to look up hostnames.

* compat: backport ALIGN_DOWN
* noise: whiten the nanoseconds portion of the timestamp

This mitigates unrelated sidechannel attacks that think they can turn
WireGuard into a useful time oracle.

* hashtables: decouple hashtable allocations from the main device allocation

The hashtable allocations are quite large, and cause the device allocation in
the net framework to stall sometimes while it tries to find a contiguous
region that can fit the device struct. To fix the allocation stalls, decouple
the hashtable allocations from the device allocation and allocate the
hashtables with kvmalloc's implicit __GFP_NORETRY so that the allocations fall
back to vmalloc with little resistance.

* chacha20poly1305: permit unaligned strides on certain platforms

The map allocations required to fix this are mostly slower than unaligned
paths.

* noise: store clamped key instead of raw key

This causes `wg show` to now show the right thing. Useful for doing
comparisons.

* compat: ipv6_stub is sometimes null

On ancient kernels, ipv6_stub is sometimes null in cases where IPv6 has
been disabled with a command line flag or other failures.

* Makefile: don't duplicate code in install and modules-install
* Makefile: make the depmod path configurable

* queueing: net-next has changed signature of skb_probe_transport_header

A 5.1 change. This could change again, but for now it allows us to keep this
snapshot aligned with our upstream submissions.

* netlink: don't remove allowed ips for new peers
* peer: only synchronize_rcu_bh and traverse trie once when removing all peers
* allowedips: maintain per-peer list of allowedips

This is a rather big and important change that makes it much much faster to do
operations involving thousands of peers. Batch peer/allowedip addition and
clearing is several orders of magnitude faster now.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>