From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: FEC ethernet issues [Was: PL310 errata workarounds]
Date: Mon, 24 Mar 2014 23:44:43 +0000 [thread overview]
Message-ID: <20140324234443.GS7528@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <OF5A7B7FA4.2FEB0248-ON87257CA5.007AE2AE-87257CA5.007C44DB@grpleg.it>
On Mon, Mar 24, 2014 at 04:37:20PM -0600, robert.daniels at vantagecontrols.com wrote:
> Marek Vasut <marex@denx.de> wrote on 03/24/2014 02:21:58 PM:
> > I think the UDP test might be lossy, can you try with TCP test please ?
> >
> > Best regards,
> > Marek Vasut
>
> Yes, I tried with TCP and there were no problems.
> I then tried my same test with a crossover cable: no problems.
> Then I started testing some different network configurations:
>
> 1. Desktop & i.MX53 both connected to the same router: no problems.
> 2. Desktop & i.MX53 both connected to the same hub: packet loss but no tx
> timeout
> 3. Desktop connected to router, hub connected to router, i.MX53 connected
> to hub: packet loss + tx timeout
>
> So, the packet loss is due to the hub, not the fec driver.
> I'm not sure why I'm getting the tx timeout. My router is a Cisco
> ValetPlus and the hub is a Netgear DS108.
> The router and desktop are gigabit and the hub is 10/100.
>
> I assumed that the tx timeout should not be happening - is this an
> incorrect assumption based on my setup?
The first point is that the timeout should not be happening, because
when the link is up and running, packets should be transmitted.
The second point is that I think you have a setup which tickles a bug
in the FEC hardware. What I think is going on is that the driver is
filling the transmit ring correctly. For some reason, the FEC is
either failing to update the header after transmission leaving the
buffer owned by the FEC (and therefore unable to be reaped), or the
FEC is skipping over a ring descriptor.
As I hinted in one of my previous replies, I think the only way we're
truely going to work out what's going on here is to come up with some
way to mark each packet that is transmitted with where it was in the
ring, so a tcpdump session on another machine can be used to inspect
which packets from the ring were actually transmitted on the wire.
Now, you mention packet loss above. Even on half-duplex networks, I
would not expect there to be much packet loss because of the
retransmissions after a collision, and 100Mbit networks handle this
much better than 10Mbit. It takes repeated collisions to cause a
packet to actually be dropped (and a packet being dropped because
of collisions should be logged by the transmitting host in its
interface statistics.)
Another possibility is that the FEC isn't properly negotiating with
the hub, and the two ends are ending up configured differently, or
that it is negotiating properly but the FEC isn't being configured
correctly.
Now that we know a little more about your setup, including that it
seems to be one specific setup which is causing the problems, I'll
do some more testing - I have an old Allied Telesys 10/100 hub here
which I'll try putting the iMX6 on and re-run your tests.
--
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
next prev parent reply other threads:[~2014-03-24 23:44 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-14 14:48 PL310 errata workarounds Russell King - ARM Linux
2014-03-14 15:01 ` Russell King - ARM Linux
2014-03-14 16:02 ` Rob Herring
2014-03-14 17:57 ` Russell King - ARM Linux
2014-03-14 19:14 ` Rob Herring
2014-03-14 20:32 ` Russell King - ARM Linux
2014-03-19 21:22 ` Marek Vasut
2014-03-19 21:35 ` Rob Herring
2014-03-19 21:46 ` Russell King - ARM Linux
2014-03-19 21:54 ` Marek Vasut
2014-03-16 11:52 ` Russell King - ARM Linux
2014-03-17 15:04 ` Rob Herring
2014-03-17 15:37 ` Russell King - ARM Linux
2014-03-17 17:29 ` Catalin Marinas
2014-03-17 19:44 ` Russell King - ARM Linux
2014-03-17 21:09 ` Nicolas Pitre
2014-03-17 21:14 ` Russell King - ARM Linux
2014-03-17 21:54 ` Nicolas Pitre
2014-03-16 15:29 ` Russell King - ARM Linux
2014-03-17 14:00 ` Rob Herring
2014-03-17 14:40 ` Russell King - ARM Linux
2014-03-18 11:22 ` *READ THIS IF YOUR SOC HAS A L2 CACHE* PL310 auxctrl settings Russell King - ARM Linux
2014-03-28 12:51 ` Maxime Coquelin
2014-03-28 13:02 ` Russell King - ARM Linux
2014-03-28 13:32 ` Maxime Coquelin
2014-03-18 17:26 ` PL310 errata workarounds Russell King - ARM Linux
2014-03-19 21:52 ` Marek Vasut
2014-03-19 22:51 ` Russell King - ARM Linux
2014-03-19 23:05 ` FEC ethernet issues [Was: PL310 errata workarounds] Marek Vasut
2014-03-20 4:01 ` Marek Vasut
2014-03-20 22:27 ` Fabio Estevam
2014-03-20 23:06 ` Russell King - ARM Linux
2014-03-21 0:24 ` Troy Kisky
2014-03-21 1:18 ` Russell King - ARM Linux
2014-03-21 1:36 ` Fabio Estevam
2014-03-21 1:43 ` Fabio Estevam
2014-03-21 16:37 ` Bernd Faust
[not found] ` <CANBf9eNZB+BVBDkgWNxxGs-ndQ-mYCc6+bfVdS-8T-QLpSZ3GA@mail.gmail.com>
2014-03-21 17:32 ` Russell King - ARM Linux
2014-03-23 11:38 ` Bernd Faust
2014-03-23 13:44 ` Russell King - ARM Linux
2014-03-24 17:57 ` robert.daniels at vantagecontrols.com
2014-03-24 20:21 ` Marek Vasut
2014-03-24 22:37 ` robert.daniels at vantagecontrols.com
2014-03-24 23:44 ` Russell King - ARM Linux [this message]
2014-03-25 1:02 ` Marek Vasut
2014-03-25 23:10 ` Russell King - ARM Linux
2014-03-26 0:11 ` Russell King - ARM Linux
2014-04-01 9:26 ` Russell King - ARM Linux
2014-04-01 14:00 ` Eric Nelson
2014-04-01 17:29 ` Russell King - ARM Linux
2014-04-01 18:11 ` Eric Nelson
2014-04-02 2:26 ` fugang.duan at freescale.com
2014-04-01 19:38 ` robert.daniels at vantagecontrols.com
2014-04-01 22:51 ` Russell King - ARM Linux
2014-04-02 0:37 ` robert.daniels at vantagecontrols.com
2014-04-02 3:19 ` fugang.duan at freescale.com
2014-04-02 8:59 ` Russell King - ARM Linux
2014-04-02 9:40 ` fugang.duan at freescale.com
2014-04-02 10:46 ` Russell King - ARM Linux
2014-04-02 11:33 ` fugang.duan at freescale.com
2014-04-02 16:51 ` Russell King - ARM Linux
2014-04-03 2:41 ` fugang.duan at freescale.com
2014-04-03 8:56 ` Russell King - ARM Linux
2014-04-03 9:55 ` fugang.duan at freescale.com
2014-04-03 10:32 ` Russell King - ARM Linux
2014-04-03 13:36 ` Shawn Guo
2014-04-03 13:45 ` Russell King - ARM Linux
2014-04-03 14:00 ` Shawn Guo
2014-04-04 20:21 ` robert.daniels at vantagecontrols.com
2014-04-29 9:26 ` Jaccon Bastiaansen
[not found] ` <CAGzjT4d8H6YE6P6A1E4aHiPAenJFvZH01LHXaNzVwhF2MRBvWQ@mail.gmail.com>
2014-05-02 11:41 ` Russell King - ARM Linux
2014-05-08 9:23 ` Jaccon Bastiaansen
2014-03-21 15:50 ` PL310 errata workarounds Frank Li
2014-03-21 17:12 ` Russell King - ARM Linux
2014-03-17 16:32 ` Russell King - ARM Linux
2014-03-17 16:51 ` Russell King - ARM Linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140324234443.GS7528@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).