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

Reply via email to