ContributionsMost RecentMost LikesSolutionsRe: High-Latency Ethernet on Arria 10 SoC device using HPS EMAC and KSZ9031 Hi Silvan, When you get the devkit "stuck" waiting for a receive, try issuing the command, ethtool -d <eth_interface>, to get a dump of all the registers. This might provide deeper insight into the problem. An experiment worth trying is to change the size of the ICMP packets sent by the ping command with the -s option. I suggest trying values of 128, 129, 130, and 131 to explore alignment as being part of the problem. Another experiment to try is to enable "busy polling" every millisecond with the following command: # echo 1000 > /proc/sys/net/core/busy_poll The value of the parameter is microseconds; so, I would expect the RX path would get unstuck after 1 millisecond. Regards, Matthew Re: Debug during boot Are you saying that Linux is hanging during boot? If so what are all the messages that linux does print out before hanging? That could give some indication of the nature of the hang ( e.g. what part of the EMAC initialization is hanging )? If you have access to the ARM DS Debugger, you could step through the driver probe function to locate what software is getting stuck. If you don't have access to the debugger, you could add dev_info() calls in the driver to get more insight to the location of the hang. From a software point of view, hangs usually indicate no response to a read or write transaction. Has reset to the EMAC been deasserted? Re: Agilex 5 EMAC to EMAC : Driver error Yes, adding CONFIG_NET_NS=y to .config will enable network namespace functionality in the kernel. Re: Agilex 5 EMAC to EMAC : Driver error From Linux, you can get summary of the state of the clock tree with the following command: cat /sys/kernel/debug/clk/clk_summary Re: EMAC drivers Agilex5 I am not an expert on the GMII interface, but your connections look correct to me. Clocks and resets need to be connected appropriately, and the tx related signals of one ethernet need to be connected to corresponding rx related signals on the other ethernet. You'll know you have the connections correct when link gets established on both ends as observed with ifconfig or ip commands. Re: EMAC drivers Agilex5 I can think of two possible use cases to use the ethernet drivers without connecting the device to an external phy: Enable loopback on the internal devices. Connect emac0 and emac1 together in the FPGA. In either case, your suggested device tree change is sufficient to properly bind the driver instances to the devices. Re: Agilex5 EMAC to Fabric For completeness, what version of Quartus and the GHRD are you using? Are you able to build the GHRD without making any changes? As an experiment, I suggest trying to route just one emac through the FPGA.