imx6q: FEC ENET: rcv is not +last

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6q: FEC ENET: rcv is not +last

8,312 Views
pj0585
Contributor III

Hi All,

I'm using linux release 3.0.35_4.0.0 on my custom hardware (design based on sabre sd platform). I'm using Micrel's Gigabit Ethernet PHY KSZ9021RNI.

When connected to a 100 mbps network, my network is stable. But when I connect to a 1000 mbps link, network is very unstable. The ssh connection freezes or breaks.

On the terminal log I can see: net eth0: FEC ENET: rcv is not +last

I tried the linux kernel from 3.0.35_4.1.0 release (not the UBoot, only the kernel) but I was still getting the problem.

Can anyone throw light on this issue ?

As I understand that this was a known issue and was solved in the later releases. Is that is true: what was the exact problem ?

Any inputs will of help to me. Thanks!

-Pj

Labels (2)
0 Kudos
5 Replies

2,872 Views
EricNelson
Senior Contributor II

Hi Prasant,

We have a fix for this in the 'boundary-imx_3.0.35_4.1.0' branch of our kernel tree:

     fec: stop the "rcv is not +last, " error messages · 49fe455 · boundarydevices/linux-imx6 · GitHub

0 Kudos

2,872 Views
pj0585
Contributor III

Hi Eric,

Thanks for the reply.

That fix also works for me. It removes the Error message, BUT network is very unstable as before. When transferring large files the connection freezes and many times its breaks.

So I think, the error message that I see is only a symptom to another problem. I do not know yet.

Do you also experience unstable network when iMX6 is connected to a gigabit network with line speed as 1000 mbps?

-Pj

0 Kudos

2,872 Views
EricNelson
Senior Contributor II

Hi Prasant,

No. In general we don't see stability issues, though you shouldn't expect full Gb bandwidth.

See this post for details:

     http://boundarydevices.com/i-mx6-ethernet/

MarekVasut has also reported issues with transmit, though we haven't had a chance to investigate.

0 Kudos

2,872 Views
olivergraute
Contributor III

We observed the same problem with imx28 and the fec driver from linux 3.9.11.  After I tried the mentioned patch the error message disappears but we still see connection instability if we transmit larger files via scp to the target. If we reduce the MTU Size  from 1500 Byte to 1495 Byte the problem is gone. Some clou why this is the case here? in our setups the problems occur mostly in vlan use cases. 

0 Kudos

2,872 Views
olivergraute
Contributor III

After we changed the buffer defines in the fec driver it works for us. 

++++ BF/drivers/net/ethernet/freescale/fec.c2015-03-18 10:24:03.786916878 +0100

+@@ -178,11 +178,12 @@ MODULE_PARM_DESC(macaddr, "FEC Ethernet

+ #define FEC_RX_DISABLED_IMASK (FEC_DEFAULT_IMASK & (~FEC_ENET_RXF))

+

+ /* The FEC stores dest/src/type, data, and checksum for receive packets.

+- */

+-#define PKT_MAXBUF_SIZE1518

++*/

++#define PKT_MAXBUF_SIZE1534
+ #define PKT_MINBUF_SIZE64
+-#define PKT_MAXBLR_SIZE1520

+-

++#define PKT_MAXBLR_SIZE1536

++

+ /*

+  * The 5270/5271/5280/5282/532x RX control register also contains maximum frame

+  * size bits. Other FEC hardware does not, so we need to take that into

0 Kudos