aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mediatek: use consistent naming scheme for device nodesAdrian Schmutzler2020-01-265-23/+22
| | | | | | | | | | | | | | | | | | | | | This harmonizes the device node names (and thus the image names, too) between subtargets of the mediatek target. So far, each subtarget has somewhat used its own naming scheme. Now, we use the vendor_device syntax there, too. Since DTS names have different patterns and the target only contains a few devices, this does not replace DEVICE_DTS by a calculated default value (like for other targets). SUPPORTED_DEVICES is adjusted based on the node rename where necessary, though it looks like for several older devices it was not set up correctly so far. While at it, this also changes the DTS name for u7623-02-emmc-512m to all-lower-case. Cc: John Crispin <john@phrozen.org> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: use older kernel for explicitly setting dependenciesAdrian Schmutzler2020-01-2610-13/+13
| | | | | | | | | | | | It is generally more desirable to use older kernel versions for dependencies, as this will require less changes when newer kernels are added (they will by default select the newer packages). Since we currently only have two kernels (4.14 and 4.19) in master, this patch applies this logic by converting all LINUX_4_19 symbols to their inverted LINUX_4_14 equivalents. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* hostapd: remove some bashismsSven Roederer2020-01-261-3/+3
| | | | | | | | | "[[" is a bash extension for test. As the ash-implementation is not fully compatible we drop its usage. Signed-off-by: Sven Roederer <devel-sven@geroedel.de> [remove shebang, slightly facelift commit title/message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* 6in4/6in4.sh: remove some bashism (usage of [[)Sven Roederer2020-01-261-1/+1
| | | | | | | "[[" is a bash extension for test. As the ash-implementation is not fully compatible we drop its usage. Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
* netifd/config.sh: remove some bashism (usage of [[)Sven Roederer2020-01-261-1/+1
| | | | | | | "[[" is a bash extension for test. As the ash-implementation is not fully compatible we drop its usage. Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
* mvebu: remove bashismSven Roederer2020-01-261-1/+1
| | | | | | | | | "[[" is a bash extension for test. As the ash-implementation is not fully compatible we drop its usage. Signed-off-by: Sven Roederer <devel-sven@geroedel.de> [split patch, remove shebang, adjust commit title/message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: remove some bashismsSven Roederer2020-01-261-1/+1
| | | | | | | | | | "[[" is a bash extension for test. As the ash-implementation is not fully compatible we drop its usage. Also change to "=" for simple test, which is sufficient. (see d6ac8ca76c04ed) Signed-off-by: Sven Roederer <devel-sven@geroedel.de> [split patch, removed shebang] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: Add KBUILD_HOSTLDLIBSHauke Mehrtens2020-01-261-0/+1
| | | | | | | | | | In Linux kernel commit 8377bd2b9ee1 ("kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS") HOST_LOADLIBES was renamed to KBUILD_HOSTLDLIBS. This patch adapts the OpenWrt kernel build to this new variable. Without this change the kernel host tools would not link against the libraries found in the staging directory. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
* kernel: sfp: add Nokia SFP fix from net-nextScott Roberts2020-01-2612-37/+145
| | | | | | Add Nokia GPON ONT SFP fix for tx_fault in net-next. Signed-off-by: Scott Roberts <ttocsr@gmail.com>
* lantiq: ltq-ptm: vr9: fix skb handling in ptm_hard_start_xmit()Martin Schiller2020-01-262-1/+4
| | | | | | | | | | Call skb_orphan(skb) to call the owner's destructor function and make the skb unowned. This is necessary to prevent sk_wmem_alloc of a socket from overflowing, which leads to ENOBUFS errors on application level. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* mbedtls: update to 2.16.4Magnus Kroken2020-01-262-24/+24
| | | | | | | | | | | | | | | Fixes side channel vulnerabilities in mbed TLS' implementation of ECDSA. Release announcement: https://tls.mbed.org/tech-updates/releases/mbedtls-2.16.4-and-2.7.13-released Security advisory: https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2019-12 Fixes: * CVE-2019-18222: Side channel attack on ECDSA Signed-off-by: Magnus Kroken <mkroken@gmail.com>
* ipq40xx: fix misplaced cells-sizes in WPJ419's dtsChristian Lamparter2020-01-261-2/+2
| | | | | | | | | | This patch fixes the occurences of the following warning message from the dtc: Warning (reg_format): /soc/spi@78b5000/flash0@0/partitions/partition@0:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq-wifi: drop deprecated .bin supportChristian Lamparter2020-01-263-4/+1
| | | | | | | | | | This patch converts the Qxwlan E2600AC image away from the deprecated .bin file and to the new .qca4019 method. As a result, we no longer need to carry around the legacy support for handling .bin files. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for EnGenius EMD1Yen-Ting-Shen2020-01-267-1/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SOC: IPQ4018 / QCA Dakota CPU: Quad-Core ARMv7 Processor rev 5 (v7l) Cortex-A7 DRAM: 256 MiB NOR: 32 MiB ETH: Qualcomm Atheros QCA8072 (1 port) WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11bgn 2:2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11a/n/ac 2:2x2 INPUT: RESET Button LEDS: White, Blue, Red, Orange Flash instruction: From EnGenius firmware to OpenWrt firmware: In Firmware Upgrade page, upgrade your openwrt-ipq40xx-generic-engenius_emd1-squashfs-factory.bin directly. From OpenWrt firmware to EnGenius firmware: 1. Setup a TFTP server on your computer and configure static IP to 192.168.99.8 Put the EnGenius firmware in the TFTP server directory on your computer. 2. Power up EMD1. Press 4 and then press any key to enter u-boot. 3. Download EnGenius firmware (IPQ40xx) # tftpboot 0x84000000 openwrt-ipq40xx-emd1-nor-fw-s.img 4. Flash the firmware (IPQ40xx) # imgaddr=0x84000000 && source 0x84000000:script 5. Reboot (IPQ40xx) # reset Signed-off-by: Yen-Ting-Shen <frank.shen@senao.com> [removed BOARD_NAME] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: Add support for D-Link DAP-2610Fredrik Olofsson2020-01-268-3/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications ============== - SOC: IPQ4018 - RAM: DDR3 256MB - Flash: SPI NOR 16MB - WiFi: - 2.4GHz: IPQ4018, 2x2, front end SKY85303-11 - 5GHz: IPQ4018, 2x2, front end SKY85717-21 - Ethernet: 1x 10/100/1000Mbps, POE 802.3af - PHY: QCA8072 - UART: GND, blocked, 3.3V, RX, TX / 115200 8N1 - LED: 1x red / green - Button: 1x reset / factory default - U-Boot bootloader with tftp and "emergency web server" accessible using serial port. Installation ============ Flash factory image from D-Link web UI. Constraints in the D-Link web UI makes the factory image unnecessarily large. Flash again using sysupgrade from inside OpenWrt to reclaim some flash space. Return to stock D-Link firmware =============================== Partition layout is preserved, and it is possible to return to the stock firmware simply by downloading it from D-Link and writing it to the firmware partition. # mtd -r write dap2610-firmware.bin firmware Quirks ====== To be flashable from the D-Link http server, the firmware must be larger then 6MB, and the size in the firmware header must match the actual file size. Also, the boot loader verifies the checksum of the firmware before each boot, thus the jffs2 must be after the checksum covered part. This is solved in the factory image by having the rootfs at the very end of the image (without pad-rootfs). The sysupgrade image which does not have to be flashable from the D-Link web UI may be smaller, and the checksum in the firmware header only covers the kernel part of the image. Signed-off-by: Fredrik Olofsson <fredrik.olofsson@anyfinetworks.com> [added WRGG Variables to DEVICE_VARS, squashed spi pinconf/mux, added emd1's gmac0 config,fix dtc warnings] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* tools/gmp: update to 6.2.0Hannu Nyman2020-01-251-2/+2
| | | | | | | | Update GNU gmp to version 6.2.0 Release notes: https://gmplib.org/gmp6.2.html Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* lantiq: tidy up image/MakefileAdrian Schmutzler2020-01-241-7/+5
| | | | | | | This harmonizes indent for Build blocks and removes multiple empty lines. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: fix setting SOC to DEFAULT_SOCAdrian Schmutzler2020-01-241-0/+1
| | | | | | | | | This adds the missing assignment of DEFAULT_SOC to the SOC variable by default. Fixes: 09ee51c614d9 ("lantiq: define SOC only once for uniform targets") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: define SOC only once for uniform targetsAdrian Schmutzler2020-01-246-38/+4
| | | | | | | | | | | | | | In lantiq there are several subtarget where all devices have the same value set to the SOC variable for each device individually. This patch introduces a non-device-dependent variable DEFAULT_SOC, which is used if no specific SOC is set for a device, and thus reduces the number of redundant definitions drastically. This is applied to all subtargets except xway, as only the latter has two different SOCs. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: move DTS_DIR variable out of Device definitionAdrian Schmutzler2020-01-241-1/+2
| | | | | | | | | The DTS_DIR variable is not a device variable, thus it should not be set inside Device/Default but globally. Fixes: c640370939d7 ("lantiq: use soc_vendor_device scheme on DTS file") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: fix model name for BT Home Hub 3 Type AAdrian Schmutzler2020-01-241-1/+1
| | | | | | | | | The number 3 was accidentally removed from the name during split of DEVICE_TITLE. Fixes: fd666870582f ("lantiq: split up DEVICE_TITLE") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: define SOC only once for uniform targetsAdrian Schmutzler2020-01-244-114/+7
| | | | | | | | | | | In ramips, all devices in mt7621, mt76x8 and rt288x subtarget have the same value set to the SOC variable for each device individually. This patch introduces a non-device-dependent variable DEFAULT_SOC, which is used if no specific SOC is set for a device, and thus reduces the number of redundant definitions drastically. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: act_ctinfo: really fix backport this timeKevin Darbyshire-Bryant2020-01-241-1/+1
| | | | Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: act_ctinfo: fixup build error on 4.14Kevin Darbyshire-Bryant2020-01-241-2/+3
| | | | Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: bump 4.19 to 4.19.98Koen Vandeputte2020-01-2412-21/+20
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.167Koen Vandeputte2020-01-248-12/+11
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: act_ctinfo: backport memory leak fixKevin Darbyshire-Bryant2020-01-242-8/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ Upstream commit 09d4f10a5e78d76a53e3e584f1e6a701b6d24108 ] Implement a cleanup method to properly free ci->params BUG: memory leak unreferenced object 0xffff88811746e2c0 (size 64): comm "syz-executor617", pid 7106, jiffies 4294943055 (age 14.250s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c0 34 60 84 ff ff ff ff 00 00 00 00 00 00 00 00 .4`............. backtrace: [<0000000015aa236f>] kmemleak_alloc_recursive include/linux/kmemleak.h:43 [inline] [<0000000015aa236f>] slab_post_alloc_hook mm/slab.h:586 [inline] [<0000000015aa236f>] slab_alloc mm/slab.c:3320 [inline] [<0000000015aa236f>] kmem_cache_alloc_trace+0x145/0x2c0 mm/slab.c:3549 [<000000002c946bd1>] kmalloc include/linux/slab.h:556 [inline] [<000000002c946bd1>] kzalloc include/linux/slab.h:670 [inline] [<000000002c946bd1>] tcf_ctinfo_init+0x21a/0x530 net/sched/act_ctinfo.c:236 [<0000000086952cca>] tcf_action_init_1+0x400/0x5b0 net/sched/act_api.c:944 [<000000005ab29bf8>] tcf_action_init+0x135/0x1c0 net/sched/act_api.c:1000 [<00000000392f56f9>] tcf_action_add+0x9a/0x200 net/sched/act_api.c:1410 [<0000000088f3c5dd>] tc_ctl_action+0x14d/0x1bb net/sched/act_api.c:1465 [<000000006b39d986>] rtnetlink_rcv_msg+0x178/0x4b0 net/core/rtnetlink.c:5424 [<00000000fd6ecace>] netlink_rcv_skb+0x61/0x170 net/netlink/af_netlink.c:2477 [<0000000047493d02>] rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5442 [<00000000bdcf8286>] netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] [<00000000bdcf8286>] netlink_unicast+0x223/0x310 net/netlink/af_netlink.c:1328 [<00000000fc5b92d9>] netlink_sendmsg+0x2c0/0x570 net/netlink/af_netlink.c:1917 [<00000000da84d076>] sock_sendmsg_nosec net/socket.c:639 [inline] [<00000000da84d076>] sock_sendmsg+0x54/0x70 net/socket.c:659 [<0000000042fb2eee>] ____sys_sendmsg+0x2d0/0x300 net/socket.c:2330 [<000000008f23f67e>] ___sys_sendmsg+0x8a/0xd0 net/socket.c:2384 [<00000000d838e4f6>] __sys_sendmsg+0x80/0xf0 net/socket.c:2417 [<00000000289a9cb1>] __do_sys_sendmsg net/socket.c:2426 [inline] [<00000000289a9cb1>] __se_sys_sendmsg net/socket.c:2424 [inline] [<00000000289a9cb1>] __x64_sys_sendmsg+0x23/0x30 net/socket.c:2424 Fixes: 24ec483cec98 ("net: sched: Introduce act_ctinfo action") Signed-off-by: Eric Dumazet <edumazet@google.com> Reported-by: syzbot <syzkaller@googlegroups.com> Cc: Kevin 'ldir' Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Cc: Cong Wang <xiyou.wangcong@gmail.com> Cc: Toke Høiland-Jørgensen <toke@redhat.com> Acked-by: Kevin 'ldir' Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* wireguard-tools: bump to 1.0.20200121Jason A. Donenfeld2020-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile: remove pwd from compile output * Makefile: add standard 'all' target * Makefile: evaluate git version lazily Quality of life improvements for packagers. * ipc: simplify inflatable buffer and add fuzzer * fuzz: add generic command argument fuzzer * fuzz: add set and setconf fuzzers More fuzzers and a slicker string list implementation. These fuzzers now find themselves configuring wireguard interfaces from scratch after several million mutations, which is fun to watch. * netlink: make sure to clear return value when trying again Prior, if a dump was interrupted by a concurrent set operation, we'd try again, but forget to reset an error flag, so we'd keep trying again forever. Now we do the right thing and succeed when we succeed. * Makefile: sort inputs to linker so that build is reproducible Earlier versions of make(1) passed GLOB_NOSORT to glob(3), resulting in the linker receiving its inputs in a filesystem-dependent order. This screwed up reproducible builds. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* wireguard: bump to 0.0.20200121Jason A. Donenfeld2020-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile: strip prefixed v from version.h This fixes a mistake in dmesg output and when parsing the sysfs entry in the filesystem. * device: skb_list_walk_safe moved upstream This is a 5.6 change, which we won't support here, but it does make the code cleaner, so we make this change to keep things in sync. * curve25519: x86_64: replace with formally verified implementation This comes from INRIA's HACL*/Vale. It implements the same algorithm and implementation strategy as the code it replaces, only this code has been formally verified, sans the base point multiplication, which uses code similar to prior, only it uses the formally verified field arithmetic alongside reproducable ladder generation steps. This doesn't have a pure-bmi2 version, which means haswell no longer benefits, but the increased (doubled) code complexity is not worth it for a single generation of chips that's already old. Performance-wise, this is around 1% slower on older microarchitectures, and slightly faster on newer microarchitectures, mainly 10nm ones or backports of 10nm to 14nm. This implementation is "everest" below: Xeon E5-2680 v4 (Broadwell) armfazh: 133340 cycles per call everest: 133436 cycles per call Xeon Gold 5120 (Sky Lake Server) armfazh: 112636 cycles per call everest: 113906 cycles per call Core i5-6300U (Sky Lake Client) armfazh: 116810 cycles per call everest: 117916 cycles per call Core i7-7600U (Kaby Lake) armfazh: 119523 cycles per call everest: 119040 cycles per call Core i7-8750H (Coffee Lake) armfazh: 113914 cycles per call everest: 113650 cycles per call Core i9-9880H (Coffee Lake Refresh) armfazh: 112616 cycles per call everest: 114082 cycles per call Core i3-8121U (Cannon Lake) armfazh: 113202 cycles per call everest: 111382 cycles per call Core i7-8265U (Whiskey Lake) armfazh: 127307 cycles per call everest: 127697 cycles per call Core i7-8550U (Kaby Lake Refresh) armfazh: 127522 cycles per call everest: 127083 cycles per call Xeon Platinum 8275CL (Cascade Lake) armfazh: 114380 cycles per call everest: 114656 cycles per call Achieving these kind of results with formally verified code is quite remarkable, especialy considering that performance is favorable for newer chips. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ath10k-firmware: fix mirror hashDENG Qingfang2020-01-241-1/+1
| | | | | | | | | Fix PKG_MIRROR_HASH hash mismatch. Fixes: 641a93f0f226 ("ath10k-firmware: update wave 1 firmware to 10.2.4-1.0-00047") Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn> [added missing commit description] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* procd: update to version 2020-01-24Petr Štetiar2020-01-241-3/+3
| | | | | | | | 00aafc4f439e procd: show process's exit code 856b5f8be046 state: fix reboot causing shutdown inside LXC container b44417c20c7f instance: provide error feedback if ujail binary is missing Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: fix dst reference leak in flow offloadFelix Fietkau2020-01-232-22/+24
| | | | | | Fixes a significant amount of leaked memory with lots of connections Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ath79: fix SUPPORTED_DEVICES not matching ar71xx board namesAdrian Schmutzler2020-01-234-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on a script for comparison, this fixes (hopefully) all errors in SUPPORTED_DEVICES for ar71xx->ath79 upgrade. Devices where old string is removed as the device does not exist in ar71xx: - dlink_dir-859-a1 - tplink_archer-a7-v5 - tplink_cpe510-v3 Devices where string is changed because it did not match the board name in ar71xx: - tplink_tl-mr3220-v1 - tplink_tl-mr3420-v1 - tplink_tl-wr2543-v1 - tplink_tl-wr741nd-v4 - tplink_tl-wr841-v7 - ubnt_unifiac-mesh - ubnt_unifiac-mesh-pro - ubnt_unifiac-pro For this device, the correct string could not be found, but we could not determine the correct one. Thus, the string is removed for now: - tplink_tl-wr740n-v4 The script for checking this is quite simple (note that newer entries, i.e. ath79->ath79 upgrade, are displayed as missing): newpath=target/linux/ath79/image/ oldpath=target/linux/ar71xx/base-files/lib/ar71xx.sh for s in $(grep -roh "SUPPORTED_DEVICES.*" $newpath | sed 's/SUPPORTED_DEVICES *.= *//'); do found="Missing" grep -q -r "\"$s\"" $oldpath && found="Found" echo "$s: $found." done The errors might be filtered by appending 'grep "Missing"' to the script. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move lzma-loader to the end of available RAMAdrian Schmutzler2020-01-232-3/+2
| | | | | | | | | | | | | | | | | | | | | In certain cases, the uncompressed initramfs image will overwrite the lzma-loader, which is currently only 10 MB away from kernel image start. To prevent this, change LZMA_TEXT_START to 24 MB, so loader and compressed image have 8 MB at the end of RAM and uncompressed image has 24 MB available. This is only enabled for ath79 at the moment, as there we can be sure that all devices have 32+ MB RAM and TARGET_INITRAMFS_COMPRESSION_LZMA is not enabled there. Despite, since lzma-loader is currently build specifically for ath79 anyway, there is no need to re-specify LOADADDR and LZMA_TEXT_START in image/Makefile, so the values are set directly in image/lzma-loader/Makefile and the overwrite in image/Makefile is removed. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: add support for MikroTik RouterBOARD wAP G-5HacT2HnDRoger Pueyo Centelles2020-01-239-3/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC), a small weatherproof dual band, dual-radio 802.11ac wireless AP with integrated omnidirectional anntennae and one 10/100/1000 Mbps Ethernet port. See https://mikrotik.com/product/RBwAPG-5HacT2HnD for more info. Specifications: - SoC: Qualcomm Atheros QCA9556 - RAM: 64 MB - Storage: 16 MB NOR - Wireless: · Atheros AR9550 (SoC) 802.11b/g/n 2x2:2, 2 dBi antennae · Qualcomm QCA9880 802.11a/n/ac 3x3:3, 2 dBi antennae - Ethernet: Atheros AG71xx (SoC, AR8033), 1x 1000/100/10 port, passive PoE in Working: - Board/system detection - Sysupgrade - Serial console - Ethernet - 2.4 GHz radio - 5 GHz radio and LED - Reset button Not working/Unsupported: - 2.4 GHz LED - AP/CAP LED - ZT2046Q SPI temperature and voltage sensor This adds the basic features for supporting MikroTik devices: - a common recipe for mikrotik images in common-mikrotik.mk - support for minor (MikroTik NOR) split firmware (only for generic subtarget so far) Acknowledgments: Robert Marko <robimarko@gmail.com> Andrew Cameron <apcameron@softhome.net> Koen Vandeputte <koen.vandeputte@ncentric.com> Chuanhong Guo <gch981213@gmail.com> Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Co-developed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: allow to override AR8033 SGMII aneg statusDavid Bauer2020-01-232-0/+32
| | | | | | | | | | | | | In order to make the QCA955x SGMII workaround work, the unsuccessful SGMII autonegotiation on the AR8033 should not block the PHY state-machine. Otherwise, the ag71xx driver never becomes aware of the copper-side link-establishment and the workaround is never executed. Signed-off-by: David Bauer <mail@david-bauer.net> [remove one trailing whitespace per file] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add QCA955x SGMII link loss workaroundDavid Bauer2020-01-233-0/+290
| | | | | | | | | | | | | | | | This commit adds a workaround for the loss of the SGMII link observed on the QCA955x generation of SoCs. The workaround originates part from the U-Boot source code, part from the implementation from AVM found in the GPL tarball for the AVM FRITZ!WLAN Repeater 450E. The bug results in a stuck SGMII link between the PHY device and the SoC side. This has only been observed with the Atheros AR8033 PHY and most likely all devices using such combination are affected. It is worked around by reading a hidden SGMII status register and issuing a SGMII PHY reset until the link becomes useable again. Signed-off-by: David Bauer <mail@david-bauer.net>
* rbextract: support devices directly showing ERD magicRoger Pueyo Centelles2020-01-232-1/+30
| | | | | | | | | Older ath79-based MikroTik devices have the ERD calibration data compressed and stored different to newer IPQ40xx ones. This commit adds support for these former ones. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Acked-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* rbextract: add packageRoger Pueyo Centelles2020-01-236-0/+854
| | | | | | | | | This utility extracts the radio calibration data, as well as other board-related information (model, serial number, etc.), from MikroTik Routerboard devices' flash. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Acked-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* rbcfg: make package available for ath79Roger Pueyo Centelles2020-01-231-1/+1
| | | | Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* hostapd: fix faulty WMM IE parameters with ETSI regulatory domainsFelix Fietkau2020-01-232-0/+88
| | | | | | | | hostapd sets minimum values for CWmin/CWmax/AIFS and maximum for TXOP. The code for applying those values had a few bugs leading to bogus values, which caused significant latency and packet loss. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kirkwood: exploit BOARD_NAME to set DEVICE_DTS and SUPPORTED_DEVICESAdrian Schmutzler2020-01-231-20/+2
| | | | | | | | | | | | | | | Due to the history of the target, all devices added before a certain point have the same device string in BOARD_NAME, DEVICE_DTS and added to SUPPORTED_DEVICES. Thus, we can set this one automatically for all devices where BOARD_NAME is specified, removing the explicit DEVICE_DTS and SUPPORTED_DEVICES addition there. For new devices, nothing has changed, and just DEVICE_DTS has to be set manually. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* sunxi: tidy up and sort alphabetically in image MakefilesAdrian Schmutzler2020-01-234-197/+135
| | | | | | | | | | This tidies up the image Makefiles for the sunxi target by: - Move the if-condition for the subtarget to the parent Makefile - Remove lots of unnecessary empty lines - Sort device definitions alphabetically - Harmonize line wrapping for DEVICE_PACKAGES Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* uboot-envtools: ath79: add support for glinet,gl-ar150Kimmo Vuorinen2020-01-231-0/+3
| | | | | | | | Add ubootenv uci config for GL.inet GL-AR150 Signed-off-by: Kimmo Vuorinen <kimmo.vuorinen@gmail.com> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* uboot-envtools: ar71xx: add support for gl-ar150/-domino/-mifiKimmo Vuorinen2020-01-231-0/+5
| | | | | | | | Add ubootenv uci config for gl-ar150, gl-domino and gl-mifi Signed-off-by: Kimmo Vuorinen <kimmo.vuorinen@gmail.com> [commit message/title facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: change u-boot-env to read-write for gl-ar150/-domino/mifiKimmo Vuorinen2020-01-231-3/+3
| | | | | | | | | Change u-boot-env partitions to be mounted as read-write for gl-ar150, gl-domino and gl-mifi so uboot-envtools support is possible. Signed-off-by: Kimmo Vuorinen <kimmo.vuorinen@gmail.com> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WA850RE v2Adrian Schmutzler2020-01-224-1/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link TL-WA850RE v2 is a wall-plug N300 Wi-Fi range extender, based on Qualcomm/Atheros QCA9533 v2. Short specification: - 550/391/195 MHz (CPU/DDR/AHB) - 1x 10/100 Mbps Ethernet - 32 MB of RAM (DDR1) - 4 MB of FLASH - 2T2R 2.4 GHz - 2x internal antennas (embedded on PCB) - 9x LED (all can be turned off with GPIO15), 2x button - UART (J3) header on PCB Flash instruction: use "factory" image directly in vendor GUI. Warning: this device does not include any kind of recovery mechanism in the bootloader and disassembling process is not trivial. You can access vendor firmware over serial line using: - login: root - password: sohoadmin Stock firmware uses label MAC address for WiFi and same with local bit set for ethernet. Since this is difficult to reproduce with the toolset of OpenWrt, we just keep both ethernet and WiFi to the same address here. This is the first tiny device with tplink-safeloader in ath79. Firmware partition is only 3648k and thus even smaller than for the tplink-4m(lzma) devices. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: use dynamic partitioning for TP-Link TL-WA850RE v2Adrian Schmutzler2020-01-222-3/+2
| | | | | | | This moves the TP-Link TL-WA850RE v2 to dynamic partitioning and will allow to use this for ath79 as well. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* generic at803x: remove unneeded patchesDavid Bauer2020-01-223-236/+0
| | | | | | | | | | | | | | | | | | | | | | - Remove the "RGMII TX delay fixup" hack and the associated DT-property. It was never used in a DT-based platform and solved a problem which can be mitigated by using correct delays on the MAC side. - Remove the patch to enable platform-data support for the at803x driver. It was only used by ar71xx which does not (and never will) support kernel 4.19 or later. - Remove the SmartEEE DT-configuration patch. As explained previously, this patch never disabled the Atheros SmartEEE implementation, but rather "standard" EEE. This can be done on device-tree compatible platforms by adding the "eee-broken-1000t" or "eee-broken-100tx" properties to the PHY node. As all usages of the old properties are migrated, this patch can be removed. Signed-off-by: David Bauer <mail@david-bauer.net> Acked-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: use upstream properties to disable EEEDavid Bauer2020-01-224-4/+8
| | | | | | | | | | | | | The hack-patch which introduced the "at803x-disable-smarteee" for disabling SmartEEE did in fact not disable SmartEEE but rather disabled 802.3az "standard" EEE. This can be done by using the upstream properties "eee-broken-100tx" and "eee-broken-1000t". EEE is then disabled by the PHY subsystem. Tested on devolo WiFi pro 1200e. Signed-off-by: David Bauer <mail@david-bauer.net>