WRT3200ACM and DSA

OK, found this, can we try it ?

The links don't work and we need the "adp-sdk" which you can only get through I presume this link: https://extranet.marvell.com/extranet/dms/documents.do?groupID=4&subGroupID=79213

Which is probably only for customers who have signed a binding NDA & contract to conduct business.

Can you post your output from ethtool -S eth0 (or what ever eth device is used) please?
How many broadcast frames does it show?

Doing a tcpdump gives me the following:

16:31:01.379458 00:01:5c:74:fc:46 (oui Unknown) > Broadcast, ethertype MEDSA (0xdada), length 68:
        0x0000:  0000 c020 0000 0806 0001 0800 0604 0001  ................
        0x0010:  0001 5c74 fc46 5fde ac01 0000 0000 0000  ..\t.F_.........
        0x0020:  5fde afa0 0000 0000 0000 0000 0000 0000  _...............
        0x0030:  0000 0000 0000                           ......
16:31:01.399856 00:01:5c:74:fc:46 (oui Unknown) > Broadcast, ethertype MEDSA (0xdada), length 68:
        0x0000:  0000 c020 0000 0806 0001 0800 0604 0001  ................
        0x0010:  0001 5c74 fc46 5fde ac01 0000 0000 0000  ..\t.F_.........
        0x0020:  5fde aef8 0000 0000 0000 0000 0000 0000  _...............
        0x0030:  0000 0000 0000                           ......
16:31:01.399859 00:01:5c:74:fc:46 (oui Unknown) > Broadcast, ethertype MEDSA (0xdada), length 68:
        0x0000:  0000 c020 0000 0806 0001 0800 0604 0001  ................
        0x0010:  0001 5c74 fc46 5fde ac01 0000 0000 0000  ..\t.F_.........
        0x0020:  5fde aef8 0000 0000 0000 0000 0000 0000  _...............
        0x0030:  0000 0000 0000                           ......
^C
2236 packets captured
2237 packets received by filter
0 packets dropped by kernel

2000 broadcasts in 10 seconds not bad...
When letting it run for longer there are also dropped packets.
Seems like they all belong to DSA and it doesn't affect performance.
I also don't know where the mac address 00:01:5c:74:fc:46 comes from?

1 Like

I don't really know how to interpret this output:

root@WRT1900ACS:~# uptime
 21:22:59 up 15 min,  load average: 0.56, 0.34, 0.17
root@WRT1900ACS:~# ethtool -S eth0
NIC statistics:
     good_octets_received: 216014092
     good_frames_received: 244261
     bad_octets_received: 0
     bad_frames_received: 0
     broadcast_frames_received: 94
     multicast_frames_received: 1023
     unrec_mac_control_received: 0
     good_fc_received: 0
     bad_fc_received: 0
     undersize_received: 0
     fragments_received: 0
     oversize_received: 0
     jabber_received: 0
     mac_receive_error: 0
     bad_crc_event: 0
     collision: 0
     late_collision: 0
     rx_discard: 1
     rx_overrun: 0
     frames_64_octets: 454
     frames_65_to_127_octets: 267075
     frames_128_to_255_octets: 7075
     frames_256_to_511_octets: 5028
     frames_512_to_1023_octets: 3539
     frames_1024_to_max_octets: 247510
     good_octets_sent: 175643964
     good_frames_sent: 286918
     excessive_collision: 0
     multicast_frames_sent: 1532
     broadcast_frames_sent: 392
     fc_sent: 0
     internal_mac_transmit_err: 0
     eee_wakeup_errors: 0
     p05_in_good_octets: 175649036
     p05_in_bad_octets: 0
     p05_in_unicast: 284994
     p05_in_broadcasts: 392
     p05_in_multicasts: 1532
     p05_in_pause: 0
     p05_in_undersize: 0
     p05_in_fragments: 0
     p05_in_oversize: 0
     p05_in_jabber: 0
     p05_in_rx_error: 0
     p05_in_fcs_error: 0
     p05_out_octets: 216042341
     p05_out_unicast: 243246
     p05_out_broadcasts: 115
     p05_out_multicasts: 1059
     p05_out_pause: 0
     p05_excessive: 0
     p05_collisions: 0
     p05_deferred: 0
     p05_single: 0
     p05_multiple: 0
     p05_out_fcs_error: 0
     p05_late: 0
     p05_hist_64bytes: 436
     p05_hist_65_127bytes: 203346
     p05_hist_128_255bytes: 2723
     p05_hist_256_511bytes: 1974
     p05_hist_512_1023bytes: 1353
     p05_hist_1024_max_bytes: 207706
     p05_sw_in_discards: 0
     p05_sw_in_filtered: 0
     p05_sw_out_filtered: 24774

(I believe one of my family members were torrenting at this time [SQM is also on], hence the CPU usage).

Network topology (ignoring WLAN) is:
ISP GPON Modem <-> WRT1900ACS <-> Tenda PH3 Powerline Adapter (a) <-> Tenda PH3 Powerline Adapter (b) <-> E1200 as a Dummy AP <->Raspberry Pi with Pi-Hole

Do you guys also know whats going on here? Googling didn't end up helping.

[   84.321793] br-lan: failed (err=-34) to set attribute (id=6)

It appears twice in the kernel log, and only after WLAN0 and WLAN1 enter forwarding state.

I've been searching but I found nothing, have you tried removing and re-adding the bridge?

Figured it out - it was br-lan trying to enable STP on WLAN0 and WLAN1. I don't even know if I really need it anyways.

So I've made a firmware with what I believe is your patch @ParanoidZoid (?) And DSA is working as expected! Without a flaw from what I can see!
Now I'll try to focus on the script to see if I can find a way to enable a smooth transition.
On another topic....
I'd like some help from the experts in Linux. Can't we use kmod-bond to bond eth0 and eth1 into one virtual port and assign it as the CPU port? That way technically the mentioned limitation of DSA and one CPU port allowed. What I think is that DSA may work in a "lower level" then channel bonding? I hope I'm wrong ahahahah

@ParanoidZoid

ethtool -S eth0
NIC statistics:
...
     broadcast_frames_received: 36582908
...

Compared to your 94 broadcast frames.
I don't know what's going there.
This is on kernel 4.19 and wrt1200.
But everything seems to work normally.

I think you'd need to change something else as well. I was checking up on /etc/config/network and saw that it was still generating switch0 stuff.

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0 1 2 3 5t'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '4 6t'

Specifically the lines regarding swconfig...but changing this would change it for every single device that runs OpenWrt...

Apparently it's something related to a 'failsafe'?

At least as I understand it, DSA switches need to be configured using ip commands to set up Linux bridges, not by poking directly into the registers as swconfig does. You should be able to remove the generation of the UCI sections by removing the device from the case statement in base-files/etc/board.d/02_network

I don't know if there has been any work done on a syntax for defining VLANs and port properties in UCI. I did my configuration in a shell script. UCI definitions will likely be a lively discussion when it comes to that point.

1 Like

On first boot, those lines did not exist.

I've modeled the armada-385-linksys-x lines in 02_network in my branch after the Turris Omnia. The thing is, as long as I don't touch or make changes via LuCI > Network > Interfaces, it does not generate the additional switch0 lines. After a reboot, it even goes away on its own.

Doing it via uci or vi doesn't generate the same swconfig lines. Only via LuCI for some reason.

EDIT - this is what it looks like after a fresh reboot (IPv6 basically doesn't exist in the country I'm currently in):

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'

config interface 'lan'
	option type 'bridge'
	option ifname 'lan4 lan3 lan2 lan1'
	option proto 'static'
	option netmask '255.255.255.0'
	option igmp_snooping '1'
	option ipaddr '192.168.2.1'
	option delegate '0'

config interface 'wan'
	option ifname 'wan'
	option proto 'dhcp'
	option peerdns '0'
	option dns '192.168.2.3'

config interface 'wan6'
	option ifname 'wan'
	option proto 'none'

Given that there’s no UCI, netifd, or LuCI integration for something that doesn’t exist, some unexpected behavior like that is not surprising.

@shm0 The randomly generated MAC address is probably the kernel's doing. I have Arch Linux ARM installed on my Turris Omnia but I need to figure out a way to fix the MAC Addresses. eth0 gets a proper MAC Address but eth1 and eth2 do not.

I only have eth0 and eth1.
Both have proper mac address.
One interface does indeed have a random mac address on boot but this is not the same random mac address as in the broadcast.
Some script is running at boot that copies the mac address from the "proper" interface to the interface with the random mac address. The script is included in openwrt maybe you can modify it to fit your needs?

https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac;h=534a271efbfbbe02abdb485ffad0f57588b4f393;hb=HEAD

Indeed, DSA is terrible for end users. swconfig is easy to understand and configure.

While sort-of drifting off topic, yet sort-of related, I think that it is switches that are the challenge for non-technical users. DSA has some hope in transforming the multi-step process of configuration of sub-interfaces, seemingly meaningless VLAN numbers, and "should this be tagged or untagged?" into something understandable like

  • Connect the Internet port to my WAN
  • Connect my LAN and my wireless to ports 1-4

and be able to "see" that in the output of a single command, and clearly represent it in LuCI.

Do that without denying an advanced user free and "complete" control of their switch and VLANs, I think you've got a winner.

1 Like

Hi all,
I have a device used the armada 370 soc and mv88e6171r switch chip.And I've tried to use the DSA driver in the kernel,but I'm getting a performance issue that the throughput of my device was limited at about 200Mbit(the throughput acctully at about 450Mbit+ when using the mvsw61xx driver).

Here is the full boot log of my device(DSA driver):

BootROM 1.08
Booting from NAND flash
High speed PHY - Version: 2.1.2 (COM-PHY-V20) 
Update PEX Device ID 0x67100
High speed PHY - Ended Successfully
                                   DDR3 Training Sequence - Ver 4.5.0 
DDR3 Training Sequence - Ended Successfully 
Status = MV_OK
BootROM: Image checksum verification PASSED

 __   __                      _ _
|  \/  | __ _ _ ____   _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| |  | | (_| | |   \ V /  __/ | |
|_|  |_|\__,_|_|    \_/ \___|_|_|
         _   _     ____              _
        | | | |   | __ )  ___   ___ | |_ 
        | | | |___|  _ \ / _ \ / _ \| __| 
        | |_| |___| |_) | (_) | (_) | |_ 
         \___/    |____/ \___/ \___/ \__| 
 ** LOADER **


U-Boot 2011.12 (May 31 2014 - 19:07:19) RTNAS V3 2013_Q2.0

Board: RD-88F6710
SoC:   MV6710 A1
CPU:   Marvell PJ4B v7 UP (Rev 1) LE
       CPU    @ 1200 [MHz]
       L2     @ 600 [MHz]
       TClock @ 200 [MHz]
       DDR    @ 600 [MHz]
       DDR 16Bit Width, FastPath Memory Access
DRAM:  1 GiB

Map:   Code:            0x3ff0f000:0x3ffa11f4
       BSS:             0x3ffef340
       Stack:           0x3fa0eef8
       Heap:            0x3fa0f000:0x3ff0f000

NAND:  4096 MiB
MMC:   MRVL_MMC: 0
Bad block table found at page 1048320, version 0x01
Bad block table found at page 1048064, version 0x01
nand_read_bbt: Bad block at 0x000005a00000
nand_read_bbt: Bad block at 0x000005b00000
PEX 0: Root Complex Interface, Detected Link X1, GEN 1.1
PEX 1: Root Complex Interface, Detected Link X1, GEN 1.1
start OpenWrtLinux..........
FPU initialized to Run Fast Mode.
USB 0: Host Mode
USB 1: Host Mode
Shutting down unused interfaces:
       SDIO
       AUDIO
       TDM
Modules/Interfaces Detected:
       RGMII1 Switch module
       PEX0 (Lane 0)
       PEX1 (Lane 1)
       SATA0 (Lane 2)
       SATA1 (Lane 3)
Not Marvell PHY id1 ffff id2 ffff
Net:   egiga1 [PRIME]
Press Ctrl+C to abort autoboot in 3 second

NAND read: device 0 offset 0x1800000, size 0x400000
 4194304 bytes read: OK
## Booting kernel from Legacy Image at 02000000 ...
   Image Name:   ARM OpenWrt Linux-4.14.113
   Created:      2019-04-27  16:58:07 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2591861 Bytes = 2.5 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.113 (Wacke@HOME-Server) (gcc version 8.3.0 (OpenWrt GCC 8.3.0 r9551-483498808e)) #0 SMP Sat Apr 27 16:58:07 2019
[    0.000000] CPU: ARMv7 Processor [561f5811] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: RTNAS V3
[    0.000000] Memory policy: Data cache writeback
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] random: get_random_bytes called from start_kernel+0x74/0x478 with crng_init=0
[    0.000000] percpu: Embedded 12 pages/cpu @ef7e0000 s18892 r8192 d22068 u49152
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260608
[    0.000000] Kernel command line: console=ttyS0,115200
[    0.000000] Bootloader command line (ignored): console=ttyS0,115200 ubi.mtd=5 root=ubi0:rootfs ro rootfstype=ubifs
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1029800K/1048576K available (6144K kernel code, 189K rwdata, 1388K rodata, 1024K init, 223K bss, 18776K reserved, 0K cma-reserved, 262144K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0700000   (7136 kB)
[    0.000000]       .init : 0xc0900000 - 0xc0a00000   (1024 kB)
[    0.000000]       .data : 0xc0a00000 - 0xc0a2f500   ( 190 kB)
[    0.000000]        .bss : 0xc0a2f500 - 0xc0a674d8   ( 224 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] L2C: DT/platform modifies aux control register: 0x12086302 -> 0x1a086302
[    0.000000] Aurora cache controller enabled, 4 ways, 256 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a086302
[    0.000000] Switching to timer-based delay loop, resolution 53ns
[    0.000007] sched_clock: 32 bits at 18MHz, resolution 53ns, wraps every 114840871909ns
[    0.000021] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 102208375848 ns
[    0.000225] Calibrating delay loop (skipped), value calculated using timer frequency.. 37.39 BogoMIPS (lpj=186996)
[    0.000241] pid_max: default: 32768 minimum: 301
[    0.000345] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000360] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000741] CPU: Testing write buffer coherency: ok
[    0.000947] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[    0.001226] Setting up static identity map for 0x100000 - 0x100060
[    0.001510] mvebu-soc-id: MVEBU SoC ID=0x6710, Rev=0x1
[    0.001599] mvebu-pmsu: Initializing Power Management Service Unit
[    0.001699] Hierarchical SRCU implementation.
[    0.002023] smp: Bringing up secondary CPUs ...
[    0.002032] smp: Brought up 1 node, 1 CPU
[    0.002040] SMP: Total of 1 processors activated (37.39 BogoMIPS).
[    0.002046] CPU: All CPU(s) started in SVC mode.
[    0.004575] VFP support v0.3: implementor 56 architecture 2 part 20 variant 9 rev 6
[    0.004700] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.004719] futex hash table entries: 256 (order: 2, 16384 bytes)
[    0.004781] pinctrl core: initialized pinctrl subsystem
[    0.005324] NET: Registered protocol family 16
[    0.005605] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.006114] cpuidle: using governor ladder
[    0.024159] SCSI subsystem initialized
[    0.024885] usbcore: registered new interface driver usbfs
[    0.024928] usbcore: registered new interface driver hub
[    0.024973] usbcore: registered new device driver usb
[    0.026634] clocksource: Switched to clocksource armada_370_xp_clocksource
[    0.027286] NET: Registered protocol family 2
[    0.027676] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.027724] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.027794] TCP: Hash tables configured (established 8192 bind 8192)
[    0.027876] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.027898] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.028002] NET: Registered protocol family 1
[    0.030523] Crashlog allocated RAM at address 0x3f00000
[    0.031048] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[    0.034043] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.034054] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.041416] bounce: pool size: 64 pages
[    0.041438] io scheduler noop registered
[    0.041446] io scheduler deadline registered (default)
[    0.042051] armada-370-pinctrl f1018000.pin-ctrl: registered pinctrl driver
[    0.043901] mvebu-pcie soc:pcie@82000000: PCI host bridge to bus 0000:00
[    0.043919] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.043928] pci_bus 0000:00: root bus resource [mem 0xf8000000-0xffdfffff]
[    0.043938] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.044272] PCI: bus0: Fast back to back transfers disabled
[    0.044284] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.044296] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.044633] PCI: bus1: Fast back to back transfers disabled
[    0.044974] PCI: bus2: Fast back to back transfers disabled
[    0.045019] pci 0000:00:01.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.045031] pci 0000:00:02.0: BAR 8: assigned [mem 0xf8200000-0xf84fffff]
[    0.045044] pci 0000:01:00.0: BAR 0: assigned [mem 0xf8000000-0xf801ffff 64bit]
[    0.045062] pci 0000:01:00.0: BAR 6: assigned [mem 0xf8020000-0xf802ffff pref]
[    0.045072] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.045084] pci 0000:00:01.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.045097] pci 0000:02:00.0: BAR 0: assigned [mem 0xf8200000-0xf83fffff 64bit]
[    0.045113] pci 0000:02:00.0: BAR 6: assigned [mem 0xf8400000-0xf840ffff pref]
[    0.045122] pci 0000:00:02.0: PCI bridge to [bus 02]
[    0.045131] pci 0000:00:02.0:   bridge window [mem 0xf8200000-0xf84fffff]
[    0.045479] mv_xor f1060800.xor: Marvell shared XOR driver
[    0.107521] mv_xor f1060800.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    0.107718] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.167515] mv_xor f1060900.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    0.167760] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.168249] console [ttyS0] disabled
[    0.188376] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 18, base_baud = 12500000) is a 16550A
[    0.850718] console [ttyS0] enabled
[    0.857372] loop: module loaded
[    0.861196] sata_mv f10a0000.sata: slots 32 ports 2
[    0.868832] scsi host0: sata_mv
[    0.872455] scsi host1: sata_mv
[    0.875731] ata1: SATA max UDMA/133 irq 27
[    0.879901] ata2: SATA max UDMA/133 irq 27
[    0.884447] pxa3xx-nand f10d0000.nand: This platform can't do DMA on this device
[    0.893232] pxa3xx-nand f10d0000.nand: non-supported command 5
[    0.899164] nand: Failed to detect ONFI extended param page
[    0.904765] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0x68
[    0.911160] nand: Micron MT29F32G08CBACAWP
[    0.915276] nand: 4096 MiB, MLC, erase size: 1024 KiB, page size: 4096, OOB size: 224
[    0.923156] pxa3xx-nand f10d0000.nand: ECC strength 16, ECC step size 2048
[    0.930900] Bad block table found at page 1048320, version 0x01
[    0.937646] Bad block table found at page 1048064, version 0x01
[    0.943974] nand_read_bbt: bad block at 0x000005a00000
[    0.949160] nand_read_bbt: bad block at 0x000005b00000
[    0.954681] 7 fixed-partitions partitions found on MTD device pxa3xx_nand-0
[    0.961717] Creating 7 MTD partitions on "pxa3xx_nand-0":
[    0.967162] 0x000000000000-0x000000400000 : "u-boot"
[    0.972648] 0x000000400000-0x000000800000 : "uboot_env"
[    0.978311] 0x000000800000-0x000000c00000 : "vendor"
[    0.983683] 0x000000c00000-0x000001800000 : "unused"
[    0.989105] 0x000001800000-0x000001c00000 : "kernel"
[    0.994481] 0x000001c00000-0x000040000000 : "ubi"
[    1.000030] 0x000040000000-0x0000fbc00000 : "syscfg"
[    1.008369] nand: No NAND device found
[    1.012150] pxa3xx-nand f10d0000.nand: failed to scan nand at cs 1
[    1.018889] libphy: Fixed MDIO Bus: probed
[    1.023476] libphy: orion_mdio_bus: probed
[    1.029100] mv88e6085 f1072004.mdio-mii:00: switch 0x1710 detected: Marvell 88E6171, revision 2
[    1.183556] libphy: mv88e6xxx SMI: probed
[    1.189126] mvneta f1074000.ethernet eth0: Using random mac address 1a:92:ad:26:3c:45
[    1.197221] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.203780] ehci-platform: EHCI generic platform driver
[    1.209131] ehci-orion: EHCI orion driver
[    1.213282] orion-ehci f1050000.usb: EHCI Host Controller
[    1.218748] orion-ehci f1050000.usb: new USB bus registered, assigned bus number 1
[    1.226454] orion-ehci f1050000.usb: irq 24, io mem 0xf1050000
[    1.256741] orion-ehci f1050000.usb: USB 2.0 started, EHCI 1.00
[    1.262759] ata1: SATA link down (SStatus 0 SControl F300)
[    1.268921] hub 1-0:1.0: USB hub found
[    1.272892] hub 1-0:1.0: 1 port detected
[    1.277256] orion-ehci f1051000.usb: EHCI Host Controller
[    1.282700] orion-ehci f1051000.usb: new USB bus registered, assigned bus number 2
[    1.290459] orion-ehci f1051000.usb: irq 25, io mem 0xf1051000
[    1.316600] orion-ehci f1051000.usb: USB 2.0 started, EHCI 1.00
[    1.323028] hub 2-0:1.0: USB hub found
[    1.327014] hub 2-0:1.0: 1 port detected
[    1.331548] usbcore: registered new interface driver usb-storage
[    1.337859] i2c /dev entries driver
[    1.351752] (NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[    1.364311] orion_wdt: Initial timeout 229 sec
[    1.369255] sdhci: Secure Digital Host Controller Interface driver
[    1.375465] sdhci: Copyright(c) Pierre Ossman
[    1.379986] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.389514] marvell-cesa f1090000.crypto: CESA device successfully registered
[    1.397448] NET: Registered protocol family 10
[    1.403243] Segment Routing with IPv6
[    1.407054] NET: Registered protocol family 17
[    1.412083] 8021q: 802.1Q VLAN Support v1.8
[    1.416340] Registering SWP/SWPB emulation handler
[    1.423309] mv88e6085 f1072004.mdio-mii:00: switch 0x1710 detected: Marvell 88E6171, revision 2
[    1.591877] libphy: mv88e6xxx SMI: probed
[    1.595972] DSA: switch 0 0 parsed
[    1.599460] DSA: tree 0 parsed
[    1.602583] ata2: SATA link down (SStatus 0 SControl F300)
[    1.909562] Generic PHY mv88e6xxx-1:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=mv88e6xxx-1:00, irq=POLL)
[    1.933447] Generic PHY mv88e6xxx-1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=mv88e6xxx-1:01, irq=POLL)
[    1.953507] Generic PHY mv88e6xxx-1:02: attached PHY driver [Generic PHY] (mii_bus:phy_addr=mv88e6xxx-1:02, irq=POLL)
[    1.976475] Generic PHY mv88e6xxx-1:03: attached PHY driver [Generic PHY] (mii_bus:phy_addr=mv88e6xxx-1:03, irq=POLL)
[    2.000465] Generic PHY mv88e6xxx-1:04: attached PHY driver [Generic PHY] (mii_bus:phy_addr=mv88e6xxx-1:04, irq=POLL)
[    2.014508] UBI: auto-attach mtd5
[    2.017942] ubi0: attaching mtd5
[    2.055414] random: fast init done
[    4.394697] ubi0: scanning is finished
[    4.413643] ubi0: attached mtd5 (name "ubi", size 996 MiB)
[    4.419242] ubi0: PEB size: 1048576 bytes (1024 KiB), LEB size: 1040384 bytes
[    4.426417] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
[    4.433274] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
[    4.440301] ubi0: good PEBs: 994, bad PEBs: 2, corrupted PEBs: 0
[    4.446339] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    4.453624] ubi0: max/mean erase counter: 11/4, WL threshold: 4096, image sequence number: 553001727
[    4.462827] ubi0: available PEBs: 0, total reserved PEBs: 994, PEBs reserved for bad PEB handling: 78
[    4.472205] ubi0: background thread "ubi_bgt0d" started, PID 641
[    4.479441] block ubiblock0_0: created from ubi0:0(rootfs)
[    4.484968] ubiblock: device ubiblock0_0 (rootfs) set to be root filesystem
[    4.492247] hctosys: unable to open rtc device (rtc0)
[    4.505500] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    4.514042] Freeing unused kernel memory: 1024K
[    4.773501] random: crng init done
[    4.873272] init: Console is alive
[    4.877073] init: - watchdog -
[    5.862712] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    5.916723] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    5.934869] init: - preinit -
Failed to connect to the switch. Use the "list" command to see which switches are available.
Failed to connect to the switch. Use the "list" command to see which switches are available.
Failed to connect to the switch. Use the "list" command to see which switches are available.
Failed to connect to the switch. Use the "list" command to see which switches are available.
[    8.532410] mvneta f1074000.ethernet eth0: configuring for fixed/rgmii-id link mode
[    8.541075] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    8.547415] mvneta f1074000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[    8.555384] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   12.777365] mount_root: loading kmods from internal overlay
[   12.818951] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[   12.829080] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[   13.002260] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 752
[   14.373604] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   14.381542] UBIFS (ubi0:1): LEB size: 1040384 bytes (1016 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
[   14.391711] UBIFS (ubi0:1): FS size: 896811008 bytes (855 MiB, 862 LEBs), journal size 33292288 bytes (31 MiB, 32 LEBs)
[   14.402567] UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)
[   14.409262] UBIFS (ubi0:1): media format: w4/r0 (latest is w5/r0), UUID B65F5C2C-7CFE-493C-8A43-7CF8C4743A47, small LPT model
[   14.422748] block: attempting to load /tmp/ubifs_cfg/upper/etc/config/fstab
[   14.430015] block: unable to load configuration (fstab: Entry not found)
[   14.436995] block: attempting to load /tmp/ubifs_cfg/etc/config/fstab
[   14.443653] block: unable to load configuration (fstab: Entry not found)
[   14.450623] block: attempting to load /etc/config/fstab
[   14.456983] block: unable to load configuration (fstab: Entry not found)
[   14.463829] block: no usable configuration
[   14.479374] UBIFS (ubi0:1): un-mount UBI device 0
[   14.484193] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" stops
[   14.502655] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 755
[   15.886707] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   15.894590] UBIFS (ubi0:1): LEB size: 1040384 bytes (1016 KiB), min./max. I/O unit sizes: 4096 bytes/4096 bytes
[   15.904780] UBIFS (ubi0:1): FS size: 896811008 bytes (855 MiB, 862 LEBs), journal size 33292288 bytes (31 MiB, 32 LEBs)
[   15.915644] UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)
[   15.922318] UBIFS (ubi0:1): media format: w4/r0 (latest is w5/r0), UUID B65F5C2C-7CFE-493C-8A43-7CF8C4743A47, small LPT model
[   16.064281] block: attempting to load /tmp/ubifs_cfg/upper/etc/config/fstab
[   16.071584] block: unable to load configuration (fstab: Entry not found)
[   16.078556] block: attempting to load /tmp/ubifs_cfg/etc/config/fstab
[   16.085214] block: unable to load configuration (fstab: Entry not found)
[   16.092322] block: attempting to load /etc/config/fstab
[   16.097847] block: unable to load configuration (fstab: Entry not found)
[   16.104683] block: no usable configuration
[   16.110760] mount_root: overlay filesystem has not been fully initialized yet
[   16.119640] mount_root: switching to ubifs overlay
- config restore -
[   16.422757] urandom-seed: Seed file not found (/etc/urandom.seed)
[   16.493682] mvneta f1074000.ethernet eth0: Link is Down
[   16.543706] procd: - early -
[   16.547325] procd: - watchdog -
[   17.154117] procd: - watchdog -
[   17.161542] procd: - ubus -
[   17.236045] procd: - init -
Please press Enter to activate this console.
[   17.786112] kmodloader: loading kernel modules from /etc/modules.d/*
[   17.816309] NET: Registered protocol family 38
[   17.846014] ntfs: driver 2.1.32 [Flags: R/O MODULE].
[   17.859056] tun: Universal TUN/TAP device driver, 1.6
[   17.869793] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[   17.880756] gre: GRE over IPv4 demultiplexor driver
[   17.887295] ip_gre: GRE over IPv4 tunneling driver
[   17.911178] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   17.953449] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[   18.087395] Netfilter messages via NETLINK v0.30.
[   18.094863] ip_set: protocol 6
[   18.186879] cryptodev: driver 1.10 loaded.
[   18.204902] fuse init (API version 7.26)
[   18.221900] Loading modules backported from Linux version v4.19.32-0-g3a2156c839c7
[   18.229638] Backport generated by backports.git v4.19.32-1-0-g1c4f7569
[   18.275259] ip_tables: (C) 2000-2006 Netfilter Core Team
[   18.324307] ctnetlink v0.93: registering with nfnetlink.
[   18.460155] nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>
[   18.588001] usbcore: registered new interface driver ums-alauda
[   18.595483] usbcore: registered new interface driver ums-cypress
[   18.618023] usbcore: registered new interface driver ums-datafab
[   18.626939] usbcore: registered new interface driver ums-freecom
[   18.646978] usbcore: registered new interface driver ums-isd200
[   18.654095] usbcore: registered new interface driver ums-jumpshot
[   18.677734] usbcore: registered new interface driver ums-karma
[   18.686215] usbcore: registered new interface driver ums-sddr09
[   18.711252] usbcore: registered new interface driver ums-sddr55
[   18.733931] usbcore: registered new interface driver ums-usbat
[   18.748845] usbcore: registered new interface driver usblp
[   18.762004] wireguard: WireGuard 0.0.20190406 loaded. See www.wireguard.com for information.
[   18.770600] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[   18.825176] xt_time: kernel timezone is -0000
[   18.894117] PPP generic driver version 2.4.2
[   18.900821] PPP MPPE Compression module registered
[   18.907467] NET: Registered protocol family 24
[   18.933853] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x3c.
[   18.942758] pci 0000:00:02.0: enabling device (0140 -> 0142)
[   18.948907] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[   19.191120] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/fwcfg-pci-0000:02:00.0.txt failed with error -2
[   19.201783] ath10k_pci 0000:02:00.0: Falling back to user helper
[   19.220662] firmware ath10k!fwcfg-pci-0000:02:00.0.txt: firmware_loading_store: map pages failed
[   19.229933] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2
[   19.240766] ath10k_pci 0000:02:00.0: Falling back to user helper
[   19.260982] firmware ath10k!pre-cal-pci-0000:02:00.0.bin: firmware_loading_store: map pages failed
[   19.270435] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2
[   19.280910] ath10k_pci 0000:02:00.0: Falling back to user helper
[   19.301214] firmware ath10k!cal-pci-0000:02:00.0.bin: firmware_loading_store: map pages failed
[   19.310409] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/ct-firmware-5.bin failed with error -2
[   19.321484] ath10k_pci 0000:02:00.0: Falling back to user helper
[   19.341839] firmware ath10k!QCA988X!hw2.0!ct-firmware-5.bin: firmware_loading_store: map pages failed
[   19.441978] ath10k_pci 0000:02:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[   19.451304] ath10k_pci 0000:02:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   19.461351] ath10k_pci 0000:02:00.0: firmware ver 10.1-ct-8x-__fH-022-883e26a8 api 2 features wmi-10.x,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-r4
[   19.510667] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
[   19.521227] ath10k_pci 0000:02:00.0: Falling back to user helper
[   19.540090] firmware ath10k!QCA988X!hw2.0!board-2.bin: firmware_loading_store: map pages failed
[   19.553821] ath10k_pci 0000:02:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[   20.463760] ath10k_pci 0000:02:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
[   20.481444] ath10k_pci 0000:02:00.0: wmi print 'P 128 V 8 T 410'
[   20.487549] ath10k_pci 0000:02:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
[   20.495763] ath10k_pci 0000:02:00.0: wmi print 'alloc rem: 24696 iram: 27160'
[   20.564066] ath10k_pci 0000:02:00.0: htt-ver 2.2 wmi-op 2 htt-op 2 cal otp max-sta 128 raw 0 hwcrypto 1
[   20.576843] ath10k_pci 0000:02:00.0: NOTE:  Firmware DBGLOG output disabled in debug_mask: 0x10000000
[   20.766018] pci 0000:00:01.0: enabling device (0140 -> 0142)
[   20.871924] ieee80211 phy1: Atheros AR9300 Rev:3 mem=0xf20a0000, irq=45
[   20.995167] kmodloader: done loading kernel modules from /etc/modules.d/*
[   38.562271] mvneta f1074000.ethernet eth0: configuring for fixed/rgmii-id link mode
[   38.570202] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   38.576149] mvneta f1074000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   38.598028] device eth0 entered promiscuous mode
[   38.644037] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   38.651390] br-lan: port 1(lan0) entered blocking state
[   38.656764] br-lan: port 1(lan0) entered disabled state
[   38.699928] device lan0 entered promiscuous mode
[   38.828919] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   38.907816] br-lan: port 2(lan1) entered blocking state
[   38.913085] br-lan: port 2(lan1) entered disabled state
[   38.942742] device lan1 entered promiscuous mode
[   38.997627] br-lan: port 3(lan2) entered blocking state
[   39.002924] br-lan: port 3(lan2) entered disabled state
[   39.047505] device lan2 entered promiscuous mode
[   39.140029] br-lan: port 4(lan3) entered blocking state
[   39.145320] br-lan: port 4(lan3) entered disabled state
[   39.198499] device lan3 entered promiscuous mode
[   39.268368] IPv6: ADDRCONF(NETDEV_UP): wan: link is not ready
[   39.942420] mv88e6085 f1072004.mdio-mii:00 lan0: Link is Down
[   40.039857] mv88e6085 f1072004.mdio-mii:00 lan1: Link is Down
[   40.100901] mv88e6085 f1072004.mdio-mii:00 lan2: Link is Down
[   40.169538] mv88e6085 f1072004.mdio-mii:00 lan3: Link is Down
[   40.340128] mv88e6085 f1072004.mdio-mii:00 wan: Link is Down
[   41.825587] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
[   43.060446] mv88e6085 f1072004.mdio-mii:00 lan0: Link is Up - 1Gbps/Full - flow control rx/tx
[   43.573541] ath10k_pci 0000:02:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
[   43.590837] ath10k_pci 0000:02:00.0: wmi print 'P 128 V 8 T 410'
[   43.596977] ath10k_pci 0000:02:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
[   43.605272] ath10k_pci 0000:02:00.0: wmi print 'alloc rem: 24696 iram: 27160'
[   43.672679] ath10k_pci 0000:02:00.0: pdev param 0 not supported by firmware
[   43.692758] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   43.699297] br-lan: port 5(wlan1) entered blocking state
[   43.704682] br-lan: port 5(wlan1) entered disabled state
[   43.710407] device wlan1 entered promiscuous mode
[   43.716683] br-lan: port 1(lan0) entered blocking state
[   43.721956] br-lan: port 1(lan0) entered forwarding state
[   43.755431] br-lan: port 6(wlan0) entered blocking state
[   43.760894] br-lan: port 6(wlan0) entered disabled state
[   43.766543] device wlan0 entered promiscuous mode
[   43.786478] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   43.824454] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[   43.831178] br-lan: port 5(wlan1) entered blocking state
[   43.836624] br-lan: port 5(wlan1) entered forwarding state
[   43.973432] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   43.980181] br-lan: port 6(wlan0) entered blocking state
[   43.985566] br-lan: port 6(wlan0) entered forwarding state

And the iperf3 output(my device is server and the client is PC ):

root@OpenWrt:/# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.2, port 39280
[  5] local 192.168.1.200 port 5201 connected to 192.168.1.2 port 39282
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  15.7 MBytes   131 Mbits/sec                  
[  5]   1.00-2.01   sec  19.5 MBytes   163 Mbits/sec                  
[  5]   2.01-3.00   sec  19.9 MBytes   168 Mbits/sec                  
[  5]   3.00-4.00   sec  19.9 MBytes   167 Mbits/sec                  
[  5]   4.00-5.01   sec  19.7 MBytes   164 Mbits/sec                  
[  5]   5.01-6.01   sec  21.0 MBytes   175 Mbits/sec                  
[  5]   6.01-7.00   sec  17.0 MBytes   144 Mbits/sec                  
[  5]   7.00-8.00   sec  19.9 MBytes   167 Mbits/sec                  
[  5]   8.00-9.01   sec  20.4 MBytes   171 Mbits/sec                  
[  5]   9.01-10.00  sec  20.3 MBytes   171 Mbits/sec                  
[  5]  10.00-10.04  sec   763 KBytes   173 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.04  sec   194 MBytes   162 Mbits/sec                  receiver

( my PC is server and my device is client):

root@OpenWrt:/# iperf3 -c 192.168.1.2
Connecting to host 192.168.1.2, port 5201
[  5] local 192.168.1.200 port 59738 connected to 192.168.1.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec  50.0 MBytes   417 Mbits/sec    0    274 KBytes       
[  5]   1.01-2.01   sec  50.0 MBytes   420 Mbits/sec    0    122 KBytes       
[  5]   2.01-3.01   sec  50.0 MBytes   418 Mbits/sec    0    266 KBytes       
[  5]   3.01-4.02   sec  50.0 MBytes   417 Mbits/sec    0    249 KBytes       
[  5]   4.02-5.02   sec  51.2 MBytes   428 Mbits/sec    0    257 KBytes       
[  5]   5.02-6.00   sec  42.5 MBytes   364 Mbits/sec    0    252 KBytes       
[  5]   6.00-7.02   sec  50.0 MBytes   412 Mbits/sec    0    263 KBytes       
[  5]   7.02-8.03   sec  51.2 MBytes   426 Mbits/sec    0    252 KBytes       
[  5]   8.03-9.01   sec  50.0 MBytes   424 Mbits/sec    0    257 KBytes       
[  5]   9.01-10.01  sec  51.2 MBytes   432 Mbits/sec    0    235 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   496 MBytes   416 Mbits/sec    0             sender
[  5]   0.00-10.05  sec   496 MBytes   414 Mbits/sec                  receiver

iperf Done.

Any idea about this? Thanks.

Hmm...
seems like wan,lan1-4 get a random mac address on each reboot.
Actually i don't know, why i didn't noticed this before.
So the 06_set_iface_mac script also needs to be modified to set the mac addresses accordingly.

The random mac 00:01:5c:74:fc:46 is still there in the broadcast but that is how dsa works, i guess..
But i wonder why on my system those dsa broadcast end up in the actual broadcast statistics.
Can someone with a dsa enabled openwrt version run a tcpdump -i ethX broadcast for me, please?

Some offtopic... Do all default mac addresses on linksys wrt devices actually end with 1?

Alright I'll take a look at it tonight. I'll probably also re-include blogic's MAC address patch.

And nope, my MAC address (from GB) doesn't end with 1.

Side note: I've been experimenting with IGMP snooping - I think it's working now (where it wasn't with swconfig).

@wackejohn That could be caused by the fact that only one of the two CPU ports are availabe on DSA. I can't really remedy that myself. However, it can be remedied nonetheless as there exists a patch for mediatek. But porting something like that to mv88e61xx is out of my scope.