Support TP-Link Archer A5 v6 (RU)

Hi all, I was able to flash TP-Link Archer A5 v6 with instructions for TP-Link Archer C50 v6 (https://github.com/openwrt/openwrt/pull/13547/commits/e9ac1b19e0f3d383ab83373c261bfb5527a29521) but something is not working correct:
Ethernet is working only in failsafe mode, wi-fi is working well boot log here:
https://pastebin.com/VcFEYfsT
Please help with any ideas, also when I connect ethernet link there are continuously repeated error messages like:

Sun Sep 29 21:37:32 2024 kern.crit kernel: [  307.097794] mtk_soc_eth 10100000.ethernet eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 1 timed out 7040 ms
Sun Sep 29 21:37:32 2024 kern.err kernel: [  307.107765] mtk_soc_eth 10100000.ethernet eth0: transmit timed out
Sun Sep 29 21:37:32 2024 kern.info kernel: [  307.114047] mtk_soc_eth 10100000.ethernet eth0: dma_cfg:00000055
Sun Sep 29 21:37:32 2024 kern.info kernel: [  307.120179] mtk_soc_eth 10100000.ethernet eth0: tx_ring=0, base=02740000, max=1024, ctx=106, dtx=106, fdx=106, next=106
Sun Sep 29 21:37:32 2024 kern.info kernel: [  307.131164] mtk_soc_eth 10100000.ethernet eth0: rx_ring=0, base=02744000, max=1024, calc=19, drx=20
Sun Sep 29 21:37:34 2024 daemon.err odhcp6c[3459]: Failed to send SOLICIT message to ff02::1:2 (Network unreachable)
Sun Sep 29 21:37:37 2024 kern.crit kernel: [  312.137718] mtk_soc_eth 10100000.ethernet eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 1 timed out 12080 ms
Sun Sep 29 21:37:37 2024 kern.err kernel: [  312.147767] mtk_soc_eth 10100000.ethernet eth0: transmit timed out
Sun Sep 29 21:37:37 2024 kern.info kernel: [  312.154048] mtk_soc_eth 10100000.ethernet eth0: dma_cfg:00000055
Sun Sep 29 21:37:37 2024 kern.info kernel: [  312.160179] mtk_soc_eth 10100000.ethernet eth0: tx_ring=0, base=02740000, max=1024, ctx=1, dtx=1, fdx=1, next=1
Sun Sep 29 21:37:37 2024 kern.info kernel: [  312.170466] mtk_soc_eth 10100000.ethernet eth0: rx_ring=0, base=0272c000, max=1024, calc=1, drx=2
Sun Sep 29 21:37:42 2024 kern.crit kernel: [  317.097758] mtk_soc_eth 10100000.ethernet eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 1 timed out 17040 ms
Sun Sep 29 21:37:42 2024 kern.err kernel: [  317.107823] mtk_soc_eth 10100000.ethernet eth0: transmit timed out
Sun Sep 29 21:37:42 2024 kern.info kernel: [  317.114103] mtk_soc_eth 10100000.ethernet eth0: dma_cfg:00000055
Sun Sep 29 21:37:42 2024 kern.info kernel: [  317.120242] mtk_soc_eth 10100000.ethernet eth0: tx_ring=0, base=02740000, max=1024, ctx=2, dtx=2, fdx=2, next=2
Sun Sep 29 21:37:42 2024 kern.info kernel: [  317.130529] mtk_soc_eth 10100000.ethernet eth0: rx_ring=0, base=02744000, max=1024, calc=0, drx=1
Sun Sep 29 21:37:47 2024 kern.crit kernel: [  322.137670] mtk_soc_eth 10100000.ethernet eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 1 timed out 22080 ms
Sun Sep 29 21:37:47 2024 kern.err kernel: [  322.147717] mtk_soc_eth 10100000.ethernet eth0: transmit timed out
Sun Sep 29 21:37:47 2024 kern.info kernel: [  322.153996] mtk_soc_eth 10100000.ethernet eth0: dma_cfg:00000055
Sun Sep 29 21:37:47 2024 kern.info kernel: [  322.160124] mtk_soc_eth 10100000.ethernet eth0: tx_ring=0, base=02740000, max=1024, ctx=2, dtx=2, fdx=2, next=2
Sun Sep 29 21:37:47 2024 kern.info kernel: [  322.170396] mtk_soc_eth 10100000.ethernet eth0: rx_ring=0, base=0272c000, max=1024, calc=1023, drx=0
Sun Sep 29 21:37:52 2024 kern.crit kernel: [  327.097734] mtk_soc_eth 10100000.ethernet eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 1 timed out 27040 ms
Sun Sep 29 21:37:52 2024 kern.err kernel: [  327.107807] mtk_soc_eth 10100000.ethernet eth0: transmit timed out
Sun Sep 29 21:37:52 2024 kern.info kernel: [  327.114090] mtk_soc_eth 10100000.ethernet eth0: dma_cfg:00000055
Sun Sep 29 21:37:52 2024 kern.info kernel: [  327.120229] mtk_soc_eth 10100000.ethernet eth0: tx_ring=0, base=02740000, max=1024, ctx=1, dtx=1, fdx=1, next=1
Sun Sep 29 21:37:52 2024 kern.info kernel: [  327.130514] mtk_soc_eth 10100000.ethernet eth0: rx_ring=0, base=02744000, max=1024, calc=1, drx=2
Sun Sep 29 21:37:57 2024 kern.crit kernel: [  332.137716] mtk_soc_eth 10100000.ethernet eth0: NETDEV WATCHDOG: CPU: 0: transmit queue 1 timed out 32080 ms

Your device is not supported by openwrt, revert to factory and provide OEM partition map and preferrably boot log to account included hardware.

Unfortunately I am not able to revert to factory fw(even tftp method described for Archer C50 with cutting boot 512bites fails), and I wasn't able to make backup of flash memory due to not enough knowledges, but firmware with boot could be found there, may be it is possible to extract data-map?:

https://static.tp-link.com/upload/firmware/2023/202308/20230808/Archer%20A5(RU)_V6_220804.zip

But why Ethernet is working well in fail-safe mode?

So you corrupted oem flash to no recognition and deviceis no longer representative of factory product to be supported by openwrt.

why Ethernet is working well

no idea, without oem boot log no chance to guess.

Or I don't know the correct way of recover, because it's not described anywhere....
IMHO the best way is to get dts from factory image and compare to C50 dts(I have read somewhere at this forum or wiki that the models are identical, and link I have provided to commit that support them)...

Unfortunately my knowledges are not enough to decompile firmware :frowning:

I was tried to decompile fw, but I didn't understand how to get map, unfortunately kernel version of factory firmware is very old 2.6.36, and seems that it doesn't have any DTS:((
Is there any other way to determine flash memory mapping of factory firmware?

The other question is about openwrt working in failsafe mode, what is the difference between failsafe ethernet driver initialisation between normal mode?

Is it possible to generate the same config of networking that is running in failsafe mode? How can I do this?

It is default configuration minus wan, so device has different switch.
Show ip link ie if wan port is up.

root@OpenWrt:~#  ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether a8:42:a1:9e:41:21 brd ff:ff:ff:ff:ff:ff
4: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether a8:42:a1:9e:41:21 brd ff:ff:ff:ff:ff:ff
5: eth0.1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether a8:42:a1:9e:41:21 brd ff:ff:ff:ff:ff:ff
7: phy1-ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether a8:42:a1:9e:41:20 brd ff:ff:ff:ff:ff:ff
9: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether a8:42:a1:9e:41:21 brd ff:ff:ff:ff:ff:ff

eth0.2 -- wan

1 Like

You can clear last 3 bytesof MAC-s.
So the swconfig switch is not exactly same, get back to oem and check the boot log.

1 Like

unfortunately, I couldn't find the way to revert back to oem firmware. Ethernet switch is still working unstable, I am trying to determine a working config, change one of mac helped a little: I could even get ip by DHCP on lan interface, but no ping or web access to router, very strange, switch seems not working correctly.
If I did correctly understand what happens -- due to incorrect flash memory mapping, openwrt couldn't correctly read mac address and switch model of ethernet, and is not working correctly... Is there any way to manually dump flash memory from openwrt and read this info from there?

After searching at this forum I have found out that this model is working with Archer C60 v4 firmware but has troubles with wifi, in my test there were no troubles in wifi with Archer C60 v6 firmware, but switch was not working, I have made backup of all block partitions of Archer C60 v6 firmware and did flash a Archer C60 v4 firmware -- switch is working well, so as for now I need to make compilation between this two firmwares, I need take switch from C60 v4 and wifi from C60 v6, could you, please, help me?

l1profile.dat from OEM firmware is exactly same for Archer A5 v6 and Archer C50 v6

Default
INDEX0=MT7628
INDEX0_profile_path=/etc/wireless/mt7628/mt7628.dat
INDEX0_EEPROM_offset=0x0
INDEX0_EEPROM_size=0x400
INDEX0_EEPROM_name=e2p
INDEX0_main_ifname=ra0
INDEX0_ext_ifname=ra
INDEX0_wds_ifname=wds
INDEX0_apcli_ifname=apcli
INDEX0_mesh_ifname=mesh
INDEX0_nvram_zone=dev1
INDEX0_single_sku_path=/etc/wireless/mt7628/mt7628-sku.dat
INDEX0_bf_sku_path=/etc/wireless/mt7628/mt7628-sku-bf.dat
INDEX1=MT7663
INDEX1_profile_path=/var/Wireless/RT2860AP/RT2860AP5G.dat
INDEX1_EEPROM_offset=0x7f8000
INDEX1_EEPROM_size=0x600
INDEX1_EEPROM_name=e2p
INDEX1_main_ifname=rai0
INDEX1_ext_ifname=rai
INDEX1_wds_ifname=wdsi
INDEX1_apcli_ifname=apclii
INDEX1_mesh_ifname=meshi
INDEX1_nvram_zone=dev2
INDEX1_single_sku_path=/var/Wireless/RT2860AP/SingleSKU_5G.dat
INDEX1_bf_sku_path=/var/Wireless/RT2860AP/SingleSKU_BF_5G.dat

I have found the way to revert back to OEM firmware:

I think that it should be added to wiki.

My conclusion is that kernel module kmod-mt7615e doesn't work correctly with mt7613e chipset

There is no such Archer C60 v4.

sorry mistype C50 v4 and C50 v6