Batteria scarica quando il laptop HP viene spento da Ubuntu, ma non da Windows


13

Ho una configurazione a doppio avvio con Ubuntu 16.04 LTS e Windows 10 su un HP Pavilion 15-CC508NF . Quando mi spengo da Windows 10, la mia batteria rimane così com'è, nessuna scarica. Ma quando mi spengo da Ubuntu, la batteria perde il 5% di giorno.

Ho installato il pacchetto TLP e disabilitato WOL (Wake-On-Lan) sulla scheda Ethernet. Ma la batteria continua a scaricarsi quando il computer è spento - 2% al giorno.

Penso che alcuni componenti hardware continuino a scaricare energia mentre il computer è spento.

Qualche idea per identificare il problema / l'hardware che causa il problema?


hai strumenti per laptop-mode installati?
Sebastian Stark,

4
Come si sta spegnendo il computer (pulsante di accensione, riga di comando ect ...)? Citi sia lo spegnimento che il sonno nella tua domanda. L'arresto, l'ibernazione e il sonno hanno comportamenti diversi.
Jeff,

Come si identifica la discrepanza della batteria? Potrebbe essere che Ubuntu mostri uno stato di carica diverso rispetto a Windows?
Robert Riedl,

@sebastien Non sono installati strumenti laptop-mode, posso provare il pacchetto laptop-mode-tools e rimuovere TLP per evitare conflitti.
yoann_dev,

@jeff Si tratta solo di spegnimento, modificherò la mia domanda per chiarire questo punto. @RobertRiedl mi identifico la discrepanza della batteria grazie al pacchetto TLP in Ubuntu con: sudo tlp-stat -b. Visualizza la carica rimanente corrente in mAh e la carica completa. Dopo l'arresto di Windows 10 o Ubuntu, il giorno dopo avvio su Ubuntu per ottenere la carica rimanente.
yoann_dev,

Risposte:


6

Un altro utente con un HP Pavilion stava perdendo la batteria del 10% durante la notte . Apparentemente non c'era una configurazione BIOS per Wake-on-LAN e dovevano usare questo metodo:

$ sudo lshw -class network | grep logical
       logical name: enp59s0
       logical name: wlp60s0

Il nome logico che inizia con eè per Ethernet che significa "LAN". Il nome logico che inizia con wè per WiFi che non preoccupa.

Quindi prendere il nome logico Ethernet / LAN e passarlo al ethtoolcomando:

$ sudo ethtool enp59s0
Settings for enp59s0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: Unknown
    Current message level: 0x000060e4 (24804)
                   link ifup rx_err tx_err hw wol
    Link detected: yes

Nel mio caso "Wake on LAN" non è attivo ma se il tuo mostra:

    Wake-on: g

Ciò significa che "Wake-on-LAN" è attivato e come se l'OP stia perdendo una batteria dello 0% a notte, stai perdendo il 5% al ​​giorno.

Per disattivare "Wake-on-LAN" l'OP utilizzato:

sudo ethtool -s enp59s0 wol d
  • Ricorda di sostituire enp59s0con il tuo nome logico dal passaggio 1. sopra.
  • wol sta per "Wake-on-LAN".
  • Lo dsta per disable.

ArchLinux ha un ampio resoconto su Wake-on-LAN .

Perché dovresti usare "Wake-on-LAN"?

Alcuni server vorranno riattivare i PC client durante la notte e installare nuovi programmi su di essi durante la notte o aggiornare i file.


USB spento su Windows, lasciato acceso su Ubuntu

Un utente su Tom's Hardware segnala che quando Windows spegne tutti i dispositivi alimentati tramite USB si spengono. Tuttavia, quando Ubuntu 16.04 spegne i dispositivi alimentati tramite USB rimangono accesi.

Per confermare se ciò accade nel tuo caso, collega un dispositivo USB come un telefono cellulare o un mouse a tutte le porte USB e verifica se sono alimentati quando Ubuntu arresta il computer.

Scenari meno probabili

  • Wake on USB
  • Wake on Wireless LAN

Rivedere il registro di arresto

Ho esperienza durante suspendil sistema non termina il processo. Quando il sistema riprende, completa il processo. È necessario controllare il proprio /var/log/syslogo /var/log/syslog.1per assicurarsi che tutto sia stato spento correttamente e sia stato spento. Puoi anche controllare journalctl -b-1per vedere la fine del precedente avvio. Utilizzare journalctl -bper guardare l'avvio dell'avvio corrente.

Background: systemd sospende il sistema ma al riavvio del kernel entra in modalità sleep e wake-up


Grazie per la risposta. Come ho detto nel mio primo post, avevo disabilitato WOL per l'interfaccia en01, ma la modifica non sembra essere persistente dopo il riavvio ... Forse il motivo del mio problema con la batteria? Proverò il vasto write-up per ArchLinux.
yoann_dev,

@yoann_dev Quello che ho visto in passato al dual-boot è che il driver di Windows stesso potrebbe riaccendere WoL, quindi disabilitare su entrambi i sistemi operativi e provare a spegnere invece di riavviare da un altro sistema operativo.
Fabby,

@Fabby C'è anche il problema quando riavvii da Windows per grub a volte spegne completamente la scheda LAN rendendola non operativa per Ubuntu. In questi casi è necessario arrestare Windows, accendere e quindi avviare Ubuntu. Concesso, però, è raro.
WinEunuuchs2Unix

Cosa fai così tardi? (ping me in chat)
Fabby

1
@yoann_dev en01potrebbe essere un nome generico come eth0. Assicurati di correre sudo lshw -class network | grep logicalper confermare il nome esatto. Non ho studiato l' tlpapproccio a questo problema, ma ti incoraggio a provare ad ethtoolusare questa risposta e i link citati.
WinEunuuchs2Unix

0

Immagino che il sistema stia ancora eseguendo servizi o qualcosa del genere.

Vorrei suggerire prima di tutto service --status-all e decidere se ce n'è uno che vuoi solo fermare. Puoi provare a fermare tutto anche prima di spegnere. Esistono modi per interrompere un servizio fino al riavvio, quindi potrebbe essere esattamente quello di cui hai bisogno.

È inoltre possibile inserire un elenco di servizi in a .txt file e utilizzarlo per interrompere o avviare un gruppo di servizi.

Se non ti occupi nemmeno dell'approccio "uno dopo l'altro", puoi installare qualcosa che ti dia un'interfaccia di tipo GUI - uno strumento come sysv-rc-conf o Jobs-Admin. Entrambi forniscono un'interfaccia piacevole per interrompere e avviare i servizi. Il primo viene eseguito nel terminale, il secondo esegue una GUI separata, poiché so che alcune persone sono orientate verso o o.

Spero possa aiutare. Onestamente non so se lo farà, dato che suppongo che lo spegnimento di un sistema arresti tutti i runlevel, giusto? Ma vale la pena provare. :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.