Décharge de la batterie lorsque l'ordinateur portable HP est arrêté depuis Ubuntu, mais pas depuis Windows

13

J'ai une configuration à double démarrage avec Ubuntu 16.04 LTS et Windows 10 sur un HP Pavilion 15-CC508NF . Lorsque j'arrête à partir de Windows 10, ma batterie reste telle quelle, pas de décharge. Mais lorsque je ferme Ubuntu, la batterie perd 5% par jour.

J'ai installé le package TLP et désactivé WOL (Wake-On-Lan) sur la carte Ethernet. Mais la batterie continue de se décharger lorsque l'ordinateur est éteint - 2% par jour.

Je pense que certains matériels continuent de consommer de l’énergie alors que l’ordinateur est éteint.

Une idée pour identifier le problème / le matériel à l'origine du problème?

yoann_dev
la source
avez-vous installé des outils en mode ordinateur portable?
Sebastian Stark
4
Comment arrêtez-vous l'ordinateur (bouton d'alimentation, ligne de commande, etc.)? Vous mentionnez à la fois l'arrêt et le sommeil dans votre question. L'arrêt, l'hibernation et le sommeil ont tous un comportement différent.
Jeff
Comment identifiez-vous la différence de batterie? Se pourrait-il qu'Ubuntu affiche un état de charge différent de celui des fenêtres?
Robert Riedl
@sebastien Aucun ordinateur portable-mode-tools n'est installé, je peux essayer le package laptop-mode-tools et supprimer TLP pour éviter les conflits.
yoann_dev
@jeff Il ne s'agit que d'un arrêt, je vais modifier ma question pour clarifier ce point. @RobertRiedl J'identifie l'écart de la batterie grâce au paquet TLP dans Ubuntu avec: sudo tlp-stat -b. Il affiche la charge restante actuelle en mAh et la charge complète. Après l'arrêt de Windows 10 ou Ubuntu, le lendemain, je démarre sur Ubuntu pour obtenir la charge restante.
yoann_dev

Réponses:

6

Un autre utilisateur avec un HP Pavilion perdait 10% de sa batterie pendant la nuit . Apparemment, il n'y avait pas de configuration BIOS pour Wake-on-LAN et ils ont dû utiliser cette méthode:

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

Le nom logique commençant par eest pour Ethernet qui signifie "LAN". Le nom logique commençant par west pour le WiFi qui n'est pas un problème.

Prenez ensuite le nom logique Ethernet / LAN et passez-le à la ethtoolcommande:

$ 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

Dans mon cas, "Wake on LAN" n'est pas activé mais si le vôtre apparaît:

    Wake-on: g

Cela signifie que "Wake-on-LAN" est activé et comme l'OP perd 0% de batterie par nuit, vous perdez 5% par jour.

Pour désactiver "Wake-on-LAN", l'OP utilisé:

sudo ethtool -s enp59s0 wol d
  • N'oubliez pas de remplacer enp59s0par votre nom logique à l'étape 1. ci-dessus.
  • wol signifie "Wake-on-LAN".
  • Le dreprésente disable.

ArchLinux a un article complet sur Wake-on-LAN .

Pourquoi utiliseriez-vous "Wake-on-LAN"?

Certains serveurs voudront réveiller les PC clients du jour au lendemain et installer de nouveaux programmes sur eux du jour au lendemain ou mettre à jour les fichiers.


USB désactivé dans Windows, laissé sous Ubuntu

Un utilisateur de Tom's Hardware signale que lorsque Windows arrête tous les appareils alimentés par USB, éteignez-les. Cependant, lorsque Ubuntu 16.04 s'arrête, les appareils alimentés par USB restent sous tension.

Pour confirmer si cela se produit dans votre cas, connectez un périphérique alimenté par USB tel qu'un téléphone portable ou une souris à tous les ports USB et voyez s'ils sont alimentés lorsque Ubuntu arrête l'ordinateur.

Scénarios moins probables

  • Réveillez-vous sur USB
  • Wake on Wireless LAN

Consulter le journal d'arrêt

J'ai l'expérience pendant suspendle système ne termine pas le processus. Lorsque le système reprend, il termine le processus. Vous devez vérifier votre /var/log/syslogou /var/log/syslog.1pour vous assurer que tout s'est bien arrêté et qu'il a été mis hors tension. Vous pouvez également vérifier journalctl -b-1pour voir la fin du démarrage précédent. Utilisez journalctl -bpour regarder le début du démarrage actuel.

Contexte: systemd suspend le système mais lors de la reprise du noyau, il entre en veille et se réveille

WinEunuuchs2Unix
la source
Merci d'avoir répondu. Comme je le dis dans mon premier post, j'avais désactivé WOL pour l'interface en01, mais la modification ne semble pas persister après le redémarrage ... Peut-être la raison de mon problème de batterie? Je vais essayer la longue rédaction d'ArchLinux.
yoann_dev
@yoann_dev Ce que j'ai vu dans le passé sur le double démarrage, c'est que le pilote Windows lui-même peut réactiver WoL, désactivez-le sur les deux systèmes d'exploitation et essayez de le mettre hors tension au lieu de redémarrer de l'un à l'autre système d'exploitation.
Fabby
@Fabby Il y a aussi le problème lorsque vous redémarrez à partir de Windows pour éviter qu'il ne coupe parfois complètement l'alimentation de la carte LAN, ce qui la rend inopérante pour Ubuntu. Vous devez arrêter à partir de Windows, allumer puis démarrer dans Ubuntu dans ces cas. Certes, c'est rare.
WinEunuuchs2Unix
Que fais-tu si tard? (me cingler dans le chat)
Fabby
1
@yoann_dev en01pourrait être un nom générique comme eth0. Assurez-vous que vous exécutez sudo lshw -class network | grep logicalpour confirmer le nom exact. Je n'ai pas recherché l' tlpapproche de ce problème mais je vous encourage à essayer de l' ethtoolutiliser dans cette réponse et les liens référencés.
WinEunuuchs2Unix
0

J'imagine que le système exécute toujours des services ou quelque chose.

Je suggérerais d'abord de regarder service --status-allet de décider s'il y en a que vous voulez juste arrêter. Vous pouvez également essayer de tout arrêter avant de vous arrêter. Il existe des moyens d'arrêter un service jusqu'au redémarrage, ce qui peut être exactement ce dont vous avez besoin.

Vous pouvez également mettre une liste de services dans un .txtfichier et l'utiliser pour arrêter ou démarrer un groupe de services.

Si vous n'êtes pas tout à fait sur l'approche "l'un après l'autre", vous pouvez également installer quelque chose qui vous donne une interface de type GUI - un outil comme sysv-rc-conf ou Jobs-Admin. Ils fournissent tous deux une interface agréable pour arrêter et démarrer des services. Le premier s'exécute dans le terminal, le second exécute une interface graphique séparée, car je sais que certaines personnes sont biaisées vers l'un ou l'autre.

J'espère que cela pourra aider. Honnêtement, je ne sais pas si c'est le cas, car je suppose que l'arrêt d'un système arrête tous les niveaux d'exécution, non? Mais ça vaut le coup d'essayer. :)

Ethan Moore
la source