Có hai cách kích hoạt WiFi sau khi ngủ. Đầu tiên là một bản vá phổ biến cho Trình quản lý mạng như bạn có thể thấy tôi đã thực hiện bằng cách liệt kê tệp:
Tắt hoặc bật tiết kiệm năng lượng như minh họa dưới đây:
$ cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
wifi.powersave = 3
# Slow sleep fix: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670041
#wifi.powersave = 2
- Chỉnh sửa tệp Trình quản lý mạng được hiển thị ở trên.
- Thay đổi
WiFi.powersave
từ 2
thành 3
(Cho phép tiết kiệm năng lượng).
- Nếu nó đã được đặt để
3
thử cài đặt thành 2
(Tắt tiết kiệm năng lượng).
- Sau khi lưu tập tin chạy
sudo systemctl restart NetworkManager
Thứ hai là systemd
tập lệnh tải lại mô-đun hạt nhân WiFi khi tiếp tục tạm dừng. Nó xuất phát từ câu trả lời này: Các mạng wifi khả dụng không hiển thị đột ngột :
Kịch bản này được viết cho iwlwifi`, tên trình điều khiển Intel phổ biến. Nếu bạn khác thay đổi tên đó dưới đây:
#!/bin/sh
# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi which can be flakey after a long suspend.
# DATE: Apr 1, 2017. Modified August 30, 2017.
MYNAME=$0
restart_wifi() {
/usr/bin/logger $MYNAME 'restart_wifi BEGIN'
/sbin/modprobe -v -r iwldvm # This removes iwlwifi too
/sbin/modprobe -v iwlwifi # This starts iwldvm too
# systemctl restart NetworkManager.service
/usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESSED)'
/usr/bin/logger $MYNAME 'restart_wifi END'
}
/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
hibernate|suspend|pre*)
;;
resume|thaw|post*)
restart_wifi;;
esac
LƯU Ý: Đôi khi chỉ cần đặt lại trình quản lý mạng là tất cả những gì cần thiết. Trong trường hợp đó, không bình luận dòng trên bằng cách loại bỏ #
. Sau đó nhận xét hai dòng trên nó bằng cách đặt #
ở đầu của hai dòng đó.
Bạn sẽ cần phải tạo tập lệnh này, được gọi iwlwifi-reset
, với sudo
quyền hạn và lưu nó vào thư mục /lib/systemd/system-sleep
. Sau đó đánh dấu nó có thể thực thi được bằng cách sử dụng:
chmod a+x /lib/systemd/system-sleep/iwlwifi-reset