aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* layerscape: remove POSIX_MQUEUE configsYangbo Lu2019-06-063-6/+0
| | | | | | | The POSIX_MQUEUE configs had been handled by OpenWrt configuration. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* kernel: handle CFQ_GROUP_IOSCHED/CGROUP_HUGETLB in config-4.14Yangbo Lu2019-06-061-0/+2
| | | | | | | | The generic config-4.14 should handle below configs. - CONFIG_CFQ_GROUP_IOSCHED - CONFIG_CGROUP_HUGETLB Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* kernel: add package for atusb wpan moduleSebastian Meiling2019-06-061-0/+11
| | | | | | | | This adds a new package for the kernel module of the ATUSB WPAN driver. Signed-off-by: Sebastian Meiling <s@mlng.net> [fixed SoB: and From: mismatch] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* brcm63xx: DVA-G3810BN/TL: Fix the WAN ethernet portDaniel Gonzalez Cabanelas2019-06-0638-98/+96
| | | | | | | | | | | The WAN port has the wrong configuration in the kernel for the DVA-G3810BN/TL The WAN port uses the internal phy, but it isn't enabled at the kernel board data. Fix it. Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* build: fix external module symbol collection if build_dir is a symlinkRoman Yeryomin2019-06-061-1/+4
| | | | | | | | | | | | | | | | e26ffb31dfa30d498b963a86d231835e3af7d3df fixed only embedded modules symbol collection. If we are building external modules, like broadcom-wl or lantiq dsl stuff then modules which do EXPORT_SYMBOL have unresolved paths in Module.symvers and external module which depend on other external modules will have empty dependencies, leading to broken module loading. This was discussed on IRC with Jonas some time ago. Fix this by handling both resolved and unresolved paths. Fixes: e26ffb31dfa3 ("build: fix module symbol collection if build_dir is a symlink") Signed-off-by: Roman Yeryomin <roman@advem.lv> [jonas.gorski@gmail.com: add appropriate fixes tag] Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* Revert "kernel: backport act_ctinfo"Kevin Darbyshire-Bryant2019-06-063-1210/+1
| | | | | | | | | | This reverts commit 7c50182e0cdce0366715082872a2afbcf208bbf8. Produces build error: Package kmod-sched is missing dependencies for the following libraries: nf_conntrack.ko Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* rpcd: fix init script reload actionJo-Philipp Wich2019-06-062-6/+3
| | | | | | | Drop the legacy start() and stop() procedures and define a proper reload signal action instead. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: backport act_ctinfoKevin Darbyshire-Bryant2019-06-063-1/+1210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ctinfo is a new tc filter action module. It is designed to restore information contained in firewall conntrack marks to other packet fields and is typically used on packet ingress paths. At present it has two independent sub-functions or operating modes, DSCP restoration mode & skb mark restoration mode. The DSCP restore mode: This mode copies DSCP values that have been placed in the firewall conntrack mark back into the IPv4/v6 diffserv fields of relevant packets. The DSCP restoration is intended for use and has been found useful for restoring ingress classifications based on egress classifications across links that bleach or otherwise change DSCP, typically home ISP Internet links. Restoring DSCP on ingress on the WAN link allows qdiscs such as but by no means limited to CAKE to shape inbound packets according to policies that are easier to set & mark on egress. Ingress classification is traditionally a challenging task since iptables rules haven't yet run and tc filter/eBPF programs are pre-NAT lookups, hence are unable to see internal IPv4 addresses as used on the typical home masquerading gateway. Thus marking the connection in some manner on egress for later restoration of classification on ingress is easier to implement. Parameters related to DSCP restore mode: dscpmask - a 32 bit mask of 6 contiguous bits and indicate bits of the conntrack mark field contain the DSCP value to be restored. statemask - a 32 bit mask of (usually) 1 bit length, outside the area specified by dscpmask. This represents a conditional operation flag whereby the DSCP is only restored if the flag is set. This is useful to implement a 'one shot' iptables based classification where the 'complicated' iptables rules are only run once to classify the connection on initial (egress) packet and subsequent packets are all marked/restored with the same DSCP. A mask of zero disables the conditional behaviour ie. the conntrack mark DSCP bits are always restored to the ip diffserv field (assuming the conntrack entry is found & the skb is an ipv4/ipv6 type) e.g. dscpmask 0xfc000000 statemask 0x01000000 |----0xFC----conntrack mark----000000---| | Bits 31-26 | bit 25 | bit24 |~~~ Bit 0| | DSCP | unused | flag |unused | |-----------------------0x01---000000---| | | | | ---| Conditional flag v only restore if set |-ip diffserv-| | 6 bits | |-------------| The skb mark restore mode (cpmark): This mode copies the firewall conntrack mark to the skb's mark field. It is completely the functional equivalent of the existing act_connmark action with the additional feature of being able to apply a mask to the restored value. Parameters related to skb mark restore mode: mask - a 32 bit mask applied to the firewall conntrack mark to mask out bits unwanted for restoration. This can be useful where the conntrack mark is being used for different purposes by different applications. If not specified and by default the whole mark field is copied (i.e. default mask of 0xffffffff) e.g. mask 0x00ffffff to mask out the top 8 bits being used by the aforementioned DSCP restore mode. |----0x00----conntrack mark----ffffff---| | Bits 31-24 | | | DSCP & flag| some value here | |---------------------------------------| | | v |------------skb mark-------------------| | | | | zeroed | | |---------------------------------------| Overall parameters: zone - conntrack zone control - action related control (reclassify | pipe | drop | continue | ok | goto chain <CHAIN_INDEX>) Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com> Acked-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Make suitable adjustments for backporting to 4.14 & 4.19 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* rpcd: update to the latest git headPetr Štetiar2019-06-061-3/+3
| | | | | | | 89bfaa424606 Fix possible linker errors by using CMake find_library macro 569284a119f9 session: handle NULL return values of crypt() Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: bump 4.19 to 4.19.48Koen Vandeputte2019-06-0510-19/+19
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx, imx6 Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: generic: make kernel-debug.tar.bz2 usable againPetr Štetiar2019-06-053-72/+0
| | | | | | | | | | | This patch removes 202-reduce_module_size.patch which is causing missing debug symbols in kernel modules, leading to unusable kernel-debug.tar.bz2 on all platforms, making debugging of release kernel crashes difficult. Cc: Felix Fietkau <nbd@nbd.name> Acked-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: add support for TOTOLINK LR1200Chuanhong Guo2019-06-053-0/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: MT7628DAN (MT7628AN with 64MB built-in RAM) - Flash: 8M SPI NOR - Ethernet: 5x 10/100Mbps - WiFi: 2.4G: MT7628 built-in 5G: MT7612E - 1x miniPCIe slot for LTE modem (only USB pins connected) - 1x SIM slot Flash instruction: U-boot has a builtin web recovery page: 1. Hold the reset button while powering it up 2. Connect to the ethernet and set an IP in 192.168.1.0/24 range 3. Open your browser and upload firmware through http://192.168.1.1 Note about the LTE modem: If your router comes with an EC25 module and it doesn't show up as a QMI device, you should do the following to switch it to QMI mode: 1. Install kmod-usb-serial-option and a terminal software (e.g. minicom or screen). All 4 serial ports of the modem should be available now. 2. Open /dev/ttyUSB3 with the terminal software and type this AT command: AT+QCFG="usbnet",0 3. Power-cycle the router. You should now get a QMI device recognized. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add support for 8devices Carambola2 development boardRytis Zigmantavičius2019-06-053-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - Atheros AR9331 (400 MHz) - 64 MB of RAM (DDR2) - 16 MB of Flash (SPI) - 1T1R 2.4 Wlan (AR9331) - 2x 10/100 Mbps Ethernet - 3x LEDs, 1x gpio button - 1x USB 2.0, 5V - UART over usb, 115200n8 Upgrading from ar71xx target: - Put image into board: scp openwrt-ath79-generic-8dev_carambola2-squashfs-sysupgrade.bin \ root@192.168.1.1/tmp/ - Run sysupgrade sysupgrade /tmp/sysupgrade.bin Upgrading from u-boot: - Set up tftp server with sysupgrade.bin image - Go to u-boot (reboot and press ESC when prompted) - Set TFTP server IP setenv serverip 192.168.1.254 - Set device ip from same subnet setenv ipaddr 192.168.1.1 - Copy new firmware to board tftpboot 0x81000000 sysupgrade.bin - erase flash erase 0x9f050000 +${filesize} - flash firmware cp.b 0x81000000 0x9f050000 ${filesize} - Reset board reset Signed-off-by: Rytis Zigmantavičius <rytis.z@8devices.com> [wrapped long line in commit description, whitespace and art address fix in DTS, keep default lan/wan setup, removed -n in sysupgrade] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: Add support for ZBT-WD323Kristian Evensen2019-06-055-0/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZBT-WD323 is a dual-LTE router based on AR9344. The detailed specifications are: * AR9344 560MHz/450MHz/225MHz (CPU/DDR/AHN). * 128 MB RAM * 16MB of flash(SPI-NOR, 22MHz) * 1x 2.4GHz wifi (Atheros AR9340) * 3x 10/100Mbos Ethernet (AR8229) * 1x USB2.0 port * 2x miniPCIe-slots (USB2.0 only) * 2x SIM slots (standard size) * 4x LEDs (1 gpio controlled) * 1x reset button * 1x 10 pin terminal block (RS232, RS485, 4x GPIO) * 2x CP210x UART bridge controllers (used for RS232 and RS485) * 1x 2 pin 5mm industrial interface (input voltage 12V~36V) * 1x DC jack * 1x RTC (PCF8563) Tested: - Ethernet switch - Wifi - USB port - MiniPCIe-slots (+ SIM slots) - Sysupgrade - Reset button - RS232 Intallation and recovery: The board ships with OpenWRT, but sysupgrade does not work as a different firmware format than what is expected is generated. The easiest way to install (and recover) the router, is to use the web-interface provided by the bootloader (Breed). While the interface is in Chinese, it is easy to use. First, in order to access the interface, you need to hold down the reset button for around five seconds. Then, go to 192.168.1.1 in your browser. Click on the second item in the list on the left to access the recovery page. The second item on the next page is where you select the firmware. Select the menu item containing "Atheros SDK" and "16MB" in the dropdown close to the buttom, and click on the button at the bottom to start installation/recovery. Notes: * RS232 is available on /dev/ttyUSB0 and RS485 on /dev/ttyUSB1 Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com> [removed unused poll-interval from gpio-keys, i2c-gpio 4.19 compat] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: fix default config for devices with eth0/eth1 swappedChuanhong Guo2019-06-052-70/+56
| | | | | | | | | | | | | | | | also fix the following problems in this commit: glinet,gl-ar150: This router uses an uncommon order of setting up gmacs in ar71xx. gmac0 is preferred to be wan port because of the additional link status info available. So this router will have eth0/eth1 swapped comparing to ar71xx. tplink,tl-wr710n-v1: same as gl-ar150 embeddedwireless,dorin: eth0 is used as switch port, which was incorrect. It's correct now, so keep this one untouched. tplink,tl-wr842n-v1: we don't swap PHYs on ar7241 so the original port order is incorrect. reorder archer-a7-v5 entry. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: dts: drop "simple-mfd" for gmacs in SoC dtsiChuanhong Guo2019-06-057-10/+10
| | | | | | | | | | | | With a proper probe deferring for ag71xx we don't need to explicitly probe mdio1 before gmac0. Drop all "simple-mfd" in SoC dtsi so that gmac orders can be the same as ar71xx. This makes eth0/eth1 order the same as those in ar71xx, which means we don't need a migration script for this anymore and we can merge incorrectly split gmac/mdio driver back together. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: ag71xx: defer probe if of_phy_connect failedChuanhong Guo2019-06-051-2/+2
| | | | | | | | | gmac0 may need a phy on builtin switch, which can be unavailable if gmac0 is probed before builtin switch. Return -EPROBE_DEFER in this case so that gmac0 can be probed later. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: rework LED configurations for tplink,archer-d50-v1Chuanhong Guo2019-06-051-3/+3
| | | | | | | | | | | | The original one has the following problem: 1. Port mask of lan led includes wan port. 2. By using netdev trigger with vlan port, the link led is always on. This commits fixes the above problems by correcting port mask for lan led and use swconfig trigger for wan leds. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: mt7620: fix 5GHz WiFi LED on DWR-118-A1Pawel Dembicki2019-06-051-0/+5
| | | | | | | | | Support for D-Link DWR-118 A1 was added before LEDs feature in mt76x0e driver. This fixes the 5GHz WiFi LED which was previously inverted. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ar71xx: ag71xx: update ethtool supportPetr Štetiar2019-06-051-34/+14
| | | | | | | | | | Remove references to broken and mostly deprecated phy_ethtool_ioctl, use new {s,g}et_link_ksettings and add nway_reset which was previously handled in phy_ethtool_ioctl. Cc: John Crispin <john@phrozen.org> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=1982 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: ag71xx: update ethtool supportPetr Štetiar2019-06-051-26/+14
| | | | | | | | | | | | ethtool doesn't work currently as phy_ethtool_ioctl expects user space pointer, but it's being passed kernel one. Fixing it doesn't make sense as {s,g}et_settings were deprecated anyway. So let's rather remove phy_ethtool_ioctl and use new {s,g}et_link_ksettings instead. While at it, update nway_reset as well. Cc: John Crispin <john@phrozen.org> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=1982 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: ag71xx: remove unused SIOCETHTOOL ioctl handlingPetr Štetiar2019-06-051-10/+0
| | | | | | | | | | | | This ioctl is currently routed through generic interface code: dev_ioctl dev_ethtool __ethtool_get_link_ksettings phy_ethtool_ioctl Cc: Felix Fietkau <nbd@nbd.name> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: ag71xx: remove unused SIOCETHTOOL ioctl handlingPetr Štetiar2019-06-051-10/+1
| | | | | | | | | | | | | This ioctl is currently routed through generic interface code: dev_ioctl dev_ethtool __ethtool_get_link_ksettings phy_ethtool_ioctl Cc: John Crispin <john@phrozen.org> Cc: Chuanhong Guo <gch981213@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: ethernet: remove unused SIOCETHTOOL ioctl handlingPetr Štetiar2019-06-051-12/+1
| | | | | | | | | | | | | This ioctl is currently routed through generic interface code. dev_ioctl dev_ethtool __ethtool_get_link_ksettings phy_ethtool_ioctl Cc: Felix Fietkau <nbd@nbd.name> Cc: John Crispin <john@phrozen.org> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: generic: remove broken and obsolete phy_ethtool_ioctlPetr Štetiar2019-06-052-190/+0
| | | | | | | | | | Remove 701-phy_extension.patch from 4.14 and 4.19 kernel, as it's currenlty broken and fixing doesn't make sense as most of it is deprecated anyway. Cc: John Crispin <john@phrozen.org> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=1982 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* libunwind: bump to version 1.3.1Yousong Zhou2019-06-052-16/+6
| | | | | | | | | | | | | | | Libunwind provides a sigreturn stub for x86 in version 1.2 [1]. However the arch still depends on setcontext() which is unavailable in musl-libc and which is supposed to be "deprecated everywhere" [2] [1] x86 sigreturn unimplemented for some libcs, https://github.com/libunwind/libunwind/issues/13 [2] setcontext deprecated on x86, https://github.com/libunwind/libunwind/issues/69 Refs: https://github.com/openwrt/packages/issues/8548#issuecomment-497791552 Reported-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* kernel: bump 4.19 to 4.19.47Koen Vandeputte2019-06-034-6/+6
| | | | | | | | | Refreshed all patches. Compile-tested on: imx6 Runtime-tested on: imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.123Koen Vandeputte2019-06-037-12/+12
| | | | | | | | | 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>
* kernel: bump 4.9 to 4.9.180Koen Vandeputte2019-06-031-2/+2
| | | | | | | | | Refreshed all patches. Compile-tested: ar7 Runtime-tested: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.46Koen Vandeputte2019-06-037-19/+19
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx, imx6 Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.122Koen Vandeputte2019-06-0310-18/+18
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.179Koen Vandeputte2019-06-032-5/+5
| | | | | | | | | Refreshed all patches. Compile-tested: ar7 Runtime-tested: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* apm821xx: backport accepted linux-crypto patches to 4.19Christian Lamparter2019-06-029-0/+681
| | | | | | | This patch brings the crypto4xx driver up to the latest upstream changes. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: backport accepted linux-crypto patches to 4.14Christian Lamparter2019-06-0210-0/+1149
| | | | | | | This patch brings the crypto4xx driver up to the latest upstream changes. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: MX60: convert to interrupt-driven gpio-key driverChristian Lamparter2019-06-021-3/+3
| | | | | | | This patch converts the device to use the gpio-key over gpio-key-polled driver. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: MR24: convert to interrupt-driven gpio-key driverChristian Lamparter2019-06-021-5/+3
| | | | | | | This patch converts the device to use the gpio-key over gpio-key-polled driver. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: WNDAP6X0: convert to interrupt-driven gpio-key driverChristian Lamparter2019-06-021-5/+2
| | | | | | | This patch converts the device to use the gpio-key over gpio-key-polled driver. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: fix QCA955x GMAC register sizeDavid Bauer2019-06-021-1/+1
| | | | | | | | The register size of the QCA955x currently matches the size stated in the datasheet. However, there are more hidden GMAC registers which are needed for the SGMII workaround to work. Signed-off-by: David Bauer <mail@david-bauer.net>
* wireguard: bump to 0.0.20190601Jason A. Donenfeld2019-06-011-2/+2
| | | | | | | | | | | | | | There was an issue with the backport compat layer in yesterday's snapshot, causing issues on certain (mostly Atom) Intel chips on kernels older than 4.2, due to the use of xgetbv without checking cpu flags for xsave support. This manifested itself simply at module load time. Indeed it's somewhat tricky to support 33 different kernel versions (3.10+), plus weird distro frankenkernels. If OpenWRT doesn't support < 4.2, you probably don't need to apply this. But it also can't hurt, and probably best to stay updated. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* wireguard: bump to 0.0.20190531Jason A. Donenfeld2019-05-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tools: add wincompat layer to wg(8) Consistent with a lot of the Windows work we've been doing this last cycle, wg(8) now supports the WireGuard for Windows app by talking through a named pipe. You can compile this as `PLATFORM=windows make -C src/tools` with mingw. Because programming things for Windows is pretty ugly, we've done this via a separate standalone wincompat layer, so that we don't pollute our pretty *nix utility. * compat: udp_tunnel: force cast sk_data_ready This is a hack to work around broken Android kernel wrapper scripts. * wg-quick: freebsd: workaround SIOCGIFSTATUS race in FreeBSD kernel FreeBSD had a number of kernel race conditions, some of which we can vaguely work around. These are in the process of being fixed upstream, but probably people won't update for a while. * wg-quick: make darwin and freebsd path search strict like linux Correctness. * socket: set ignore_df=1 on xmit This was intended from early on but didn't work on IPv6 without the ignore_df flag. It allows sending fragments over IPv6. * qemu: use newer iproute2 and kernel * qemu: build iproute2 with libmnl support * qemu: do not check for alignment with ubsan The QEMU build system has been improved to compile newer versions. Linking against libmnl gives us better error messages. As well, enabling the alignment check on x86 UBSAN isn't realistic. * wg-quick: look up existing routes properly * wg-quick: specify protocol to ip(8), because of inconsistencies The route inclusion check was wrong prior, and Linux 5.1 made it break entirely. This makes a better invocation of `ip route show match`. * netlink: use new strict length types in policy for 5.2 * kbuild: account for recent upstream changes * zinc: arm64: use cpu_get_elf_hwcap accessor for 5.2 The usual churn of changes required for the upcoming 5.2. * timers: add jitter on ack failure reinitiation Correctness tweak in the timer system. * blake2s,chacha: latency tweak * blake2s: shorten ssse3 loop In every odd-numbered round, instead of operating over the state x00 x01 x02 x03 x05 x06 x07 x04 x10 x11 x08 x09 x15 x12 x13 x14 we operate over the rotated state x03 x00 x01 x02 x04 x05 x06 x07 x09 x10 x11 x08 x14 x15 x12 x13 The advantage here is that this requires no changes to the 'x04 x05 x06 x07' row, which is in the critical path. This results in a noticeable latency improvement of roughly R cycles, for R diagonal rounds in the primitive. As well, the blake2s AVX implementation is now SSSE3 and considerably shorter. * tools: allow setting WG_ENDPOINT_RESOLUTION_RETRIES System integrators can now specify things like WG_ENDPOINT_RESOLUTION_RETRIES=infinity when building wg(8)-based init scripts and services, or 0, or any other integer. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ramips: create R6220 dtsi and improve WNDR3700v5 supportJan Hoffmann2019-05-316-207/+166
| | | | | | | | | | | | | | | | | | The R6220 and WNDR3700v5 are identical apart from using NAND/NOR flash and having a different casing. This adds a new cleaned up R6220.dtsi with the common bits for both devices. Both devices now have feature parity. Performed cleanup: * generic DTS node names * regulator for usb power * added missing pinctrl groups * use switch port instead of VLAN as trigger for WAN LED Fixes for WNDR3700v5: * all LEDS work * correct ethernet MAC addresses Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* ramips: add support for Xiaomi Mi Router 4A (100M Edition)Markus Scheck2019-05-313-0/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - SoC: MediaTek MT7628AN - Flash: 16MB (Winbond W25Q128JV) - RAM: 64MB - Serial: As marked on PCB, 3V3 logic, baudrate is 115200 - Ethernet: 3x 10/100 Mbps (switched, 2x LAN + WAN) - WIFI0: MT7628AN 2.4GHz 802.11b/g/n - WIFI1: MT7612EN 5GHz 802.11ac - Antennas: 4x external (2 per radio), non-detachable - LEDs: Programmable power-LED (two-colored, yellow/blue) Non-programmable internet-LED (shows WAN-activity) - Buttons: Reset INSTALLATION: 1. Connect to the serial port of the router and power it up. If you get a prompt asking for boot-mode, go to step 3. 2. Unplug the router after > Erasing SPI Flash... > raspi_erase: offs:20000 len:10000 occurs on the serial port. Plug the router back in. 3. At the prompt select option 2 (Load system code then write to Flash via TFTP.) 4. Enter 192.168.1.1 as the device IP and 192.168.1.2 as the Server-IP. 5. Connect your computer to LAN1 and assign it as 192.168.1.2/24. 6. Rename the sysupgrade image to test.bin and serve it via TFTP. 7. Enter test.bin on the serial console and press enter. Signed-off-by: Markus Scheck <markus@mscheck.de> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added mt76 compatible]
* build: add support to && in DEPENDSEneas U de Queiroz2019-05-312-3/+20
| | | | | | | | | | | | Adds support to && operand in DEPENDS. Also, fixes generation of || dependencies by scripts/package-metadata.pl. The precedence order from higher to lower is && then ||. Use of parentheses to change the order is not supported. As before, they are silently ignored. Use them for readability only. Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [DMARC removal]
* openssl: update to version 1.1.1cEneas U de Queiroz2019-05-312-34/+3
| | | | | | | | | | | Highlights of this version: - Prevent over long nonces in ChaCha20-Poly1305 (CVE-2019-1543) - Fix OPENSSL_config bug (patch removed) - Change the default RSA, DSA and DH size to 2048 bit instead of 1024. - Enable SHA3 pre-hashing for ECDSA and DSA Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [DMARC removal]
* ath79: add leds migrations for archer-c7-v2 and v4David Santamaría Rogado2019-05-311-0/+6
| | | | | | | | | | | | In ar71xx v2 has blue color defined because the same mach-*.c is also used for TL-WDR4900 model with blue leds. ath79 v2 dts defines them as green. For v4 the situation is the same as v5 so the conversion is identical only v4 instead v5. So now upgrading from ar71xx to ath79 should be also smoother for v2 and v4. Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
* ramips: add CUDY WR1000 supportDavide Fioravanti2019-05-314-0/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cudy WR1200 is an AC1200 AP with 3-port FE and 2 non-detachable antennas Specifications: MT7628 (580 MHz) 64 MB of RAM (DDR2) 8 MB of FLASH 2T2R 2.4 GHz (MT7628) 2T2R 5 GHz (MT7612E) 3x 10/100 Mbps Ethernet (2 LAN + 1 WAN) 2x external, non-detachable antennas (5dbi) UART header on PCB (57600 8n1) 7x LED, 2x button Known issues: The Power LED is always ON, probably because it is connected directly to power. Flash instructions ------------------ Load the ...-factory.bin image via the stock web interface. Openwrt upgrade instructions ---------------------------- Use the ...-sysupgrade.bin image for future upgrades. Revert to stock FW ------------------ Warning! This tutorial will work only with the following OEM FW: WR1000_EU_92.122.2.4987.201806261618.bin WR1000_US_92.122.2.4987.201806261609.bin If in the future these firmwares will not be available anymore, you have to find the new XOR key. 1) Download the original FW from the Cudy website. (For example WR1000_EU_92.122.2.4987.201806261618.bin) 2) Remove the header. dd if="WR1000_EU_92.122.2.4987.201806261618.bin" of="WR1000_EU_92.122.2.4987.201806261618.bin.mod" skip=8 bs=64 3) XOR the new file with the region key. FOR EU: 7B76741E67594351555042461D625F4545514B1B03050208000603020803000D FOR US: 7B76741E675943555D5442461D625F454555431F03050208000603060007010C You can use OpenWrt's tools/firmware-utils/src/xorimage.c tool for this: xorimage -i WR1000..bin.mod -o stock-firmware.bin -x -p 7B767.. Or, you can use this tool (CHANGE THE XOR KEY ACCORDINGLY!): https://gchq.github.io/CyberChef/#recipe=XOR(%7B'option':'Hex','string':''%7D,'',false) 4) Check the resulting decrypted image. Check if bytes from 0x20 to 0x3f are: 4C 69 6E 75 78 20 4B 65 72 6E 65 6C 20 49 6D 61 67 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Alternatively, you can use u-boot's tool dumpimage tool to check if the decryption was successful. It should look like: # dumpimage -l stock-firmware.bin Image Name: Linux Kernel Image Created: Tue Jun 26 10:24:54 2018 Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 4406635 Bytes = 4303.35 KiB = 4.20 MiB Load Address: 80000000 Entry Point: 8000c150 5) Flash it via forced firmware upgrade and don't "Keep Settings" CLI: sysupgrade -F -n stock-firmware.bin LuCI: make sure to click on the "Keep settings" checkbox to disable it. You'll need to do this !TWICE! because on the first try, LuCI will refuse the image and reset the "Keep settings" to enable. However a new "Force upgrade" checkbox will appear as well. Make sure to do this very carefully! Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added wifi compatible, spiffed-up the returned to stock instructions]
* ramips: unify JCG helper command definitionDavide Fioravanti2019-05-312-5/+6
| | | | | | | This patch makes the JCG helper command definition available for every rampis target Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* firmware-utils: jcgimage: add support for 4MiB+ imagesDavide Fioravanti2019-05-311-5/+19
| | | | | | | | | | | | | The first version of this script allowed just 4Mb factory images. With this patch is possible to set the maximum size of the payload. For an 8Mb flash, the corresponding maxsize is: 8 * 1024 * 1024 - 5 * 64 * 1024 = 8388608 - 327680 = 8060928 If the -m argument is not set, the default maximum size will be used for backward compatibility. Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* firmware-utils: jcgimage: fix style and compiler warningsDavide Fioravanti2019-05-311-48/+46
| | | | | | Fixed some compilation warnings. Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* apm821xx: wndr4700: interrupt-driven gpio-keysChristian Lamparter2019-05-311-14/+6
| | | | | | | | | | | | This patch fixes the active_low setting and converts all of the physical keys on the wndr4700 to utilize the interrupt-driven gpio-keys driver over the polled version. The sdcard-insertion hack has been removed since the block-subsystem will now be polling the device instead. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>