openwrt/openwrt.git
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 years agobuild: Introduce building of artifacts
Petr Štetiar [Fri, 23 Nov 2018 09:53:37 +0000 (10:53 +0100)]
build: Introduce building of artifacts

We currently could (ab)use IMAGES for this task, but the downside is,
that the filenames has filesystem tied to the filename, which might be
confusing as the artifact itself don't has to be used with that specific
filesystem. Another downside is, that the artifacts built with IMAGES
target are build for every FILESYSTEMS filesystem.

Consider following use case:

 define Device/apalis
   ...
   FILESYSTEMS := ext4 squashfs
   IMAGES := spl-uboot.bin recovery.scr
   IMAGE/spl-uboot.bin := append-uboot-spl | pad-to 68k | append-uboot
   IMAGE/recovery.scr := recovery-scr
 endef

Where we would get target binaries with following filenames:

 openwrt-imx6-apalis-squashfs.recovery.scr
 openwrt-imx6-apalis-squashfs.spl-uboot.bin
 openwrt-imx6-apalis-ext4.recovery.scr
 openwrt-imx6-apalis-ext4.spl-uboot.bin

With proposed patch, we could now just do:

 define Device/apalis
   ...
   ARTIFACTS := spl-uboot.bin recovery.scr
   ARTIFACT/spl-uboot.bin := append-uboot-spl | pad-to 68k | append-uboot
   ARTIFACT/recovery.scr := recovery-scr
 endef

Which would produce target binaries with following filenames:

 openwrt-imx6-apalis-recovery.scr
 openwrt-imx6-apalis-spl-uboot.bin

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agorb532: drop 4.9 support
Roman Yeryomin [Sun, 25 Nov 2018 12:56:04 +0000 (14:56 +0200)]
rb532: drop 4.9 support

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agorb532: switch to 4.14
Roman Yeryomin [Sun, 25 Nov 2018 12:55:52 +0000 (14:55 +0200)]
rb532: switch to 4.14

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agorb532: add 4.14 support
Roman Yeryomin [Sun, 25 Nov 2018 12:55:38 +0000 (14:55 +0200)]
rb532: add 4.14 support

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agonghttp2: bump to 1.35.0
Hans Dedecker [Sun, 25 Nov 2018 19:17:52 +0000 (20:17 +0100)]
nghttp2: bump to 1.35.0

e520469b Update manual pages
54067256 Bump up version number to 1.35.0
c4d2eeee Update AUTHORS
f51e696e asio: Add stop() to listen_and_serve doc
a433b132 Merge pull request #1260 from nghttp2/h2load-non-final-response
cf48a56d Merge pull request #1238 from jktjkt/cmake-fix-libevent-detection
6cad1b24 nghttpx: Write mruby send_info early
3c393dca nghttpx: Fix assertion failure on mruby send_info with HTTP/1 frontend
17292445 h2load: Handle HTTP/1 non-final response
f6644a92 make clang-format
48998f72 Merge pull request #1222 from donny-dont/fix/declspec
15ff52f9 Update README
6c03bb14 Upgrade travis toolchain
524b4392 Fix travis build failure
859bf2bc Update manual pages
b5619fb1 h2load: Clarify that time for connect includes TLS handshake
dcbe0c69 nghttpx: Simplify move ctor and operator
2996c284 nghttpx: Cleanup
42e8ceb6 nghttpx: Convert API status code to enum class
1daf9ce8 nghttpx: Convert WorkerEventType to enum class
d68edf56 nghttpx: Convert MemcachedStatusCode to enum class
0c4e9fef nghttpx: Convert memcached op to enum class
571404c6 nghttpx: Convert MemcachedParseState to enum class
4d562b77 nghttpx: Convert LogFragmentType to enum class
e6225871 nghttpx: Convert connection check status to enum class
4bd075de nghttpx: Convert Http2Session state to enum class
b46a3249 nghttpx: Convert FreelistZone to enum class
4bd44b9c nghttpx: Convert dispatch state to enum class
1b42110d nghttpx: Make Downstream state enum class
0735ec55 nghttpx: Convert shrpx_connect_proto to enum class
00554779 nghttpx: Convert DNSResolverStatus to enum class
0963f389 nghttpx: Convert SerialEventType to enum class
1abfa3ca nghttpx: Make TLS handshake state enum class
f2159bc2 nghttpx: Convert UpstreamAltMode to enum class
b0eb68ee nghttpx: Convert shrpx_forwarded_node_type to enum class
e7b7b037 nghttpx: Convert shrpx_cookie_secure to enum class
5e4f434f nghttpx: Convert shrpx_session_affinity to enum class
20ea964f nghttpx: Convert shrpx_proto to enum class
d105619b src: Remove extra braces if possible
ec5729b1 Use std::make_unique
6c919695 Use C++14
46576178 Don't send Transfer-Encoding to pre-HTTP/1.1 clients
5e925f87 Update doc
153531d4 nghttpx: Use the same type as standard stream operator<<
f7287df0 Bump up version number to 1.35.0-DEV

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agokernel/modules: TI ADS1015 kernel module support enabled.
Roman Bazalevsky [Mon, 5 Nov 2018 03:16:44 +0000 (06:16 +0300)]
kernel/modules: TI ADS1015 kernel module support enabled.

Signed-off-by: Roman Bazalevsky <rvb@rvb.name>
6 years agokernel/modules: ROHM BH1750 ALS IIO kernel module support enabled.
Roman Bazalevsky [Mon, 5 Nov 2018 02:27:30 +0000 (05:27 +0300)]
kernel/modules: ROHM BH1750 ALS IIO kernel module support enabled.

Signed-off-by: Roman Bazalevsky <rvb@rvb.name>
6 years agomwlwifi: update to version 10.3.8.0-20181114
Kabuli Chana [Wed, 14 Nov 2018 22:27:10 +0000 (15:27 -0700)]
mwlwifi: update to version 10.3.8.0-20181114

compile / test target mvebu / mamba

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
6 years agolantiq/basefiles: use shutdown instead of stop when the system goes down
Martin Schiller [Mon, 19 Nov 2018 05:50:28 +0000 (06:50 +0100)]
lantiq/basefiles: use shutdown instead of stop when the system goes down

I can't see any reason why we shouldn't use shutdown for lantiq as well.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
6 years agobase-files: sysupgrade: Allow downloading of firmware images using HTTPS
Petr Štetiar [Fri, 9 Nov 2018 07:25:41 +0000 (08:25 +0100)]
base-files: sysupgrade: Allow downloading of firmware images using HTTPS

Currently it's only possible to download images over HTTP.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
6 years agoflex: Add a lex symlink
Rosen Penev [Tue, 13 Nov 2018 20:59:47 +0000 (12:59 -0800)]
flex: Add a lex symlink

Some packages like libpfring assume the presense of lex, which on some
other systems is a symlink to flex but not all. Symlink flex to fix
compilation.

Arch Linux and Fedora do this as far as I know.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agoimx6: image: ventana: Add missing BOOT_SCRIPT variable
Petr Štetiar [Fri, 23 Nov 2018 09:54:25 +0000 (10:54 +0100)]
imx6: image: ventana: Add missing BOOT_SCRIPT variable

This is probably theoretical problem as the Ventana is defined first in
the image Makefile, but once the position of the definition would change
in the future (alphabetical sorting?) it would get bootscript from the
previous board which would have BOOT_SCRIPT set.

Cc: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
6 years agostrace: update to 4.25
Syrone Wong [Sat, 24 Nov 2018 02:00:45 +0000 (10:00 +0800)]
strace: update to 4.25

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
6 years agoramips: select kmod-mt76x0e for TP-Link ArcherC20i and wr902ac-v3
Daniel Golle [Sun, 25 Nov 2018 13:35:49 +0000 (14:35 +0100)]
ramips: select kmod-mt76x0e for TP-Link ArcherC20i and wr902ac-v3

Both devices come with a MediaTek MT7610E 5GHz 802.11ac 1T1R radio
which wasn't supported at the time the devices were added to OpenWrt.
Now that we got it, include kmod-mt76x0e in images for those devices.

Reported-by: Arian Sanusi <openwrt@semioptimal.net>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 years agokernel: enable CONFIG_BRIDGE_VLAN_FILTERING
Daniel Golle [Thu, 15 Nov 2018 16:12:54 +0000 (11:12 -0500)]
kernel: enable CONFIG_BRIDGE_VLAN_FILTERING

This allows us to use the bridge as a managed switch and gracefully
handle mixed tagged and untagged frames. Prior to this, the only
alternative was creating one bridge per vlan which quickly becomes a
nightmare and still won't let you mix both tagged and untagged frames on
the physical port without some complex ebtables magic.

This is in line with the notion that OpenWRT is the network go-to swiss
army knife when you need a nice set-and-forget, low maintenance box to
handle a specific task.

Current builds of the ip-bridge package already fully support this
feature so the only requirement is enabling the kernel config.

This is disabled by default so existing bridge configurations will not
be affected.  This patch only gives the ability to turn it on with an
'ip link' command.  If there is interest, I could look into making the
feature accessible via uci configuration.

It causes about 3.1% hit on raw bridging speed, which is relatively
trivial considering that I had to use 300 byte packets to strain the CPU
enough to notice a slowdown at all.  The ER8 would chug along at wire
speed otherwise, and that's using only one core.  Since the typical
bridge use case on OpenWRT is wireless, I doubt it would be noticeable
at all.

With BRIDGE_VLAN_FILTERING

iperf -u -c 192.168.1.105 -b 1G -l 300
------------------------------------------------------------
Client connecting to 192.168.1.105, UDP port 5001
Sending 300 byte datagrams, IPG target: 2.24 us (kalman adjust)
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.12 port 58045 connected with 192.168.1.105 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   977 MBytes   820 Mbits/sec
[  3] Sent 3414986 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   811 MBytes   680 Mbits/sec   0.000 ms
581210/3414986 (0%)

Without BRIDGE_VLAN_FILTERING

iperf -u -c 192.168.1.105 -b 1G -l 300
------------------------------------------------------------
Client connecting to 192.168.1.105, UDP port 5001
Sending 300 byte datagrams, IPG target: 2.24 us (kalman adjust)
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.12 port 36645 connected with 192.168.1.105 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   977 MBytes   820 Mbits/sec
[  3] Sent 3414990 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   836 MBytes   701 Mbits/sec   0.000 ms
493950/3414990 (0%)

In terms of kernel size, it uses 16KB (6753K vs 6737K on ER8) so a
0.002% hit.  The exact 16KB is probably just due to how the kernel is
compressed.

Suggested-by: Jonathan Thibault <jonathan@navigue.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 years agouclient: update to latest Git head
Jo-Philipp Wich [Sat, 24 Nov 2018 19:10:26 +0000 (20:10 +0100)]
uclient: update to latest Git head

3ba74eb uclient-http: properly handle HTTP redirects via proxy connections

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agoath79: specify "firmware" partition format for Ubiquiti UniFi
Rafał Miłecki [Thu, 22 Nov 2018 12:37:56 +0000 (13:37 +0100)]
ath79: specify "firmware" partition format for Ubiquiti UniFi

This affects:
1. Ubiquiti UniFi-AC-LITE/LR
2. Ubiquiti UniFi-AC-PRO
3. Ubiquiti UniFi-AC-MESH
4. Ubiquiti UniFi-AC-MESH PRO

Succesfully tested on UniFi AP AC Pro.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agoath79: specify "firmware" partition format for WNDR3700 and v2
Hannu Nyman [Sat, 24 Nov 2018 11:58:37 +0000 (13:58 +0200)]
ath79: specify "firmware" partition format for WNDR3700 and v2

Specify the new "firmware" partition format for Netgear WNDR3700
and WNDR3700v2 similarly as ffd082aa did for WNDR3800, the third
device in the family.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
6 years agoath79: specify "firmware" partition format for TP-LINK Archer C7 v2
Rafał Miłecki [Sat, 24 Nov 2018 09:04:12 +0000 (10:04 +0100)]
ath79: specify "firmware" partition format for TP-LINK Archer C7 v2

With this change it doesn't require trying parsers one by one.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agokernel: drop unused arch_split_mtd_part()
Rafał Miłecki [Tue, 20 Nov 2018 16:04:48 +0000 (17:04 +0100)]
kernel: drop unused arch_split_mtd_part()

No single target/arch uses it and most likely there is no need to make
such a potential code target/arch specific.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agokernel: add missing version.h include to the TP-LINK parser
Rafał Miłecki [Sat, 24 Nov 2018 10:47:39 +0000 (11:47 +0100)]
kernel: add missing version.h include to the TP-LINK parser

Fixes: a29c8d685be7 ("kernel: add DT binding support to the TP-LINK parser")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agokernel: add DT binding support to the TP-LINK parser
Rafał Miłecki [Sat, 24 Nov 2018 08:55:15 +0000 (09:55 +0100)]
kernel: add DT binding support to the TP-LINK parser

It allows triggering it directly by specifying format in the DT.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agoath79: specify "firmware" partition format for Netgear WNDR3800
Rafał Miłecki [Thu, 22 Nov 2018 12:48:07 +0000 (13:48 +0100)]
ath79: specify "firmware" partition format for Netgear WNDR3800

It doesn't require trying parsers one by one.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agokernel: add DT binding support to the uimage parsers
Rafał Miłecki [Thu, 22 Nov 2018 12:20:04 +0000 (13:20 +0100)]
kernel: add DT binding support to the uimage parsers

It allows specifying default and Netgear parsers directly in the DT.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agokernel: don't auto-split "firmware" if it has "compatible" DT property
Rafał Miłecki [Thu, 22 Nov 2018 11:55:14 +0000 (12:55 +0100)]
kernel: don't auto-split "firmware" if it has "compatible" DT property

If "compatible" is being used that should trigger a proper parser
directly. It's more reliable thanks to not trying parsers one by one. In
such case partition shouldn't be split automatically to avoid parsing it
twice.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agokernel: b53: register switch on probe
David Bauer [Mon, 22 Oct 2018 00:35:36 +0000 (02:35 +0200)]
kernel: b53: register switch on probe

Currently, the b53 MDIO switch driver registers the switch on
config-init and not on device probe. Because of this, the switch
gets added every time the associated interface comes up.

This commit fixes this behavior by registering the switch on device
probe.

Compile- and run-tested on OCEDO Koala.

Signed-off-by: David Bauer <mail@david-bauer.net>
6 years agotools: tplink-safeloader: add C7v5 EU SupportList
David Bauer [Wed, 7 Nov 2018 21:31:46 +0000 (22:31 +0100)]
tools: tplink-safeloader: add C7v5 EU SupportList

Currently flash from WebIF is broken for Archer C7 v5 EU models as their
SupportList entries are missing.

The added entries originate from TP-Links latest Archer C7 v5 EU
firmware.

Signed-off-by: David Bauer <mail@david-bauer.net>
6 years agoprocd: update to latest git HEAD
Hans Dedecker [Fri, 23 Nov 2018 14:20:39 +0000 (15:20 +0100)]
procd: update to latest git HEAD

d667354 early: set /tmp permissions explicitly

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agorpcd: update to latest Git head
Jo-Philipp Wich [Thu, 22 Nov 2018 15:29:14 +0000 (16:29 +0100)]
rpcd: update to latest Git head

c79ef22 main: fix logic bug when not specifying a timeout option

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agorpcd: update to latest Git head
Jo-Philipp Wich [Thu, 22 Nov 2018 13:42:14 +0000 (14:42 +0100)]
rpcd: update to latest Git head

2cc4b99 file: use global exec timeout instead of own hardcoded limit
ecd1660 exec: increase maximum execution time to 120s

Also expose the socket and timeout options in /etc/config/rpcd for
easier use.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agobase-files: fix unkillable processes after restart
Linus Kardell [Thu, 22 Nov 2018 10:35:08 +0000 (11:35 +0100)]
base-files: fix unkillable processes after restart

When restart is run on an init script, the script traps SIGTERM. This is
done as a workaround for scripts named the same name as the program they
start. In that case, the init script process will have the same name as
the program process, and so when the init script runs killall, it will
kill itself. So SIGTERM is trapped to make the init script unkillable.

However, the trap is retained when the init script runs start, and thus
processes started by restart will not respond to SIGTERM, and will thus
be unkillable unless you use SIGKILL. This fixes that by removing the
trap before running start.

Signed-off-by: Linus Kardell <linus@telliq.com>
6 years agokernel: bump 3.18 to 3.18.126
Koen Vandeputte [Thu, 22 Nov 2018 11:36:54 +0000 (12:36 +0100)]
kernel: bump 3.18 to 3.18.126

Refreshed all patches.

Compile-tested: adm5120
Runtime-tested: none

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agokernel: bump 4.14 to 4.14.82
Koen Vandeputte [Wed, 21 Nov 2018 09:47:34 +0000 (10:47 +0100)]
kernel: bump 4.14 to 4.14.82

Refreshed all patches.

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

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agokernel: bump 4.9 to 4.9.138
Koen Vandeputte [Wed, 21 Nov 2018 09:43:44 +0000 (10:43 +0100)]
kernel: bump 4.9 to 4.9.138

Refreshed all patches.

Compile-tested: ar71xx, layerscape
Runtime-tested: ar71xx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agobcm53xx: request Seama parser on DIR-885L directly
Rafał Miłecki [Thu, 22 Nov 2018 09:12:19 +0000 (10:12 +0100)]
bcm53xx: request Seama parser on DIR-885L directly

It's more reliable as mtd subsystem doesn't have to blindly try that
parser. It allows disabling MTD_SPLIT_FIRMWARE completely (TRX is
handled in a similar way).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agokernel: add DT binding support to the Seama parser
Rafał Miłecki [Thu, 22 Nov 2018 09:11:30 +0000 (10:11 +0100)]
kernel: add DT binding support to the Seama parser

It allows specifying that parser directly in the DT.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agoglibc: update to latest 2.27 commit
Hans Dedecker [Wed, 21 Nov 2018 10:11:26 +0000 (11:11 +0100)]
glibc: update to latest 2.27 commit

1517dfb8aa Add an additional test to resolv/tst-resolv-network.c
1050634904 libanl: properly cleanup if first helper thread creation failed (bug 22927)

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agomt76: update to the latest version
Felix Fietkau [Wed, 21 Nov 2018 14:14:36 +0000 (15:14 +0100)]
mt76: update to the latest version

4734108 mt7603: use mt7603_wtbl_clear on station removal
9428e34 mt7603: fix watchdog reset sequence
b3f82a3 mt7603: report PSE reset failures via debugfs
a301dec mt7603: add back PSE client reset code
94cebfc mt7603: fix handling lost interrupt events during watchdog reset
b38fe7d mt7603: only issue PSE reset on PSE stuck
da666a7 mt7603: issue PSE reset if firmware debug register indicates stuck queues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agomt76: update to the latest version
Felix Fietkau [Tue, 20 Nov 2018 15:55:47 +0000 (16:55 +0100)]
mt76: update to the latest version

471d397 mt7603: fix priority for buffered multicast packets
3873e82 mt7603: fix MT_BMAP_0/MT_GROUP_THD_0 register initializion for mt7628
749d5c3 mt7603: fix reserved page handling for mt7628
d22799b mt7603: reduce reserved pages for beacons
42c5281 mt7603: fix maximum frame size in scheduler init
fa7335b mt76: fix potential NULL pointer dereference in mt76_stop_tx_queues
84aa12a mt76: fix potential null pointer deref in mt76_sta_add
7c4c33c mt7603: skip efuse tx power data for mt7628
ca2c875 mt7603: add support for accessing remapped registers via ops
b44d793 mt7603: clear PSE redirections before MCU init
82363ab mt7603: move tx status to rx queue 0
c09e8a4 mt7603: fix buffering of tx packets for powersave clients

Signed-off-by: Felix Fietkau <nbd@nbd.name>