Hi all,
I have OpenWRT ver 23.05.3 running on Linksys WRT1200AC v1. Wired Symptoms as below,
I have been searching around for nearly a whole day aiming to find solutions but failed.
Appreciate if anyone can help.
One LAN port (lan1) can not be recognized by Kernel, while other LAN ports (lan2, lan3, lan4) can be recognized successfully. Error message in Kernel log as below
[ 2.291702] mv88e6085 f1072004.mdio-mii:00: configuring for fixed/ link mode
[ 2.303821] mv88e6085 f1072004.mdio-mii:00: Link is Up - 1Gbps/Full - flow control off
[ 2.399876] mv88e6085 f1072004.mdio-mii:00 lan4 (uninitialized): PHY [mv88e6xxx-1:00] driver [Marvell 88E1540] (irq=63)
[ 2.509873] mv88e6085 f1072004.mdio-mii:00 lan3 (uninitialized): PHY [mv88e6xxx-1:01] driver [Marvell 88E1540] (irq=64)
[ 2.617809] mv88e6085 f1072004.mdio-mii:00 lan2 (uninitialized): PHY [mv88e6xxx-1:02] driver [Marvell 88E1540] (irq=65)
[ 2.633834] mv88e6085 f1072004.mdio-mii:00 lan1 (uninitialized): no phy at 3
[ 2.640935] mv88e6085 f1072004.mdio-mii:00 lan1 (uninitialized): failed to connect to PHY: -ENODEV
[ 2.649948] mv88e6085 f1072004.mdio-mii:00 lan1 (uninitialized): error -19 setting up PHY for tree 0, switch 0, port 3
[ 2.749873] mv88e6085 f1072004.mdio-mii:00 wan (uninitialized): PHY [mv88e6xxx-1:04] driver [Marvell 88E1540] (irq=67)
[ 2.779908] DSA: tree 0 setup
uci export network output as below
root@OpenWrt:/lib# uci export network
package network
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'abcd:abcd:abcd::/48'
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
list ports 'lan1'
option ipv6 '0'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ip6assign '60'
list ipaddr '192.168.1.1/24'
config device
option name 'wan'
option macaddr 'aa:bb:cc:dd:ee:ff'
option ipv6 '0'
config interface 'wan'
option device 'wan'
option proto 'pppoe'
option username 'test'
option password 'test'
option ipv6 '0'
config device
option name 'eth0'
option ipv6 '0'
config device
option name 'lan2'
option ipv6 '0'
config device
option name 'lan3'
option ipv6 '0'
config device
option name 'pppoe-wan'
option ipv6 '0'
config device
option name 'lan4'
option ipv6 '0'
root@OpenWrt:/lib#
but I have installed many packages, some of which, are a bit complicated & time-consuming to install & configure. is there a way for me to backup and restore after resetting device to default ?
You could use the OpenWrt Upgrade Tool (OWUT) or Attended Sysupgrade (ASU)!to create an image that contains all of your packages that you can (in theory) reinstall onto your system.
I would guess, however, that something with the current config/packages is responsible for the problem, so you’ll want to at least try with a totally default (no user-installed packages) config to at least rule out a hardware issue.
This is a dual-firmware device, you can sysupgrade -n OpenWrt (again, once), which will write it to the inactive partition slot. Do your tests in a vanilla environment and return to your untouched existing installation via luci-app-advanced-reboot (or three successive power cuts).
Hardware damage should be checked/ ruled out this way first.
You have "config device" sections for all LAN interfaces except LAN1, perhaps this could be related. But you are trying to disable IPv6 on some (but not all) interfaces that are part of a bridge, and that makes no sense.
those config device sections for lan2, lan3, lan4, were all automatically created, I did not manually created myself. I did try to manually add config device for lan1, but it did not help me out.
I upgrade from 23.05 to 24.10 (claimed to have better drivers for NIC & WNIC) and below error message disappeared,
[ 2.633834] mv88e6085 f1072004.mdio-mii:00 lan1 (uninitialized): no phy at 3
[ 2.640935] mv88e6085 f1072004.mdio-mii:00 lan1 (uninitialized): failed to connect to PHY: -ENODEV
Now, lan1 device is recognized and automatically created during bootup. Despite the port is still not working (LED light is not up) when device is pluged in via wired cable, situation at least move forward a bit as it is now recognized.
Actually, I was referring to a default state of OpenWrt (so resetting to defaults within the OpenWrt firmware via LuCI or the command line firstboot -y && reboot).
But trying the original vendor firmware would be a good additional test if the above doesn't solve the problem.
I would rather try OEM firmware, as I do not want to risk setting device to default state of OpenWRT which might erase all manually-installed packages and related configs. I do understand that we have a way to backup all of them and restore later. However, I am just not confident if backup & restore would work as expected in the document, hence do not want to risk that. I have been fighting with this fragile Linksys WRT1200AC for several days, and getting a bit tired of those troubleshootings. hope you understand.
If you still have the OEM Firmware on one of the partitions, you should simply be able to flip over to that one and test. If not, you'll need to install the OEM firmware... the instructions are probably available for your device... but also be aware that you might end up nuking one of your OpenWrt partitions, so that might actually set you further behind.
With a lot of additional packages and configs, there is the possibility that you have done something in software/config that is causing the port not to work. It's hard to say what, exactly, but that's why a default condition (or the vendor firmware) is the best test... eliminate all the variables and get to a known working firmware base to test the hardware.
It's pretty robust in terms of the backups as long as you specify the files/directories that need to be backed up (most of /etc/ is backed up by default, and that's where everything lives in a standard config), and it's generally easy to build a custom image with all your packages, and this can be done based on your current install. You can also easily reinstall the packages if you don't make an image... often takes just a few minutes.
Quite honestly, you need to determine if this port issue is a priority for you. You have 4 choices:
reset to default OpenWrt and test
switch to/reinstall the vendor firmware (which may wipe your OpenWrt install anyway) and test
or
spend many more hours/days trying to figure out what's wrong with the system -- hardware or software or config
Just ignore the "dead" port even if it might be physically just fine.
Options 1 and 2 will quickly answer the question: "is this a hardware issue," -- if it works from those states, hardware is fine and you have a "soft" issue. Option 3 will suck up a lot more time and it's going to be hard to determine if you have a hardware or software/config issue. And 4 is obviously a reasonable option if you're risk-averse and tired of investing time/energy into the troubleshooting.
Sorry for the confusion, When I say "fighting with fragile Linksys WRT1200AC for several days", I was actually fighting for the issue of router crashing randomly which is my priority and I posted that in a separate thread. This port issue lan1 is not my priority, so, I will try to install OEM firmware on the other partition and see if all those ports function properly. thanks for your reply in great details.