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
Solved! Go to Solution.
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
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?
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
It seems we have the same issue.
Maxim, could you share what was that in your case? What hardware issue?
Hello!
Sorry, we haven't debug it - just disable 1G feature (100M enaught in our case).
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_SIZE | 1518 |
++*/
++#define PKT_MAXBUF_SIZE | 1534 | |
+ #define PKT_MINBUF_SIZE | 64 | |
+-#define PKT_MAXBLR_SIZE | 1520 |
+-
++#define PKT_MAXBLR_SIZE | 1536 |
++
+ /*
+ * The 5270/5271/5280/5282/532x RX control register also contains maximum frame
+ * size bits.
This changes are included in 4.14.98.
Regards
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?
I also facing the same issue using 4.14.98.
interestingly older kernel 3.14.52 is working for gigabit properly after the patch suggested by Mr Bio_TICFSL. so i believe its not the hardware issue.
Any comment /suggestion pls