For roughly 1 in 30 reboot cycles, the em driver attempts to initialize the 82563EB PHY and the attempt fails. The code looks ok but the chip returns a funny value.
Putting the hardware initialization routine in a loop in if_em.c fixes the issue. (see attached patch).
I'm pretty sure that is will be a problem in all releases of FreeBSD 6.x-8.x.
Fix: Attached Patch.
Alternatively, check return code of e1000_init_hw in if_em.c:em_hardware_init(). If if fails, loop up to three times. The loop should encompass e1000_reset_hw().
Patch attached with submission follows:
How-To-Repeat: Reboot a Intel 5000PSL based machine 30 plus times. Look for "Hardware Initialization Failed" in the message log. The em device may not appear in an ifconfig -a listing or the networking will not function. Try "host www.cnn.com" as a quick check.
Over to maintainer(s).
I am experiencing this error on the SuperMicro X8SIE-F motherboard on
8.0-Stable, as of about a week ago. The patch also works for me,
but since I've only ever seen this on em0, never em1, I suspect there
is a timing component when the hardware is first accessed during boot.
It occurs far, far more frequently than 1 in 30 boots. (more like 1 in
3 or 1 in 2)
Over to maintainer.
(In reply to ssanders from comment #0)
This patch should be uneeded in 10.1 and 10.2r
Any chance after all these years your machines are still accessible and useable?
Reassign to erj@ for triage. To submitter: is this issue still relevant?
For bugs that match the following
- Status Is In progress
- Untouched since 2018-01-01.
- Affects Base System OR Documentation
Reset to open status.
I did a quick pass but if you are getting this email it might be worthwhile to double check to see if this bug ought to be closed.