Câu trả lời:
Lỗi chính của Ubuntu theo dõi vấn đề này, ít nhất là đối với mô-đun hạt nhân mạng r8169, dường như là:
https://bugs.launchpad.net/ubfox/+source/linux/+orms/1752772
Tôi khuyến khích tất cả mọi người bị ảnh hưởng bởi vấn đề này đến đó và đánh dấu rằng nó ảnh hưởng đến bạn, để những người bảo trì có ý thức tốt hơn về mức độ nghiêm trọng của nó.
Tôi đang chạy bản cài đặt mới của Xubfox 18.04 và giao diện Ethernet của tôi sử dụng mô-đun hạt nhân r8169 , mà tôi phát hiện ra khi chạy:
sudo lshw -C network
Sẽ có 2 nhóm thông tin, một nhóm bắt đầu description: Ethernet interface
và một nhóm khác description: Wireless interface
. Bên dưới description: Ethernet interface
, hãy tìm một dòng bắt đầu bằng configuration:
, như thế này:
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full firmware=rtl_nic/rtl8105e-1.fw ip=192.168.100.6 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
Người lái xe sẽ ở đây : driver=
.
Systemd chạy tất cả các kịch bản thực thi dưới /lib/systemd/system-sleep
trước và sau khi đình chỉ, đi qua 2 thông số, $1
là nhà nước ( pre
trước khi đình chỉ, hoặc post
sau khi đình chỉ), và $2
là hành động ( suspend
, hibernate
, hybrid-state
, hoặc suspend-then-hibernate
). Điều này được ghi lại trong trang người đàn ông cho systemd-suspend.service
.
Chúng ta cần tải lại mô-đun cho giao diện Ethernet khi tiếp tục tạm dừng, sau khi tạm dừng. Vì vậy, tôi đã tạo ra kịch bản /lib/systemd/system-sleep/r8169-refresh
:
#!/bin/bash
PROGNAME=$(basename "$0")
state=$1
action=$2
function log {
logger -i -t "$PROGNAME" "$*"
}
log "Running $action $state"
if [[ $state == post ]]; then
modprobe -r r8169 \
&& log "Removed r8169" \
&& modprobe -i r8169 \
&& log "Inserted r8169"
fi
và làm cho nó thực thi:
chmod +x /lib/systemd/system-sleep/r8169-refresh
Các thông điệp được ghi lại từ tập lệnh sẽ /var/log/syslog
được gắn thẻ với tên của tập lệnh và PID của nó. Bằng cách này, bạn có thể kiểm tra xem tập lệnh có tải lại mô-đun kernel hay không:
grep r8169-refresh /var/log/syslog
Đây là một giải pháp (r?) Đơn giản khác: tạo một dịch vụ systemd với nhiệm vụ duy nhất là dỡ / tải lại mô-đun sau một chu kỳ tạm dừng (tôi đặt tên là /etc/systemd/system/fix-r8169.service ):
[Unit]
Description=Fix RTL-8169 Driver on resume from suspend
After=suspend.target
[Service]
User=root
Type=oneshot
ExecStartPre=/sbin/modprobe -r r8169
ExecStart=/sbin/modprobe r8169
TimeoutSec=0
StandardOutput=syslog
[Install]
WantedBy=suspend.target
Sau đó, chỉ cần thực hiện systemctl enable fix-r8169.service
, và bạn nên được thiết lập !! Bây giờ Systemd sẽ tự động tải và tải lại mô-đun của bạn sau khi tạm dừng.
Chúc mừng!
Nó cũng xảy ra với tôi
Dỡ / tải lại các mô-đun / trình điều khiển hạt nhân mạng hoạt động.
Của tôi là r8169, vì vậy (là root): (Tôi gõ bằng tay, nên có một sự chậm trễ)
sudo modprobe -r r8169
sudo modprobe -i r8169
Tôi cũng đã loại bỏ mii trong lần thử đầu tiên. Không cần thiết mặc dù.
Tôi đã có cùng một vấn đề và tôi tìm thấy giải pháp này.
chạy: sudo lshw -C network
để tìm mô-đun hạt nhân thẻ mạng của bạn
Trong * -network, mô tả: Giao diện Ethernet, trong trường cấu hình được tìm thấy
driver=sky2
cho tôi. sky2 là một mô-đun hạt nhân mạng ethernet cho máy tính xách tay của tôi.
Tôi tạo một tập tin sky2.sh vào: /lib/systemd/system-sleep/
thư mục với
#!/bin/bash
modprobe -r sky2 # unload sky2 kernel module
modprobe -i sky2 # reload sky2 kernel module
và thay đổi quyền với:
sudo chmod a+x sky2.sh
Sau đó, vấn đề được giải quyết.
Nó phát hiện kết nối Ethernet?
sau đó
mở NetworkManager.conf
sudo nano /etc/NetworkManager/NetworkManager.conf
Nhận xét (Thêm #) dns=dnsmasq
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
[ifupdown]
managed=true
Khởi động lại trình quản lý mạng
sudo service network-manager restart
systemctl status NetworkManager.service
để kiểm tra lỗi
tôi đã giải quyết vấn đề này trên Ubuntu 18.04 Bionic của mình bằng cách cập nhật kernel từ 4.15 lên 4.20 (mới nhất vào ngày 16 tháng 1 năm 2012) bằng UKUU
để cài đặt kernel mới nhất cài đặt Ubuntu Kernel Update Utility
sudo add-apt-repository ppa:teejee2008/ppa
sudo apt-get install ukuu
vô hiệu hóa kiểm soát truy cập bằng lệnh sau:
sudo xhost +
sau đó cài đặt với ukuu
sudo ukuu
sudo ukuu --install-latest
và khởi động lại
sudo reboot
Nhấn Ctrl+ Alt+ Tđể đi đến một thiết bị đầu cuối và gõ:
sudo apt-get purge tlp
hoặc là
chỉnh sửa /etc/default/tlp
và thay đổi:
WOL_DISABLE = NO
đến
WOL_DISABLE = YES
Tôi không có đủ danh tiếng để bình luận hoặc đưa ra câu trả lời được chấp nhận (hiện đã lỗi thời)
Nếu bạn chạy lsmod | grep r8169
và nó cho thấy bạn đã tải mô-đun hạt nhân r8169 và hạt nhân của bạn cũ hơn 4.15.0-24 thì rất có thể bạn bị ảnh hưởng bởi lỗi được liên kết trong câu trả lời được chấp nhận
https: //bugs.launchpad. net / ubfox / + nguồn / linux / + bug / 1752772
BTW Tôi đã gặp lỗi này và cho tôi lspci | grep 'Gigabit Ethernet'
thấy
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Lỗi này đã được cố định.
Nếu kernel của bạn cũ hơn 4.15.0-24, chỉ cần chạy
apt-get update
apt-get upgrade
apt-get dist-upgrade
reboot
Tôi đã có cùng một vấn đề nhưng các giải pháp ở đây không làm việc cho tôi. Tôi đã dành nhiều ngày đi qua một số diễn đàn về chủ đề này và đã thử mọi thứ. Hai giải pháp thay thế được đề cập, nâng cấp Kernel hoặc cài đặt trình điều khiển mô-đun trước đó. Tôi đã chọn cái sau và cài đặt trình điều khiển r8168. Ban đầu, điều đó cũng thất bại. Tuy nhiên, tôi đã phát hiện ra một cái gì đó hoạt động và điều chỉnh nó theo giải pháp từ Paulo.
Tôi đang chạy (K) trên Ubuntu 18.04 với Kernel 4.15.0-24 chung.
Đầu ra từ mạng lshw -C bao gồm ...
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:05:00.0
logical name: enp5s0
version: 0c
serial: 80:fa:5b:49:69:b3
size: 1Gbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.045.08-NAPI duplex=full ip=192.168.10.213 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:133 ioport:e000(size=256) memory:df000000-df000fff memory:d0000000-d0003fff
Tôi đã cài đặt gói r8168-dkms , tuy nhiên điều đó là không đủ. Cần thêm hai bước nữa.
Bước 1) Chỉnh sửa tệp /etc/modprobe.d/r8168-dkms.conf và bật dòng (tức là xóa nhận xét) danh sách đen r8169
Bước 2) Dựa trên giải pháp từ Paulo, tôi đã tạo tập lệnh / lib / systemd / system-ngủ / r8168-refresh sau đây
#! / bin / bash PROGNAME = $ (tên cơ sở "$ 0") bang = $ 1 hành động = $ 2 nhật ký hàm { logger -i -t "$ PROGNAME" "$ *" } đăng nhập "Chạy $ action $ state" if [[$ state == post]]; sau đó đăng nhập "ifconfig xuống enp5s0" ifconfig enp5s0 xuống đăng nhập "ifconfig lên enp5s0" ifconfig enp5s0 192.168.10.213 fi
Mã này tất nhiên là dành riêng cho máy của tôi (tên thiết bị và địa chỉ IP). Nó chắc chắn có thể được cải thiện nhưng nó đáp ứng nhu cầu của tôi vào lúc này.
Điều này sẽ làm việc với NetworkManager.
Điều này cũng xảy ra với tôi với bo mạch chủ Gigabyte-B250M-DS3H sau khi nâng cấp từ Ubuntu 16.04 lên 18.04 vào ngày 28 tháng 7 năm 2018. Hạt nhân có chung 4.15.0-29.
Kết quả sudo lshw -C network
cho thấy Bộ điều khiển Ethernet Gigabit Gigabit tốc độ RTL8111 / 8168/8411, trong khi nó cho thấy r8169 là trình điều khiển được sử dụng.
Điều cuối cùng đã làm là cài đặt trình điều khiển cụ thể cho bộ điều khiển Ethernet (điều ngạc nhiên lớn):
sudo apt install r8168-dkms
và sau đó khởi động lại máy tính (Cảm ơn andypotter). Tôi không phải đưa vào danh sách đen r8169, nhưng tôi vẫn phải tạo một kịch bản /lib/systemd/system-sleep/
mà tôi đã gọi r8168-refresh-after-suspend
(lời khuyên của Paulo) sẽ loại bỏ và tái xác nhận r8168:
#!/bin/bash
# $1 is the state (pre or post)
# $2 is the action (suspend)
case $1/$2 in
pre/suspend)
modprobe -r r8168
;;
post/suspend)
modprobe -i r8168
;;
esac
và, tất nhiên, làm cho nó có thể thực thi được với:
sudo chmod +x /lib/systemd/system-sleep/r8168-refresh-after-suspend
Điều này làm việc như một nét duyên dáng. Vì vậy, đây vẫn là một vấn đề trong kernel 4.15.0-29, nhưng bản sửa lỗi hỗ trợ băng tần vẫn hoạt động.
Tôi có cùng một vấn đề (driver = r8169), Ethernet không hoạt động sau khi tiếp tục tạm dừng.
Nó hoạt động hoàn toàn tốt với kernel 4.13.0-31. Nói cách khác, Ethernet tiếp tục hoạt động sau khi tiếp tục tạm dừng.
Nhưng với kernel 4.15.0-32, Ethernet không hoạt động sau khi tiếp tục tạm dừng. Tôi đã thử sửa
modprobe -r r8169
modprobe -i r8169
nhưng điều này không có tác dụng.
Tôi đã báo cáo điều này với https://bugs.launchpad.net/ubfox/+source/linux/+orms/1752772
Điều đầu tiên cần kiểm tra: khởi động lại trình quản lý / dịch vụ mạng:
sudo dịch vụ quản lý mạng khởi động lại
Nếu nó không hoạt động, kiểm tra câu trả lời khác trong bài viết này
Tôi biểu thị rằng một số tập lệnh sửa lỗi (được sửa đổi thành bộ điều hợp Ethernet của tôi) trên /lib/systemd/system-sleep/
mỗi tác phẩm!
Tuy nhiên, nếu thiết bị Modem cáp bị tắt sau khi tạm dừng và thiết bị này được trả về - Bật sau khi tiếp tục hệ thống, hệ thống dựa trên Ubuntu không thể kết nối lại với Internet, mặc dù biểu tượng mạng (trong vùng thông báo) hiển thị kết nối Bật.
Để khắc phục lại, tôi phải nhấp vào biểu tượng mạng »Kết nối Ethernet. Do đó, nó làm mới kết nối thành công. x-
Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III]
Subsystem: D-Link System Inc DFE-520TX Fast Ethernet PCI Adapter
Kernel driver in use: via-rhine
Kernel modules: via_rhine
PS Có vẻ như một số CLI của vpn ngừng hoạt động sau khi trở về từ Đình chỉ.
Có vấn đề tương tự với Dell Inspiron 15 của tôi: không có mạng có dây sau khi khởi động lại hoặc tạm dừng.
Tôi dường như đã sửa lỗi này bằng cách thay đổi cài đặt trong BIOS:
Nâng cao -> Công nghệ kết nối thông minh Intel (R) -> Đã tắt
(mặc định là đã bật)
Là một tác dụng phụ, mục menu đã biến mất, xuất hiện lại sau khi đặt lại tất cả các cài đặt về giá trị mặc định.