Wake-On-LAN 13.04 problems
So, after fiddling some more, I discovered that when I hibernate Ubuntu via
sudo pm-hibernate
the NIC lights stay on and I am able to WOL. However, that is no good for me since I have LVM encryption so it requires entering the passkey onsite and I can't do that via remote-in. On comparison of the hibernation and suspend routines I noticed that on suspend within
/usr/lib/pm-utils/sleep.d/50unload_alx
it has the line:
'modunload alx'
which I found is what is unloading the drivers for the atheros NIC. Commenting it out did the trick and the lights stayed on when I suspend and now I can WOL.
HOWEVER, I discovered the reason for the modunload alx is due to a bug that prevents the machine from suspending properly, hence it was probably added in.
SO, the new situation I am in now is that I am able to WOL from suspend but I can't suspend the machine after the first time. Interestingly enough, hibernation works fine and WOL from hibernation works every time.
I just can't suspend and WOL and repeat over and over again. First suspend works with
sudo pm-suspend
but after that, it does not anymore.
HOWEVER, I found that I can suspend fine through the desktop (and then WOL), which I find strange....
So the new question is (perhaps I should create a new thread):
What is the difference between
sudo pm-suspend
versus suspending through the desktop??
Also, if I do
sudo pm-suspend-hybrid
It suspends and I can also WOL. If I set the timer on the desktop to suspend after XX minutes, it also suspends fine and I can WOL.
So what is the difference between all these routines versus what sudo pm-suspend does??
Related videos on Youtube
user198220
Updated on September 18, 2022Comments
-
user198220 over 1 year
I've been trying to get WOL to work for weeks on my Ubuntu server 13.04 install but it just doesn't seem to work.
I notice when I suspend the server with "sudo pm-suspend" or via the desktop gui, the NIC card turns off. I.e., there is no blinking lights on the network port. I don't know if that's the issue but in my
/var/log/syslog
, I also saw that my ethernet was not one of the PCIs that had "system wakeup enabled by ACPI":Oct 2 16:46:10 JAMFS1 kernel: [26462.745615] PM: suspend of devices complete after 519.955 msecs Oct 2 16:46:10 JAMFS1 kernel: [26462.745743] PM: late suspend of devices complete after 0.126 msecs Oct 2 16:46:10 JAMFS1 kernel: [26462.745953] ehci-pci 0000:00:1d.0: System wakeup enabled by ACPI Oct 2 16:46:10 JAMFS1 kernel: [26462.761576] ehci-pci 0000:00:1a.0: System wakeup enabled by ACPI Oct 2 16:46:10 JAMFS1 kernel: [26462.793491] xhci_hcd 0000:00:14.0: System wakeup enabled by ACPI Oct 2 16:46:10 JAMFS1 kernel: [26462.809491] PM: noirq suspend of devices complete after 63.784 msecs Oct 2 16:46:10 JAMFS1 kernel: [26462.809695] ACPI: Preparing to enter system sleep state S3 ....... Oct 2 16:46:10 JAMFS1 kernel: [26463.464575] ACPI: Waking up from system sleep state S3 Oct 2 16:46:10 JAMFS1 kernel: [26463.510511] xhci_hcd 0000:00:14.0: System wakeup disabled by ACPI Oct 2 16:46:10 JAMFS1 kernel: [26463.542498] ehci-pci 0000:00:1a.0: System wakeup disabled by ACPI Oct 2 16:46:10 JAMFS1 kernel: [26463.574474] ehci-pci 0000:00:1d.0: System wakeup disabled by ACPI Oct 2 16:46:10 JAMFS1 kernel: [26463.590562] PM: noirq resume of devices complete after 125.527 msecs Oct 2 16:46:10 JAMFS1 kernel: [26463.590650] PM: early resume of devices complete after 0.071 msecs
But according to "cat /proc/acpi/wakeup" my ethernet card IS supposed be to enabled:
Device S-state Status Sysfs node USB1 S3 *disabled RP01 S4 *enabled pci:0000:00:1c.0 RP03 S4 *enabled pci:0000:00:1c.2 GLAN S4 *disabled EHC1 S4 *enabled pci:0000:00:1d.0 EHC2 S4 *enabled pci:0000:00:1a.0 XHC S4 *enabled pci:0000:00:14.0 HDEF S4 *enabled pci:0000:00:1b.0 PEG0 S4 *disabled PEGP S4 *disabled
From my "lspci -tv", you can see that "pci:0000:00:1c.2" is the Atheros ethernet card:
+-14.0 Intel Corporation Lynx Point USB xHCI Host Controller +-16.0 Intel Corporation Lynx Point MEI Controller #1 +-1a.0 Intel Corporation Lynx Point USB Enhanced Host Controller #2 +-1b.0 Intel Corporation Lynx Point High Definition Audio Controller +-1c.0-[01]-- +-1c.2-[02]----00.0 Qualcomm Atheros QCA8171 Gigabit Ethernet +-1d.0 Intel Corporation Lynx Point USB Enhanced Host Controller #1 +-1f.0 Intel Corporation Lynx Point LPC Controller
I also set
/sys/class/net/p2p1/device/power/wakeup
to 'enabled'. As well as ransudo ethtool -s p2p1 wol g
and inserted that into my/etc/rc.local
I have enabled the equivalent wake on LAN/PCI in my ASRock Bios.
ethtool p2p1
(p2p1 is my Qualcomm Atheros QCA8171 Gigabit Ethernet name) shows this:Supports Wake-on: pg Wake-on: g
So what do I do?? I followed every guide and suggestion I found. Do you think it's a driver issue? Is there a way to update the Atheros driver? Has anyone been able to wake on lan if the NIC card has no blinking lights? With the system up, I used wireshark and was able to detect the WOL packets sent from my local dd-wrt via the command
/usr/sbin/wol -i 192.168.1.254 -v bc:5f:f4:be:38:e4 -p 9
. I also was able to receive the packets from a windows machine with a WOL generator. Anyone has any suggestions as I'm just out of ideas.... Thanks in advance for reading.Lastly, my
lspci -vv
is as such if that helps anyone:02:00.0 Ethernet controller: Qualcomm Atheros QCA8171 Gigabit Ethernet (rev 10) Subsystem: ASRock Incorporation Device 10a1 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+ Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at f0400000 (64-bit, non-prefetchable) [size=256K] Region 2: I/O ports at e000 [size=128] Capabilities: [40] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] Express (v1) Endpoint, MSI 00 DevCap: MaxPayload 4096 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited ExtTag- AttnBtn+ AttnInd+ PwrInd+ RBE+ FLReset- DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+ RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr+ TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 unlimited, L1 unlimited ClockPM+ Surprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- Capabilities: [c0] MSI: Enable- Count=1/16 Maskable+ 64bit+ Address: 0000000000000000 Data: 0000 Masking: 00000000 Pending: 00000000 Capabilities: [d8] MSI-X: Enable+ Count=16 Masked- Vector table: BAR=0 offset=00002000 PBA: BAR=0 offset=00003000 Capabilities: [100 v1] Advanced Error Reporting UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol- UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UESvrt: DLP- SDES+ TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+ AERCap: First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn- Capabilities: [180 v1] Device Serial Number ff-be-38-f4-bc-ef-f4-df Kernel driver in use: alx