Hết pin khi máy tính xách tay HP bị tắt từ Ubuntu, nhưng không phải từ Windows


13

Tôi có thiết lập khởi động kép với Ubuntu 16.04 LTS và Windows 10 trên HP Pavilion 15-CC508NF . Khi tôi tắt máy từ Windows 10, pin của tôi vẫn như cũ, không xả. Nhưng khi tôi tắt máy từ Ubuntu, pin mất 5% mỗi ngày.

Tôi đã cài đặt gói TLP và WOL (Wake-On-Lan) bị vô hiệu hóa trên thẻ Ethernet. Nhưng pin vẫn tiếp tục xả khi máy tính tắt - 2% mỗi ngày.

Tôi nghĩ rằng một số phần cứng tiếp tục tiêu hao năng lượng trong khi máy tính tắt.

Bất kỳ ý tưởng để xác định vấn đề / phần cứng gây ra vấn đề?


Bạn đã cài đặt công cụ chế độ máy tính xách tay chưa?
Sebastian Stark

4
Làm thế nào để bạn tắt máy tính (nút nguồn, dòng lệnh ...)? Bạn đề cập đến cả tắt máy và ngủ trong câu hỏi của bạn. Tắt máy, ngủ đông và ngủ đều có hành vi khác nhau.
Jeff

Làm thế nào để bạn xác định sự khác biệt pin? Có thể là Ubuntu hiển thị trạng thái sạc khác với windows?
Robert Riedl

@sebastien Không có công cụ chế độ máy tính xách tay nào được cài đặt, tôi có thể thử gói công cụ chế độ máy tính xách tay và xóa TLP để tránh xung đột.
yoann_dev

@jeff Chỉ là về việc tắt máy, tôi sẽ chỉnh sửa câu hỏi của mình để làm rõ điểm này. @RobertRiedl Tôi xác định sự khác biệt về pin nhờ gói TLP trong Ubuntu với : sudo tlp-stat -b. Nó hiển thị mức sạc còn lại hiện tại tính bằng mAh và mức sạc đầy. Sau khi tắt Windows 10 hoặc Ubuntu, ngày hôm sau tôi khởi động trên Ubuntu để nhận khoản phí còn lại.
yoann_dev

Câu trả lời:


6

Một người dùng khác có HP Pavilion đã mất 10% pin qua đêm . Rõ ràng không có cấu hình BIOS cho Wake-on-LAN và họ phải sử dụng phương pháp này:

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

Tên logic bắt đầu bằng eEthernet có nghĩa là "LAN". Tên logic bắt đầu bằng wWiFi là điều không đáng lo ngại.

Sau đó lấy tên logic Ethernet / LAN và chuyển nó vào ethtoollệnh:

$ 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

Trong trường hợp của tôi, "Wake on LAN" không được bật nhưng nếu màn hình của bạn hiển thị:

    Wake-on: g

Điều đó có nghĩa là "Wake-on-LAN" được bật và giống như OP đang mất `0% pin mỗi đêm, bạn đang mất 5% mỗi ngày.

Để tắt "Wake-on-LAN", OP đã sử dụng:

sudo ethtool -s enp59s0 wol d
  • Nhớ thay thế enp59s0bằng tên logic của bạn từ bước 1. ở trên.
  • wol là viết tắt của "Wake-on-LAN".
  • Các dviết tắt cho disable.

ArchLinux có một bài viết mở rộng về Wake-on-LAN .

Tại sao bạn lại sử dụng "Wake-on-LAN"?

Một số máy chủ sẽ muốn đánh thức PC khách qua đêm và cài đặt các chương trình mới trên chúng qua đêm hoặc cập nhật tệp.


USB đã tắt trong Windows, còn lại trong Ubuntu

Một người dùng trên Phần cứng của Tom báo cáo rằng khi Windows tắt tất cả các thiết bị hỗ trợ USB tắt nguồn. Tuy nhiên, khi Ubuntu 16.04 tắt các thiết bị hỗ trợ USB vẫn bật nguồn.

Để xác nhận xem điều này có xảy ra trong trường hợp của bạn không, hãy gắn thiết bị hỗ trợ USB như điện thoại di động hoặc chuột vào tất cả các cổng USB và xem liệu chúng có được cấp nguồn khi Ubuntu tắt máy tính không.

Scenerios ít có khả năng

  • Thức dậy trên USB
  • Thức dậy trên mạng LAN không dây

Xem lại nhật ký tắt máy

Tôi đã có kinh nghiệm trong quá trình suspendhệ thống không hoàn thành quá trình. Khi hệ thống hoạt động trở lại, nó hoàn thành quá trình. Bạn nên kiểm tra /var/log/sysloghoặc /var/log/syslog.1để đảm bảo mọi thứ tắt máy đúng cách và được tắt nguồn. Bạn cũng có thể kiểm tra journalctl -b-1xem cuối của lần khởi động trước. Sử dụng journalctl -bđể xem bắt đầu khởi động hiện tại.

Bối cảnh: systemd tạm dừng hệ thống nhưng khi khôi phục kernel sau đó vào trạng thái ngủ và thức dậy


Cảm ơn câu trả lời. Như tôi đã nói trong bài đăng đầu tiên của mình, tôi đã vô hiệu hóa giao diện WOL cho en01, nhưng việc sửa đổi dường như không còn tồn tại sau khi khởi động lại ... Có lẽ lý do cho vấn đề về pin của tôi? Tôi sẽ thử viết bài mở rộng cho ArchLinux.
yoann_dev

@yoann_dev Những gì tôi đã thấy trong quá khứ khi khởi động kép là bản thân trình điều khiển Windows có thể bật lại WoL để vô hiệu hóa trên cả hai hệ điều hành và thử tắt nguồn thay vì khởi động lại từ hệ điều hành này sang hệ điều hành khác.
Fabby

@Fabby Cũng có một vấn đề khi bạn khởi động lại từ Windows để xóa nó đôi khi sẽ tắt hoàn toàn năng lượng của thẻ LAN khiến nó không hoạt động đối với Ubuntu. Bạn phải tắt máy từ Windows, bật nguồn và sau đó khởi động vào Ubuntu trong những trường hợp này. Cấp nó là hiếm mặc dù.
WinEunuuchs2Unix

Bạn đang làm gì mà muộn vậy? (ping tôi trong trò chuyện)
Fabby

1
@yoann_dev en01có thể là một tên chung như thế eth0. Hãy chắc chắn rằng bạn chạy sudo lshw -class network | grep logicalđể xác nhận tên chính xác. Tôi đã không nghiên cứu tlpphương pháp tiếp cận vấn đề này nhưng tôi khuyến khích bạn thử ethtoolsử dụng trong câu trả lời này và các liên kết được tham chiếu.
WinEunuuchs2Unix

0

Tôi sẽ tưởng tượng rằng hệ thống vẫn đang chạy các dịch vụ hoặc một cái gì đó.

Tôi sẽ đề nghị trước tiên xem xét service --status-allvà quyết định xem có bất kỳ bạn chỉ muốn dừng lại. Bạn cũng có thể cố gắng dừng tất cả trước khi tắt máy. Có nhiều cách để dừng dịch vụ cho đến khi khởi động lại, vì vậy đó có thể chính xác là những gì bạn cần.

Bạn cũng có thể đặt một danh sách các dịch vụ trong một .txttệp và sử dụng danh sách đó để dừng hoặc bắt đầu một nhóm dịch vụ.

Nếu bạn không phải là tất cả về cách tiếp cận "hết lần này đến lần khác", bạn có thể cài đặt thứ gì đó cung cấp cho bạn giao diện loại GUI - một công cụ như sysv-rc-conf hoặc Jobs-Admin. Cả hai đều cung cấp một giao diện đẹp để bạn dừng và bắt đầu dịch vụ. Cái đầu tiên chạy trong terminal, cái thứ hai chạy GUI riêng biệt, vì tôi biết một số người thiên vị với hoặc.

Mong rằng sẽ giúp. Tôi thực sự không biết liệu nó có làm được không, vì tôi cho rằng việc tắt một hệ thống sẽ ngăn chặn tất cả các đường băng lại với nhau, phải không? Nhưng nó đáng để thử. :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.