Skip site navigation (1)Skip section navigation (2)
Message-ID:  <bug-282140-7501-vsmBv5zk5q@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-282140-7501@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282140

--- Comment #5 from Hiroshi Nishida <hnishida@thelustrecollective.com> ---
Comment on attachment 269399
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=269399
Fix Wake-on-LAN for Intel I226-V (igc driver)

I experienced the same issue on Intel NUC 13 Pro (Arena Canyon, Core i5-1340P)
with FreeBSD 14.4-RELEASE and Intel I226-V NIC.

SYMPTOMS:
WOL works when shutting down from BIOS, but does not work after "shutdown -p
now"
from FreeBSD. ifconfig shows WOL_MAGIC in options, but the machine never powers
on when a magic packet is sent.

ROOT CAUSE:
Two issues were found in the igc driver:

1. igc_get_wakeup() never sets IGC_WUFC_MAG (magic packet bit). As a result,
   igc_enable_wakeup() always jumps to the pme: label without arming the NIC
   for magic packet wakeup, even though WOL_MAGIC appears in ifconfig output.

2. The PHY Power Management register (IGC_I225_PHPM) has DIS_100_D3,
   DIS_1000_D3, and DIS_2500_D3 bits set on shutdown, which disables all
   link speeds in D3 state and prevents the NIC from receiving magic packets.

FIX:
- Always set IGC_WUFC_MAG in igc_get_wakeup()
- Clear DIS_100_D3, DIS_1000_D3 and DIS_2500_D3 bits in the PHPM register
  inside igc_enable_wakeup()

I built a custom kernel with the attached patch on 14.4-RELEASE and confirmed
that WOL works correctly after "shutdown -p now".

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

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-282140-7501-vsmBv5zk5q>