How to debug Ethernet connectivity
Antony Pavlov
antonynpavlov at gmail.com
Fri Dec 6 05:52:50 EST 2013
On Fri, 6 Dec 2013 11:21:25 +0100
Atilla Filiz <atilla.filiz at gmail.com> wrote:
> Hello
>
> I have been tasked to debug a port of Barebox to our custom board. It
> has one Ethernet interface. All network related(dhcp, ping ...) tasks
> fail with "Network is down" error, although the link lights on my
> switch are on. So I did this on 2013.06:
>
> --- barebox-2013.06.0.orig/net/
> eth.c 2013-06-02 12:24:06.000000000 +0200
> +++ barebox-2013.06.0/net/eth.c 2013-12-03 16:52:40.428089000 +0100
> @@ -142,12 +142,16 @@
>
> if (force || is_timeout(last_link_check, 5 * SECOND) ||
> !eth_current->phydev->link) {
> ret = phy_update_status(eth_current->phydev);
> if (ret)
> return ret;
> last_link_check = get_time_ns();
> }
>
> + return 0;
> return eth_current->phydev->link ? 0 : -ENETDOWN;
> }
>
> This bypasses link detection and assumes the link is always up. This
> way, I got dhcp, ping and tftp working.
>
> How can I debug this further to hunt down the Ethernet problem?
> Something seems wrong with my PHY settings. This is an iMX27 based
> board. Which files/functions/structures do I need to check?
There is miitool command to view MII status / registers.
> --
> Atilla Filiz
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
--
--
Best regards,
Antony Pavlov
More information about the barebox
mailing list