Switch no longer work after restart on Linksys EA8500
Username: Adam
Origin: https://bugs.openwrt.org/index.php?do=details&task_id=2168
Got error when I try to post with all followings, so I have to post the task first then supply those information below.
There is a problem with the EA8500, the switch will not work after soft reboot, the only way to get it work is power cycle it manually, tested on 18.06.2 and latest source code.
There is already a topic for this
https://forum.openwrt.org/t/ea8500-reboot-fails-only-with-power-switch-on-off-successful/18234
I will copy what I replied to the topic to this issue.
have the same issue, looks like something not reset properly, or clock not initialize properly.
on successful boot it will show
[ ] libphy: GPIO Bitbanged MDIO: probed
[ ] switch0: Atheros AR8337 rev. 2 switch registered on gpio-0
[ ] ar8327: qca,phy-rgmii-en is not specified
after soft reboot it will become
[ ] libphy: GPIO Bitbanged MDIO: probed
[ ] mdio_bus gpio-0: MDIO device at address 0 is missing.
[ ] mdio_bus gpio-0: MDIO device at address 4 is missing.
after reading code and google, found following information
the switch reset pin is connect to gpio63, tried manually reset by control gpio via /sys, dose see the port light off then on, reset dose work, but after restart network service still no switch.
then read boot log, there is error for initialize dma for ipq806x-gmac-dwmac 37200000.ethernet, then go to the actual code change it to print more information, found the dma reset bit will never clear.
I don’t think this is a switch related issue, it should be a soc driver issue, either mdio bus or eth driver, personally I think it is the clock for mdio bus.
Did another test, flashed the official FW in Openwrt, then auto reboot, the official FW cannot working properly for the same reason, cannot find the switch.
After power cycle official FW working properly, and I can soft restart by issue a reboot cmd in serial port, after reboot everything still works.
Therefore there must be something got disabled during Openwrt shutdown process that should not be disabled.
Success boot log (on cold boot / manual power cycle)
success_log.txt
Fail boot log (on restart / reboot)
fail_log.txt
Fail boot log (sysupgrade -v -n -F flashed official FW then auto reboot)
fail_boot_linksys_fw.txt