aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* kernel: add missing config symbolStijn Tintel2020-08-013-0/+3
| | | | | | | | | | This symbol is exposed on ARM64 with EFI enabled in the kernel config. Currently this happens only on ipq807x, but as there might be new ARM64 targets with EFI in the future it is better to add the symbol to the generic config. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Jo-Philipp Wich <jo@mein.io>
* kernel: add menuconfig entry for kernel CONFIG_CGROUP_NET_CLASSIDDaniel Golle2020-07-311-0/+4
| | | | | | | | It was removed from target defaults though it didn't exist in the build-systems kernel configuration options. Add it there. Fixes: d1a8217d87 ("kernel: clean-up build-configurable kernel config symbols") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: don't kill wireless daemon on teardownDavid Bauer2020-07-311-2/+0
| | | | | | | | Don't kill the wireless daemon on teardown. hostapd as well as wpa_supplicant are managed by procd which would detect the shutdown of either process as a crash loop. Signed-off-by: David Bauer <mail@david-bauer.net>
* hostapd: fix incorrect service nameDavid Bauer2020-07-312-2/+2
| | | | | | | | | | | | | | When retrieving the PID for hostapd and wpa_supplicant via ubus the wrong service name is currently used. This leads to the following error in the log: netifd: radio0 (1409): WARNING (wireless_add_process): executable path /usr/sbin/wpad does not match process path (/proc/exe) Fixing the service name retrieves the correct PID and therefore the warning won't occur. Signed-off-by: David Bauer <mail@david-bauer.net>
* gemini: Add swap partition to DNS-313Linus Walleij2020-07-311-7/+13
| | | | | | | | | Sometimes when using the DNS-313 memory usage can peak and with a simple swap partition we can avoid running into the roof and invoking the OOM killer. Set this partition to 128MB (twice the size of the memory of the DNS-313). Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* apm821xx: disable WNDR4700 5.4 imageChristian Lamparter2020-07-311-0/+1
| | | | | | | | | | | | | | | The compressed image that the buildbots are building is too large for the netgear uboot and it crashes and soft-bricks the device. | Uncompressing Kernel Image ... | LZMA: uncompress or overwrite error 1 - must RESET board to recover The whole target likely needs to be switched zImage which is a major hassle due to powerpc's legacy bootwrapper setup as compared to ARM. So for now, disable the device. Reported-by: Wiktor Stasiak (FS#3258) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kirkwood: use real model names for Linksys devicesAdrian Schmutzler2020-07-3111-31/+66
| | | | | | | | | | | | This replaces the internal device names "Audi" and "Viper" with the real model names, which a user would look for. This makes the Linksys devices on this target consistent with the names recently changed for mvebu based on the same idea. As a consequence, the "viper" device definition is split into two separate definitions with the correct names for both real models. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: mount bpffs at bootTony Ambardar2020-07-312-1/+2
| | | | | | | | | | Explicitly mount the BPF filesystem if available. This is used for pinning eBPF programs and maps, making them accessible to other eBPF programs or from userspace with the help of libbpf or bpftool. Signed-off-by: Tony Ambardar <itugrok@yahoo.com> [daniel@makrotopia.org: bumped PKG_RELEASE] Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: mips: restore missing MIPS32 cBPF JITTony Ambardar2020-07-311-0/+1663
| | | | | | | | | | | | | | | | | | | Kernel v5.1 included an eBPF JIT for MIPS32 kernels, but problems were discovered [1] and the changes later reverted in kernel v5.5 with commits: * f8fffebdea75 ("MIPS: BPF: Disable MIPS32 eBPF JIT") * 36366e367ee9 ("MIPS: BPF: Restore MIPS32 cBPF JIT") Only the first of these was backported to LTS kernel 5.4, leaving cBPF programs without a JIT and introducing a performance regression for any such users e.g. libpcap, tcpdump, etc. Restore cBPF performance by backporting the second commit above: * 070-v5.5-MIPS-BPF-Restore-MIPS32-cBPF-JIT.patch [1] https://lore.kernel.org/bpf/20191205182318.2761605-1-paulburton@kernel.org/ Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* hostapd: reorganize config selection hierarchy for WPA3Adrian Schmutzler2020-07-311-16/+18
| | | | | | | | | | | | | | | | | | The current selection of DRIVER_MAKEOPTS and TARGET_LDFLAGS is exceptionally hard to read. This tries to make things a little easier by inverting the hierarchy of the conditions, so SSL_VARIANT is checked first and LOCAL_VARIANT is checked second. This exploits the fact that some of the previous conditions were unnecessary, e.g. there is no hostapd-mesh*, so we don't need to exclude this combination. It also should make it a little easier to see which options are actually switched by SSL_VARIANT and which by LOCAL_VARIANT. The patch is supposed to be cosmetic. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: fix alphabetic sorting in 02_networkAdrian Schmutzler2020-07-311-6/+6
| | | | | | This has been overlooked when removing solidrun,clearfog-a1 entry. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: increase compat version for SolidRun ClearFog BaseAdrian Schmutzler2020-07-312-1/+4
| | | | | | | | | | | | | When changing the Pro variant to DSA, the ethernet interface rename script was dropped by all devices to keep them in sync: be309bfd7445 ("mvebu: drop 06_set_iface_mac preinit script") Therefore, network config will be broken after upgrade for the Base variant as well. Increase the compat version and provide a message to signal that to the users. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: implement compatibility version for DSA migrationAdrian Schmutzler2020-07-312-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | This implements the newly introduced compat-version to prevent upgrade between swconfig and DSA for kirkwood. Just define a compat version with minor increment and an appropriate message for both image (in Makefile) and device (in base-files). Since we never removed SUPPORTED_DEVICES for this target, we don't have to add it back either. Attention: All users that already updated to the DSA versions in master will receive the same incompatibility warning since their devices are still "1.0" as far as fwtool can tell. Those, and only those, can bypass the upgrade check by using force (-F) without having to reset config again. In addition, the new version string needs to be put into uci config manually, so the new fwtool knows that it actually deals with a "1.1": uci set "system.@system[-1].compat_version=1.1" uci commit system Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: implement compatibility version for DSA migrationAdrian Schmutzler2020-07-312-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | This implements the newly introduced compat-version to prevent upgrade between swconfig and DSA for mvebu. Just define a compat version with minor increment and an appropriate message for both image (in Makefile) and device (in base-files). Having taken care of sysupgrade, we can put back the SUPPORTED_DEVICES that have been removed in previous patches to prevent broken config. Attention: All users that already updated to the DSA versions in master will receive the same incompatibility warning since their devices are still "1.0" as far as fwtool can tell. Those, and only those, can bypass the upgrade check by using force (-F) without having to reset config again. In addition, the new version string needs to be put into uci config manually, so the new fwtool knows that it actually deals with a "1.1": uci set "system.@system[-1].compat_version=1.1" uci commit system Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: fwtool: make compat_version backward compatibleAdrian Schmutzler2020-07-312-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far, the compatibility mechanism only works if both device and image are already updated to the new routines. This patch extends the sysupgrade metadata and fwtool_check_image() to account for "older" images as well: The basic mechanism for older devices to check for image compatibility is the supported_devices entry. This can be exploited by putting a custom message into this variable of the metadata, so older FW will produce a mismatch and print the message as it thinks it's the list of supported devices. So, we have two cases: device 1.0, image 1.0: The metadata will just contain supported_devices as before. device 1.0, image 1.1: The metadata will contain: "new_supported_devices":["device_string1", "device_string2", ...], "supported_devices":["Image version 1.1 incompatible to device: ..."] If the device is "legacy", i.e. does not have the updated fwtool.sh, it will just fail with image check and print the content of supported_devices. If DEVICE_COMPAT_MESSAGE is set, this will be printed on old devices as well through the same mechanism. Otherwise a generic "Please check documentation ..." is appended. Upgrade can still be performed with -F like when SUPPORTED_DEVICES has been removed to prevent bricking. If the device has updated fwtool.sh (but is 1.0), it will just use the new_supported_devices instead, and work as intended (flashing with -n will work, flashing without will print the appropriate warning). This mechanism should provide a fair tradeoff between simplicity and functionality. Since we touched a lot of fields in metadata, this also bumps metadata_version to 1.1. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: fwtool: implement compatibility check for imagesAdrian Schmutzler2020-07-311-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We regularly encounter the situation that devices are subject to changes that will make them incompatible to previous versions. Removing SUPPORTED_DEVICES will not really be helpful in most of these cases, as this only helps after a rename. To solve this situation, this patchset introduces a compatibility version for devices. In this patch, the actual checks are implemented into fwtool_check_image(): If an incompatible change is introduced, one can increase either the minor version (1.0->1.1) or the major version (1.0->2.0). Minor version increment: This will still allow sysupgrade, but require to reset config (-n or SAVE_CONFIG=0). If sysupgrade is called without -n, a corresponding message will be printed. If sysupgrade is called with -n, it will just pass, with supported devices being checked as usual. (Which will allow us to add back SUPPORTED_DEVICES for many cases.) Major version increment: This is meant for potential (rare) cases where sysupgrade is not possible at all, because it would break the device. In this case, a warning will be printed, and -n won't help. If image check fails because of one of the versions parts not matching, the content of DEVICE_COMPAT_MESSAGE is printed in addition to the generic message (if set). For both cases, upgrade can still be forced with -F as usual. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: add support for compat_version on deviceAdrian Schmutzler2020-07-312-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We regularly encounter the situation that devices are subject to changes that will make them incompatible to previous versions. Removing SUPPORTED_DEVICES will not really be helpful in most of these cases, as this only helps after a rename. To solve this situation, this patchset introduces a compatibility version for devices. To complement the DEVICE_COMPAT_VERSION set for the image to be flashed, this implements a compat_version on the device, so it will have something to compare with the image. The only viable way to achieve this seems to be via board.d files, i.e. this is technically adding a compat version for the device's config. Like for the network setup, this will set up a command ucidef_set_compat_version to set the compat_version in board.d. This will then add a string to /etc/board.json, which will be translated into uci system config by bin/config_generate. By this, the compat_version, being a version of the config, will also be exposed to the user. As with DEVICE_COMPAT_VERSION, missing uci entry will be assumed as compat_version "1.0", so we only need to add this if a device needs to be bumped, e.g. ucidef_set_compat_version "1.1" Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: add DEVICE_COMPAT_VERSION and DEVICE_COMPAT_MESSAGEAdrian Schmutzler2020-07-312-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We regularly encounter the situation that devices are subject to changes that will make them incompatible to previous versions. Removing SUPPORTED_DEVICES will not really be helpful in most of these cases, as this only helps after a rename. To solve this situation, this patchset introduces a compatibility version for devices. It will be implemented via a per-device Make variable DEVICE_COMPAT_VERSION, which will be set to 1.0 globally by default and then can be overwritten as needed. Furthermore, a variable DEVICE_COMPAT_MESSAGE is added, where a message to be displayed during sysupgrade may be specified optionally. This patch only implements the build variables and adds them to the sysupgrade metadata, the evaluation will be addressed in a subsequent patch. To set it, one would just need to add the following to a device node: define Device/somedevice ... DEVICE_COMPAT_VERSION := 1.1 DEVICE_COMPAT_MESSAGE := Config cannot be migrated from swconfig to DSA endef Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for JS76x8 series DEV boardsRobinson Wu2020-07-316-4/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Jotale JS76x8 series development boards. These devices have the following specifications: - SOC: MT7628AN/NN, MT7688AN, MT7628DAN - RAM of MT7628AN/NN and MT7688AN: 64/128/256 MB (DDR2) - RAM of MT7628DAN: 64 MB (DDR2) - FLASH:8/16/32 MB (SPI NOR) - Ethernet:3x 10/100 Mbps ethernet ports (MT76x8 built-in switch) - WIFI:1x 2T2R 2.4 GHz Wi-Fi - LEDs:1x system status green LED, 1x wifi green LED, 3x ethernet green LED - Buttons:1x reset button - 1x microSD slot - 4x USB 2.0 port - 1x mini-usb debug UART - 1x DC jack for main power (DC 5V) - 1x TTL/RS232 UART - 1x TTL/RS485 UART - 13x GPIO header - 1x audio codec(wm8960) Installation via OpenWrt: The original firmware is OpenWrt, so both LuCI and sysupgrade can be used. Installation via U-boot web: 1. Power on board with reset button pressed, release it after wifi led start blinking. 2. Setup static IP 192.168.1.123/4 on your PC. 3. Go to 192.168.1.8 in browser and upload "sysupgrade" image. Installation via U-boot tftp: 1. Connect to serial console at the mini usb, which has been connected to UART0 on board (115200 8N1) 2. Setup static IP 192.168.1.123/4 on your PC. 3. Place openwrt-firmware.bin on your PC tftp server (192.168.1.123). 3. Connect one of LAN ports on board to your PC. 4. Start terminal software (e.g. screen /dev/ttyUSB0 115200) on PC. 5. Apply power to board. 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 (192.168.1.8) ==:192.168.1.8 Input server IP (192.168.1.123) ==:192.168.1.123 Input Linux Kernel filename (root_uImage) ==:openwrt-firmware.bin 8. board will download file from tftp server, write it to flash and reboot. Signed-off-by: Robinson Wu <wurobinson@qq.com> [add license to DTS files, fix state_default and reduce to the mimimum, move phy0tpt trigger to DTS, drop ucidef_set_led_timer, fix network ports] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: limit 5GHz channels for RAVPower RP-WD009David Bauer2020-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | When selecting a channel below 100 on the 5GHz radio, the channel will be detected as busy all the time. Survey data from wlan1 frequency: 5240 MHz [in use] channel active time: 165729 ms channel busy time: 158704 ms channel transmit time: 0 ms Channels 100 and above work fine: Survey data from wlan1 frequency: 5500 MHz channel active time: 133000 ms channel busy time: 21090 ms channel transmit time: 0 ms Limit the available channels, so users do not have the impression their device is broken. Signed-off-by: David Bauer <mail@david-bauer.net>
* treewide: mark devices as BROKEN instead of commenting outPetr Štetiar2020-07-302-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the newly introduced BROKEN flag to a bunch of devices that previously just had TARGET_DEVICES commented out. By this, we can select them in make menuconfig when BROKEN developer config option is selected, instead of having to edit the code. In contrast to DEFAULT := n, this is meant to cover devices that don't boot or don't compile at all. ath25: np25g, wpe53g both disabled during kernel bump 3.18->4.4 without reason given f89a20a89aeb ("ath25: update kernel from 3.18 to 4.4") bcm53xx: linksys-ea6300-v1, linksys-ea9200, linksys-ea9500 broken due to insufficient/broken TRX support 55ff15cfd509 ("bcm53xx: disable building Linksys EA6300 V1 image") cd0f9900a4cd ("bcm53xx: parepare for building more Linksys images") bcm63xx: tplink-archer-c5-v2, tplink-archer-c9-v1 disabled when kernel 5.4 support was added, probably broken 50c6938b95a0 ("bcm53xx: add v5.4 support") Signed-off-by: Petr Štetiar <ynezz@true.cz> [limit to subset of devices, use BROKEN, adjust commit message/title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: add option to mark devices as BROKENAdrian Schmutzler2020-07-304-1/+9
| | | | | | | | | | | By specifying "BROKEN := 1" or "BROKEN := y" for a device, it will be hidden (and deselected) by default. By that, it provides a stronger option to "disable" a device beyond just using DEFAULT := n. To make these devices visible, just enable the BROKEN option in developer settings as already implemented for targets and packages. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: use DEFAULT := n to disable non-broken devicesPetr Štetiar2020-07-303-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This uses DEFAULT := n on a bunch of devices that previously were "disabled" by commenting out TARGET_DEVICES. This will allow to build them without having to modify the code, but they will not be selected for default build or buildbots. The change is applied to all devices that are not "broken", but suffer from image site limitations or similar, or have been added in the past but never confirmed to run on the device properly: at91: at91-q5xr5: kernel image too big 31aeae077482 ("at91: do not build image for at91-q5xr5") bcm47xx: asus-rt-ac66u: disabled since it was added in 2015 69aefc771fd8 ("brcm47xx: build images for Asus devices") bcm47xx: netgear-wndr3400-vcna, netgear-wnr3500u, netgear-wnr3500-v2-vc added disabled in 2012, but never confirmed to work on devices 5dec9dd3b200 ("brcm47xx: add code to generate images for some netgear devices") bcm53xx: netgear-r8500 added disabled: "start working on Netgear R8500" 3b76c7cf0bdd ("bcm53xx: start working on Netgear R8500") Signed-off-by: Petr Štetiar <ynezz@true.cz> [limit to subset of devices, adjust commit message/title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: cosmetic fixes for partition node of D-Link DIR-825 B1Adrian Schmutzler2020-07-301-1/+1
| | | | | | | Make the node name match the reg property and remove the unused DT label. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* procd: update to git HEADDaniel Golle2020-07-301-3/+3
| | | | | | | 28be011 instance: make sure values are not inherited from previous runs 2ae5cbc uxc: remove debugging left-over Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: clean-up build-configurable kernel config symbolsDaniel Golle2020-07-304-37/+39
| | | | | | | | | Don't explicitely disable options in target/linux/generic/config-* if they are already controlled in config/Config-kernel.in. Add a bunch of new symbols and prepare defaults for using only unified hierarchy (ie. cgroup2). Update symbol dependencies while at it Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* hostapd: improve TITLE for packagesAdrian Schmutzler2020-07-301-27/+33
| | | | | | | | | | | | | | For a few packages, the current TITLE is too long, so it is not displayed at all when running make menuconfig. Despite, there is no indication of OpenSSL vs. wolfSSL in the titles. Thus, this patch adjusts titles to be generally shorter, and adds the SSL variant to it. While at it, make things easier by creating a shared definition for eapol-test like it's done already for all the other flavors. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* hostapd: update mesh DFS patches and add mesh HE supportDaniel Golle2020-07-3034-190/+1440
| | | | | | | | | | | | | | | | Drop outdated and by now broken patchset originally supplied by Peter Oh in August 2018 but never merged upstream. Instead add the more promissing rework recently submitted by Markus Theil who picked up Peter's patchset, fixed and completed it and added support for HE (802.11ax) in mesh mode. This is only compile tested and needs some real-life testing. Fixes: FS#3214 Fixes: 167028b750 ("hostapd: Update to version 2.9 (2019-08-08)") Fixes: 0a3ec87a66 ("hostapd: update to latest Git hostap_2_9-1238-gdd2daf0848ed") Fixes: 017320ead3 ("hostapd: bring back mesh patches") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ath79: add support for gl-e750Luochongjun2020-07-294-1/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The gl-e750 is a portable travel router that gives you safe access to the internet while traveling. Specifications: - SoC: Qualcomm Atheros AR9531 (650MHz) - RAM: 128 MB DDR2 - Flash: 16 MB SPI NOR (W25Q128FVSG) + 128 MB SPI NAND (GD5F1GQ4UFYIG) - Ethernet: 10/100: 1xLAN - Wireless: QCA9531 2.4GHz (bgn) + QCA9887 5GHz (ac) - USB: 1x USB 2.0 port - Switch: 1x switch - Button: 1x reset button - OLED Screen: 128*64 px MAC addresses based on vendor firmware: LAN *:a0 art 0x0 2.4GHz *:a1 art 0x1002 5GHz *:a2 art calculated from art 0x0 + 2 Flash firmware: Since openwrt's kernel already exceeds 2MB, upgrading from the official version of GL-inet (v3.100) using the sysupgrade command will break the kernel image. Users who are using version 3.100 can only upgrade via uboot. The official guidance for GL-inet is as follows: https://docs.gl-inet.com/en/3/troubleshooting/debrick/ In the future, GL-inet will modify the firmware to support the sysupgrade command, so users will be able to upgrade directly with the sysupgrade command in future releases. OLED screen control: OLED controller is connected to QCA9531 through serial port, and can send instructions to OLED controller directly through serial port. Refer to the links below for a list of supported instructions: https://github.com/gl-inet/GL-E750-MCU-instruction Signed-off-by: Luochongjun <luochongjun@gl-inet.com> [fix alphabetic sorting in 10-fix-wifi-mac, drop check-kernel-size] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* toolchain: add PKG_RELEASE if local filesPaul Spooren2020-07-293-3/+6
| | | | | | | | | | | | | | | | | | | The toolchain packages partly contain local code like patches and configuration files. These files are not tracked via PKG_VERSION as this variable only covers the upstream package version. To allow versioning of the buildsystem, this commit adds PKG_RELEASE:=1 to all toolchain packages with local files. Whenever a local file is changed the release must be increased. This does not touch binutils and gcc for now, as these provide multiple versions within one package. Also update the copyright of touched files to 2020. Signed-off-by: Paul Spooren <mail@aparcar.org> [exclude binutils/gcc from patch, adjust commit title/message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: disable default build for devices with 4M flashAdrian Schmutzler2020-07-294-1/+13
| | | | | | | | | | | It has been decided that the 19.07 release will be last one to include 4/32 devices. This disables default build for all devices with 4M flash on lantiq. Note that this will affect _all_ devices for amazonse ("ase") and xway_legacy subtarget. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: disable default build for devices with 4M flashAdrian Schmutzler2020-07-291-0/+4
| | | | | | | | | | | | | | | It has been decided that the 19.07 release will be last one to include 4/32 devices. This disables default build for the remaining devices with 4M flash on ath79. Note that this will leave exactly one enabled device for ath79/tiny subtarget, PQI Air-Pen, which was moved there due to kernel size restrictions. All 4M TP-Link devices have already been disabled in 8819faff47ff ("ath79: do not build TP-Link tiny images by default") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: reorganize common image definitions for NetgearAdrian Schmutzler2020-07-293-26/+21
| | | | | | | | | | | | | Netgear currently has a special definition for tiny devices, which is only used by two devices. Despite, it sets ups the IMAGE/default definition individually for all devices, although there is actually only one exception. This merges the common parts into a single netgear_generic definition (in contrast to netgear_ath79_nand), and adjusts the individual definitions accordingly. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* procd: update to git HEADDaniel Golle2020-07-291-3/+3
| | | | | | | | | | | c3ca99f jail: serialize hook execution 8ff8970 jail: add some remaining OCI features 9d5fa0a uxc: behave more like a compliant OCI run-time 1274033 uxc: fix create operation 2d811a4 jail: add 'kill' method to container.%s object 08133b8 uxc: use new container.%s kill ubus API Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* rockchip: enable rockchip-thermalDavid Bauer2020-07-291-1/+1
| | | | | | | | | Enable the rockchip-thermal driver to allow reading the temperature of the SoC. Tested on NanoPi R2S Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: distribute net interruptsDavid Bauer2020-07-281-0/+30
| | | | | | | | | | | | This adds a hotplug script for distributing interrupts of eth0 and eth1 across different cores. Otherwise the forwarding performance between eth0 and eth1 is severely affected. The existing SMP distribution mechanic in OpenWrt can't be used here, as the actual device IRQ has to be moved to dedicated cores. In case of eth1, this is in fact the USB3 controller. Signed-off-by: David Bauer <mail@david-bauer.net>
* arm64: dts: rockchip: Add txpbl node for RK3399/RK3328David Bauer2020-07-281-0/+54
| | | | | | | | | | | | | | | | | | | | Some rockchip SoCs like the RK3399 and RK3328 exhibit an issue where tx checksumming does not work with packets larger than 1498. The default Programmable Buffer Length for TX in these GMAC's is not suitable for MTUs higher than 1498. The workaround is to disable TX offloading with 'ethtool -K eth0 tx off rx off' causing performance impacts as it disables hardware checksumming. This patch sets snps,txpbl to 0x4 which is a safe number tested ok for the most popular MTU value of 1500. For reference, see https://lkml.org/lkml/2019/4/1/1382. Signed-off-by: Carlos de Paula <me@carlosedp.com> Link: https://lore.kernel.org/r/20200218221040.10955-1-me@carlosedp.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: enable LAN LED configurationDavid Bauer2020-07-283-0/+156
| | | | | | This enables the LEDs on the LAN interfaces. Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: add NanoPi R2S supportDavid Bauer2020-07-289-6/+609
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- RockChip RK3328 ARM64 (4 cores) 1GB DDR4 RAM 2x 1000 Base-T 3 LEDs (LAN / WAN / SYS) 1 Button (Reset) Micro-SD slot USB 2.0 Port Installation ------------ Uncompress the OpenWrt sysupgrade and write it to a micro SD card using dd. MAC-address ----------- The vendor code supports reading a MAC address from an EEPROM connected via i2c0 of the SoC. The EEPROM (address 0x51) should contain the MAC address in binary at offset 0xfa. However, my two units didn't come with such an EEPROM soldered on. The EEPROM should be placed between the SoC and the GPIO pins on the board. (U10) Generating rendom MAC addresses works around this issue. Otherwise, all boards running the same image have identical MAC addresses. Signed-off-by: David Bauer <mail@david-bauer.net>
* rockchip: allow for multiple boot-scriptsDavid Bauer2020-07-281-1/+1
| | | | | | | | Add support for select a bootscript depending on the device built. This is necessary, as the FriendlyARM NanoPi R2S needs a different bootcmd in order to produce output on the debug UART. Signed-off-by: David Bauer <mail@david-bauer.net>
* base-files: add function for generating random MACDavid Bauer2020-07-282-1/+13
| | | | | | | | | | This adds a function for generating a valid random MAC address (unset MC bit / set locally administered bit). It is necessary for devices which do not have a MAC address programmed by the manufacturer. Signed-off-by: David Bauer <mail@david-bauer.net>
* uboot-rockchip: add NanoPi R2S supportDavid Bauer2020-07-285-2/+812
| | | | | | Add support for the FriendlyARM NanoPi R2S. Signed-off-by: David Bauer <mail@david-bauer.net>
* uboot-rockchip: update to v2020.07David Bauer2020-07-282-3/+26
| | | | | | | | | Update the U-Boot to version v2020.07. Also replace the Makefile rewrite with a proper patch, explaining why this hack is needed. Run-tested: FriendlyARM NanoPi R2S Signed-off-by: David Bauer <mail@david-bauer.net>
* atf-rockchip: update to 2.3Lucian Cristian2020-07-282-4/+4
| | | | | | | | also install the firmware for all the supported boards Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com> [fix ATF blob path in uboot-rockchip] Signed-off-by: David Bauer <mail@david-bauer.net>
* arc770: update kernel version to 5.4Adrian Schmutzler2020-07-273-1/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update config with make kernel_oldconfig and copy/refresh patch. Add CONFIG_WATCHDOG_CORE=y to fix the following error as done for several targets already: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko Directly switch to kernel 5.4. This patch is compile-tested only. However, the target is essentially pure upstream with a single patch, and it has been reported that kernel 5.4 has been run on this target successfully already. Note that in my local tests building with all packages/kmods failed since openvswitch selects libunwind, which doesn't build for arc with the following error: checking if we should build libunwind-ptrace... yes checking if we should build libunwind-setjmp... yes checking for build architecture... x86_64 checking for host architecture... arc checking for target architecture... arc checking for target operating system... linux-gnu checking for ELF helper width... configure: error: Unknown ELF target: arc make[3]: *** [Makefile:65: /data/openwrt/build_dir/target-arc_arc700_uClibc/ libunwind-1.3.1/.configured_68b329da9893e34099c7d8ad5cb9c940] Error 1 Deselecting all kmod-openvswitch* packages will have the build run through. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: fix cosmetic issues with partition offsets and sizesAdrian Schmutzler2020-07-276-8/+8
| | | | | | | This fixes a few cosmetic issues with partition offset and size that are inconsistent probably due to copy/pasting. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for D-Link DIR-1960 A1Josh Bendavid2020-07-275-0/+247
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for D-Link DIR-1960 A1. Given the similarity with the DIR-1760/2660 A1, this patch also introduces a common DTSI which can be shared with these devices, with support to be added in future commits. Specifications: * Board: AP-MTKH7-0002 * SoC: MediaTek MT7621AT * RAM: 256 MB (DDR3) * Flash: 128 MB (NAND) * WiFi: MediaTek MT7615N (x2) * Switch: 1 WAN, 4 LAN (Gigabit) * Ports: 1 USB 3.0 * Buttons: Reset, WPS * LEDs: Power (white/orange), Internet (white/orange), WiFi 2.4G (white), WiFi 5G (white), USB 3.0 (white) Notes: * WiFi 2.4G and WiFi 5G LEDs are wired directly to the wireless chips Installation: * D-Link Recovery GUI: power down the router, press and hold the reset button, then re-plug it. Keep the reset button pressed until the power LED starts flashing orange, manually assign a static IP address under the 192.168.0.xxx subnet (e.g. 192.168.0.2) and go to http://192.168.0.1 * Some modern browsers may have problems flashing via the Recovery GUI, if that occurs consider uploading the firmware through cURL: curl -v -i -F "firmware=@file.bin" 192.168.0.1 MAC addresses: lan factory 0xe000 *:EB (label) wan factory 0xe006 *:EE 2.4 factory 0xe000 +1 *:EC 5.0 factory 0xe000 +2 *:ED Seems like vendor didn't replace the dummy entrys in the calibration data. Signed-off-by: Josh Bendavid <joshbendavid@gmail.com> [fix whitespace issues, create patch to merge DIR-1960 first, move special WiFi MAC settings to DTS, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* imx6: use device-tree compatible for board nameAdrian Schmutzler2020-07-276-139/+127
| | | | | | | | | | | | | | In imx6, we currently use the model from DTS to derive a board name manually in /lib/imx6.sh. However, if we have individual DTS files anyway, we can exploit generic 02_sysinfo and use the compatible as board name directly. While at it, remove the wildcards from /lib/upgrade/platform.sh as these might make code shorter, but are quite unpleasant when grepping for a specific device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* layerscape: harmonize device stringsAdrian Schmutzler2020-07-2721-183/+156
| | | | | | | | | | | | | | | | | | | | OpenWrt lately has harmonized device (definition) names to the pattern vendor_model to improve overall consistency, also with other values like the DTS compatible. This patch applies that scheme to the layerscape target. Since this (intentionally) creates a bigger overlap between DTS names, compatible, and device definition name, it also moves DEVICE_DTS and SUPPORTED_DEVICES definitions to the Device/Default blocks. Apart from that, it also modifies several packages to use consistent naming in order to keep the $(1) file references working. While at it, remove one layer of complexity for the setup in tfa-layerscape package. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: only disable WRT1900AC v1 and WRT32X for buildbotsAdrian Schmutzler2020-07-271-2/+4
| | | | | | | Use "DEFAULT := n" to only disable devices for buildbots, but keep them available for manual build. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>