I build Divested snapshots with customized configuration for my Linksys 32X and it has been running OK. Today I flashed it with the newest build and cannot use Luci nor ssh. With Luci it says something about main is missing in configuration, and with ssh the connection is reset during key exchange.
Anyone know what is the best way to access the router to fix it? Or we have to rely on factory reset? Or can I boot to the alternative partition that has an older build?
TIA.
Go back to the previous partition. Use 3X power cycle if you can’t invoke it from LuCI or SSH.
@Krazta , sounds suspiciously like having engaged WPA3 (sae_mixed)
@nn5 , not starting a new build (recent pull) from a driclean may be issue
@RuralRoots @anomeome
Thanks so much! I was able to have my 32x back running the latest snapshot (r17630!
Hey, thanks for the build(s)!
I'm on WRT32x, and finally migrated from David's old build to Divested, using the factory image (r17571), flashing through the "advanced reboot" menu. Worked like a charm.
A few questions:
1. Can I (should I) upgrade installed packages myself, or are they also upgraded when I flash a new build? Which is the preferred way? I'm basically wondering if there's any risk involved upgrading the packages manually. eg.
base-files : 1453-r17571+13-67cd648fa2 » 1453-r17629-830c2e5378
2. Under "status -> wireguard", I'm greeted by the following:
#### RPCError
RPC call to luci.wireguard/getWgInstances failed with error -32000: Object not found at ClassConstructor.handleCallReply (https://10.10.10.1/luci-static/resources/rpc.js?v=git-21.226.86205-376af36:11:3)
Any idea what's causing this? I have the following installed: wireguard-tools, kmod-wireguard, luci-app-wireguard, luci-proto-wireguard + translations
3. Under "Network -> Wireless", I can see the following:
What is radio2?
Q1 - no you should not upgrade packages.
Packages you add after flashing will have to be re-installed. You might get away with upgrade packages, but, you never know
Q2 - got the same on r17559. Not a menu item I check. I don’t see any issues raised in the repo, but I’m not seeing any operational issues here atm.
I can try these patches out this weekend.
Has anyone else tried these patches?
master bug introduced after r17530 with switch to js rendering... still current as of r17631
Still current as of r17632 too
In r17648 the error message disappears, but the wireguard status page is empty.
i've been using divested patches for a while with multi-cpu dsa patch. fill free to test them. the more the merrier..
i have wrt3200acm & wrt1900acs, and take no credit.
first,
[PR #4036 - multi-cpu & iproute2 patches](https://github.com/openwrt/openwrt/pull/4036/commits)
second,
target/linux/mvebu/patches-5.10/310-linksys-use-eth0-as-cpu-port.patch
--- a/arch/arm/boot/dts/armada-385-linksys.dtsi
+++ b/arch/arm/boot/dts/armada-385-linksys.dtsi
@@ -210,6 +210,17 @@
full-duplex;
};
};
+
+ port@6 {
+ reg = <6>;
+ label = "cpu";
+ ethernet = <ð0>;
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
};
};
};
third, fix duplicate traffic to upstream port - target/linux/generic/hack-5.10/780-5-mv88e8xxx-fix-dup.patch
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -1196,6 +1196,7 @@
struct net_device *br;
struct dsa_port *dp;
bool found = false;
+ u8 upstream;
u16 pvlan;
list_for_each_entry(dp, &dst->ports, list) {
@@ -1219,9 +1220,10 @@
/* Frames from user ports can egress any local DSA links and CPU ports,
* as well as any local member of their bridge group.
*/
+ upstream = dsa_upstream_port(chip->ds, port);
list_for_each_entry(dp, &dst->ports, list)
if (dp->ds == ds &&
- (dp->type == DSA_PORT_TYPE_CPU ||
+ ((dp->type == DSA_PORT_TYPE_CPU && dp->index == upstream) ||
dp->type == DSA_PORT_TYPE_DSA ||
(br && dp->bridge_dev == br)))
pvlan |= BIT(dp->index);
Does that manifest correctly for you, the DTS change seems incorrect. Taking a look today, for mamba DTS:
target/linux/mvebu/patches-5.10/320--armada-xp-multi-DSA-cpuPort.patch
--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
+++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
@@ -407,6 +407,16 @@
full-duplex;
};
};
+
+ port@6 {
+ reg = <6>;
+ label = "cpu";
+ ethernet = <ð1>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
};
};
};
which seems to setup correctly on device
Summary
root@mamba:/# cat /proc/interrupts
CPU0 CPU1
24: 114741 95552 MPIC 5 Level armada_370_xp_per_cpu_tick
26: 150892 0 MPIC 31 Level mv64xxx_i2c
27: 489 0 MPIC 41 Level ttyS0
33: 0 0 MPIC 45 Level ehci_hcd:usb1
34: 353228 0 MPIC 8 Level eth0
35: 1513 0 MPIC 10 Level eth1
36: 0 0 MPIC 55 Level sata_mv[f10a0000.sata]
37: 99 0 MPIC 113 Level marvell-nfc
38: 6087 0 MPIC 48 Level f1090000.crypto
39: 63 19 MPIC 49 Level f1090000.crypto
48: 2 0 MPIC 51 Level f1060900.xor
49: 2 0 MPIC 94 Level f10f0900.xor
50: 0 0 MPIC MSI 524288 Edge xhci_hcd
54: 0 0 mv88e6xxx-g1 3 Edge mv88e6xxx-f1072004.mdio-mii:00-g1-atu-prob
56: 0 0 mv88e6xxx-g1 5 Edge mv88e6xxx-f1072004.mdio-mii:00-g1-vtu-prob
59: 0 0 mv88e6xxx-g1 7 Edge mv88e6xxx-f1072004.mdio-mii:00-g2
61: 0 0 mv88e6xxx-g2 0 Edge mv88e6xxx-1:00
62: 0 0 mv88e6xxx-g2 1 Edge mv88e6xxx-1:01
63: 0 0 mv88e6xxx-g2 2 Edge mv88e6xxx-1:02
64: 0 0 mv88e6xxx-g2 3 Edge mv88e6xxx-1:03
65: 0 0 mv88e6xxx-g2 4 Edge mv88e6xxx-1:04
76: 0 0 mv88e6xxx-g2 15 Edge mv88e6xxx-f1072004.mdio-mii:00-watchdog
77: 0 0 f1018140.gpio 0 Edge gpio_keys
78: 0 0 f1018140.gpio 1 Edge gpio_keys
79: 17465 1696244 MPIC 59 Level mwlwifi
80: 1685938 0 MPIC 60 Level mwlwifi
IPI0: 0 0 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 2009 2034 Rescheduling interrupts
IPI3: 15761 53649 Function call interrupts
IPI4: 0 0 CPU stop interrupts
IPI5: 22941 15859 IRQ work interrupts
IPI6: 0 0 completion interrupts
Err: 0
For other DTS it seems
target/linux/mvebu/patches-5.10/321-armada-385-multi-DSA-cpuPort.patch
--- a/arch/arm/boot/dts/armada-385-linksys.dtsi
+++ b/arch/arm/boot/dts/armada-385-linksys.dtsi
@@ -200,10 +200,21 @@
label = "wan";
};
+ port@5 {
+ reg = <5>;
+ label = "cpu";
+ ethernet = <ð0>;
+
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+
port@6 {
reg = <6>;
label = "cpu";
- ethernet = <ð0>;
+ ethernet = <ð1>;
fixed-link {
speed = <1000>;
although I have not yet flashed the rango I have to test.
This is building on the 5.10.70 kernel.
my trunk is behind head
Linux version 5.10.64 (ubuntu@LEDE) (arm-openwrt-linux-muslgnueabi-gcc (OpenWrt GCC 11.2.0 r17625-fc050c7b53) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP Sat Sep 25 22:32:18 2021
######################## version.buildinfo
r17625-fc050c7b53
######################## feeds.buildinfo
src-git packages https://git.openwrt.org/feed/packages.git^489e60d
src-git luci https://git.openwrt.org/project/luci.git^1d9067b
src-git routing https://git.openwrt.org/feed/routing.git^7fb22c4
src-git telephony https://git.openwrt.org/feed/telephony.git^bbdf670
######################## config.buildinfo
CONFIG_TARGET_mvebu=y
CONFIG_TARGET_mvebu_cortexa9=y
CONFIG_TARGET_MULTI_PROFILE=y
CONFIG_TARGET_DEVICE_mvebu_cortexa9_DEVICE_linksys_wrt3200acm=y
CONFIG_TARGET_DEVICE_mvebu_cortexa9_DEVICE_linksys_wrt1900acs=y
CONFIG_DEVEL=y
CONFIG_TOOLCHAINOPTS=y
# CONFIG_FEED_telephony is not set
CONFIG_FSTOOLS_OVL_MOUNT_COMPRESS_ZLIB=y
CONFIG_GCC_DEFAULT_SSP=y
# CONFIG_GDB is not set
CONFIG_GNUTLS_ALPN=y
CONFIG_GNUTLS_ANON=y
CONFIG_GNUTLS_DTLS_SRTP=y
CONFIG_GNUTLS_HEARTBEAT=y
CONFIG_GNUTLS_OCSP=y
CONFIG_GNUTLS_PSK=y
# CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR is not set
CONFIG_KERNEL_CC_STACKPROTECTOR_STRONG=y
# CONFIG_KERNEL_CRASH_DUMP is not set
# CONFIG_KERNEL_DEBUG_INFO is not set
# CONFIG_KERNEL_DEBUG_KERNEL is not set
# CONFIG_KERNEL_ELF_CORE is not set
# CONFIG_KERNEL_IO_URING is not set
# CONFIG_KERNEL_KALLSYMS is not set
# CONFIG_KERNEL_KEXEC is not set
# CONFIG_KERNEL_MAGIC_SYSRQ is not set
CONFIG_KERNEL_STACKPROTECTOR_STRONG=y
# CONFIG_KERNEL_SWAP is not set
CONFIG_LUCI_LANG_ar=y
CONFIG_LUCI_LANG_bg=y
CONFIG_LUCI_LANG_bn_BD=y
CONFIG_LUCI_LANG_ca=y
CONFIG_LUCI_LANG_cs=y
CONFIG_LUCI_LANG_de=y
CONFIG_LUCI_LANG_el=y
CONFIG_LUCI_LANG_en=y
CONFIG_LUCI_LANG_es=y
CONFIG_LUCI_LANG_fi=y
CONFIG_LUCI_LANG_fr=y
CONFIG_LUCI_LANG_he=y
CONFIG_LUCI_LANG_hi=y
CONFIG_LUCI_LANG_hu=y
CONFIG_LUCI_LANG_it=y
CONFIG_LUCI_LANG_ja=y
CONFIG_LUCI_LANG_ko=y
CONFIG_LUCI_LANG_mr=y
CONFIG_LUCI_LANG_ms=y
CONFIG_LUCI_LANG_nb_NO=y
CONFIG_LUCI_LANG_nl=y
CONFIG_LUCI_LANG_pl=y
CONFIG_LUCI_LANG_pt=y
CONFIG_LUCI_LANG_pt_BR=y
CONFIG_LUCI_LANG_ro=y
CONFIG_LUCI_LANG_ru=y
CONFIG_LUCI_LANG_sk=y
CONFIG_LUCI_LANG_sv=y
CONFIG_LUCI_LANG_tr=y
CONFIG_LUCI_LANG_uk=y
CONFIG_LUCI_LANG_vi=y
CONFIG_LUCI_LANG_zh_Hans=y
CONFIG_LUCI_LANG_zh_Hant=y
CONFIG_LUCI_SRCDIET=y
CONFIG_OPENSSL_ENGINE=y
CONFIG_OPENSSL_OPTIMIZE_SPEED=y
CONFIG_OPENSSL_PREFER_CHACHA_OVER_GCM=y
CONFIG_OPENSSL_WITH_ASM=y
CONFIG_OPENSSL_WITH_CHACHA_POLY1305=y
CONFIG_OPENSSL_WITH_CMS=y
CONFIG_OPENSSL_WITH_DEPRECATED=y
CONFIG_OPENSSL_WITH_ERROR_MESSAGES=y
CONFIG_OPENSSL_WITH_PSK=y
CONFIG_OPENSSL_WITH_SRP=y
CONFIG_OPENSSL_WITH_TLS13=y
CONFIG_PACKAGE_adblock=y
CONFIG_PACKAGE_attr=y
CONFIG_PACKAGE_avahi-dbus-daemon=y
CONFIG_PACKAGE_banip=y
CONFIG_PACKAGE_bmon=y
CONFIG_PACKAGE_ca-certificates=y
CONFIG_PACKAGE_cgi-io=y
CONFIG_PACKAGE_confuse=y
CONFIG_PACKAGE_coreutils=y
CONFIG_PACKAGE_coreutils-sort=y
CONFIG_PACKAGE_dbus=y
# CONFIG_PACKAGE_dnsmasq is not set
CONFIG_PACKAGE_e2fsprogs=y
CONFIG_PACKAGE_f2fs-tools=y
CONFIG_PACKAGE_f2fsck=y
CONFIG_PACKAGE_fstrim=y
CONFIG_PACKAGE_gdisk=y
CONFIG_PACKAGE_htop=y
CONFIG_PACKAGE_igmpproxy=y
CONFIG_PACKAGE_ip-bridge=y
CONFIG_PACKAGE_ip-tiny=y
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_ipset=y
CONFIG_PACKAGE_iptables-mod-conntrack-extra=y
CONFIG_PACKAGE_iptables-mod-ipopt=y
CONFIG_PACKAGE_iptables-mod-ipsec=y
CONFIG_PACKAGE_irqbalance=y
CONFIG_PACKAGE_kmod-ata-core=y
CONFIG_PACKAGE_kmod-ata-marvell-sata=y
CONFIG_PACKAGE_kmod-crypto-acompress=y
CONFIG_PACKAGE_kmod-crypto-authenc=y
CONFIG_PACKAGE_kmod-crypto-cbc=y
CONFIG_PACKAGE_kmod-crypto-crc32=y
CONFIG_PACKAGE_kmod-crypto-crc32c=y
CONFIG_PACKAGE_kmod-crypto-cts=y
CONFIG_PACKAGE_kmod-crypto-deflate=y
CONFIG_PACKAGE_kmod-crypto-des=y
CONFIG_PACKAGE_kmod-crypto-echainiv=y
CONFIG_PACKAGE_kmod-crypto-lib-blake2s=y
CONFIG_PACKAGE_kmod-crypto-lib-chacha20=y
CONFIG_PACKAGE_kmod-crypto-lib-chacha20poly1305=y
CONFIG_PACKAGE_kmod-crypto-lib-curve25519=y
CONFIG_PACKAGE_kmod-crypto-lib-poly1305=y
CONFIG_PACKAGE_kmod-crypto-md5=y
CONFIG_PACKAGE_kmod-crypto-sha1=y
CONFIG_PACKAGE_kmod-crypto-sha512=m
CONFIG_PACKAGE_kmod-crypto-xts=y
CONFIG_PACKAGE_kmod-cryptodev=y
CONFIG_PACKAGE_kmod-fs-ext4=y
CONFIG_PACKAGE_kmod-fs-f2fs=y
CONFIG_PACKAGE_kmod-fuse=y
CONFIG_PACKAGE_kmod-ifb=y
CONFIG_PACKAGE_kmod-ipsec=y
CONFIG_PACKAGE_kmod-ipsec4=y
CONFIG_PACKAGE_kmod-ipsec6=y
CONFIG_PACKAGE_kmod-ipt-conntrack-extra=y
CONFIG_PACKAGE_kmod-ipt-ipopt=y
CONFIG_PACKAGE_kmod-ipt-ipsec=y
CONFIG_PACKAGE_kmod-ipt-ipset=y
CONFIG_PACKAGE_kmod-ipt-raw=y
CONFIG_PACKAGE_kmod-iptunnel4=y
CONFIG_PACKAGE_kmod-iptunnel6=y
CONFIG_PACKAGE_kmod-lib-crc32c=y
CONFIG_PACKAGE_kmod-lib-zlib-deflate=y
CONFIG_PACKAGE_kmod-lib-zlib-inflate=y
CONFIG_PACKAGE_kmod-mii=y
CONFIG_PACKAGE_kmod-nfnetlink=y
CONFIG_PACKAGE_kmod-nft-core=y
CONFIG_PACKAGE_kmod-nft-nat=y
CONFIG_PACKAGE_kmod-nft-offload=y
CONFIG_PACKAGE_kmod-sched-cake=y
CONFIG_PACKAGE_kmod-sched-core=y
CONFIG_PACKAGE_kmod-scsi-core=y
CONFIG_PACKAGE_kmod-tun=y
CONFIG_PACKAGE_kmod-udptunnel4=y
CONFIG_PACKAGE_kmod-udptunnel6=y
CONFIG_PACKAGE_kmod-usb-ehci=y
CONFIG_PACKAGE_kmod-usb-net=y
CONFIG_PACKAGE_kmod-usb-net-cdc-ether=y
CONFIG_PACKAGE_kmod-usb-net-ipheth=y
CONFIG_PACKAGE_kmod-usb-net-rndis=y
CONFIG_PACKAGE_kmod-usb-storage=y
CONFIG_PACKAGE_kmod-usb-storage-uas=y
CONFIG_PACKAGE_kmod-usb-xhci-hcd=y
CONFIG_PACKAGE_kmod-usb2=y
CONFIG_PACKAGE_kmod-usb3=y
CONFIG_PACKAGE_kmod-wireguard=y
CONFIG_PACKAGE_libatomic=y
CONFIG_PACKAGE_libattr=y
CONFIG_PACKAGE_libavahi-client=y
CONFIG_PACKAGE_libavahi-dbus-support=y
CONFIG_PACKAGE_libblkid=y
CONFIG_PACKAGE_libbpf=y
CONFIG_PACKAGE_libcap=y
CONFIG_PACKAGE_libcomerr=y
CONFIG_PACKAGE_libdaemon=y
CONFIG_PACKAGE_libdbus=y
CONFIG_PACKAGE_libelf=y
CONFIG_PACKAGE_libevent2=y
CONFIG_PACKAGE_libexpat=y
CONFIG_PACKAGE_libext2fs=y
CONFIG_PACKAGE_libf2fs=y
CONFIG_PACKAGE_libgmp=y
CONFIG_PACKAGE_libgnutls=y
CONFIG_PACKAGE_libipset=y
CONFIG_PACKAGE_libiwinfo-lua=y
CONFIG_PACKAGE_liblua=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-lua=y
CONFIG_PACKAGE_libmnl=y
CONFIG_PACKAGE_libmount=y
CONFIG_PACKAGE_libncurses=y
CONFIG_PACKAGE_libnettle=y
CONFIG_PACKAGE_libnl-core=y
CONFIG_PACKAGE_libnl-route=y
CONFIG_PACKAGE_libopenssl=y
CONFIG_PACKAGE_libopenssl-conf=y
CONFIG_PACKAGE_libopenssl-devcrypto=y
CONFIG_PACKAGE_libpcap=y
CONFIG_PACKAGE_libpopt=y
CONFIG_PACKAGE_libreadline=y
CONFIG_PACKAGE_librt=y
CONFIG_PACKAGE_libsmartcols=y
CONFIG_PACKAGE_libss=y
CONFIG_PACKAGE_libstdcpp=y
CONFIG_PACKAGE_libtasn1=y
CONFIG_PACKAGE_libtirpc=y
CONFIG_PACKAGE_libubus-lua=y
CONFIG_PACKAGE_libunbound=y
CONFIG_PACKAGE_libunbound_ipset=y
CONFIG_PACKAGE_libunbound_libevent=y
CONFIG_PACKAGE_libunbound_libpthread=y
CONFIG_PACKAGE_libustream-openssl=y
# CONFIG_PACKAGE_libustream-wolfssl is not set
CONFIG_PACKAGE_libuuid=y
# CONFIG_PACKAGE_libwolfssl is not set
CONFIG_PACKAGE_lua=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-app-adblock=y
CONFIG_PACKAGE_luci-app-advanced-reboot=y
CONFIG_PACKAGE_luci-app-banip=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-app-opkg=y
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-app-wireguard=y
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-i18n-adblock-ar=y
CONFIG_PACKAGE_luci-i18n-adblock-bg=y
CONFIG_PACKAGE_luci-i18n-adblock-bn=y
CONFIG_PACKAGE_luci-i18n-adblock-ca=y
CONFIG_PACKAGE_luci-i18n-adblock-cs=y
CONFIG_PACKAGE_luci-i18n-adblock-de=y
CONFIG_PACKAGE_luci-i18n-adblock-el=y
CONFIG_PACKAGE_luci-i18n-adblock-en=y
CONFIG_PACKAGE_luci-i18n-adblock-es=y
CONFIG_PACKAGE_luci-i18n-adblock-fi=y
CONFIG_PACKAGE_luci-i18n-adblock-fr=y
CONFIG_PACKAGE_luci-i18n-adblock-he=y
CONFIG_PACKAGE_luci-i18n-adblock-hi=y
CONFIG_PACKAGE_luci-i18n-adblock-hu=y
CONFIG_PACKAGE_luci-i18n-adblock-it=y
CONFIG_PACKAGE_luci-i18n-adblock-ja=y
CONFIG_PACKAGE_luci-i18n-adblock-ko=y
CONFIG_PACKAGE_luci-i18n-adblock-mr=y
CONFIG_PACKAGE_luci-i18n-adblock-ms=y
CONFIG_PACKAGE_luci-i18n-adblock-no=y
CONFIG_PACKAGE_luci-i18n-adblock-pl=y
CONFIG_PACKAGE_luci-i18n-adblock-pt=y
CONFIG_PACKAGE_luci-i18n-adblock-pt-br=y
CONFIG_PACKAGE_luci-i18n-adblock-ro=y
CONFIG_PACKAGE_luci-i18n-adblock-ru=y
CONFIG_PACKAGE_luci-i18n-adblock-sk=y
CONFIG_PACKAGE_luci-i18n-adblock-sv=y
CONFIG_PACKAGE_luci-i18n-adblock-tr=y
CONFIG_PACKAGE_luci-i18n-adblock-uk=y
CONFIG_PACKAGE_luci-i18n-adblock-vi=y
CONFIG_PACKAGE_luci-i18n-adblock-zh-cn=y
CONFIG_PACKAGE_luci-i18n-adblock-zh-tw=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-ar=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-bg=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-bn=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-ca=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-cs=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-de=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-el=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-en=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-es=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-fi=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-fr=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-he=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-hi=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-hu=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-it=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-ja=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-ko=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-mr=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-ms=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-no=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-pl=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-pt=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-pt-br=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-ro=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-ru=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-sk=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-sv=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-tr=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-uk=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-vi=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-zh-cn=y
CONFIG_PACKAGE_luci-i18n-advanced-reboot-zh-tw=y
CONFIG_PACKAGE_luci-i18n-banip-ar=y
CONFIG_PACKAGE_luci-i18n-banip-bg=y
CONFIG_PACKAGE_luci-i18n-banip-bn=y
CONFIG_PACKAGE_luci-i18n-banip-ca=y
CONFIG_PACKAGE_luci-i18n-banip-cs=y
CONFIG_PACKAGE_luci-i18n-banip-de=y
CONFIG_PACKAGE_luci-i18n-banip-el=y
CONFIG_PACKAGE_luci-i18n-banip-en=y
CONFIG_PACKAGE_luci-i18n-banip-es=y
CONFIG_PACKAGE_luci-i18n-banip-fi=y
CONFIG_PACKAGE_luci-i18n-banip-fr=y
CONFIG_PACKAGE_luci-i18n-banip-he=y
CONFIG_PACKAGE_luci-i18n-banip-hi=y
CONFIG_PACKAGE_luci-i18n-banip-hu=y
CONFIG_PACKAGE_luci-i18n-banip-it=y
CONFIG_PACKAGE_luci-i18n-banip-ja=y
CONFIG_PACKAGE_luci-i18n-banip-ko=y
CONFIG_PACKAGE_luci-i18n-banip-mr=y
CONFIG_PACKAGE_luci-i18n-banip-ms=y
CONFIG_PACKAGE_luci-i18n-banip-nl=y
CONFIG_PACKAGE_luci-i18n-banip-no=y
CONFIG_PACKAGE_luci-i18n-banip-pl=y
CONFIG_PACKAGE_luci-i18n-banip-pt=y
CONFIG_PACKAGE_luci-i18n-banip-pt-br=y
CONFIG_PACKAGE_luci-i18n-banip-ro=y
CONFIG_PACKAGE_luci-i18n-banip-ru=y
CONFIG_PACKAGE_luci-i18n-banip-sk=y
CONFIG_PACKAGE_luci-i18n-banip-sv=y
CONFIG_PACKAGE_luci-i18n-banip-tr=y
CONFIG_PACKAGE_luci-i18n-banip-uk=y
CONFIG_PACKAGE_luci-i18n-banip-vi=y
CONFIG_PACKAGE_luci-i18n-banip-zh-cn=y
CONFIG_PACKAGE_luci-i18n-banip-zh-tw=y
CONFIG_PACKAGE_luci-i18n-base-ar=y
CONFIG_PACKAGE_luci-i18n-base-bg=y
CONFIG_PACKAGE_luci-i18n-base-bn=y
CONFIG_PACKAGE_luci-i18n-base-ca=y
CONFIG_PACKAGE_luci-i18n-base-cs=y
CONFIG_PACKAGE_luci-i18n-base-de=y
CONFIG_PACKAGE_luci-i18n-base-el=y
CONFIG_PACKAGE_luci-i18n-base-en=y
CONFIG_PACKAGE_luci-i18n-base-es=y
CONFIG_PACKAGE_luci-i18n-base-fi=y
CONFIG_PACKAGE_luci-i18n-base-fr=y
CONFIG_PACKAGE_luci-i18n-base-he=y
CONFIG_PACKAGE_luci-i18n-base-hi=y
CONFIG_PACKAGE_luci-i18n-base-hu=y
CONFIG_PACKAGE_luci-i18n-base-it=y
CONFIG_PACKAGE_luci-i18n-base-ja=y
CONFIG_PACKAGE_luci-i18n-base-ko=y
CONFIG_PACKAGE_luci-i18n-base-mr=y
CONFIG_PACKAGE_luci-i18n-base-ms=y
CONFIG_PACKAGE_luci-i18n-base-nl=y
CONFIG_PACKAGE_luci-i18n-base-no=y
CONFIG_PACKAGE_luci-i18n-base-pl=y
CONFIG_PACKAGE_luci-i18n-base-pt=y
CONFIG_PACKAGE_luci-i18n-base-pt-br=y
CONFIG_PACKAGE_luci-i18n-base-ro=y
CONFIG_PACKAGE_luci-i18n-base-ru=y
CONFIG_PACKAGE_luci-i18n-base-sk=y
CONFIG_PACKAGE_luci-i18n-base-sv=y
CONFIG_PACKAGE_luci-i18n-base-tr=y
CONFIG_PACKAGE_luci-i18n-base-uk=y
CONFIG_PACKAGE_luci-i18n-base-vi=y
CONFIG_PACKAGE_luci-i18n-base-zh-cn=y
CONFIG_PACKAGE_luci-i18n-base-zh-tw=y
CONFIG_PACKAGE_luci-i18n-firewall-ar=y
CONFIG_PACKAGE_luci-i18n-firewall-bg=y
CONFIG_PACKAGE_luci-i18n-firewall-bn=y
CONFIG_PACKAGE_luci-i18n-firewall-ca=y
CONFIG_PACKAGE_luci-i18n-firewall-cs=y
CONFIG_PACKAGE_luci-i18n-firewall-de=y
CONFIG_PACKAGE_luci-i18n-firewall-el=y
CONFIG_PACKAGE_luci-i18n-firewall-en=y
CONFIG_PACKAGE_luci-i18n-firewall-es=y
CONFIG_PACKAGE_luci-i18n-firewall-fi=y
CONFIG_PACKAGE_luci-i18n-firewall-fr=y
CONFIG_PACKAGE_luci-i18n-firewall-he=y
CONFIG_PACKAGE_luci-i18n-firewall-hi=y
CONFIG_PACKAGE_luci-i18n-firewall-hu=y
CONFIG_PACKAGE_luci-i18n-firewall-it=y
CONFIG_PACKAGE_luci-i18n-firewall-ja=y
CONFIG_PACKAGE_luci-i18n-firewall-ko=y
CONFIG_PACKAGE_luci-i18n-firewall-mr=y
CONFIG_PACKAGE_luci-i18n-firewall-ms=y
CONFIG_PACKAGE_luci-i18n-firewall-nl=y
CONFIG_PACKAGE_luci-i18n-firewall-no=y
CONFIG_PACKAGE_luci-i18n-firewall-pl=y
CONFIG_PACKAGE_luci-i18n-firewall-pt=y
CONFIG_PACKAGE_luci-i18n-firewall-pt-br=y
CONFIG_PACKAGE_luci-i18n-firewall-ro=y
CONFIG_PACKAGE_luci-i18n-firewall-ru=y
CONFIG_PACKAGE_luci-i18n-firewall-sk=y
CONFIG_PACKAGE_luci-i18n-firewall-sv=y
CONFIG_PACKAGE_luci-i18n-firewall-tr=y
CONFIG_PACKAGE_luci-i18n-firewall-uk=y
CONFIG_PACKAGE_luci-i18n-firewall-vi=y
CONFIG_PACKAGE_luci-i18n-firewall-zh-cn=y
CONFIG_PACKAGE_luci-i18n-firewall-zh-tw=y
CONFIG_PACKAGE_luci-i18n-opkg-ar=y
CONFIG_PACKAGE_luci-i18n-opkg-bg=y
CONFIG_PACKAGE_luci-i18n-opkg-bn=y
CONFIG_PACKAGE_luci-i18n-opkg-ca=y
CONFIG_PACKAGE_luci-i18n-opkg-cs=y
CONFIG_PACKAGE_luci-i18n-opkg-de=y
CONFIG_PACKAGE_luci-i18n-opkg-el=y
CONFIG_PACKAGE_luci-i18n-opkg-en=y
CONFIG_PACKAGE_luci-i18n-opkg-es=y
CONFIG_PACKAGE_luci-i18n-opkg-fi=y
CONFIG_PACKAGE_luci-i18n-opkg-fr=y
CONFIG_PACKAGE_luci-i18n-opkg-he=y
CONFIG_PACKAGE_luci-i18n-opkg-hi=y
CONFIG_PACKAGE_luci-i18n-opkg-hu=y
CONFIG_PACKAGE_luci-i18n-opkg-it=y
CONFIG_PACKAGE_luci-i18n-opkg-ja=y
CONFIG_PACKAGE_luci-i18n-opkg-ko=y
CONFIG_PACKAGE_luci-i18n-opkg-mr=y
CONFIG_PACKAGE_luci-i18n-opkg-ms=y
CONFIG_PACKAGE_luci-i18n-opkg-no=y
CONFIG_PACKAGE_luci-i18n-opkg-pl=y
CONFIG_PACKAGE_luci-i18n-opkg-pt=y
CONFIG_PACKAGE_luci-i18n-opkg-pt-br=y
CONFIG_PACKAGE_luci-i18n-opkg-ro=y
CONFIG_PACKAGE_luci-i18n-opkg-ru=y
CONFIG_PACKAGE_luci-i18n-opkg-sk=y
CONFIG_PACKAGE_luci-i18n-opkg-sv=y
CONFIG_PACKAGE_luci-i18n-opkg-tr=y
CONFIG_PACKAGE_luci-i18n-opkg-uk=y
CONFIG_PACKAGE_luci-i18n-opkg-vi=y
CONFIG_PACKAGE_luci-i18n-opkg-zh-cn=y
CONFIG_PACKAGE_luci-i18n-opkg-zh-tw=y
CONFIG_PACKAGE_luci-i18n-sqm-ar=y
CONFIG_PACKAGE_luci-i18n-sqm-bg=y
CONFIG_PACKAGE_luci-i18n-sqm-bn=y
CONFIG_PACKAGE_luci-i18n-sqm-ca=y
CONFIG_PACKAGE_luci-i18n-sqm-cs=y
CONFIG_PACKAGE_luci-i18n-sqm-de=y
CONFIG_PACKAGE_luci-i18n-sqm-el=y
CONFIG_PACKAGE_luci-i18n-sqm-en=y
CONFIG_PACKAGE_luci-i18n-sqm-es=y
CONFIG_PACKAGE_luci-i18n-sqm-fi=y
CONFIG_PACKAGE_luci-i18n-sqm-fr=y
CONFIG_PACKAGE_luci-i18n-sqm-he=y
CONFIG_PACKAGE_luci-i18n-sqm-hi=y
CONFIG_PACKAGE_luci-i18n-sqm-hu=y
CONFIG_PACKAGE_luci-i18n-sqm-it=y
CONFIG_PACKAGE_luci-i18n-sqm-ja=y
CONFIG_PACKAGE_luci-i18n-sqm-ko=y
CONFIG_PACKAGE_luci-i18n-sqm-mr=y
CONFIG_PACKAGE_luci-i18n-sqm-ms=y
CONFIG_PACKAGE_luci-i18n-sqm-no=y
CONFIG_PACKAGE_luci-i18n-sqm-pl=y
CONFIG_PACKAGE_luci-i18n-sqm-pt=y
CONFIG_PACKAGE_luci-i18n-sqm-pt-br=y
CONFIG_PACKAGE_luci-i18n-sqm-ro=y
CONFIG_PACKAGE_luci-i18n-sqm-ru=y
CONFIG_PACKAGE_luci-i18n-sqm-sk=y
CONFIG_PACKAGE_luci-i18n-sqm-sv=y
CONFIG_PACKAGE_luci-i18n-sqm-tr=y
CONFIG_PACKAGE_luci-i18n-sqm-uk=y
CONFIG_PACKAGE_luci-i18n-sqm-vi=y
CONFIG_PACKAGE_luci-i18n-sqm-zh-cn=y
CONFIG_PACKAGE_luci-i18n-sqm-zh-tw=y
CONFIG_PACKAGE_luci-i18n-wireguard-ar=y
CONFIG_PACKAGE_luci-i18n-wireguard-bg=y
CONFIG_PACKAGE_luci-i18n-wireguard-bn=y
CONFIG_PACKAGE_luci-i18n-wireguard-ca=y
CONFIG_PACKAGE_luci-i18n-wireguard-cs=y
CONFIG_PACKAGE_luci-i18n-wireguard-de=y
CONFIG_PACKAGE_luci-i18n-wireguard-el=y
CONFIG_PACKAGE_luci-i18n-wireguard-en=y
CONFIG_PACKAGE_luci-i18n-wireguard-es=y
CONFIG_PACKAGE_luci-i18n-wireguard-fi=y
CONFIG_PACKAGE_luci-i18n-wireguard-fr=y
CONFIG_PACKAGE_luci-i18n-wireguard-he=y
CONFIG_PACKAGE_luci-i18n-wireguard-hi=y
CONFIG_PACKAGE_luci-i18n-wireguard-hu=y
CONFIG_PACKAGE_luci-i18n-wireguard-it=y
CONFIG_PACKAGE_luci-i18n-wireguard-ja=y
CONFIG_PACKAGE_luci-i18n-wireguard-ko=y
CONFIG_PACKAGE_luci-i18n-wireguard-mr=y
CONFIG_PACKAGE_luci-i18n-wireguard-ms=y
CONFIG_PACKAGE_luci-i18n-wireguard-no=y
CONFIG_PACKAGE_luci-i18n-wireguard-pl=y
CONFIG_PACKAGE_luci-i18n-wireguard-pt=y
CONFIG_PACKAGE_luci-i18n-wireguard-pt-br=y
CONFIG_PACKAGE_luci-i18n-wireguard-ro=y
CONFIG_PACKAGE_luci-i18n-wireguard-ru=y
CONFIG_PACKAGE_luci-i18n-wireguard-sk=y
CONFIG_PACKAGE_luci-i18n-wireguard-sv=y
CONFIG_PACKAGE_luci-i18n-wireguard-tr=y
CONFIG_PACKAGE_luci-i18n-wireguard-uk=y
CONFIG_PACKAGE_luci-i18n-wireguard-vi=y
CONFIG_PACKAGE_luci-i18n-wireguard-zh-cn=y
CONFIG_PACKAGE_luci-i18n-wireguard-zh-tw=y
CONFIG_PACKAGE_luci-lib-base=y
CONFIG_PACKAGE_luci-lib-ip=y
CONFIG_PACKAGE_luci-lib-jsonc=y
CONFIG_PACKAGE_luci-lib-nixio=y
# CONFIG_PACKAGE_luci-lib-nixio_notls is not set
CONFIG_PACKAGE_luci-lib-nixio_openssl=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-network=y
CONFIG_PACKAGE_luci-mod-status=y
CONFIG_PACKAGE_luci-mod-system=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-proto-wireguard=y
CONFIG_PACKAGE_luci-ssl-openssl=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_mkf2fs=y
CONFIG_PACKAGE_mtr=y
CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_ncdu=y
CONFIG_PACKAGE_odhcpd=y
# CONFIG_PACKAGE_odhcpd-ipv6only is not set
CONFIG_PACKAGE_odhcpd_full_ext_cer_id=0
CONFIG_PACKAGE_openssl-util=y
CONFIG_PACKAGE_procd-seccomp=y
CONFIG_PACKAGE_procd-ujail=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-file=y
CONFIG_PACKAGE_rpcd-mod-iwinfo=y
CONFIG_PACKAGE_rpcd-mod-luci=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_samba4-libs=y
CONFIG_PACKAGE_samba4-server=y
CONFIG_PACKAGE_sqm-scripts=y
CONFIG_PACKAGE_strongswan=y
CONFIG_PACKAGE_strongswan-charon=y
CONFIG_PACKAGE_strongswan-ipsec=y
CONFIG_PACKAGE_strongswan-minimal=y
CONFIG_PACKAGE_strongswan-mod-aes=y
CONFIG_PACKAGE_strongswan-mod-gmp=y
CONFIG_PACKAGE_strongswan-mod-hmac=y
CONFIG_PACKAGE_strongswan-mod-kernel-netlink=y
CONFIG_PACKAGE_strongswan-mod-nonce=y
CONFIG_PACKAGE_strongswan-mod-pubkey=y
CONFIG_PACKAGE_strongswan-mod-random=y
CONFIG_PACKAGE_strongswan-mod-sha1=y
CONFIG_PACKAGE_strongswan-mod-socket-default=y
CONFIG_PACKAGE_strongswan-mod-stroke=y
CONFIG_PACKAGE_strongswan-mod-updown=y
CONFIG_PACKAGE_strongswan-mod-x509=y
CONFIG_PACKAGE_strongswan-mod-xcbc=y
CONFIG_PACKAGE_tc-mod-iptables=y
CONFIG_PACKAGE_tc-tiny=y
CONFIG_PACKAGE_tcpdump=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_tree=y
CONFIG_PACKAGE_tune2fs=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_uhttpd-mod-ubus=y
CONFIG_PACKAGE_unbound-control=y
CONFIG_PACKAGE_unbound-daemon=y
CONFIG_PACKAGE_vsftpd=y
CONFIG_PACKAGE_wireguard-tools=y
# CONFIG_PACKAGE_wpad-basic-wolfssl is not set
CONFIG_PACKAGE_wpad-openssl=y
CONFIG_PACKAGE_wsdd2=y
CONFIG_PACKAGE_zlib=y
# CONFIG_PKG_CC_STACKPROTECTOR_REGULAR is not set
CONFIG_PKG_CC_STACKPROTECTOR_STRONG=y
# CONFIG_PKG_FORTIFY_SOURCE_1 is not set
CONFIG_PKG_FORTIFY_SOURCE_2=y
CONFIG_REPRODUCIBLE_DEBUG_INFO=y
CONFIG_SAMBA4_SERVER_AVAHI=y
CONFIG_SAMBA4_SERVER_NETBIOS=y
CONFIG_SAMBA4_SERVER_VFS=y
CONFIG_SAMBA4_SERVER_WSDD2=y
CONFIG_STRIP_KERNEL_EXPORTS=y
CONFIG_STRONGSWAN_ROUTING_TABLE="220"
CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO="220"
# CONFIG_WPA_WOLFSSL is not set
Yes, there was a change in some kernel push that changed things. At any rate you appear to be overlapping the CPU-Port in the 385 DTS, so was wondering if the devices are actually manifesting / working for you.
I am just currently trying to figure out the iproute2 commit that allows assigning CPU-Port to try and test things on the mamba.
Summary
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9208 qdisc mq state UP group default qlen 1024
link/ether 52:25:af:89:88:bb brd ff:ff:ff:ff:ff:ff
inet6 fe80::5025:afff:fe89:88bb/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9208 qdisc mq state UP group default qlen 1024
link/ether 52:02:18:16:f0:c7 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5002:18ff:fe16:f0c7/64 scope link
valid_lft forever preferred_lft forever
4: lan4@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9200 qdisc noqueue master brch0 state UP group default qlen 1000
link/ether 94:10:3e:85:b5:25 brd ff:ff:ff:ff:ff:ff
5: lan3@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9200 qdisc noqueue master brch0 state UP group default qlen 1000
link/ether 94:10:3e:85:b5:25 brd ff:ff:ff:ff:ff:ff
6: lan2@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:25:af:89:88:bb brd ff:ff:ff:ff:ff:ff
7: lan1@eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 9200 qdisc noqueue master brch0 state LOWERLAYERDOWN group default qlen 1000
link/ether 94:10:3e:85:b5:25 brd ff:ff:ff:ff:ff:ff
8: wan@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 94:10:3e:85:b5:25 brd ff:ff:ff:ff:ff:ff
inet 68.146.6.128/22 brd 68.146.7.255 scope global wan
valid_lft forever preferred_lft forever
inet6 2604:3d08:4:28:9052:7f1c:82ef:b4d1/128 scope global dynamic noprefixroute
valid_lft 169856sec preferred_lft 169856sec
inet6 fe80::9610:3eff:fe85:b525/64 scope link
valid_lft forever preferred_lft forever
ip link set lan1 link eth0
or using frank's way
--- a/net/dsa/dsa2.c
+++ b/net/dsa/dsa2.c
@@ -234,6 +234,14 @@
/* Assign the CPU ports in round-robbin way to all ports of the fabric */
list_for_each_entry(dp, &dst->ports, list)
if (dsa_port_is_user(dp) || dsa_port_is_dsa(dp)) {
+ struct device_node *dn;
+
+ if (dn = of_parse_phandle(dp->dn, "default-cpu", 0)) {
+ dp->cpu_dp = dsa_tree_find_port_by_node(dst, dn);
+ if (dp->cpu_dp && dsa_port_is_cpu(dp->cpu_dp))
+ continue;
+ }
+
dp->cpu_dp = cpu_dp;
if (cpu_dp == last_cpu_dp)
--- a/arch/arm/boot/dts/armada-385-linksys.dtsi
+++ b/arch/arm/boot/dts/armada-385-linksys.dtsi
@@ -178,35 +178,51 @@
port@0 {
reg = <0>;
label = "lan4";
+ default-cpu = <&dsa_cpu0>;
};
port@1 {
reg = <1>;
label = "lan3";
+ default-cpu = <&dsa_cpu0>;
};
port@2 {
reg = <2>;
label = "lan2";
+ default-cpu = <&dsa_cpu0>;
};
port@3 {
reg = <3>;
label = "lan1";
+ default-cpu = <&dsa_cpu0>;
};
port@4 {
reg = <4>;
label = "wan";
+ default-cpu = <&dsa_cpu1>;
};
- port@5 {
+ dsa_cpu1: port@5 {
reg = <5>;
label = "cpu";
ethernet = <ð2>;
fixed-link {
speed = <1000>;
+ full-duplex;
+ };
+ };
+
+ dsa_cpu0: port@6 {
+ reg = <6>;
+ label = "cpu";
+ ethernet = <ð0>;
+
+ fixed-link {
+ speed = <1000>;
full-duplex;
};
};
Do you get the correct mac address for eth1, lan2 and lan4 or is it random?
nitroshift
iirc, only eth0 has it. back in swconfig days, there was 06_set_iface_mac
. i guess you have to dig into it, make the adjustment and set them accordingly.
Thanks, that was the issue I ran across when using multi-CPU DSA, besides quite a massive speed regression on wireless.
nitroshift
to be precise, using lan@eth0 & wan@eth1 will set macaddr correctly. i think it will get fixed, eventually.
this is for reference only.
I am currently running a master build using these 3 patches from @shm0 on a wrt32x.
Wifi performance seems a bit better probably due to using the Armada clocksource instead of the ARM global timer.
I haven''t noticed any annoying disconnects.
Then again I only have 4 devices which I would connect to wifi...