AR8327 switch link state change check not working on TL-WR1043ND v3 (QCA9558)
Username: Vittorio Gambaletta (VittGam)
Origin: https://bugs.openwrt.org/index.php?do=details&task_id=631
Hello,
On my TP-LINK TL-WR1043ND v3 (ar71xx QCA9558) with today’s LEDE snapshot, the AR8327 switch isn’t sending port change interrupt events to the CPU.
The ar8xxx_check_link_states
function in target/linux/generic/files/drivers/net/phy/ar8216.c
is not being called at all, since not only the messages about port link status change aren’t printed to the dmesg, but the ARL table isn’t getting cleaned either. I don’t understand why this is happening...
This regression is not present in other routers with the same AR8327 switch chip (but rev. 2 instead of rev. 4), such as TP-LINK TL-WDR4300 v1 (ar71xx) and TP-LINK TL-WDR4900 v1 (mpc85xx).
(Latest LEDE stable release also does exibit the regression.)
Below you can see a session with LEDE; and a session with OpenWrt CC 15.05.1 release, which does not exibit the problem.
(The CC image is for the TL-WR1043ND v2, since v3 images weren’t built yet at that time; v2 and v3 are the same hardware, as it can be seen from the FCC docs, where TP-LINK requested an ID change from v2 to v3.)
Please let me know if there’s anything I can try to help debug this problem!
BusyBox v1.26.2 () built-in shell (ash)
_________
/ /\ _ ___ ___ ___
/ LE / \ | | | __| \| __|
/ DE / \ | |__| _|| |) | _|
/
/ LE \ |
|
_|
_/|
_| lede-project.org
\ \ DE /
\ LE \ / ———————————————————–
\ DE \ / Reboot (SNAPSHOT, r1-2f09a1e)
\
\/ ———————————————————–
=== WARNING! =====================================
There is no root password defined on this device!
Use the “passwd” command to set up a new password
in order to prevent unauthorized
SSH
logins.
————————————————–
root@LEDE:~# dmesg | grep 8327
[ 0.815273] switch0: Atheros AR8327 rev. 4 switch registered on ag71xx-mdio.0
root@LEDE:~# dmesg | grep 8216
[ 2.046658] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]
root@LEDE:~# swconfig dev switch0 get arl_table
address resolution table
Port 0: MAC <router_lan_macaddr>
Port 4: MAC <my_laptop_macaddr>
Port 4: MAC <other_macaddr>
Port 6: MAC <router_wan_macaddr>
root@LEDE:~# dmesg | grep 8216
[ 2.046658] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]
root@LEDE:~# swconfig dev switch0 get arl_table
address resolution table
Port 0: MAC <router_lan_macaddr>
Port 3: MAC <my_laptop_macaddr>
Port 4: MAC <other_macaddr>
Port 6: MAC <router_wan_macaddr>
root@LEDE:~#
BusyBox v1.23.2 (2016-01-02 18:01:44 CET) built-in shell (ash)
_
| |.—–.—–.—–.| | | |.—-.| |_
| - || _ | -
| || | | || _|| _|
|
_||
|
_|
|
||
||
| |
|
|
| W I R E L E S S F R E E D O M
CHAOS CALMER (15.05.1, r48532)
1 1/2 oz Gin Shake with a glassful
1/4 oz Triple Sec of broken ice and pour
3/4 oz Lime Juice unstrained into a goblet.
1 1/2 oz Orange Juice
1 tsp. Grenadine Syrup
—————————————————– root@OpenWrt:/# dmesg | grep 8327
[ 0.750000] switch0: Atheros AR8327 rev. 4 switch registered on ag71xx-mdio.0
root@OpenWrt:/# dmesg | grep 8216
[ 1.440000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]
[ 24.680000] Atheros AR8216/AR8236/AR8316 ag71xx-mdio.0:00: Port 4 is up
root@OpenWrt:/# swconfig dev switch0 get arl_table
address resolution table
Port 0: MAC <router_lan_macaddr>
Port 4: MAC <my_laptop_macaddr>
Port 4: MAC <other_macaddr>
Port 6: MAC <router_wan_macaddr>
root@OpenWrt:/# dmesg | grep 8216
[ 1.440000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]
[ 24.680000] Atheros AR8216/AR8236/AR8316 ag71xx-mdio.0:00: Port 4 is up
[ 1306.510000] Atheros AR8216/AR8236/AR8316 ag71xx-mdio.0:00: Port 4 is down
[ 1310.530000] Atheros AR8216/AR8236/AR8316 ag71xx-mdio.0:00: Port 3 is up
root@OpenWrt:/# swconfig dev switch0 get arl_table
address resolution table
Port 0: MAC <router_lan_macaddr>
Port 3: MAC <my_laptop_macaddr>
Port 6: MAC <router_wan_macaddr>
root@OpenWrt:/# uname -a
Linux OpenWrt 3.18.23 #1 Sun Jan 31 18:39:35 CET 2016 mips GNU/Linux
root@OpenWrt:/#
Cheers,
Vittorio