Magnus Kroken [Sat, 25 Jul 2020 12:19:28 +0000 (14:19 +0200)]
mbedtls: update to 2.16.7
Mbed TLS 2.16.7 is a maintenance release of the Mbed TLS 2.16 branch,
and provides bug fixes and minor enhancements. This release includes
fixes for security issues and the most severe one is described in more
detail in a security advisory:
https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2020-07
* Fix a side channel vulnerability in modular exponentiation that could
reveal an RSA private key used in a secure enclave.
* Fix side channel in mbedtls_ecp_check_pub_priv() and
mbedtls_pk_parse_key() / mbedtls_pk_parse_keyfile() (when loading a private
key that didn't include the uncompressed public key), as well as
mbedtls_ecp_mul() / mbedtls_ecp_mul_restartable() when called with a NULL
f_rng argument. An attacker with access to precise enough timing and
memory access information (typically an untrusted operating system
attacking a secure enclave) could fully recover the ECC private key.
* Fix issue in Lucky 13 counter-measure that could make it ineffective when
hardware accelerators were used (using one of the MBEDTLS_SHAxxx_ALT
macros).
Due to Mbed TLS moving from ARMmbed to the Trusted Firmware project, some
changes to the download URLs are required. For the time being, the
ARMmbed/mbedtls Github repository is the canonical source for Mbed TLS.
Signed-off-by: Magnus Kroken <mkroken@gmail.com>
[Use https://codeload.github.com and new tar.gz file] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Rosen Penev [Sat, 1 Aug 2020 22:54:51 +0000 (15:54 -0700)]
exfat: update to 5.8.7
93e2334 exfat: fix build error on linux-5.4,5.5 kernel 01a7b8c exfat: fix name_hash computation on big endian systems 8f92bc0 exfat: fix wrong size update of stream entry by typo
Removed commented material that was for testing compilation.
Removed patch as the error was fixed upstream. First entry above.
Linus Walleij [Tue, 11 Aug 2020 11:11:08 +0000 (13:11 +0200)]
kernel: backport RTL8366RB patches
These upstream patches makes the RTL8366RB DSA switch work
properly with OpenWrt, the D-Link DIR-685 gets network and
can be used as a router, and the same should be applicable
for any other device that want to enable the RTL8366RB
through Device Tree.
Jeffery To [Mon, 17 Aug 2020 18:10:25 +0000 (02:10 +0800)]
cmake: Disable use of package registries
CMake provides a user package registry (stored in ~/.cmake/packages) and
a system package registry (not available on non-Windows platforms).
The "export(PACKAGE)" command may store information in the user package
registry, and the "find_package()" command may search both user and
system package registries for information.
This sets various variables to disable the use of these package
registries (both saving and retrieval of package information).
This also sets deprecated variables that perform similar functions, in
case external toolchains include older versions of CMake.
Josef Schlehofer [Tue, 18 Aug 2020 12:23:03 +0000 (14:23 +0200)]
linux-firmware: add support for Marvell SDIO 8997
For example, Turris MOX SDIO card is using Marvell (NXP) 88W8997 chip.
Technical specs of 88W8997:
- 28nm
- 802.11 ac wave-2
It should support simultaneous dual-band 2.4 GHz and 5 GHz,
but it requires to support multiSSID for one Wi-Fi card [1], which is
not supported in OpenWrt, yet and if we tried to run two instances of
hostapd, it didn't work well, so it's 2.4 GHz or 5 GHz.
- 2x2 MU-MIMO
- Bluetooth 5.1 with LE support
- Unfortunately, there can be connected only 8 clients at the same time
(limited by FW, however, there exists "enterprise" chip, its equal chip,
it is just different that it uses different FW)
Symlink is necessary as mwifiex_sdio tries to load sd8997_uapsta.bin
[ 13.651182] mwifiex_sdio mmc0:0001:1: Direct firmware load for mrvl/sd8997_uapsta.bin failed with error -2
[ 13.661065] mwifiex_sdio mmc0:0001:1: Falling back to user helper
[ 13.684880] firmware mrvl!sd8997_uapsta.bin: firmware_loading_store: map pages failed
[ 13.695910] mwifiex_sdio mmc0:0001:1: Failed to get firmware mrvl/sd8997_uapsta.bin
[ 13.703774] mwifiex_sdio mmc0:0001:1: info: _mwifiex_fw_dpc: unregister device
Pali Rohár sent two patches [2] [3] into kernel to fix default firmware name for SD8997, so
the symlink will not be required in the future versions of kernel, which
was accepted and right now, according to my details it was backported to 5.8, 5.7 and 5.4
The source CDN has been discontinued in its current form and will take a
while to be reestablished. Even then it makes little sense to put a CDN
before other CDNs such as kernel.org, apache.org, sourceforge etc.
Ansuel Smith [Sat, 8 Aug 2020 14:50:04 +0000 (16:50 +0200)]
ipq806x: replace pci patchset with upstream version
Changes:
- Update patches
- Update dts with new binding
Tx term offset dropped and replaced with a new compatible
Removed:
- 0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x
Pci init does the same exact thing (was needed in older kernel version)
- 0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B
Rejected upstream, can't find any reason to have this. No regression with
testing it on R7800.
Tested on R7800 (ipq8065), R7500 v2 ("ipq8064-v2")
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800]
[rebase and refresh] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Yuan Tao [Sat, 22 Aug 2020 11:31:20 +0000 (19:31 +0800)]
config: kernel: fix missed CGROUP_HUGETLB symbol
The symbol KERNEL_CGROUP_HUGETLB is always used whenever KERNEL_CGROUPS is enabled.
The absence of this notation will cause the user to be asked to enter this parameter the first time it is compiled.
Paul Spooren [Thu, 13 Aug 2020 23:46:43 +0000 (13:46 -1000)]
build: SDK/IB reproducible and faster compression
Both IB and SDK now use the same logic for packing.
This commit add reproducible multithread compression to the SDK and
corrects the file mtime for both. Previously all files where just copied
over from the build system, generating random mtimes.
Felix Fietkau [Sat, 22 Aug 2020 19:23:42 +0000 (21:23 +0200)]
mt76: update to the latest version
8027c7d95274 mt76: mt7615: fix reading airtime statistics 3743e7c904de mt76: mt7915: optimize mt7915_mac_sta_poll d2fe5e8330c6 mt76: mt7915: fix variable initialization in sta poll 692065b4c9db mt76: mt7915: only enable hw amsdu for AP and station b54157df7c27 mt7615: update firmware to version 20200814 888990e159d2 mt76: use threaded NAPI 3a3306e408f2 mt76: mt7915: add 802.11 encap offload support 795b772cd392 mt76: mt7915: add encap offload for 4-address mode stations 55d79ab7fa23 mt76: dma: update q->queued immediately on cleanup 23dbd64d6324 mt76: mt7915: schedule tx tasklet in mt7915_mac_tx_free 5cf34cda70af mt76: mt7915: significantly reduce interrupt load 87a69429069f mt76: add utility functions for deferring work to a kernel thread 2f1318a06d0a mt76: convert from tx tasklet to tx worker thread 72f0979566be mt76: mt7915: add support for accessing mapped registers via bus ops f9ce5c776c9a mt76: use ieee80211_rx_list to pass frames to the network stack as a batch 25dd8bdae3bf mt76: mt7615: significantly reduce interrupt load 7c5445dec812 mt76: mt7615: release mutex in mt7615_reset_test_set e68c3e254822 mt76: mt7663s: use NULL instead of 0 in sdio code 4368380e20e7 mt76: mt7663s: fix resume failure bea386f27914 mt76: mt7663s: fix unable to handle kernel paging request b8780c44c716 mt76: mt7615: fix possible memory leak in mt7615_tm_set_tx_power 37a1c7ed6796 mt76: mt7615: fix a possible NULL pointer dereference in mt7615_pm_wake_work 8c7c1a207d25 mt76: fix a possible NULL pointer dereference in mt76_testmode_dump
Joe Mullally [Fri, 21 Aug 2020 06:02:23 +0000 (07:02 +0100)]
ath79: fix/improve LED control for TL-WPA8630 v1/v2
The TL-WPA8630 v1 and v2 have the same LED Control GPIO configuration
according to the TP-Link GPL sources. Set the GPIO to output to make
it work and set to Active Low. It defaults to LEDs on at bootup.
To turn all LEDs off:
echo 0 > /sys/class/gpio/tp-link\:led\:control/value
To turn all LEDs on:
echo 1 > /sys/class/gpio/tp-link\:led\:control/value
Change the "LED" button from BTN_0 to KEY_LIGHTS_TOGGLE to match other
devices and the button guide, and to reduce the number of unintuitive
"BTN_X" inputs.
Fixes: ab74def0db93 ("ath79: add support for TP-Link TL-WPA8630P v2") Signed-off-by: Joe Mullally <jwmullally@gmail.com>
[shorten commit title, minor commit message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ramips: remove legacy ethernet driver components for mt7621
The mt7621 subtarget has been switched to DSA quite a while ago and
seems to run sufficiently fine. Build with older kernels than 5.4 has
been disabled directly during the kernel bump, so our local ethernet
driver is unused in master since then.
Therefore, let's remove the mt7621-specific parts of "our" ethernet
driver, so we don't have to maintain them and it's obvious to
everybody that they are not used anymore.
This also drops the offloading components as this was specifically
implemented to depend on mt7621.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The only difference from the v1 is the TP-Link hardware ID/revision.
Attention:
The TL-WR710N v2.0 (!) has only 4 MB flash and cannot be flashed with
this image. It has a different TPLINK_HWREV, so accidental flashing
of the factory image should be impossible without additional measures.
Unfortunately, the v2.0 in ar71xx has the same board name, so sysupgrade
from ar71xx v2.0 into ath79 v1/v2.1 will not be prevented, but will brick
the device.
Flashing instruction:
Upload the factory image via the OEM firmware GUI upgrade mechanism.
Further notes:
To make implementation easier if somebody desires to port the 4M v2.0,
this already creates two DTSI files.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Fabian Eppig <fabian@eppig.de>
David Bauer [Tue, 18 Aug 2020 13:09:22 +0000 (15:09 +0200)]
dnsmasq: abort dhcp_check on interface state
Abort the dhcp-check based on the interface instead of the carrier
state. In cases where the interface is up but the carrier is down,
netifd won't cause a dnsmasq reload, thus dhcp won't become active
on this interface.
layerscape: remove useless pairs of kernel patches
The layerscape kernel patches appears to be just some uncleaned local
development tree, where patches are sometimes directly followed by
their revert. While this does not seem a problem in the first place,
it becomes incredibly unpleasant when the upstream kernel changes in
the relevant areas and requires rebase.
This removes all these patch-revert pairs and refreshs the rest.
It removes about 44000 lines of entirely useless code.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Petr Štetiar [Mon, 27 Jul 2020 10:30:41 +0000 (12:30 +0200)]
treewide: use wpad-basic-wolfssl as default
In order to support SAE/WPA3-Personal in default images. Replace almost
all occurencies of wpad-basic and wpad-mini with wpad-basic-wolfssl for
consistency. Keep out ar71xx from the list as it won't be in the next
release and would only make backports harder.
Remi NGUYEN VAN [Sat, 15 Aug 2020 14:03:26 +0000 (23:03 +0900)]
map: rename type to maptype (FS#3287)
"type" is already used as a common option for all protocols types, so
using the same option name for the map type makes the configuration
ambiguous. Luci in particular adds controls for both options and sees
errors when reading the resulting configuration.
Use "maptype" instead, but still fallback to "type" if "maptype" is not
set. This allows configurations to migrate without breaking old
configurations.
This addresses FS#3287.
Signed-off-by: Remi NGUYEN VAN <remi.nguyenvan+openwrt@gmail.com> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
tools/tplink-safeloader: use soft_ver 1.9.1 for archer c6 v2
TP-LINK published a firmware update for the archer c6 v2.
This updates also reached the factory devices. Newer software version
rejects downgrading to 1.2.x. Use 1.9.x to allow installing the factory images
and have a little bit time to change it again.
Thibaut VARÈNE [Mon, 17 Aug 2020 10:44:13 +0000 (12:44 +0200)]
ath79: mikrotik: erase firmware on SPI NOR before install
On Mikrotik SPI NOR devices, the firmware partition must be erased when
flashing from stock firmware, otherwise leftover bits (in particular a
kernel signature) can trigger a boot loop.
When booted from initramfs (the only way to install OpenWRT on these
devices), this patch unconditionally erases the firmware partition in
the do_upgrade() stage for all supported SPI NOR devices.
ath79: change WPS to Wifi button on TL-WPA8630P v2
Both TL-WPA8630(P) v1 and v2 feature a button labelled "WiFi".
While this is implemented as KEY_RFKILL for v1 in ar71xx and ath79,
the v2 sets it up as WPS button.
According to the manual, the behavior in OEM firmware is:
"Press and hold the button for 1 second to copy wireless settings
from the main router to the extender. Go to Wi-Fi Clone for more
information. Press and hold the button for at least 5 seconds to
turn the wireless function on or off."
Consequently, and since this is historic behavior on v1 in OpenWrt,
we set this button to KEY_RFKILL on both revisions.
Fixes: ab74def0db93 ("ath79: add support for TP-Link TL-WPA8630P v2") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ath79: ar724x: make sure builtin-switch is enabled in DT
On ar7240/ar7241 the mdioX node with the builtin-switch is enabled
in the DTSI files, but the parent ethX node is left disabled. It
only gets enabled per device or device family, and has not been
enabled at all yet for the TP-Link WA devices with ar7240, making
the switch unavailable there.
This patch makes sure ð0/ð1 nodes are enabled together with
the &mdio0/&mdio1 nodes containing the builtin-switch.
For ar7240_tplink_tl-wa.dtsi, ð0 is properly hidden again via
compatible = "syscon", "simple-mfd";
This partially fixes FS#2887, however it seems dmesg still does
not show cable (dis)connect in dmesg for ar7240 TP-Link WA
devices.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The leds block was copied over from the RT-AC85P DTS to the common
DTSI while keeping the device-specific model name in the label.
This moves the LEDs back to the DTS files and adjusts the names to
properly resemble the model name of the devices used at, just like
it is handled on most other devices.
Fixes: 7c5f712e4fec ("ramips: add support for Asus RT-AC65P") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Information regarding device can be found:
https://deviwiki.com/wiki/Itus_Networks_Shield_Pro
Installing OpenWrt on Itus Networks Shield:
1) Boot Shield
2) On device: mount /dev/mmcblk1p1 /mnt
3) scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin to
/mnt/ItusrouterImage
3a) Optionally: scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin
to /mnt/ItusgatewayImage to allow you to have an emergency recovery
boot in the GATEWAY slot - this slot will have no permament storage and
is used for emergency recovery only when booted in the (G)ateway
position
4) On device: umount /mnt
5) reboot
Once booted, run the sysupgrade via cli or luCi on the
openwrt-octeon-itus,shield-router-squashfs-sysupgrade.tar file the mode
you are running.
Once rebooted, the system installation is complete. Your storage partition
for the mode is inialized and set.
Signed-off-by: Donald Hoskins <grommish@gmail.com>
[cut out sysupgrade-* changes, move a few lines,
drop case CVMX_BOARD_TYPE_ITUS_SHIELD] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Donald Hoskins [Sat, 15 Aug 2020 11:50:43 +0000 (13:50 +0200)]
octeon: determine sysupgrade-* directory for upgrade automatically
So far, the sysupgrade-* folder used during upgrade in octeon was
hardcoded to contain the board name. Therefore, changing board name
or BOARD_NAME variable in image/Makefile might have broken upgrade.
Improve this by adding a step to determine the folder name via
a wildcard, as it is done for generic nand_upgrade_tar() in
lib/upgrade/nand.sh.
While this still does not remove the problem for existing devices
(which still have the old script), it will entirely remove the
issue on newly added devices on this platform.
Signed-off-by: Donald Hoskins <grommish@gmail.com>
[split into separate patch, add commit message, add return values] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Remi NGUYEN VAN [Sat, 15 Aug 2020 08:00:15 +0000 (17:00 +0900)]
map: add a legacymap option
The legacy map version based on the IPv6 Interface Identifier in
draft-ietf-softwire-map-03 was typically used by uncommenting the LEGACY
variable in the map.sh file, which is not ideal. A proper configuration
option is needed instead.
The IPv6 Interface Identifier format described in the draft was
eventually changed in RFC7597, but is still used by some major ISPs,
including in Japan.
Signed-off-by: Remi NGUYEN VAN <remi.nguyenvan+openwrt@gmail.com> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
ALLNET ALL-WAP02860AC is a dual-band wireless access point.
Specification
SoC: Qualcomm Atheros QCA9558
RAM: 128 MB DDR2
Flash: 16 MB SPI NOR
WIFI: 2.4 GHz 3T3R integrated
5 GHz 3T3R QCA9880 Mini PCIe card
Ethernet: 1x 10/100/1000 Mbps AR8035-A, PoE capable (802.3at)
LEDS: 5x, which four are GPIO controlled
Buttons: 1x GPIO controlled
UART: 4 pin header near Mini PCIe card, starting count from white
triangle on PCB
1. VCC 3.3V, 2. GND, 3. TX, 4. RX
baud: 115200, parity: none, flow control: none
MAC addresses
Calibration data does not contain valid MAC addresses.
The calculated MAC addresses are chosen in accordance with OEM firmware.
Because of:
a) constrained environment (SNMP) when connecting through Telnet
or SSH,
b) hard-coded kernel and rootfs sizes,
c) checksum verification of kerenel and rootfs images in bootloder,
creating factory image accepted by OEM web interface is difficult,
therefore, to install OpenWrt on this device UART connection is needed.
The teardown is simple, unscrew four screws to disassemble the casing,
plus two screws to separate mainboard from the casing.
Before flashing, be sure to have a copy of factory firmware, in case You
wish to revert to original firmware.
Installation
1. Prepare TFTP server with OpenWrt initramfs-kernel image.
2. Connect to LAN port.
3. Connect to UART port.
4. Power on the device and when prompted to stop autoboot, hit any key.
5. Alter U-Boot environment with following commands:
setenv failsafe_boot bootm 0x9f0a0000
saveenv
6. Adjust "ipaddr" and "serverip" addresses in U-Boot environment, use
'setenv' to do that, then run following commands:
tftpboot 0x81000000 <openwrt_initramfs-kernel_image_name>
bootm 0x81000000
7. Wait about 1 minute for OpenWrt to boot.
8. Transfer OpenWrt sysupgrade image to /tmp directory and flash it
with:
sysupgrade -n /tmp/<openwrt_sysupgrade_image_name>
9. After flashing, the access point will reboot to OpenWrt. Wait few
minutes, until the Power LED stops blinking, then it's ready for
configuration.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[add MAC address comment to commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tony Ambardar [Fri, 14 Aug 2020 14:43:36 +0000 (07:43 -0700)]
kernel: mips: fix init crash/bootloop on 64-bit systems
The malta subtargets for mips64 and mips64el fail to start the init process
at boot, resulting in a boot loop. The issue was raised and analyzed within
FS#3277. Investigation suggested code near the [vdso] memory area of the
process was long jumping into a region inaccessible to the process, e.g.
init: - preinit -
init: Launched preinit instance, pid=522
do_page_fault(): sending SIGSEGV to init for invalid read access from 0000000000000360
epc = 0000000000000360 in init[aaab42b000+4000]
ra = 000000fffee385e0 in
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
Rebooting in 1 seconds..
Note the low-memory read access and epc are the same. Upstream kernel 5.6
included a relevant patch and discussion:
Buttons, LEDs and network setup appear to be almost identical
to the v2 revision.
Powerline interface is connected to switch port 5 (Label LAN4).
Installation:
No "fresh" device was available for testing the factory image.
It is not known whether flashing via OEM firmware GUI is possible
or not. A discussion from 2018 [1] about that indicates a few
adjustments are necessary, but it is not clear whether those
are already implemented with the TPLINK_HEADER_VERSION = 2 or not.
Note that for the TL-WPA8630P v1, the TPLINK_HWID needs to be
changed to 0x86310001 to allow factory flashing.
Daniel Golle [Thu, 13 Aug 2020 13:05:26 +0000 (14:05 +0100)]
libselinux: don't depend on kernel config symbols
Dependencies are meant to express actual run-time dependencies and
strictly speaking, libselinux can be build and used on kernels without
SELinux (not in a very meaningful way, but never mind).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ath79/mikrotik: add function for loading ath9k caldata
The commands to read ath9k caldata on mikrotik subtarget are
mostly repetitive, so let's put them into a function to make
writing and reading them easier.
This function will only be required when patching the MAC address.
For cases where it is put correctly into the calibration data by
the vendor, caldata_sysfsload_from_file can be used directly as
done for ath10k at the moment.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
John Thomson [Wed, 10 Jun 2020 22:15:40 +0000 (08:15 +1000)]
ramips: add support for MikroTik RouterBOARD 760iGS (hEX S)
This patch adds support for the MikroTik RouterBOARD 760iGS router.
It is similar to the already supported RouterBOARD 750Gr3.
The 760iGS device features an added SFP cage, and passive
PoE out on port 5 compared to the RB750Gr3.
- Beeper (requires PWM driver)
- ZT2046Q (ADS7846 compatible) on SPI as slave 1 (CS1)
The linux driver requires an interrupt, and pendown GPIO
These are unknown, and not needed with the touchscreen
only used for temperature and voltage monitoring.
ads7846 hwmon:
temp0 is degrees Celsius
temp1 is voltage * 32
GPIOs:
- 07: input passive PoE out (lan5) compatible (Mikrotik) device connected
- 17: output passive PoE out (lan5) switch
Installation through RouterBoot follows the usual MikroTik method
https://openwrt.org/toh/mikrotik/common
To boot to intramfs image in RAM:
1. Setup TFTP server to serve intramfs image.
2. Plug Ethernet cable into WAN port.
3. Unplug power, hold reset button and plug power in.
Wait (~25 seconds) for beep and then release reset button.
The SFP LED will be lit in RouterBoot, but will not be lit in OpenWRT.
4. Wait for a minute. Router should be running OpenWrt,
check by plugging in to port 2-5 and going to 192.168.1.1.
To install OpenWrt to flash:
1. Follow steps above to boot intramfs image in RAM.
2. Flash the sysupgrade.bin image with web interface or sysupgrade.
3. Once the router reboots you will be running OpenWrt from flash.
OEM firmware differences:
- RouterOS assigns a different MAC address for each port
- The first address (E01 on the sticker) is used for wan (ether1 in OEM).
- The next address is used for lan2.
- The last address (E06 on the sticker) is used for sfp.
[Initial port work, shared dtsi] Signed-off-by: Vince Grassia <vincenzo.grassia@zionark.com>
[SFP support and GPIO identification] Signed-off-by: Luka Logar <luka.logar@iname.com>
[Misc. fixes and submission] Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
[rebase, drop uart3 from state_default on 750gr3, minor commit
title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>