On Tue, Dec 3, 2019 at 12:40 PM Eddy Geez <eddyg...@gmail.com> wrote: > > BLUF: > Is there any way to bring the interface physically up immediately > when the e1000e driver loads so auto-negotiation can start? > > Greetings! > > I am evaluating some Intel NUCs that will be diskless and rely on > PXE netbooting. > > I have everything working, but the boot process is significantly > delayed after the OS (in this case, Ubuntu 18.04.3) starts: > > From the dmesg output: > > [ 1.390993] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k > [ 1.932005] e1000e 0000:00:1f.6 eno1: renamed from eth0 > [ 9.538232] e1000e: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow > Control: None > > So there's about 7 seconds where nothing is happening. > > I've searched this list and found messages about how auto-negotiation > can take 3-4 seconds, but there's more going on here. Specifically, > once iPXE is done and hands off control to the initrd, link on the NIC > goes away and does NOT come back up when the kernel loads the > e1000e driver. It isn't until the later in the boot process, when > the interface is configured, that link negotiation starts and the > LEDs on the NIC come back on. > > Is there any way to bring the interface physically up immediately > when the e1000e driver loads so auto-negotiation can start right > away? I'm guessing this simple change would take several seconds > off the boot time. (Incidentally, the auto-negotiation during PXE > boot happens very quickly.) > > FWIW, I've also built and installed the latest version of the driver: > > [ 1.410023] e1000e: Intel(R) PRO/1000 Network Driver - 3.6.0-NAPI > > and it didn't behave any differently. > > Thanks for any insight!
So the issue is likely going to be that the physical interface for the NIC is powered down in e1000e_reset via e1000_power_down_phy and is not powered back on until e1000e_open calls e100_power_up_phy. As such the PHY has to be powered on and initialized before you can even start getting to the link negotiation process. Also I believe 3 to 4 seconds is the typical link time for 10/100Mbps Ethernet. If I recall correctly for 1Gbps you are looking at 4 to 5 seconds for link negotiation. Hope that helps. - Alex _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel Ethernet, visit https://forums.intel.com/s/topic/0TO0P00000018NbWAI/intel-ethernet