Batterieverbrauch, wenn der HP Laptop von Ubuntu, aber nicht von Windows heruntergefahren wird


13

Ich habe ein Dual-Boot-Setup mit Ubuntu 16.04 LTS und Windows 10 auf einem HP Pavilion 15-CC508NF . Wenn ich Windows 10 herunterfahre, bleibt mein Akku so, wie er ist, keine Entladung. Aber wenn ich von Ubuntu herunterfahre, verliert der Akku 5% pro Tag.

Ich habe das TLP-Paket installiert und WOL (Wake-On-Lan) auf der Ethernet-Karte deaktiviert. Der Akku entlädt sich jedoch weiter, wenn der Computer ausgeschaltet ist - 2% pro Tag.

Ich denke, dass einige Hardware weiterhin Strom verbraucht, während der Computer ausgeschaltet ist.

Irgendeine Idee, um das Problem / die Hardware zu identifizieren, die das Problem verursacht?


Haben Sie Laptop-Mode-Tools installiert?
Sebastian Stark

4
Wie fahren Sie den Computer herunter (Ein- / Ausschalter, Befehlszeile usw.)? Sie erwähnen sowohl Herunterfahren als auch Schlafen in Ihrer Frage. Herunterfahren, Ruhezustand und Ruhezustand haben alle ein unterschiedliches Verhalten.
Jeff

Wie erkennen Sie die Batteriediskrepanz? Könnte es sein, dass Ubuntu einen anderen Ladezustand anzeigt als Windows?
Robert Riedl

@sebastien Es sind keine Tools für den Laptop-Modus installiert. Ich kann das Paket für die Tools für den Laptop-Modus testen und TLP entfernen, um Konflikte zu vermeiden.
yoann_dev

@jeff Es geht nur um Herunterfahren, ich werde meine Frage bearbeiten, um diesen Punkt zu klären. @RobertRiedl Ich identifiziere die Batterie Diskrepanz dank des TLP - Paket in Ubuntu mit: sudo tlp-stat -b. Es zeigt die aktuelle Restladung in mAh und die volle Ladung an. Nach dem Herunterfahren von Windows 10 oder Ubuntu starte ich am nächsten Tag auf Ubuntu, um die verbleibende Ladung zu erhalten.
yoann_dev

Antworten:


6

Ein anderer Benutzer mit einem HP Pavilion verlor über Nacht 10% des Akkus . Anscheinend gab es keine BIOS-Konfiguration für Wake-on-LAN und sie mussten diese Methode verwenden:

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

Der logische Name beginnt mit e Ethernet" , bedeutet "LAN". Der logische Name, der mit beginnt, wist für WiFi, was kein Problem darstellt.

Nehmen Sie dann den logischen Ethernet / LAN-Namen und übergeben Sie ihn an ethtool Befehl:

$ 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

In meinem Fall ist "Wake on LAN" nicht aktiviert, aber wenn deins zeigt:

    Wake-on: g

Das bedeutet, dass "Wake-on-LAN" eingeschaltet ist und wie beim OP "0% Batterie pro Nacht" die 5% pro Tag verloren gehen.

Um "Wake-on-LAN" auszuschalten, benutzte das OP:

sudo ethtool -s enp59s0 wol d
  • Denken Sie daran, zu ersetzen enp59s0 mit Ihrem logischen Namen aus Schritt 1 oben .
  • wol steht für "Wake-on-LAN".
  • Das dsteht für disable.

ArchLinux hat eine umfangreiche Beschreibung von Wake-on-LAN .

Warum sollten Sie "Wake-on-LAN" verwenden?

Einige Server möchten Client-PCs über Nacht aktivieren und über Nacht neue Programme auf ihnen installieren oder Dateien aktualisieren.


USB in Windows ausgeschaltet, in Ubuntu eingeschaltet

Ein Benutzer auf Toms Hardware meldet, dass beim Herunterfahren von Windows alle USB-Geräte ausgeschaltet werden. Wenn Ubuntu 16.04 jedoch USB-Geräte herunterfährt, bleiben diese eingeschaltet.

Um zu überprüfen, ob dies in Ihrem Fall der Fall ist, schließen Sie ein USB-fähiges Gerät wie ein Mobiltelefon oder eine Maus an alle USB-Anschlüsse an und prüfen Sie, ob diese mit Strom versorgt werden, wenn Ubuntu den Computer herunterfährt.

Weniger wahrscheinlich Szenerien

  • Auf USB aufwachen
  • Wake on Wireless LAN

Überprüfen Sie das Protokoll zum Herunterfahren

Ich habe Erfahrung, während suspenddas System den Prozess nicht beendet. Wenn das System fortgesetzt wird, ist der Vorgang abgeschlossen. Sie sollten Ihr /var/log/syslogoder überprüfen, /var/log/syslog.1um sicherzustellen, dass alles ordnungsgemäß heruntergefahren und ausgeschaltet wurde. Sie können auch das journalctl -b-1Ende des vorherigen Startvorgangs überprüfen . Verwendenjournalctl -b diese Option, um den Start des aktuellen Startvorgangs zu überprüfen.

Hintergrund: systemd unterbricht das System, wechselt aber nach dem Fortsetzen des Kernels in den Schlaf- und Weckmodus


Danke für die Antwort. Wie ich in meinem ersten Beitrag sagte, hatte ich WOL für die en01-Schnittstelle deaktiviert, aber die Änderung scheint nach dem Neustart nicht dauerhaft zu sein ... Vielleicht der Grund für mein Batterieproblem? Ich werde die umfangreiche Beschreibung für ArchLinux ausprobieren.
yoann_dev

@yoann_dev Was ich in der Vergangenheit beim Dual-Boot gesehen habe, ist, dass der Windows-Treiber selbst WoL möglicherweise wieder einschaltet. Deaktivieren Sie daher auf beiden Betriebssystemen und versuchen Sie, das System herunterzufahren, anstatt von einem zum anderen Betriebssystem neu zu starten.
Fabby

@Fabby Es gibt auch das Problem, dass beim Neustart von Windows aus die Stromversorgung der LAN-Karte manchmal ganz ausgeschaltet wird, sodass sie für Ubuntu nicht mehr funktioniert. In diesen Fällen müssen Sie Windows beenden, das System einschalten und Ubuntu starten. Zugegeben, es ist jedoch selten.
WinEunuuchs2Unix

Was machst du noch zu so später Stunde? (Ping mich im Chat)
Fabby

1
@yoann_dev en01könnte ein generischer Name wie sein eth0. Stellen Sie sicher, dass Sie ausgeführt werden sudo lshw -class network | grep logical, um den genauen Namen zu bestätigen. Ich habe nicht tlpnachgeforscht, wie dieses Problem angegangen werden kann, aber ich empfehle Ihnen, es ethtoolin dieser Antwort und den angegebenen Links zu versuchen .
WinEunuuchs2Unix

0

Ich würde mir vorstellen, dass auf dem System noch Dienste laufen oder so.

Ich würde vorschlagen, zuerst nachzuschauen service --status-all und zu entscheiden, ob es welche gibt, die Sie einfach stoppen möchten. Sie können auch versuchen, alle vor dem Herunterfahren zu stoppen. Es gibt Möglichkeiten, einen Dienst bis zum Neustart anzuhalten, sodass Sie möglicherweise genau das benötigen.

Sie können auch eine Liste von Diensten in a einfügen .txt Datei einfügen und diese verwenden, um eine Gruppe von Diensten zu stoppen oder zu starten.

Wenn Sie sich auch nicht nur mit dem "Nacheinander" -Ansatz befassen, können Sie etwas installieren, das Ihnen eine GUI-ähnliche Oberfläche bietet - ein Tool wie sysv-rc-conf oder Jobs-Admin. Beide bieten eine nette Schnittstelle zum Beenden und Starten von Diensten. Der erste läuft im Terminal, der zweite läuft auf einer separaten Benutzeroberfläche, da ich weiß, dass manche Leute entweder oder voreingenommen sind.

Ich hoffe, das hilft. Ich weiß ehrlich gesagt nicht, ob dies der Fall sein wird, da ich davon ausgehe, dass das Herunterfahren eines Systems die Runlevel insgesamt stoppt, oder? Aber es ist einen Versuch wert. :)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.