우분투 18.04-일시 중단 후 이더넷 연결이 끊어졌습니다


29

일시 중단 후 이더넷이 다시 시작되지 않습니다.

sudo service network-manager restart

작동하지 않습니다. 재시작만으로 문제가 해결됩니다.


이 문제는 Xubuntu 18.04.2, 커널 4.15.0-54
HEKTO

답변:


44

적어도 네트워크 커널 모듈 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

madzohan , 나는 스크립트가 실행 가능해야한다는 답에 두 번 언급 했으므로 편집을 추가하는 것이 중복 될 수 있다고 생각합니다. "systemd는 / lib / systemd / system-sleep에서 모든 실행 스크립트를 실행합니다." 그리고 만든 실행 스크립트 / lib 디렉토리 / systemd / 시스템 절전 / r8169 새로 고침 "
파울로 마르셀 코엘류 Aragão

이 문제는 2018 년 1 월 1 일에 릴리스 된 커널 4.15.0-24.26에서 수정되었으므로 더 이상 해결 방법이 필요하지 않습니다.
Paulo Marcel Coelho Aragão

1
며칠 전에 일부 업데이트를 설치 한 후 랩톱에이 문제가 있습니다. 위에 제공된 솔루션으로 여전히 문제가 해결됩니다. 고마워요!
Daniel

@Daniel, 당신은 apt policy linux-image-generic의 결과를 게시 할 수 있습니까? 이 문제는 2018 년 1 월 7 일 이후에 해결되었으므로 더 이상이 해결 방법이 필요하지 않습니다.
Paulo Marcel Coelho Aragão

단지 18.04가 아닙니다. 16.04에서 rtl8169 커널 드라이버도 일시 중단 후 언로드 및로드되어야했습니다. askubuntu.com/questions/950871/…
WinEunuuchs2Unix

8

또 다른 간단한 해결책은 다음과 같습니다. 일시 중지주기 후 모듈을 언로드 / 재로드하는 작업 만 수행하는 시스템 서비스를 작성하십시오 ( /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는 이제 일시 중단 상태에서 모듈을 자동으로 언로드 및 다시로드합니다.

건배!


3

나에게도 일어났다.

네트워크 커널 모듈 / 드라이버 언로드 / 재로드가 작동합니다.

광산은 r8169이므로 (루트로) : (손으로 입력했기 때문에 지연이 발생했습니다)

sudo modprobe -r r8169
sudo modprobe -i r8169

또한 첫 시도 중에 mii를 제거했습니다. 그래도 필요하지 않습니다.


sudo modprobe -i r8169
aaaa

일했다! 다시 시작할 때마다 지금 수동으로해야합니까?
aaaa

이것은 허용되는 솔루션과 동일하지만 로깅 기능없이 다시 시작할 때 실행될 스크립트에 넣지 않습니다.
Dominic108

3

나는 같은 문제가 있었고이 해결책을 찾았습니다.

  1. 실행 : sudo lshw -C network
    네트워크 카드 커널 모듈을 찾으려면

    * -network에서 설명 : Ethernet interface, 구성 필드에서 찾았
    driver=sky2습니다. sky2는 랩탑 용 이더넷 네트워크 커널 모듈입니다.

  2. 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
    

그 후 문제가 해결되었습니다.


이것은 로깅 기능이없는 승인 된 솔루션과 동일합니다.
Dominic108

1

이더넷 연결을 감지합니까?

그때

열다 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

[main] plugins = ifupdown, keyfile [ifupdown] managed = true [장치] wifi.scan-rand-mac-address = no
aaaa

이것은 내가 파일에있는 것입니다 ....
aaaa

conf 파일을 이전에 업데이트 했습니까? 그렇다면 재부팅 및 확인
Santhosh Veer

나는 당신의 수정 Santhosh Veer를 시도했다. 여전히 회색으로 표시됩니다. 이더넷.
aaaa

이 명령 systemctl status NetworkManager.service을 실행 하여 오류를 확인하십시오
Santhosh Veer

1

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

0

Ctrl+ Alt+ T를 눌러 터미널로 이동하여 다음을 입력하십시오.

sudo apt-get purge tlp

또는

편집 /etc/default/tlp및 변경 :

WOL_DISABLE = NO

WOL_DISABLE = YES

Ask Ubuntu에 오신 것을 환영합니다! ;-)편집 내용 을 검토 하고 향후 답변의 가독성을 높이기 위해 편집 도움말 을 검토 할 수 있습니까 ? ;-)
Fabby

0

승인 된 답변에 대해 의견을 말하거나 찬성 할만한 충분한 평판이 없습니다 (현재는 구식입니다).

당신이 실행하는 경우 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

0

나는 같은 문제가 있었지만 여기의 해결책은 효과가 없었다. 나는이 주제에 관한 여러 포럼을 며칠 동안 보냈고 거의 모든 것을 시도했습니다. 커널을 업그레이드하거나 이전 모듈 드라이버를 설치하는 두 가지 대안이 있습니다. 후자를 선택하고 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와 함께 작동합니다.


0

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 커널에서 여전히 문제이지만 반창고 수정은 여전히 ​​작동합니다.


0

동일한 문제가 있습니다 (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 에보 고했다.


1
커널 4.13 사용을 제안하지 않는 한 이것은 실제로 답이 아닙니다.
wjandrea

0

가장 먼저 확인 : 네트워크 관리자 / 서비스를 다시 시작하십시오.

sudo 서비스 네트워크 관리자 재시작

작동하지 않으면이 게시물의 다른 답변을 확인하십시오.


0

/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가 작동하지 않는 것 같습니다.


0

내 Dell Inspiron 15와 동일한 문제가 있습니다 : 재부팅 또는 일시 중단 후 유선 네트워크 없음.

BIOS에서 설정을 변경하여이 문제를 해결 한 것 같습니다.

고급-> 인텔 (R) 스마트 연결 기술-> 비활성화

(기본값은 Enabled입니다)

부작용으로 메뉴 항목이 사라져 모든 설정을 기본값으로 재설정 한 후 다시 나타납니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.