답변:
적어도 네트워크 커널 모듈 r8169의 경우이 문제를 추적하는 주요 우분투 버그는 다음과 같습니다.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752772
이 문제로 영향을받는 모든 사람이 거기에 가서 그것이 당신에게 영향을 미쳤다는 것을 표시하여 관리자가 문제의 심각성을 더 잘 이해할 수 있도록 권장합니다.
Xubuntu 18.04를 새로 설치하고 이더넷 인터페이스가 커널 모듈 r8169를 사용하여 실행 중임을 발견했습니다.
sudo lshw -C network
정보 그룹은으로 시작 description: Ethernet interface
하고 다른 그룹은으로 시작 description: Wireless interface
합니다. 아래 description: Ethernet interface
에서로 시작하는 행을 찾으십시오 configuration:
.
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
드라이버는 여기에 있습니다 : driver=
.
Systemd은 아래의 모든 실행 스크립트 실행 /lib/systemd/system-sleep
,이 개 매개 변수를 전달하고, 이후 정지하기 전에를 $1
상태입니다 ( pre
이전 중단, 또는 post
이후 중단) 및 $2
작업입니다 ( suspend
, hibernate
, hybrid-state
, 또는 suspend-then-hibernate
). 이에 대한 매뉴얼 페이지에 설명되어 systemd-suspend.service
있습니다.
일시 중단 후 일시 중단 에서 재개 할 때 이더넷 인터페이스 용 모듈을 다시로드해야합니다 . 그래서 스크립트를 만들었습니다 /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
그리고 그것을 실행 가능하게 만들었습니다.
chmod +x /lib/systemd/system-sleep/r8169-refresh
스크립트에서 기록 된 메시지는 스크립트 /var/log/syslog
이름과 해당 PID 로 태그가 지정됩니다. 이 방법으로 스크립트가 커널 모듈을 다시로드했는지 확인할 수 있습니다.
grep r8169-refresh /var/log/syslog
또 다른 간단한 해결책은 다음과 같습니다. 일시 중지주기 후 모듈을 언로드 / 재로드하는 작업 만 수행하는 시스템 서비스를 작성하십시오 ( /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
그런 다음 실행 systemctl enable fix-r8169.service
하고 설정해야합니다! Systemd는 이제 일시 중단 상태에서 모듈을 자동으로 언로드 및 다시로드합니다.
건배!
나에게도 일어났다.
네트워크 커널 모듈 / 드라이버 언로드 / 재로드가 작동합니다.
광산은 r8169이므로 (루트로) : (손으로 입력했기 때문에 지연이 발생했습니다)
sudo modprobe -r r8169
sudo modprobe -i r8169
또한 첫 시도 중에 mii를 제거했습니다. 그래도 필요하지 않습니다.
나는 같은 문제가 있었고이 해결책을 찾았습니다.
실행 : sudo lshw -C network
네트워크 카드 커널 모듈을 찾으려면
* -network에서 설명 : Ethernet interface, 구성 필드에서 찾았
driver=sky2
습니다. sky2는 랩탑 용 이더넷 네트워크 커널 모듈입니다.
sky2.sh 파일을 다음 /lib/systemd/system-sleep/
폴더에 만듭니다.
#!/bin/bash
modprobe -r sky2 # unload sky2 kernel module
modprobe -i sky2 # reload sky2 kernel module
다음을 사용하여 권한을 변경하십시오.
sudo chmod a+x sky2.sh
그 후 문제가 해결되었습니다.
이더넷 연결을 감지합니까?
그때
열다 NetworkManager.conf
sudo nano /etc/NetworkManager/NetworkManager.conf
댓글 (추가 #) dns=dnsmasq
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
[ifupdown]
managed=true
네트워크 관리자를 다시 시작하십시오
sudo service network-manager restart
systemctl status NetworkManager.service
을 실행 하여 오류를 확인하십시오
UKUU를 사용하여 커널을 4.15에서 4.20 (최신 16.01.2019)으로 업데이트하여 Ubuntu 18.04 Bionic 에서이 문제를 해결했습니다.
최신 커널 설치 Ubuntu 커널 업데이트 유틸리티를 설치하려면
sudo add-apt-repository ppa:teejee2008/ppa
sudo apt-get install ukuu
다음 명령으로 액세스 제어를 비활성화하십시오.
sudo xhost +
그런 다음 ukuu로 설치하십시오
sudo ukuu
sudo ukuu --install-latest
재부팅
sudo reboot
승인 된 답변에 대해 의견을 말하거나 찬성 할만한 충분한 평판이 없습니다 (현재는 구식입니다).
당신이 실행하는 경우 lsmod | grep r8169
그것은 당신의 r8169 커널 모듈이로드되어 있음을 보여주고 커널보다 오래된 4.15.0-24 - 제네릭 당신은 대부분 허용 대답에 링크 된 버그에 의해 영향을받는
HTTPS : //bugs.launchpad합니다. 넷 / 우분투 / + 소스 / 리눅스 / + 버그 / 1752772
BTW 나는이 버그를 경험하고 나를 위해 lspci | grep 'Gigabit Ethernet'
보여줍니다
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
이 버그가 수정되었습니다.
커널이 4.15.0-24-generic보다 오래된 경우 다음을 실행하십시오.
apt-get update
apt-get upgrade
apt-get dist-upgrade
reboot
나는 같은 문제가 있었지만 여기의 해결책은 효과가 없었다. 나는이 주제에 관한 여러 포럼을 며칠 동안 보냈고 거의 모든 것을 시도했습니다. 커널을 업그레이드하거나 이전 모듈 드라이버를 설치하는 두 가지 대안이 있습니다. 후자를 선택하고 r8168 드라이버를 설치했습니다. 처음에는 실패했습니다. 그러나 나는 효과가있는 것을 발견하고 Paulo의 솔루션에 맞게 조정했습니다.
Kernel 4.15.0-24-generic으로 (K) ubuntu 18.04를 실행 중입니다.
lshw -C 네트워크 의 출력 에는 다음이 포함됩니다 ...
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
r8168-dkms 패키지를 설치 했지만 충분하지 않았습니다. 두 단계가 더 필요했습니다.
단계 1) /etc/modprobe.d/r8168-dkms.conf 파일을 편집하고 라인을 활성화하십시오 (예 : 주석 제거) 블랙리스트 r8169
2 단계) Paulo의 솔루션을 기반으로 다음 스크립트를 작성했습니다 / lib / systemd / system-sleep / r8168-refresh
#! / bin / bash PROGNAME = $ (기본 이름 "$ 0") 주 = $ 1 액션 = $ 2 기능 로그 { 로거 -i -t "$ PROGNAME" "$ *" } "실행 $ action $ state"로그 만약 [[$ state == post]]; 그때 "ifconfig down enp5s0"로그 ifconfig enp5s0 다운 "ifconfig up enp5s0"로그 ifconfig enp5s0 192.168.10.213 fi
이 코드는 물론 내 컴퓨터에만 적용됩니다 (장치 이름 및 IP 주소). 확실히 향상 될 수 있지만 현재 내 요구를 충족시킵니다.
이것은 NetworkManager와 함께 작동합니다.
2018 년 7 월 28 일 Ubuntu 16.04에서 18.04로 업그레이드 한 후 Gigabyte-B250M-DS3H 마더 보드에서도이 문제가 발생했습니다. 커널은 4.15.0-29-generic입니다.
결과 sudo lshw -C network
는 그 r8169을 보였다 보여 RTL8111는 / / 8411 8168 PCI 익스프레스 기가비트 이더넷 컨트롤러, 사용되는 드라이버입니다.
마지막으로 작동 한 것은 이더넷 컨트롤러 전용 드라이버를 설치하는 것입니다 (놀랍습니다).
sudo apt install r8168-dkms
컴퓨터를 다시 시작합니다 (감사합니다). r8169를 블랙리스트에 올릴 필요는 없었지만 r8168 을 제거하고 다시 삽입하는 (la Paulo의 조언) /lib/systemd/system-sleep/
이라는 스크립트를 작성해야했습니다 r8168-refresh-after-suspend
.
#!/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
물론 다음을 사용하여 실행 가능하게 만드십시오.
sudo chmod +x /lib/systemd/system-sleep/r8168-refresh-after-suspend
이것은 매력처럼 작동했습니다. 따라서 이것은 4.15.0-29 커널에서 여전히 문제이지만 반창고 수정은 여전히 작동합니다.
동일한 문제가 있습니다 (driver = r8169). 일시 중단에서 다시 시작한 후 이더넷이 작동하지 않습니다.
커널 4.13.0-31과 완벽하게 작동합니다. 다시 말해, 이더넷은 일시 중단에서 다시 시작한 후에도 계속 작동합니다.
그러나 커널 4.15.0-32에서는 일시 중단 후 다시 시작한 후에 이더넷이 작동하지 않습니다. 나는 수정을 시도했다
modprobe -r r8169
modprobe -i r8169
그러나 이것은 효과가 없습니다.
나는 이것을 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1752772 에보 고했다.
/lib/systemd/system-sleep/
각 작업 에서 여러 수정 파일 스크립트 (이더넷 어댑터로 수정 됨)를 나타냅니다 !
그럼에도 불구하고 일시 중단 후 케이블 모뎀 장치가 꺼져 있고 시스템 재시작 후 다시 켜진 경우 네트워크 아이콘 (알림 영역)에도 불구하고 Ubuntu 기반 시스템은 인터넷에 다시 연결할 수 없습니다.
다시 수정하려면 네트워크 아이콘»이더넷 연결을 클릭해야합니다. 따라서 연결을 새로 고칩니다. 엑스-
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
추신 : 서스펜션에서 돌아온 후 일부 VPN의 CLI가 작동하지 않는 것 같습니다.