2 votes

Problèmes de Wake-On-LAN 13.04

Cela fait des semaines que j'essaie de faire fonctionner WOL sur mon serveur Ubuntu 13.04, mais cela ne semble pas fonctionner.

Je remarque que lorsque je suspends le serveur avec "sudo pm-suspend" ou via l'interface de bureau, la carte NIC s'éteint. C'est-à-dire qu'il n'y a pas de lumière clignotante sur le port réseau. Je ne sais pas si c'est le problème, mais dans mon cas, la carte NIC est désactivée. /var/log/syslog J'ai également vu que mon Ethernet ne faisait pas partie des PCI dont le "réveil du système est activé par 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

Mais selon "cat /proc/acpi/wakeup" ma carte ethernet est supposée être activée :

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

De mon "lspci -tv", vous pouvez voir que "pci:0000:00:1c.2" est la carte ethernet Atheros :

       +-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

J'ai aussi mis /sys/class/net/p2p1/device/power/wakeup à "activé". En plus de l'exécution sudo ethtool -s p2p1 wol g et l'a inséré dans mon /etc/rc.local

J'ai activé l'équivalent du réveil sur LAN/PCI dans mon Bios ASRock.

ethtool p2p1 (p2p1 est mon nom Qualcomm Atheros QCA8171 Gigabit Ethernet) montre ceci :

Supports Wake-on: pg
Wake-on: g

Alors qu'est-ce que je fais ? J'ai suivi tous les guides et suggestions que j'ai trouvés. Pensez-vous que c'est un problème de pilote ? Y a-t-il un moyen de mettre à jour le pilote Atheros ? Quelqu'un a-t-il pu réveiller le réseau si la carte NIC n'a pas de lumière clignotante ? Avec le système en place, j'ai utilisé wireshark et j'ai pu détecter les paquets WOL envoyés par mon dd-wrt local via la commande suivante /usr/sbin/wol -i 192.168.1.254 -v bc:5f:f4:be:38:e4 -p 9 . J'ai également pu recevoir les paquets d'une machine Windows avec un générateur WOL. Quelqu'un a-t-il des suggestions à faire car je suis à court d'idées..... Merci d'avance pour votre lecture.

Enfin, mon lspci -vv est comme tel si cela peut aider quelqu'un :

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

1voto

user198220 Points 31

Donc, après avoir bidouillé un peu plus, j'ai découvert que lorsque j'hiberne Ubuntu via

sudo pm-hibernate

les lumières NIC restent allumées et je suis capable de WOL. Cependant, ce n'est pas bon pour moi car j'ai un cryptage LVM qui nécessite d'entrer la clé de passe sur place et je ne peux pas le faire via la connexion à distance. En comparant les routines d'hibernation et de suspension, j'ai remarqué que lors de la suspension au sein de

/usr/lib/pm-utils/sleep.d/50unload_alx

il a la ligne :

modunload alx

qui, selon moi, décharge les pilotes de la carte réseau Atheros. Le commenter a fait l'affaire et les lumières sont restées allumées quand j'ai suspendu et maintenant je peux WOL.

CEPENDANT, j'ai découvert que la raison de l'alx modunload est due à un bug qui empêche la machine de se suspendre correctement, d'où son ajout probable.

Donc, la nouvelle situation dans laquelle je me trouve maintenant est que je suis capable de WOL à partir de la suspension mais je ne peux pas suspendre la machine après la première fois. Il est intéressant de noter que l'hibernation fonctionne bien et que le WOL à partir de l'hibernation fonctionne à chaque fois.

Je ne peux simplement pas suspendre et WOL et répéter encore et encore. La première suspension fonctionne avec

sudo pm-suspend

mais après cela, il ne le fait plus.

CEPENDANT, j'ai découvert que je peux suspendre l'ordinateur sans problème via le bureau (et ensuite WOL), ce que je trouve étrange.....

La nouvelle question est donc la suivante (je devrais peut-être créer un nouveau fil) :

Quelle est la différence entre

sudo pm-suspend

par rapport à la suspension par le bureau ?

Aussi, si je fais

sudo pm-suspend-hybrid

Il suspend et je peux aussi WOL. Si je règle la minuterie sur le bureau pour qu'il suspende après XX minutes, il suspend également et je peux WOL.

Quelle est la différence entre toutes ces routines et ce que fait sudo pm-suspend ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X