[Bug 282140] igc(4): Wake on LAN not working with Intel I226-V and GENERIC Kernel

[email protected]
Newsgroups gmane.os.freebsd.devel.net
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282140

--- Comment #5 from Hiroshi Nishida <[email protected]> ---
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.