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