I'm testing the ethernet performance of my custom iMX6UL board (based on EVK board):
Linux BSP version: 3.14.52_1.1.0
Ethernet port: FEC1
PHY & speed: KSZ8081RNB & 100 Mbps full-duplex
Test method: Transferring a large file (1.5 GB) via sftp using FileZilla
LCD: 7" (800x480 px), refresh rate=60Hz (lcd_frequency corresponds to 33.3MHz)
With lcdif disabled:
There is no problem at all. The file transfer progresses with a nice 3.5 MB/s speed. I check the output of "ifconfig" for errors and there are none.
With lcdif enabled:
When just the console output is on the screen there seems to be no problem with file transfer, but I see some occasional RX errors in "ifconfig" output.
When I run a gui application, file transfer speed drops significantly (it becomes about 20-30 KB/s) and RX error counter blows up. There are like 50-100 errors per second.
Sometimes even FileZilla connection is lost giving a "Corrupt Packet" error and about a few seconds later it resumes the transfer.
I checked the 50MHz clock into the PHY and it seems fine.
I tried lowering the display refresh rate, but still the errors occur however slightly less.
I should also mention that when I adjust ethernet speed as 10 Mbps and half-duplex, there are no more errors and transfer speed is around 800 KB/s.
From "imx6ul.dtsi" file I see that LCD and FEC1 are on the same processor bus (that is "aips2" bus). Could this be the result of bus contention due to heavy LCD load? Is there a way to see the bus usage? Is there a similar issue in EVK boards?