답변:
적어도 네트워크 커널 모듈 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가 작동하지 않는 것 같습니다.