aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* kernel: move TEO governor to generic configTomasz Maciej Nowak2020-03-1713-12/+1
| | | | | | | | This new symbol popped up in few places. Disable it in generic config. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [fixed merge conflict in generic/config-5.4] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mxs: fix user led for OLinuXino boardsMichael Heimpold2020-03-171-0/+61
| | | | | | | | | | More testing after kernel upgrade to 5.4 uncovered a regression: the user led is not present anymore due to a pin mux "collision" in device tree. A patch sent to upstream kernel was accepted now. Integrate this pending fix as platform specific patch so that user led is available again. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* zynq: switch to kernel 5.4Luis Araneda2020-03-171-1/+1
| | | | | | | | | Use kernel 5.4 by default compile-tested: all devices from target run-tested: Digilent Zybo Z7-20 Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* zynq: refresh kernel 5.4 configLuis Araneda2020-03-171-20/+30
| | | | | | By running make kernel_oldconfig and selecting relevant options Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* zynq: copy config from kernel 4.19 to 5.4Luis Araneda2020-03-171-0/+655
| | | | | | Refreshed kernel 4.19 config before copying the file Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* lantiq: kernel 5.4: debloat kernel configMathias Kresin2020-03-165-11/+8
| | | | | | | | | | | | | | | The etop driver is used by all targets except xrx200. Remove the UBIFS compression support for zlib and zstd from the xway subtarget. The hardware is EOL for a long time and it's unlikely to ever see a board shipped with an UBIFS using these compression methods. Remove the JFFS2 support. Support for jjfs2 images was dropped years ago. It shrinks the compressed kernel up to 130 KByte. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: add Linux 5.4 support as testing kernel versionMathias Kresin2020-03-1640-366/+884
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to the mainline Lantiq PCIe PHY driver and update the vr9.dtsi accordingly. The Lantiq IRQ SMP support added upstream required changes to the SoC dtsi as well. Following changes are made to the Lantiq kernel patches: 0005-lantiq_etop-pass-struct-device-to-DMA-API-functions.patch 0006-MIPS-lantiq-pass-struct-device-to-DMA-API-functions.patch applied upstream 0008-MIPS-lantiq-backport-old-timer-code.patch access_ok API update because it lost it's type (which was the first) parameter in upstream commit 96d4f267e40f95 ("Remove 'type' argument from access_ok() function") 0024-MIPS-lantiq-autoselect-soc-rev-matching-fw.patch merged into 0026-MIPS-lantiq-Add-GPHY-Firmware-loader.patch 0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch revert upstream changes required for upstream xrx200 ethernet and xrx200 (DSA) switch driver but breaking our driver 0026-MIPS-lantiq-Add-GPHY-Firmware-loader.patch required for our driver but dropped upstream, add former upstream version 0028-NET-lantiq-various-etop-fixes.patch now has to use the phy_set_max_speed API instead of modifying phydev->supported. Also call ltq_dma_enable_irq() in ltq_etop_open() based on upstream commit cc973aecf0b054 ("MIPS: lantiq: Do not enable IRQs in dma open") Signed-off-by: Mathias Kresin <dev@kresin.me> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: linux 5.4: remove support for the linux,mtd-name OF propertyMartin Blumenstingl2020-03-163-46/+0
| | | | | | | | This is referenced in two .dts but never actually used from userspace. Drop support for this property because it's not used and because it makes updating to Linux 5.4 harder (as the patch doesn't apply anymore). Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: copy target to kernel 5.4Mathias Kresin2020-03-16195-0/+27082
| | | | | | | | | Duplicate kernel 4.19 config and patches for kernel 5.4. Duplicate the devicetree source files as well, they need kernel 5.4 specific adjustments. Signed-off-by: Mathias Kresin <dev@kresin.me>
* generic: make all phy drivers kernel 5.0 compatibleMathias Kresin2020-03-163-0/+21
| | | | | | | | It adjusts the code to upstream changes from the commit 3c1bcc8614db ("net: ethernet: Convert phydev advertize and supported from u32 to link mode") Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: vgv7510kw22: fix missing wirelessMathias Kresin2020-03-161-2/+2
| | | | | | | | | | | | | | | | | | | | For some reason pin 7 (gphy0_led1_pins) need to be set to output prior to loading the PCI driver. Otherwise the wireless doesn't appear on the PCI bus. Of course, it doesn't make much sense, since pin 7 is used to drive the LAN1 led. It can either be done by setting the pins function to GPHY or GPIO + direction output. However, the pinctrl driver doesn't provide a way to switch a pin to GPIO. It is done indirectly by the pinctrl driver at the time a GPIO is requested (requesting a GPIO always resets the function to GPIO). Do it via pinmux driver, as it is always loaded first. Use the GPHY function as it's the pins intended purpose for this board. Fixes: FS#2895 Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: remove maintainer variable from targetsPetr Štetiar2020-03-1634-40/+0
| | | | | | | | | | | | | There is no such role as target maintainer anymore, one should always send corresponding changes for the review and anyone from the commiters is allowed to merge them or eventually use the hand break and NACK them. Lets make it clear, that it is solely a community doing the maintenance tasks. Signed-off-by: Petr Štetiar <ynezz@true.cz> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Piotr Dymacz <pepe2k@gmail.com>
* ipq40xx: 5.4: fix ethernet driverRobert Marko2020-03-161-29/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 5.4 kernel old u32 array way of setting network features was dropped and linkmode is now the only way. So lets migrate the EDMA driver to support linkmode. Also, old get/set settings API for ethtool is also dropped so lets convert to new ksettings API while at it as it demands linkmode. Now, gigabit works properly as well as ethtool. Previously you would get this in ethtool: root@OpenWrt:/# ethtool eth1 Settings for eth1: Supports Wake-on: d Wake-on: d Current message level: 0x00000000 (0) Link detected: yes Now, features are properly advertised: root@OpenWrt:/# ethtool eth1 Settings for eth1: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: No Link partner advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 4 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: d Wake-on: d Current message level: 0x00000000 (0) Link detected: yes Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: 5.4: fix networking PHY driverRobert Marko2020-03-162-14/+3
| | | | | | | | In 5.4 kernel old u32 array way of setting network features was dropped and linkmode is now the only way. So lets migrate the PHY driver to support linkmode. Also, now in order for gigabit to work, PHY driver needs to advertise PHY_GBIT_FEATURES instead of PHY_BASIC_FEATURES Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: 5.4: fix of_get_mac_address obsolete usage OOPsPetr Štetiar2020-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of_get_mac_address returns valid pointer or ERR_PTR since 5.2 via commit d01f449c008a ("of_net: add NVMEM support to of_get_mac_address") so the patch fixes following OOPs on nbg6617: Unable to handle kernel paging request at virtual address ffffffed CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.4.24 #0 PC is at edma_axi_probe+0x444/0x1114 LR is at bus_find_device+0x88/0x9c Where the PC can be resolved to: >>> l *edma_axi_probe+0x444 0xc067be5c is in edma_axi_probe (./include/linux/string.h:378). >>> l *edma_axi_probe+0x43f 0xc067be57 is in edma_axi_probe (drivers/net/ethernet/qualcomm/essedma/edma_axi.c:936) Which leads to the following code fragment: 935 mac_addr = of_get_mac_address(pnp); 936 if (mac_addr) 937 memcpy(edma_netdev[idx_mac]->dev_addr, mac_addr, ETH_ALEN); Where using mac_addr=0xffffffed (-ENODEV) as source address in memcpy() is causing the OOPs. Acked-by: John Crispin <john@phrozen.org> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* sunxi: add testing 5.4 kernelAleksander Jan Bajkowski2020-03-161-0/+1
| | | | | | Add 5.4 as testing kernel. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* sunxi: move common options from subtargets into target kconfigAleksander Jan Bajkowski2020-03-164-100/+33
| | | | | | These new options are common for all subtargets and can be moved into target kconfig. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* sunxi: refresh config for all subtargetsAleksander Jan Bajkowski2020-03-163-4/+194
| | | | | | | | This was done by executing these command for all subtargets: $ time make -j9 kernel_oldconfig CONFIG_TARGET=subtarget Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* sunxi: remove old symbols from 5.4 kconfigAleksander Jan Bajkowski2020-03-162-14/+0
| | | | | | These options only exist earlier kernel versions. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* sunxi: remove options that are already in generic kconfigAleksander Jan Bajkowski2020-03-163-10/+0
| | | | | | These options are already definied in generic 5.4 kconfig. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* kernel: move disabled symbols into generic kconfigAleksander Jan Bajkowski2020-03-164-44/+54
| | | | | | Move some disabled kconfig options found in sunxi kconfig into generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* sunxi: make patches apply cleanly on 5.4Aleksander Jan Bajkowski2020-03-164-125/+3
| | | | | | | | These patches are already in mainline 5.4 kernel: * 010-v5.3-drivers-ata-ahci_sunxi-Increased-SATA-AHCI-DMA-TX-RX.patch * 101-arm64-dts-allwinner-a64-Enable-A64-timer-workaround.patch Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* sunxi: copy config and patches from 4.19 to 5.4Aleksander Jan Bajkowski2020-03-169-0/+995
| | | | Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* kernel: sort generic configurationAleksander Jan Bajkowski2020-03-162-20/+14
| | | | | | | | | | | | This was done by executing these commands: $ ./scripts/kconfig.pl '+' target/linux/generic/config-4.19 /dev/null > target/linux/generic/config-4.19-new $ mv target/linux/generic/config-4.19-new target/linux/generic/config-4.19 $ ./scripts/kconfig.pl '+' target/linux/generic/config-5.4 /dev/null > target/linux/generic/config-5.4-new $ mv target/linux/generic/config-5.4-new target/linux/generic/config-5.4 Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* x86: switch to 5.4 kernelPetr Štetiar2020-03-161-1/+1
| | | | | | | Seems to be working fine on apu2 and QEMU, it's 99.9% upstream stuff anyway. Lets start wider userbase testing. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* imx6: switch to 5.4 kernelPetr Štetiar2020-03-161-1/+1
| | | | | | | | | Seems to be working fine, it's 99.9% upstream stuff anyway. Lets start wider userbase testing. Cc: Tim Harvey <tharvey@gateworks.com> Cc: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* bcm27xx: sync 5.4 patches with RPi FoundationÁlvaro Fernández Rojas2020-03-16288-6603/+5992
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm27xx: switch to 5.4 kernelPetr Štetiar2020-03-161-2/+1
| | | | | | | | | Been running it for a few days on RPi0W PMS sensor node and on RPi4. Lets start wider userbase testing. Cc: Stijn Tintel <stijn@linux-ipv6.be> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq806x: read both WG2600HP MAC addresses from flashYanase Yuki2020-03-161-1/+1
| | | | | | | | | WG2600HP has its WLAN MAC addresses at PRODUCTDATA 0xc and 0x12, so use them both directly. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp> [commit title/message clarification] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: remove useless case within default case for upgradeAdrian Schmutzler2020-03-161-1/+0
| | | | | | | The default case will catch anything left, there is no need to explicitly add any device to it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: make kmod-i2c-mux selected by dependent modulesSungbo Eo2020-03-163-3/+3
| | | | | | | | | | | | Currently kmod-i2c-mux-* will not get into images unless kmod-i2c-mux is added to DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to "select", we do not have the issue anymore. Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES and similar variables, as it is now pulled by dependent modules such as: - kmod-i2c-mux-pca954x Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* oxnas: rework 02_networkSungbo Eo2020-03-161-9/+25
| | | | | | | Just like other targets do, introduce two setup functions for interfaces and MAC addresses. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* oxnas: use dt-bindings macros for GPIOSungbo Eo2020-03-163-14/+19
| | | | Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* oxnas: merge Pogoplug V3 DTS patches into one fileSungbo Eo2020-03-165-88/+82
| | | | | | | As it seeems these patches are for OpenWrt and they are not going to be merged to mainline, let's merge them to improve maintainability. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* oxnas: sort kernel configsSungbo Eo2020-03-163-29/+29
| | | | Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* oxnas: remove duplicate config optionsSungbo Eo2020-03-163-34/+0
| | | | | | Remove symbols already covered by generic and target kernel configs. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* oxnas: use AddDepends in modules.mkSungbo Eo2020-03-161-6/+2
| | | | Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* oxnas: harmonize line breaks in ox820.mkSungbo Eo2020-03-161-12/+14
| | | | | | | | | Follow the guideline suggested in e417ff88f19b ("ramips: harmonize line breaks in image Makefiles"). While at it, fix typos in the device title of Akitio MyCloud. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* lantiq: move mux for pins into subnodesMathias Kresin2020-03-153-115/+161
| | | | | | | | | | | The mux need to be defined in a subnode to be considered by the pinctrl framework. These muxes aren't set as expected and might cause not working subsystems. Fixes: 8e7b573b7aa4 ("lantiq: dts: assign the PCI pins to the PCI controller node") Fixes: dcb5e52209e5 ("lantiq: dts: assign the STP pins to the STP GPIO controller node") Fixes: 660200e53d62 ("lantiq: dts: assign the GPHY LED pins to the Ethernet controller node") Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq40xx: 5.4: enable NANDRobert Marko2020-03-151-0/+5
| | | | | | | | | | Lets enable RAW NAND and Qcom NANDC drivers again in kernel 5.4. They were dropped when 5.4 support was introduced due to upstream changing the symbol names so refreshing was not enough. Signed-off-by: Robert Marko <robert.marko@sartura.hr> [cut long line in commit message, enabled BCH as well] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: fix missing watchdog core dependency for hwmon-sch5627David Bauer2020-03-151-0/+1
| | | | | | | | | | | | | Fixes following error uncovered while building ath79/tiny on 5.4: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko See the similar commit e546e6252bb1 ("malta: fix missing watchdog core dependency for hwmon-sch5627") for a detailed explanation. Signed-off-by: David Bauer <mail@david-bauer.net>
* mvebu: use generic diag.shSungbo Eo2020-03-152-48/+50
| | | | | | | | | This commit removes the target-specific diag.sh script. This way, the generic one is used for the target, which uses DT-aliases to specify the LEDs used. Signed-off-by: Sungbo Eo <mans0n@gorani.run> Tested-by: Ansuel Smith <ansuelsmth@gmail.com> [wrt3200acm @ 5.4]
* ath79: add correct phy-mode for QCA9563 boardsDavid Bauer2020-03-152-0/+2
| | | | | | | | | | | | | | | The TP-Link RE450 as well as the UniFi AC series missed the phy-mode property. Because of this, the incorrect MII phy-mode from the root dtsi was used. With Kernel 5.4, this leads to problems when used with a AR8033 PHY. The bootloader seems to leave the fiber pages selected. As there's not switch to copper pages happening in at803x_config_init due to the incorrect phy-mode, the new at803x_read_status will interpret the status of the SGMII side as the status of the copper side. Signed-off-by: David Bauer <mail@david-bauer.net>
* apm821xx: 4.14: remove kernel config and patchesChristian Lamparter2020-03-1460-8847/+0
| | | | | | | | This patch removes the 4.14 kernel support from the apm821xx target. The 4.19 kernel has been available and stable for a while and the 5.4 kernel support has been tested successfully on real hardware as well. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: use downstream ag71xx for Kernel 5.4David Bauer2020-03-1314-178/+37
| | | | | | | | | | | | | | | | | | | The ag71xx driver from Linux 5.4 currently has various shortcomings when used with OpenWrt compared to our downstream version. For example, the upstream driver does not support modifying the ethernet clock and configuring RGMII delays on the MAC side. While we should certainly switch to the upstream driver, the amount of necessary patches would make it cumbersome to work with. It's also highly likely we won't be able to finish patching the upstream driver in time for a Linux 5.4 release. Tested on Siemens WS-AP3610. CC: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: David Bauer <mail@david-bauer.net> Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: make kmod-i2c-core selected by dependent modulesSungbo Eo2020-03-137-20/+20
| | | | | | | | | | | | | | | | | | Currently kmod-i2c-* will not get into images unless kmod-i2c-core is added to DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to "select", we do not have the issue anymore. Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES and similar variables, as it is now pulled by dependent modules such as: - kmod-hwmon-lm75 - kmod-i2c-gpio - kmod-i2c-gpio-custom - kmod-i2c-mux - kmod-i2c-ralink Signed-off-by: Sungbo Eo <mans0n@gorani.run> [do not touch ar71xx] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: make kmod-hwmon-core selected by dependent modulesSungbo Eo2020-03-134-8/+6
| | | | | | | | | | | | | | | | | | Currently kmod-hwmon-* will not get into images unless kmod-hwmon-core is added to DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to "select", we do not have the issue anymore. Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES and similar variables, as it is now pulled by dependent modules such as: - kmod-hwmon-gpiofan - kmod-hwmon-lm63 - kmod-hwmon-lm75 - kmod-hwmon-lm85 - kmod-hwmon-lm90 Signed-off-by: Sungbo Eo <mans0n@gorani.run> [do not touch ar71xx, adjust line wrapping] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* layerscape: add kmod-i2c-mux to DEVICE_PACKAGES for traverse-ls1043Sungbo Eo2020-03-131-1/+1
| | | | | | | kmod-i2c-mux-pca954x will not get into images unless kmod-i2c-mux is added to DEVICE_PACKAGES as well. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: add support for TOTOLINK A3Sungbo Eo2020-03-133-2/+49
| | | | | | | | | | | | | | | | | | | | | | | | | TOTOLINK A3 is a clone of ipTIME A3. The only difference is the model name. Specifications: - SoC: MT7628AN - RAM: DDR2 64MB - Flash: SPI NOR 8MB - WiFi: - 2.4GHz: SoC internal - 5GHz: MT7612EN - Ethernet: 3x 10/100Mbps - Switch: SoC internal Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Revert to stock firmware: 1. Perform sysupgrade with stock image. Tested on device by JasonHCH <hsuan670629@gmail.com> Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ath79: add support for TP-Link TL-WR740N v5Jun Su2020-03-134-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the TP-Link TL-WR740N v5, a clone of the v4 only with a different TPLINK_HWID. It was already supported in ar71xx as well. Specifications: SOC: Atheros AR9331 CPU: 400MHz Flash: 4 MiB RAM: 32 MiB WLAN: Atheros AR9330 bgn Ethernet: 5 ports (100M) Flashing instructions: - Flash factory image from OEM WebUI: openwrt-ath79-tiny-tplink_tl-wr740n-v5-squashfs-factory.bin - Sysupgrade from ar71xx image: openwrt-ath79-tiny-tplink_tl-wr740n-v5-squashfs-sysupgrade.bin Signed-off-by: Jun Su <howard0su@gmail.com> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>