Support for new Archer c5 v4

Hi @luizluca, I'm trying to compile latest DSA firmware, based on your repository tplink_c5v4_dsa, but I'm getting error:

drivers/net/ethernet/ralink/mtk_eth_soc.c: In function 'fe_features_check':
drivers/net/ethernet/ralink/mtk_eth_soc.c:815:59: error: 'struct net_device' has no member named 'dsa_ptr'
  815 |                 const struct dsa_device_ops *tag_ops = dev->dsa_ptr->tag_ops;
      |                                                           ^~
make[9]: *** [scripts/Makefile.build:286: drivers/net/ethernet/ralink/mtk_eth_soc.o] Error 1
make[8]: *** [scripts/Makefile.build:503: drivers/net/ethernet/ralink] Error 2
make[7]: *** [scripts/Makefile.build:503: drivers/net/ethernet] Error 2
make[6]: *** [scripts/Makefile.build:503: drivers/net] Error 2

EDIT : I figured it out.

Even with CONFIG_HAS_TESTING_KERNEL=y, CONFIG_TESTING_KERNEL is not set and
uses kernel 5.10 instead of 5.15. When set CONFIG_TESTING_KERNEL=y the building process completes successfully.

Yes, as using testing kernel is not the norm, it is easy to miss something. I rebased using a newer master as 5.15 is now the default kernel in use. I also added a fix from kernel upstream backported from linux 6.4.

https://github.com/luizluca/openwrt/pull/new/tplink_c5v4_dsa

I didn't posted here but the brach you are already using and this untested branch includes switch forwarding in HW using Shared VLAN Learning. That is the good news. The bad news is that, in a private conversation (jan/2023), the upstream driver maintainer rejected my approach before I submitted it to kernel net-next. He said that we had already an implementation using Independent VLAN Learning but he did not submitted it yet. Until then, I'll keep using this code as it is much faster than CPU forwarding.

Edit2: The branch is runtime tested!

2 Likes

I have built it, everyone try it and give feedback.

Any news about firmware?

This version is stable, 5GHz and 2.4GHz waves are very good. Specially fixed 2.4GHz Wifi for over 50Mbps



c5v4b
https://mega.nz/file/EhgGTQRK#sMfEGz817va6rCbBav4qyprUE385l5im8ENMCRIHgc8

Please provide a link to the source files for this build (src or github link).

1 Like

Hi, just bought my Archer C5 v4 and tried all the available versions for download (https://github.com/benwht/openwrt/releases and all the builds in this post), I used the recovery versions and one factory (installed from the stock firmware) but I always got the same result, no response from 192.168.1.1 after flashing, and only the power LED on, any clues?

I suggest you connect a serial port terminal and see what happens.

Well, I connected through serial and got a console, installed a bunch of versions available in the product page and here in this thread, all OpenWRT images I tested seem to install OK but at the end I'm not getting link with any port and I saw this while the images were flashing

OpenWrt 22.03.2, r19803-9a599fee93
...
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.

This is the output from swconfig dev switch0 show

root@OpenWrt:/# swconfig dev switch0 show
Global attributes:
        enable_vlan: 0
        mib: Switch MIB counters
PPE_AC_BCNT0: 0
PPE_AC_PCNT0: 0
PPE_AC_BCNT63: 0
PPE_AC_PCNT63: 0
PPE_MTR_CNT0: 0
PPE_MTR_CNT63: 0
GDM1_TX_GBCNT: 0
GDM1_TX_GPCNT: 0
GDM1_TX_SKIPCNT: 0
GDM1_TX_COLCNT: 0
GDM1_RX_GBCNT1: 0
GDM1_RX_GPCNT1: 0
GDM1_RX_OERCNT: 0
GDM1_RX_FERCNT: 0
GDM1_RX_SERCNT: 0
GDM1_RX_LERCNT: 0
GDM1_RX_CERCNT: 0
GDM1_RX_FCCNT: 0
GDM2_TX_GBCNT: 0
GDM2_TX_GPCNT: 0
GDM2_TX_SKIPCNT: 0
GDM2_TX_COLCNT: 0
GDM2_RX_GBCNT: 0
GDM2_RX_GPCNT: 0
GDM2_RX_OERCNT: 0
GDM2_RX_FERCNT: 0
GDM2_RX_SERCNT: 0
GDM2_RX_LERCNT: 3
GDM2_RX_CERCNT: 0
GDM2_RX_FCCNT: 0

        mirror_monitor_port: 0
        arl_table: address resolution table
Port 6: MAC 16:d6:06:a8:28:37

Port 0:
        mib: Port 0 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:0 link:down
Port 1:
        mib: Port 1 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:1 link:down
Port 2:
        mib: Port 2 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:2 link:down
Port 3:
        mib: Port 3 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:3 link:down
Port 4:
        mib: Port 4 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:4 link:down
Port 5:
        mib: Port 5 MIB counters
TxGPC      : 14
TxBOC      : 0
TxGOC      : 3206
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:5 link:up speed:1000baseT full-duplex
Port 6:
        mib: Port 6 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 14
RxBOC      : 0
RxGOC      : 3206
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:6 link:up speed:1000baseT full-duplex
Port 7:
        mib: Port 7 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:7 link:down

Try https://mega.nz/file/V4QlVIrC#uv5NDcUT4bxjzm6-OhyA-lMJj0LPHWPqG6Be3G5UsaY
Paste output of commands:

swconfig dev switch0 show
swconfig dev switch1 show

Here's the log using recovery method, it freezes before giving me a prompt. I tried the serial installation method but I can't get to stop the boot process pressing 4, any ideas?

U-Boot 1.1.3 (Jul 14 2022 - 09:08:23)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb0000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
spi_wait_nsec: 29
spi device id: 1c 70 17 1c 70 (70171c70)
find flash: EN25QH64A
============================================
Ralink UBoot Version: 5.0.0.0
--------------------------------------------
ASIC 7620_MP (Port5<->GigaSW)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Jul 14 2022  Time:09:08:23
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =64 Mbytes
rt_rtl8367_init(1688):Begin
Wait for RTL8367C Ready
.
RTL8367C is ready now!
switch debug=========switchChip:4
rt_rtl8367_init(1742):Call Func rt_rtl8367_enableRgmii()
..................................................
starting recovery...
Read MAC Address from Flash
raspi_read: from:7df100 len:6


 NetTxPacket = 0x83FE5A80

 KSEG1ADDR(NetTxPacket) = 0xA3FE5A80

 NetLoop,call eth_halt !

 NetLoop,call eth_init !
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!!
TFTP from server 192.168.0.66; our IP address is 192.168.0.2
Filename 'tp_recovery.bin'.

 TIMEOUT_COUNT=10,Load address: 0x81000000
Loading: T checksum bad
checksum bad
checksum bad
checksum bad
checksum bad
T Got ARP REPLY, set server/gtwy eth addr (6c:24:08:21:b7:36)
Got it
######################################checksum bad
###########################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #######Got ARP REQUEST, return our IP
##########################################################
         #################################################################
         ############################
done
Bytes transferred = 8126464 (7c0000 hex)
LoadAddr=81000000 NetBootFileXferSize= 007c0000

 Erase flash !!
From 0x20000 length 0x7A0000
raspi_erase: offs:20000 len:7a0000
..........................................................................................................................

 Copy 0x81020000 to 0x00020000, count 0x7A0000....
raspi_write: to:20000 len:7a0000
..........................................................................................................................


U-Boot 1.1.3 (Jul 14 2022 - 09:08:23)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb0000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
******************************
Software System Reset Occurred
******************************
spi_wait_nsec: 29
spi device id: 1c 70 17 1c 70 (70171c70)
find flash: EN25QH64A
============================================
Ralink UBoot Version: 5.0.0.0
--------------------------------------------
ASIC 7620_MP (Port5<->GigaSW)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Jul 14 2022  Time:09:08:23
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =64 Mbytes
rt_rtl8367_init(1688):Begin
Wait for RTL8367C Ready
.
RTL8367C is ready now!
switch debug=========switchChip:4
rt_rtl8367_init(1742):Call Func rt_rtl8367_enableRgmii()

continue to starting system.                                                                                                                                                                                                               0
disable switch forward...

3: System Boot system code via Flash.(0xbc020000)
do_bootm:argc=2, addr=0xbc020000
## Booting image at bc020000 ...
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 64

Starting kernel ...

[    0.000000] Linux version 5.15.108 (a@ubuntu) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 12.2.0 r22667-ec6bcda8e4) 12.2.0, GNU ld (GNU Binutils) 2.40.0) #0 Sat Apr 29 15:37:45 2023
[    0.000000] Board has DDR2
[    0.000000] Analog PMU set to hw control
[    0.000000] Digital PMU set to hw control
[    0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
[    0.000000] MIPS: machine is TP-Link Archer C5 v4
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16240
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.000000] Writing ErrCtl register=0002a260
[    0.000000] Readback ErrCtl register=0002a260
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 55884K/65536K available (5664K kernel code, 597K rwdata, 1200K rodata, 1232K init, 215K bss, 9652K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] CPU Clock: 580MHz
[    0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[    0.000000] systick: enable autosleep mode
[    0.000000] systick: running - mult: 214748, shift: 32
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[    0.000002] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[    0.007689] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.073626] pid_max: default: 32768 minimum: 301
[    0.078690] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.085747] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.096290] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.108178] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.117767] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.124517] pinctrl core: initialized pinctrl subsystem
[    0.130856] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.411576] rt2880_gpio 10000600.gpio: registering 24 gpios
[    0.417006] rt2880_gpio 10000600.gpio: registering 24 irq handlers
[    0.423488] rt2880_gpio 10000660.gpio: registering 32 gpios
[    0.428889] rt2880_gpio 10000660.gpio: registering 32 irq handlers
[    0.436435] PCI host bridge to bus 0000:00
[    0.440373] pci_bus 0000:00: root bus resource [mem 0x20000000-0x2fffffff]
[    0.447103] pci_bus 0000:00: root bus resource [io  0x10160000-0x1016ffff]
[    0.453721] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.461471] pci 0000:00:00.0: [1814:0801] type 01 class 0x060400
[    0.467259] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    0.473343] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
[    0.479494] pci 0000:00:00.0: supports D1
[    0.483316] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    0.490847] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.498765] pci 0000:01:00.0: [14c3:7662] type 00 class 0x028000
[    0.504614] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
[    0.511192] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    0.517773] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.525558] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.531980] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01
[    0.538385] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    0.544788] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    0.551543] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
[    0.558142] pci 0000:00:00.0: BAR 9: assigned [mem 0x20100000-0x201fffff pref]
[    0.565150] pci 0000:00:00.0: BAR 1: assigned [mem 0x20200000-0x2020ffff]
[    0.571758] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff 64bit]
[    0.578856] pci 0000:01:00.0: BAR 6: assigned [mem 0x20100000-0x2010ffff pref]
[    0.585868] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.590678] pci 0000:00:00.0:   bridge window [mem 0x20000000-0x200fffff]
[    0.597278] pci 0000:00:00.0:   bridge window [mem 0x20100000-0x201fffff pref]
[    0.604929] clocksource: Switched to clocksource systick
[    0.611399] NET: Registered PF_INET protocol family
[    0.616425] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.624207] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.632365] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.639859] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.647297] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.654132] TCP: Hash tables configured (established 1024 bind 1024)
[    0.660470] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.666841] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.673995] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.679592] PCI: CLS 0 bytes, default 32
[    0.683598] rt-timer 10000100.timer: maximum frequency is 1220Hz
[    0.694220] workingset: timestamp_bits=14 max_order=14 bucket_order=0
[    0.706137] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.711762] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.724700] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.732072] printk: console [ttyS0] disabled
[    0.736346] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103
[    0.745986] printk: console [ttyS0] enabled
[    0.745986] printk: console [ttyS0] enabled
[    0.754426] printk: bootconsole [early0] disabled
[    0.754426] printk: bootconsole [early0] disabled
[    0.778353] spi spi0.0: force spi mode3
[    0.783588] spi-nor spi0.0: en25qh64 (8192 Kbytes)
[    0.788669] 6 fixed-partitions partitions found on MTD device spi0.0
[    0.795221] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.802723] OF: Bad cell count for /palmbus@10000000/spi@b00/flash@0/partitions
[    0.810520] Creating 6 MTD partitions on "spi0.0":
[    0.815473] 0x000000000000-0x000000020000 : "u-boot"
[    0.823237] 0x000000020000-0x0000007c0000 : "firmware"
[    0.830177] 2 tplink-fw partitions found on MTD device firmware
[    0.836337] Creating 2 MTD partitions on "firmware":
[    0.841412] 0x000000000000-0x00000023afba : "kernel"
[    0.846502] mtd: partition "kernel" doesn't end on an erase/write block -- force read-only
[    0.858152] 0x00000023afbc-0x0000007a0000 : "rootfs"
[    0.863256] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[    0.873860] mtd: setting mtd3 (rootfs) as root device
[    0.880259] 1 squashfs-split partitions found on MTD device rootfs
[    0.886681] 0x000000760000-0x0000007a0000 : "rootfs_data"
[    0.893485] 0x0000007c0000-0x0000007d0000 : "config"
[    0.901804] 0x0000007d0000-0x0000007e0000 : "rom"
[    0.907942] 0x0000007e0000-0x0000007f0000 : "romfile"
[    0.916341] 0x0000007f0000-0x000000800000 : "radio"
[    0.952471] gsw: setting port4 to ephy mode
[    0.957009] mtk_soc_eth 10100000.ethernet: generated random MAC address 9e:84:89:26:e4:ec
[    0.974700] mtk_soc_eth 10100000.ethernet: port 5 - using fixed link parameters
[    0.982440] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
[    0.989216] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    0.998583] rt2880_wdt 10000120.watchdog: Initialized
[    1.005440] NET: Registered PF_INET6 protocol family
[    1.018274] Segment Routing with IPv6
[    1.022132] In-situ OAM (IOAM) with IPv6
[    1.026362] NET: Registered PF_PACKET protocol family
[    1.031632] 8021q: 802.1Q VLAN Support v1.8
[    1.047275] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[    1.061346] Freeing unused kernel image (initmem) memory: 1232K
[    1.067441] This architecture does not have kernel memory protection.
[    1.074024] Run /sbin/init as init process
[    1.741383] init: Console is alive
[    1.745563] init: - watchdog -
[    3.266088] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.368755] usbcore: registered new interface driver usbfs
[    3.374457] usbcore: registered new interface driver hub
[    3.380054] usbcore: registered new device driver usb
[    3.393991] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.405179] fsl-ehci: Freescale EHCI Host controller driver
[    3.413038] ehci-platform: EHCI generic platform driver
[    3.428953] phy phy-usbphy.0: remote usb device wakeup disabled
[    3.435031] phy phy-usbphy.0: UTMI 16bit 30MHz
[    3.439566] ehci-platform 101c0000.ehci: EHCI Host Controller
[    3.445470] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[    3.453699] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[    3.469146] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[    3.476710] hub 1-0:1.0: USB hub found
[    3.481555] hub 1-0:1.0: 1 port detected
[    3.496844] rtl8367b rtl8367s: using MDIO bus 'mdio'
[    3.502938] rtl8367b rtl8367s: unknown chip num:6642 ver:0010, mode:0014
[    3.509812] rtl8367b rtl8367s: chip detection failed, err=-19
[    3.519990] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    3.528108] ohci-platform: OHCI generic platform driver
[    3.533978] ohci-platform 101c1000.ohci: Generic Platform OHCI controller
[    3.541003] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
[    3.549239] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
[    3.582689] hub 2-0:1.0: USB hub found
[    3.587557] hub 2-0:1.0: 1 port detected
[    3.604233] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.616258] init: - preinit -
[    5.201980] random: jshn: uninitialized urandom read (4 bytes read)
[    5.389535] random: jshn: uninitialized urandom read (4 bytes read)
[    5.671646] random: jshn: uninitialized urandom read (4 bytes read)
[    6.215109] random: jshn: uninitialized urandom read (4 bytes read)
[    6.393043] random: jshn: uninitialized urandom read (4 bytes read)
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.
[    6.847476] mtk_soc_eth 10100000.ethernet eth0: port 5 link up (1000Mbps/Full duplex)
[    6.856346] 8021q: adding VLAN 0 to HW filter on device eth0
[    6.870963] random: procd: uninitialized urandom read (4 bytes read)
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
[    7.824826] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[    7.841017] urandom-seed: Seed file not found (/etc/urandom.seed)
[    7.928993] mtk_soc_eth 10100000.ethernet eth0: port 5 link down
[    7.960302] procd: - early -
[    7.963827] procd: - watchdog -
[    8.479995] procd: - watchdog -
[    8.483987] procd: - ubus -
[    8.633283] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.643258] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.650561] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.662158] procd: - init -
Please press Enter to activate this console.
[    9.801839] random: jshn: uninitialized urandom read (4 bytes read)
[   10.180136] kmodloader: loading kernel modules from /etc/modules.d/*
[   10.639723] urngd: jent-rng init failed, err: 2
[   10.663911] zram: Added device: zram0
[   10.683191] GACT probability on
[   10.688826] Mirror/redirect action on
[   10.710725] u32 classifier
[   10.713523]     input device check on
[   10.717320]     Actions configured
[   10.752081] Loading modules backported from Linux version v6.1.24-0-g0102425ac76b
[   10.759817] Backport generated by backports.git v5.15.92-1-44-gd6ea70fafd36
[   10.804976] usbcore: registered new interface driver usbserial_generic
[   10.811756] usbserial: USB Serial support registered for generic
[   10.861501] xt_time: kernel timezone is -0000
[   10.869489] usbcore: registered new interface driver cdc_ether
[   11.270112] mt76x2e 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
[   11.276878] mt76x2e 0000:01:00.0: ASIC revision: 76120044
[   11.444262] mt76x2e 0000:01:00.0: ROM patch build: 20141115060606a
[   11.456662] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
[   11.462358] mt76x2e 0000:01:00.0: Build: 1
[   11.466539] mt76x2e 0000:01:00.0: Build Time: 201607111443____
[   11.481048] mt76x2e 0000:01:00.0: Firmware running!
[   11.684599] usbcore: registered new interface driver rndis_host
[   11.767201] usbcore: registered new interface driver option
[   11.773095] usbserial: USB Serial support registered for GSM modem (1-port)
[   11.851198] rt2800_wmac 10180000.wmac: loaded eeprom from mtd device "radio"
[   11.858433] ieee80211 phy1: rt2x00_set_rt: Info - RT chipset 6352, rev 0500 detected
[   11.866411] ieee80211 phy1: rt2x00_set_rf: Info - RF chipset 7620 detected
[   11.906230] kmodloader: done loading kernel modules from /etc/modules.d/*
[   21.212527] zram0: detected capacity change from 0 to 55296
[   21.239553] Adding 27644k swap on /dev/zram0.  Priority:100 extents:1 across:27644k SSDsc
[   28.431041] random: crng init done
[   28.434547] random: 114 urandom warning(s) missed due to ratelimiting
[   83.434893] mtk_soc_eth 10100000.ethernet eth0: port 5 link up (1000Mbps/Full duplex)
[   83.443376] 8021q: adding VLAN 0 to HW filter on device eth0
[   83.508419] br-lan: port 1(eth0.1) entered blocking state
[   83.514067] br-lan: port 1(eth0.1) entered disabled state
[   83.519964] device eth0.1 entered promiscuous mode
[   83.524925] device eth0 entered promiscuous mode
[   83.614423] br-lan: port 1(eth0.1) entered blocking state
[   83.619981] br-lan: port 1(eth0.1) entered forwarding state
[   84.461681] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   86.363270] Too few erase blocks (4)

Run: ifconfig

After it freezes I managed to recover the console, had to reconect the serial header and the prompt was back, here are the outputs:

root@OpenWrt:/# swconfig dev switch0 show
Global attributes:
        enable_vlan: 0
        mib: Switch MIB counters
PPE_AC_BCNT0: 0
PPE_AC_PCNT0: 0
PPE_AC_BCNT63: 0
PPE_AC_PCNT63: 0
PPE_MTR_CNT0: 0
PPE_MTR_CNT63: 0
GDM1_TX_GBCNT: 0
GDM1_TX_GPCNT: 0
GDM1_TX_SKIPCNT: 0
GDM1_TX_COLCNT: 0
GDM1_RX_GBCNT1: 0
GDM1_RX_GPCNT1: 0
GDM1_RX_OERCNT: 0
GDM1_RX_FERCNT: 0
GDM1_RX_SERCNT: 0
GDM1_RX_LERCNT: 0
GDM1_RX_CERCNT: 0
GDM1_RX_FCCNT: 0
GDM2_TX_GBCNT: 0
GDM2_TX_GPCNT: 0
GDM2_TX_SKIPCNT: 0
GDM2_TX_COLCNT: 0
GDM2_RX_GBCNT: 0
GDM2_RX_GPCNT: 0
GDM2_RX_OERCNT: 0
GDM2_RX_FERCNT: 0
GDM2_RX_SERCNT: 0
GDM2_RX_LERCNT: 3
GDM2_RX_CERCNT: 0
GDM2_RX_FCCNT: 0

        mirror_monitor_port: 0
        arl_table: address resolution table
Port 6: MAC 3a:ed:88:29:a2:28
Port 6: MAC ac:15:a2:a8:a5:8a

Port 0:
        mib: Port 0 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:0 link:down
Port 1:
        mib: Port 1 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:1 link:down
Port 2:
        mib: Port 2 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:2 link:down
Port 3:
        mib: Port 3 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:3 link:down
Port 4:
        mib: Port 4 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:4 link:down
Port 5:
        mib: Port 5 MIB counters
TxGPC      : 52
TxBOC      : 0
TxGOC      : 11014
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:5 link:up speed:1000baseT full-duplex
Port 6:
        mib: Port 6 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 52
RxBOC      : 0
RxGOC      : 11014
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:6 link:up speed:1000baseT full-duplex
Port 7:
        mib: Port 7 MIB counters
TxGPC      : 0
TxBOC      : 0
TxGOC      : 0
TxEPC      : 0
RxGPC      : 0
RxBOC      : 0
RxGOC      : 0
RxEPC1     : 0
RxEPC2     : 0

        enable_mirror_rx: 0
        enable_mirror_tx: 0
        pvid: 0
        link: port:7 link:down
root@OpenWrt:/# swconfig dev switch1 show
Failed to connect to the switch. Use the "list" command to see which switches are available.
root@OpenWrt:/# ifconfig
br-lan    Link encap:Ethernet  HWaddr 3A:ED:88:29:A2:28
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::38ed:88ff:fe29:a228/64 Scope:Link
          inet6 addr: fdcf:3d28:1d99::1/60 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:1364 (1.3 KiB)

eth0      Link encap:Ethernet  HWaddr 3A:ED:88:29:A2:28
          inet6 addr: fe80::38ed:88ff:fe29:a228/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:103 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:28452 (27.7 KiB)
          Interrupt:5

eth0.1    Link encap:Ethernet  HWaddr 3A:ED:88:29:A2:28
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:1364 (1.3 KiB)

eth0.2    Link encap:Ethernet  HWaddr AC:15:A2:A8:A5:8A
          inet6 addr: fe80::ae15:a2ff:fea8:a58a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:22784 (22.2 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:411 errors:0 dropped:0 overruns:0 frame:0
          TX packets:411 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:28225 (27.5 KiB)  TX bytes:28225 (27.5 KiB)
[   3.502938] rtl8367b rtl8367s: unknown chip num:6642 ver:0010, mode:0014
[   3.509812] rtl8367b rtl8367s: chip detection failed, err=-19

Ok, so what that does mean?

root@OpenWrt:/etc/config# swconfig list
Found: switch0 - mt7620

This means that you have an unsupported version of the RTL8367S switch.
Correctly it should be:

root@OpenWrt:~# swconfig list
Found: switch0 - mt7620
Found: switch1 - rtl8367s

Currently supported and tested are versions 0x0276, 0x0597 and 0x6367.

Thanks, is there any way I can help to support whatever version I have? Create an issue, anything.

Just found this thread https://github.com/openwrt/openwrt/pull/4327, anything there that could help?

However, it is likely that version 0x6642 will also work, but it requires changes to the code in the rtl8367b.c file and recompilation.

Great, where's the source code for the images you provided before? I'm a dev but have little experience with C, but I can tinker if it's not super low level and maybe learn something.

I asked the same question: Support for new Archer c5 v4 - #518 by mietekn
It may be: https://github.com/luizluca/openwrt/tree/tplink_c5v4_dsa
You can also try: https://github.com/andreasrsa/OpenWRT-Archer-C5

1 Like