Ethernet link cycles up/down if "auto-negotiate" is explicitly selected in interface configuration
I have Celeron J1900-based SBC with Intel 82573V NIC's using the Intel PRO/1000 driver.
I'm running 2.4.4-RELEASE-p1 (amd64) built on Mon Nov 26 11:40:26 EST 2018
If I go into the "Interfaces" screen for my WAN interface and explicitly set the Speed and Duplex option to "autoselect" the interface will come up properly the first time after the system is booted. If Ethernet link is ever lost, or if any interface configuration changes are made that causes the interface configuration to be reloaded it will go into a bad state where it comes up, appears to work for about twenty seconds, then Ethernet link drops for about five seconds and then comes back up. During this cycle, the interface is not really operating properly even when the link is up. I saw this behavior with the WAN port connected directly to my Netgear cable modem and when connected to an Ethernet switch. Both devices are configured for autonegotiation.
I was rather mystified by this behavior and posted a message over on the Netgate forum: https://forum.netgate.com/topic/139022/wan-starts-cycling-link-after-ethernet-link-loss where somebody mentioned that it would work much better if I returned the Speed and Duplex option to "Default", which proved to be true.
Additional comments highlighted the fact that apparently pfSense is doing a separate ifconfig operation to explicitly set autonegotiation which may be causing a timing/race condition with this specific hardware/driver combination.
I believe this behavior qualifies as a bug because if the link is supposed to be using auto-negotiation, then explicitly configuring it that way shouldn't prevent the port from operating.