problemas do Wake-On-LAN 13.04

2

Estou tentando fazer com que o WOL funcione por semanas na instalação do meu servidor Ubuntu 13.04, mas parece que não funciona.

Percebo quando suspendo o servidor com "sudo pm-suspend" ou através do GUI da área de trabalho, a placa NIC é desativada. Ou seja, não há luzes piscando na porta da rede. Eu não sei se esse é o problema, mas no meu /var/log/syslog , eu também vi que meu ethernet não era um dos PCIs que tinham "ativação do sistema habilitada pela 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

Mas, de acordo com "cat / proc / acpi / wakeup", minha placa ethernet deve ser ativada:

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

Do meu "lspci -tv", você pode ver que "pci: 0000: 00: 1c.2" é a placa 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

Também defino /sys/class/net/p2p1/device/power/wakeup como 'ativado'. Bem como correu sudo ethtool -s p2p1 wol g e inseriu isso no meu /etc/rc.local

Eu habilitei a ativação equivalente em LAN / PCI na minha ASRock Bios.

ethtool p2p1 (p2p1 é o nome do meu Gigabit Ethernet Qualcomm Atheros QCA8171) mostra isso:

Supports Wake-on: pg
Wake-on: g

Então, o que eu faço? Eu segui todos os guias e sugestões que encontrei. Você acha que é um problema de driver? Existe uma maneira de atualizar o driver Atheros? Alguém foi capaz de acordar na lan se a placa NIC não tiver luzes piscando? Com o sistema, usei o wireshark e consegui detectar os pacotes WOL enviados do meu dd-wrt local através do comando /usr/sbin/wol -i 192.168.1.254 -v bc:5f:f4:be:38:e4 -p 9 . Eu também fui capaz de receber os pacotes de uma máquina windows com um gerador WOL. Alguém tem alguma sugestão, já que estou sem idéias ... Obrigado antecipadamente pela leitura.

Por fim, meu lspci -vv é como tal, se isso ajudar alguém:

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
    
por user198220 02.10.2013 / 23:25

1 resposta

1

Então, depois de mexer um pouco mais, descobri que quando eu hibrava o Ubuntu via

sudo pm-hibernate

as luzes da NIC permanecem acesas e eu posso usar o WOL. No entanto, isso não é bom para mim, pois tenho a criptografia LVM, portanto, é necessário inserir a senha no local e não posso fazer isso por meio de conexão remota. Na comparação das rotinas de hibernação e suspensão notei que em suspender dentro de

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

tem a linha:

  

'modunload alx'

que eu encontrei é o que está descarregando os drivers para a placa de rede atheros. Comentando isso, o truque e as luzes permaneceram quando eu suspender e agora eu posso WOL.

No entanto, eu descobri a razão para o modunload alx é devido a um bug que impede a máquina de suspender corretamente, portanto, provavelmente foi adicionado em.

Então, a nova situação em que estou agora é que posso suspender o WOL, mas não consigo suspender a máquina depois da primeira vez. Curiosamente, a hibernação funciona bem e WOL da hibernação funciona o tempo todo.

Eu apenas não consigo suspender e WOL e repetir uma e outra vez. Primeiro, suspenda os trabalhos com

sudo pm-suspend

mas depois disso, não faz mais.

No entanto, descobri que posso suspender bem a área de trabalho (e depois o WOL), o que acho estranho ...

Então, a nova pergunta é (talvez eu deva criar um novo tópico):

Qual é a diferença entre

sudo pm-suspend

versus suspender por meio da área de trabalho?

Além disso, se eu fizer

sudo pm-suspend-hybrid

Ele suspende e eu também posso WOL. Se eu definir o temporizador na área de trabalho para suspender após XX minutos, ele também é suspenso e eu posso WOL.

Então, qual é a diferença entre todas essas rotinas versus o que o sudo pm-suspend faz ??

    
por user198220 04.10.2013 / 17:42