-
Notifications
You must be signed in to change notification settings - Fork 180
Description
Hi
- I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
- I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue
Describe the bug
Wake on LAN (WoL) regression after upgrading from OPNsense 24.x to 25.x. WoL works after a physical power cycle (S5 from G3), but fails after a clean software shutdown (S5 from S0). The system logs show critical ACPI errors related to the PCI bridge (_OSC method failure) which likely prevents the NIC from being correctly armed for PME (Power Management Event) during the transition to S5.
Last known working version: OPNsense 24.7
Tip: to validate your setup was working with the previous version, use opnsense-revert (https://docs.opnsense.org/manual/opnsense_tools.html#opnsense-revert)
To Reproduce
Steps to reproduce the behavior:
- Go to Interfaces -> [LAN/WAN Interface].
- Enable Wake on LAN.
- Verify WOL_MAGIC is active using ifconfig in the shell.
- Go to System -> Power -> Shutdown and perform a clean shutdown.
- Send a Magic Packet to the device: Device fails to wake.
Expected behavior
The device should wake up upon receiving a Magic Packet after a clean software shutdown, as it did in OPNsense 24.x
Describe alternatives you considered
-
Attempted to disable ACPI strict mode by adding hw.acpi.strict_mode="0" to /boot/loader.conf.local.
-
Verified that the NIC hardware and motherboard still support WoL by testing after a physical power unplug/replug (where it works).
-
Checked if the em driver correctly reports the WoL flag (it does).
-
Considered forcing PCI Power Management Event (PME) via system tunables, but I am awaiting developer guidance on the specific sysctl/tunable compatible with the FreeBSD 14.3 em driver stack to ensure the NIC stays powered in S5.
Relevant log files
ifconfig em0 (WOL is armed):
options=4802028<VLAN_MTU,JUMBO_MTU,WOL_MAGIC,HWSTATS,MEXTPG>
dmesg ACPI Errors:
[1] pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
[1] Firmware Error (ACPI): \134_SB.PCI0._OSC: Excess arguments - ASL declared 5, ACPI requires 4 (20221020/nsarguments-311)
[1] Firmware Error (ACPI): Failure creating named object [\134_SB.PCI0._OSC.CAPD], AE_ALREADY_EXISTS (20221020/dsfield-352)
[1] ACPI Error: AE_ALREADY_EXISTS, CreateBufferField failure (20221020/dswload2-639)
[1] ACPI Error: Aborting method \134_SB.PCI0._OSC due to previous error (AE_ALREADY_EXISTS) (20221020/psparse-689)
[1] pcib0: _OSC failed: AE_ALREADY_EXISTS
Additional context
The system is an older HP Desktop platform. The issue is likely a regression in the FreeBSD 14.3 ACPI implementation or the em driver's interaction with it during the S0 to S5 transition.
Since WoL works perfectly after a physical power cycle (G3 to S5), the hardware is correctly configured in the BIOS. The failure only occurs when the OS (OPNsense) handles the shutdown, suggesting that the ACPI _OSC failure on pcib0 prevents the kernel from maintaining the power to the NIC's PME (Power Management Event) logic. This was not an issue in OPNsense 24.x (FreeBSD 13.x).
Environment
OPNsense 25.x (FreeBSD 14.3-RELEASE-p5) CPU: Pentium(R) Dual-Core E5300 @ 2.60GHz NIC: Intel(R) 82567LM-3 ICH10 (em0)
Hardware: HP Desktop PC (older platform)
CPU: Pentium(R) Dual-Core E5300 @ 2.60GHz
NIC 1 (Target): Intel(R) 82567LM-3 ICH10 (em driver)
NIC 2: Realtek PCIe GbE Family Controller (re driver)
Software version used and hardware type if relevant, e.g.:
Best Regards