[Bug 262316] em(4) does not autonegotiate when fixed media is set

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 03 Mar 2022 13:54:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262316

            Bug ID: 262316
           Summary: em(4) does not autonegotiate when fixed media is set
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: fbsd@opal.com

Created attachment 232221
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=232221&action=edit
patch to enable autonegotiation in em(4) for fixed media settings

Following brief discussion on freebsd-net@ [1] ...

An em(4) interface configured with fixed media/mediatype settings, as in:
        ifconfig em0 media 100baseTX mediatype full-duplex
does not respond to autonegotiation from the switch it is connected to. 
(Actually, it does for 1000base but not for 100base or 10base.)  As a result,
the switch may end up with mismatched configuration.

Attached patch enables autonegotiation even when media settings are set to
fixed 100base or 10base.  The autonegotiation will advertize just the
configured media setting.

I think there should probably also be:
        hw->phy.autoneg_wait_to_complete = FALSE;
for these 100base and 10base cases to handle the situation where the other end
isn't going to autonegotiate either.  I have no means to test this.

[1] https://lists.freebsd.org/archives/freebsd-net/2022-March/001371.html

-- 
You are receiving this mail because:
You are the assignee for the bug.