Hello,
I am trying to get Wake-on-LAN (WoL) from a complete shutdown (S5) working reliably on my MSI B650 Gaming Plus WiFi, but after several days of troubleshooting I have reached the point where I suspect the problem may be related to the motherboard itself, specifically its PCIe/power-management behaviour.
I would appreciate any help from MSI regarding whether there are known issues with WoL from S5 on this motherboard, or whether there are BIOS settings/firmware options that could affect the power supplied to a network adapter while the system is shut down.
1. SYSTEM INFORMATION
Hardware:
The motherboard's onboard Ethernet controller is:
The onboard adapter is normally connected as:
The network adapter driver originally was r8169, although I also tested Realtek's r8125 driver later.
2. THE PROBLEM
The actual problem is that Wake-on-LAN works from suspend, but is unreliable after a complete shutdown (S5).
Initially, WoL did not work from S5 at all. After changing the network adapter driver to r8125 and changing some configuration settings (see part 3 below), I managed to make it work some of the time. Currently it appears almost random. Sometimes the PC wakes, sometimes it does not.
When the machine is running, I have confirmed that the WoL packet actually reaches the machine:
sudo tcpdump -i enp14s0 -nn -q 'udp port 7 or udp port 9'
IP [SOURCE_IP].41211 > [LOCAL_IP].7: UDP, length 102
So the problem appears to be specifically related to what happens after the system enters S5.
3. WHAT I HAVE ALREADY TRIED
BIOS
I have checked and tested the following things in BIOS:
Onboard RTL8125 network adapter
After this did not fix it, i moved on to the RTL8125 adapter. I initially used the standard Linux r8169 driver, but I then switched to Realtek's proprietary r8125 driver, version 9.018.00, because i read this post. I also configured the driver with the following options:
This initially made a significant difference: WoL from shutdown worked for approximately 15 attempts in a row. However, it eventually started failing again, despite the exact same configuration. Sometimes the pc is off for 3 hours and WoL will work fine, sometimes it will fail if the pc has only been off for 5 minutes. The problem is not that WoL never works, but that it just is not consistent at all.
PCIe and power management
I investigated the entire PCIe path to the onboard NIC. The relevant path is:
I checked the PCIe power states and wake-up configuration. For the NIC:
power/wakeup = enabled
power/control = on
I also enabled wakeup on the relevant PCIe bridge devices. I temporarily forced the PCIe devices in the chain to: power/control = on and enabled their wake-up capability. This made no reliable difference. I tested disabling ASPM through the kernel: pcie_aspm=off and also tested: pcie_port_pm=off. It maybe seemed that these parameters slightly improved the chance for WoL to work, but it did not fix the problem entirely.
Different shutdown methods
I tested multiple ways of shutting down Linux:
Power cycling
I also tested complete power interruptions. After physically interrupting power and restoring it, WoL often fails for the first several attempts. I also tried shutting the PC down, disconnecting the Ethernet cable and draining the remaining power from the system. This did not resolve the problem.
Timing after shutdown
I also noticed some interesting behaviour. If I send the WoL packet very shortly after shutdown, usually within approximately 20 seconds, it almost always works. For proper testing I therefore started waiting at least two minutes after shutdown.
The router also shows interesting behaviour:
Testing an entirely different network adapter
This is one of the most important things I tested. I suspected that the onboard Realtek controller itself might simply be the problem. I therefore installed a completely separate PCIe Ethernet adapter and tested WoL using that adapter instead of the onboard RTL8125. The external adapter behaves somewhat better in some circumstances, but WoL from S5 is still not reliable. The external adapter always works if the pc has been powered off for less then an hour, but when the times are longer, it gets more and more inconsistent. There were a few tests where WoL appeared to work after longer periods of shutdown, but it was not a reliable solution. In particular, WoL still failed after the machine had been left powered off overnight, about 8 hours or more.
In other words, replacing the onboard network controller did not solve the problem. This makes it much less likely that the problem is simply a defective RTL8125, or an r8169/r8125 driver issue.
4. WHY I SUSPECT THE MOTHERBOARD
At this point, I find it difficult to explain the behaviour as a Linux driver problem. I have now tested multiple layers:
The most important observation is that both the onboard NIC and an external PCIe NIC exhibit S5 WoL problems. It also seems that the PCIe power-management configuration can affect the behaviour somewhat, although I have not found a reliable configuration. There is also a strong relationship with the transition to S5:
This makes me suspect that something is happening below the operating system, during the transition to S5. My current suspicion is that the motherboard is either:
Unfortunately, once the system is in S5, there is very little I can inspect from Linux to determine exactly what is happening. The fact that an entirely different PCIe Ethernet adapter shows similar behaviour is especially important to me, because it suggests that the common factor is not the RTL8125 itself, but the motherboard/PCIe/power-management path.
5. WHAT I WOULD LIKE TO KNOW FROM MSI
At this point I would really appreciate some input from MSI rather than further generic Linux WoL troubleshooting.
Specifically:
1. Is Wake-on-LAN from S5 officially supported on the B650 GAMING PLUS WIFI?
If so, are there any additional BIOS settings required besides:
If there is a newer beta BIOS or firmware that addresses PCIe power management, I would be willing to test it.
3. Is the PCIe slot guaranteed to provide the necessary auxiliary/standby power while the system is in S5?
This seems particularly relevant because WoL is unreliable with both the onboard NIC and an external PCIe NIC.
4. Could the AMD chipset/PCIe root-port power management be involved?
The onboard NIC is behind multiple PCIe bridges, and I have already found that changing the power-management configuration of those bridges can affect the behaviour somewhat, although I have not found a reliable configuration.
5. Is there a BIOS option or hidden setting related to PCIe auxiliary power, PME, ASPM, D3cold, or S5 wake that I should be testing?
I am particularly interested in anything MSI may know about that is not exposed in the normal BIOS interface.
IN SHORT
WoL from suspend works. WoL from S5 does not work reliably.
I have tried the standard Linux configuration, Realtek's official driver with explicit S5 WoL support, PCIe power-management changes, ASPM changes, different shutdown methods, BIOS updates/settings, and finally a completely different PCIe Ethernet adapter. The problem persists.
At this point I suspect the common factor is the motherboard/BIOS/PCIe power-management path, rather than the network adapter or Linux driver. If anyone from MSI has experience with the B650 GAMING PLUS WIFI and S5 Wake-on-LAN, I would very much appreciate some guidance on what the motherboard is supposed to do with PCIe/auxiliary power when entering S5, and whether there is a BIOS update or setting that could address this.
Thanks in advance.
I am trying to get Wake-on-LAN (WoL) from a complete shutdown (S5) working reliably on my MSI B650 Gaming Plus WiFi, but after several days of troubleshooting I have reached the point where I suspect the problem may be related to the motherboard itself, specifically its PCIe/power-management behaviour.
I would appreciate any help from MSI regarding whether there are known issues with WoL from S5 on this motherboard, or whether there are BIOS settings/firmware options that could affect the power supplied to a network adapter while the system is shut down.
1. SYSTEM INFORMATION
Hardware:
- Motherboard: MSI B650 GAMING PLUS WIFI
- BIOS ver: E7E26AMS.1O2
- CPU: AMD Ryzen 7 9800X3D
- GPU: XFX Radeon RX 9070 XT
- RAM: 32 GB
- OS: Linux Mint 22.3 Zena, based on Ubuntu 24.04
- Kernel: 7.0.0-28-generic
The motherboard's onboard Ethernet controller is:
- Realtek RTL8125 2.5GbE
- PCI address: 0e:00.0
- Device ID: 10ec:8125
- MSI subsystem ID: 1462:7e26
The onboard adapter is normally connected as:
00:02.1
└─ 05:00.0
└─ 06:0a.0
└─ 0e:00.0 (RTL8125)
The network adapter driver originally was r8169, although I also tested Realtek's r8125 driver later.
2. THE PROBLEM
The actual problem is that Wake-on-LAN works from suspend, but is unreliable after a complete shutdown (S5).
Initially, WoL did not work from S5 at all. After changing the network adapter driver to r8125 and changing some configuration settings (see part 3 below), I managed to make it work some of the time. Currently it appears almost random. Sometimes the PC wakes, sometimes it does not.
When the machine is running, I have confirmed that the WoL packet actually reaches the machine:
sudo tcpdump -i enp14s0 -nn -q 'udp port 7 or udp port 9'
IP [SOURCE_IP].41211 > [LOCAL_IP].7: UDP, length 102
So the problem appears to be specifically related to what happens after the system enters S5.
3. WHAT I HAVE ALREADY TRIED
BIOS
I have checked and tested the following things in BIOS:
- - Resume By PCI-E Device: Enabled
- - ErP Ready: Disabled
- - BIOS updated to 7E26v1O2
- - ASPM Control for CPU PCIe: tried both enabled and disabled
- PCI_E1 Gen Switch is manually set to Gen4. This was done to resolve a separate issue where the system sometimes had no video output during boot when using Auto. I have not changed this setting during the WoL troubleshooting, because changing it could reintroduce the boot/display issue. I am mentioning it in case it is relevant to PCIe power management or PCIe link initialization.
After this did not fix it, i moved on to the RTL8125 adapter. I initially used the standard Linux r8169 driver, but I then switched to Realtek's proprietary r8125 driver, version 9.018.00, because i read this post. I also configured the driver with the following options:
/etc/modprobe.d/net.conf
options r8125 disable_wol_support=0 s5_keep_curr_mac=1 s5wol=1 aspm=0
This initially made a significant difference: WoL from shutdown worked for approximately 15 attempts in a row. However, it eventually started failing again, despite the exact same configuration. Sometimes the pc is off for 3 hours and WoL will work fine, sometimes it will fail if the pc has only been off for 5 minutes. The problem is not that WoL never works, but that it just is not consistent at all.
PCIe and power management
I investigated the entire PCIe path to the onboard NIC. The relevant path is:
00:02.1
└─05:00.0
└─06:0a.0
└─0e:00.0 RTL8125
I checked the PCIe power states and wake-up configuration. For the NIC:
power/wakeup = enabled
power/control = on
I also enabled wakeup on the relevant PCIe bridge devices. I temporarily forced the PCIe devices in the chain to: power/control = on and enabled their wake-up capability. This made no reliable difference. I tested disabling ASPM through the kernel: pcie_aspm=off and also tested: pcie_port_pm=off. It maybe seemed that these parameters slightly improved the chance for WoL to work, but it did not fix the problem entirely.
Different shutdown methods
I tested multiple ways of shutting down Linux:
- sudo shutdown -h now
- sudo systemctl poweroff
- sudo poweroff
Power cycling
I also tested complete power interruptions. After physically interrupting power and restoring it, WoL often fails for the first several attempts. I also tried shutting the PC down, disconnecting the Ethernet cable and draining the remaining power from the system. This did not resolve the problem.
Timing after shutdown
I also noticed some interesting behaviour. If I send the WoL packet very shortly after shutdown, usually within approximately 20 seconds, it almost always works. For proper testing I therefore started waiting at least two minutes after shutdown.
The router also shows interesting behaviour:
- - Immediately after shutdown, the connection changes from >1 Gbit to <1 Gbit.
- - After approximately 25 seconds, the PC disappears completely from the router's connected-device/interface information.
- - This happens regardless of whether WoL eventually succeeds or fails.
- - Interestingly, I have also successfully woken the PC after it had already disappeared from the router interface.
This is one of the most important things I tested. I suspected that the onboard Realtek controller itself might simply be the problem. I therefore installed a completely separate PCIe Ethernet adapter and tested WoL using that adapter instead of the onboard RTL8125. The external adapter behaves somewhat better in some circumstances, but WoL from S5 is still not reliable. The external adapter always works if the pc has been powered off for less then an hour, but when the times are longer, it gets more and more inconsistent. There were a few tests where WoL appeared to work after longer periods of shutdown, but it was not a reliable solution. In particular, WoL still failed after the machine had been left powered off overnight, about 8 hours or more.
In other words, replacing the onboard network controller did not solve the problem. This makes it much less likely that the problem is simply a defective RTL8125, or an r8169/r8125 driver issue.
4. WHY I SUSPECT THE MOTHERBOARD
At this point, I find it difficult to explain the behaviour as a Linux driver problem. I have now tested multiple layers:
1. Onboard RTL8125
2. Linux r8169
3. Realtek's r8125 driver
4. Explicit s5wol=1
5. Different shutdown methods
6. Different PCIe power-management settings
7. PCIe wake-up settings on the NIC and its upstream bridges
8. ASPM enabled/disabled
9. pcie_aspm=off
10. pcie_port_pm=off
11. A completely different physical PCIe Ethernet adapter
The most important observation is that both the onboard NIC and an external PCIe NIC exhibit S5 WoL problems. It also seems that the PCIe power-management configuration can affect the behaviour somewhat, although I have not found a reliable configuration. There is also a strong relationship with the transition to S5:
- WoL works from suspend.
- WoL works reliably when the packet is sent very shortly after shutdown (< 30 seconds).
- WoL becomes more unreliable after the machine has been off for longer.
- A complete power interruption seems to make the problem more likely.
- The Ethernet controller disappears from the router after approximately 25 seconds.
- The LEDs near the ethernet port turning off are not a reliable indicator.
- The exact Linux shutdown command does not matter.
- The PCIe/NIC settings visible from Linux before shutdown do not distinguish successful and unsuccessful attempts.
- Changing the physical network adapter does not eliminate the problem.
This makes me suspect that something is happening below the operating system, during the transition to S5. My current suspicion is that the motherboard is either:
- removing or incorrectly managing auxiliary power to the PCIe network adapter,
- putting the PCIe root port/bridge into an incompatible power state,
- not correctly maintaining the PCIe wake mechanism in S5,
- or otherwise handling PCIe power management differently after a normal shutdown versus suspend.
Unfortunately, once the system is in S5, there is very little I can inspect from Linux to determine exactly what is happening. The fact that an entirely different PCIe Ethernet adapter shows similar behaviour is especially important to me, because it suggests that the common factor is not the RTL8125 itself, but the motherboard/PCIe/power-management path.
5. WHAT I WOULD LIKE TO KNOW FROM MSI
At this point I would really appreciate some input from MSI rather than further generic Linux WoL troubleshooting.
Specifically:
1. Is Wake-on-LAN from S5 officially supported on the B650 GAMING PLUS WIFI?
If so, are there any additional BIOS settings required besides:
- Resume By PCI-E Device = Enabled
- ErP = Disabled
2. Is there a known issue with PCIe WoL/S5 power management on this motherboard or BIOS version 7E26v1O2?If there is a newer beta BIOS or firmware that addresses PCIe power management, I would be willing to test it.
3. Is the PCIe slot guaranteed to provide the necessary auxiliary/standby power while the system is in S5?
This seems particularly relevant because WoL is unreliable with both the onboard NIC and an external PCIe NIC.
4. Could the AMD chipset/PCIe root-port power management be involved?
The onboard NIC is behind multiple PCIe bridges, and I have already found that changing the power-management configuration of those bridges can affect the behaviour somewhat, although I have not found a reliable configuration.
5. Is there a BIOS option or hidden setting related to PCIe auxiliary power, PME, ASPM, D3cold, or S5 wake that I should be testing?
I am particularly interested in anything MSI may know about that is not exposed in the normal BIOS interface.
IN SHORT
WoL from suspend works. WoL from S5 does not work reliably.
I have tried the standard Linux configuration, Realtek's official driver with explicit S5 WoL support, PCIe power-management changes, ASPM changes, different shutdown methods, BIOS updates/settings, and finally a completely different PCIe Ethernet adapter. The problem persists.
At this point I suspect the common factor is the motherboard/BIOS/PCIe power-management path, rather than the network adapter or Linux driver. If anyone from MSI has experience with the B650 GAMING PLUS WIFI and S5 Wake-on-LAN, I would very much appreciate some guidance on what the motherboard is supposed to do with PCIe/auxiliary power when entering S5, and whether there is a BIOS update or setting that could address this.
Thanks in advance.