Unstable work of 1Gbit ethernet on imx6

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

Unstable work of 1Gbit ethernet on imx6

Jump to solution
2,781 Views
maximkuk
Contributor III

Hello!

I fased with trouble when copy file to imx6 device by scp in gigabit network. It continously prints in terminal "fec 2188000.ethernet eth0: rcv is not +last" and disappear from network. And it may hapene after some time suddenly.

Transmitting files from imx6 at 1Gbit works fine. In 100Mbit receive and transmit works stable.

imx6d, pop package, phy AR8035, kernel fsl 4.9.88

Labels (3)
0 Kudos
1 Solution
2,522 Views
maximkuk
Contributor III

Seems it is hardware issue. As woraround I disabled gigabit feature - commented out FEC_QUIRK_HAS_GBIT flag of imx6q-fec in fec_main.c

View solution in original post

0 Kudos
6 Replies
2,522 Views
trivet71364
Contributor I

We are seeing a similar issue.  Limited bandwidth at 1 Gbe and what looks like network data errors.

Where can the datasheet and programmers reference manual be found for the IMX6 device?

0 Kudos
2,523 Views
maximkuk
Contributor III

Seems it is hardware issue. As woraround I disabled gigabit feature - commented out FEC_QUIRK_HAS_GBIT flag of imx6q-fec in fec_main.c

0 Kudos
2,522 Views
pitel
Contributor I

It seems we have the same issue.
Maxim, could you share what was that in your case? What hardware issue?

0 Kudos
2,522 Views
maximkuk
Contributor III

Hello!

Sorry, we haven't debug it - just disable 1G feature (100M enaught in our case). 

0 Kudos
2,522 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello Maxim,

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

 

++++ BF/drivers/net/ethernet/freescale/fec.c

+@@ -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.

This changes are included in 4.14.98.

Regards

0 Kudos
2,522 Views
maximkuk
Contributor III

Thank you for answer!

In fec_main.c I have this:

/* The FEC stores dest/src/type/vlan, data, and checksum for receive packets.
*
* 2048 byte skbufs are allocated. However, alignment requirements
* varies between FEC variants. Worst case is 64, so round down by 64.
*/
#define PKT_MAXBUF_SIZE (round_down(2048 - 64, 64))
#define PKT_MINBUF_SIZE 64

The same in fec_main.c in 4.14.98 from fec_main.c\freescale\ethernet\net\drivers - linux-imx - i.MX Linux kernel 

I tried to decrease MTU and limit bandwidth with -l option of scp but no luck.

BTW, on sabresd board the same kernel works fine. Are there any hw requirements to receive gigabit properly?

Our device supports PoE. Can it be problem?

0 Kudos