내 이더넷 장치가 Debian에 없습니다

내 이더넷 장치가 Debian에 없습니다

내 컴퓨터에 두 개의 운영 체제가 설치되어 있는데 오늘 이상한 일이 일어났습니다. 내 이더넷 장치가 데비안에 없습니다! grub에서 win10을 입력하고 pppoe를 통해 인터넷에 연결합니다.
grub에서 debian10을 입력합니다:

ifconfig

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 20  bytes 1120 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 20  bytes 1120 (1.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



sudo lshw -C network
  *-network UNCLAIMED       
       description: Ethernet controller
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:06:00.0
       version: 15
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list
       configuration: latency=0
       resources: ioport:f000(size=256) memory:fcd04000-fcd04fff memory:fcd00000-fcd03fff

ipconfig /allwin10에서 mac 주소 정보(xx:xx:70:c2:2c:4a)를 얻습니다.

sudo pppoeconf  xx:xx:70:c2:2c:4a
Cannot find device "xx:xx:70:c2:2c:4a"
ioctl(SIOCGIFHWADDR): No such device
Cannot find device "xx:xx:70:c2:2c:4a"
Plugin rp-pppoe.so loaded.
/usr/sbin/pppd: unknown host: nic-00

r8168-dkms_8.048.03-1~bpo10+1_all.debwin10을 사용하여 USB 플래시 드라이브에 다운로드 하고 debian10을 입력합니다.

sudo mount /dev/sdc  /mnt
sudo dpkg -i  /mnt/r8168-dkms_8.048.03-1~bpo10+1_all.deb

재설치 후:

sudo pppoeconf  xx:xx:70:c2:2c:4a 
#input account name and password
sudo pon dsl-provier
plugin rp-pppoe.so load
/usr/sbin/pppd:unknown host nic-00

바로 어제, debian10에서 pppoe를 통해 인터넷에 연결할 수 있었는데, 어떻게 해결해야 할까요?

Windows가 최대 절전 모드인 경우 카드가 Debian에서 사용할 수 없는 상태가 될 수 있습니다. 해결 방법은 Windows가 최대 절전 모드가 아닌 종료되도록 하는 것일 수 있습니다.
@Nikita Kipriyanov, Windows와는 아무런 관련이 없다고 확신합니다.
이전 debian10이 이더넷 장치를 인식하지 못한 후, 같은 버전의 새 debian10을 설치했고 이제 내 컴퓨터에는 두 개가 아닌 세 개의 운영 체제가 있습니다. 여기에 이미지 설명을 입력하세요.

새로 설치된 데비안에 들어가면 pppoeconf를 통해 인터넷에 접속할 수 있어요! 즉, win10과 새로 설치된 debian10 모두 인터넷에 연결할 수 있다는 것입니다! 내 오래된 debian10이 이더넷 장치를 인식하지 못하는 이유는 무엇입니까? win10에서 USB에 다운로드하고 이전 debian10에서 dpkg로 다운로드했지만 아무것도 변경되지 않았습니다
! 모든 운전자는 다음을 표시합니다.firmware-realtek_20190114-2_all.deb

modinfo r8169
filename:       /lib/modules/5.10.0-0.bpo.7-amd64/kernel/drivers/net/ethernet/realtek/r8169.ko
firmware:       rtl_nic/rtl8125b-2.fw
firmware:       rtl_nic/rtl8125a-3.fw
firmware:       rtl_nic/rtl8107e-2.fw
firmware:       rtl_nic/rtl8107e-1.fw
firmware:       rtl_nic/rtl8168fp-3.fw
firmware:       rtl_nic/rtl8168h-2.fw
firmware:       rtl_nic/rtl8168h-1.fw
firmware:       rtl_nic/rtl8168g-3.fw
firmware:       rtl_nic/rtl8168g-2.fw
firmware:       rtl_nic/rtl8106e-2.fw
firmware:       rtl_nic/rtl8106e-1.fw
firmware:       rtl_nic/rtl8411-2.fw
firmware:       rtl_nic/rtl8411-1.fw
firmware:       rtl_nic/rtl8402-1.fw
firmware:       rtl_nic/rtl8168f-2.fw
firmware:       rtl_nic/rtl8168f-1.fw
firmware:       rtl_nic/rtl8105e-1.fw
firmware:       rtl_nic/rtl8168e-3.fw
firmware:       rtl_nic/rtl8168e-2.fw
firmware:       rtl_nic/rtl8168e-1.fw
firmware:       rtl_nic/rtl8168d-2.fw
firmware:       rtl_nic/rtl8168d-1.fw
license:        GPL
softdep:        pre: realtek
description:    RealTek RTL-8169 Gigabit Ethernet driver

ls /lib/firmware/rtl_nic
rtl8105e-1.fw  rtl8107e-1.fw  rtl8125b-2.fw  rtl8168d-2.fw  rtl8168e-3.fw  rtl8168fp-3.fw  rtl8168g-3.fw  rtl8402-1.fw
rtl8106e-1.fw  rtl8107e-2.fw  rtl8153a-3.fw  rtl8168e-1.fw  rtl8168f-1.fw  rtl8168g-1.fw   rtl8168h-1.fw  rtl8411-1.fw
rtl8106e-2.fw  rtl8125a-3.fw  rtl8168d-1.fw  rtl8168e-2.fw  rtl8168f-2.fw  rtl8168g-2.fw   rtl8168h-2.fw  rtl8411-2.fw

예를 들어 이더넷 장치가 없습니다 enp*s*.

ifconfig -a
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 20  bytes 1120 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 20  bytes 1120 (1.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

uname -a
Linux debian 5.10.0-0.bpo.7-amd64 #1 SMP Debian 5.10.40-1~bpo10+1 (2021-06-04) x86_64 GNU/Linux

답변1

이 패키지에는 특정 카드 모델의 기본 모듈 대신 이 모듈을 로드하도록 커널에 지시하는 r8168-dkms_8.048.03-1~bpo10+1_all.deb파일이 포함되어 있습니다 ./etc/modprobe.d/r8168-dkms.confr8168r8169

패키지에는 r8168소스 코드 형식의 모듈만 포함되어 있습니다. 이를 사용 가능하게 하기 위해 패키지는 dkms이 유틸리티를 사용하여 사용 중인 각 커널 버전에 대한 모듈을 자동으로 빌드합니다.

(패키지의 내용물 목록입니다)

linux-headers그러나 DKMS는 설치된 커널 버전과 정확히 일치하는 컴파일러 및 패키지를 설치한 경우에만 작업을 수행할 수 있습니다. linux-headers현재 커널에 적합한 패키지가 설치되어 있지 않거나 r8168DKMS가 자동으로 모듈을 빌드하려고 할 때 문제가 있을 수 있습니다.

DKMS가 올바른 상태인지 확인하기 위해 실행하여 문제 해결을 시작해야 합니다 sudo dkms status.

커널 모듈이 올바르게 빌드된 경우 dkms status명령 출력에 다음과 같은 줄이 포함되어야 합니다.

r8168, 8.048.03, <your current kernel version>, amd64: installed

<your current kernel version>필드는 의 출력과 정확히 일치해야 합니다 uname -r.

installed끝에 있는 단어는 실제 바이너리 모듈이 성공적으로 빌드되어 현재 커널의 /lib/modules/$(uname -r)/...디렉터리 트리에 삽입되었음을 나타냅니다. 다른 가능한 상태 단어는 built바이너리 모듈이 성공적으로 빌드되었지만 아직 커널에서 사용할 수 없음을 의미하며, added이는 모듈의 소스 코드가 설치되었지만 바이너리 모듈이 빌드되지 않았음을 의미합니다.

다음 명령을 실행하여 적절한 패키지가 설치되었는지 확인 linux-headers하고 모듈 빌드를 다시 시도해야 합니다.

sudo dkms install r8168/8.048.03

문제를 보고하면 빌드 프로세스에 대한 자세한 로그와 프로세스 중에 발생한 오류 메시지를 확인할 수 있습니다 /var/lib/dkms/r8168/8.048.03/$(uname -r)/x86_64/log/make.log.

기본 드라이버를 사용하려면 r8169패키지를 제거 r8168-dkms_8.048.03-1~bpo10+1_all.deb하거나 이름을 /etc/modprobe.d/r8168-dkms.conf예를 들어 /etc/modprobe.d/r8168-dkms.conf.disabled실행하여 sudo update-initramfs -u현재 initramfs 파일에 변경 사항을 전파해야 합니다.

답변2

현재 상태를 확인하세요.

debian@debian:~$ sudo dkms status
r8168, 8.048.03: added
debian@debian:~$  sudo dkms install r8168/8.048.03
Error! Your kernel headers for kernel 5.10.0-0.bpo.7-amd64 cannot be found.
Please install the linux-headers-5.10.0-0.bpo.7-amd64 package,
or use the --kernelsourcedir option to tell DKMS where it's located

linux-headers-5.10.0-0.bpo.7-amd64_5.10.40-1~bpo10+1_amd64.deb를 USB에 다운로드한 다음 설치를 위해 USB를 마운트했습니다.

sudo dpkg -i  linux-headers-5.10.0-0.bpo.7-amd64_5.10.40-1~bpo10+1_amd64.deb
Selecting previously unselected package linux-headers-5.10.0-0.bpo.7-amd64.
(Reading database ... 269528 files and directories currently installed.)
Preparing to unpack .../linux-headers-5.10.0-0.bpo.7-amd64_5.10.40-1~bpo10+1_amd64.deb ...
Unpacking linux-headers-5.10.0-0.bpo.7-amd64 (5.10.40-1~bpo10+1) ...
dpkg: dependency problems prevent configuration of linux-headers-5.10.0-0.bpo.7-amd64:
 linux-headers-5.10.0-0.bpo.7-amd64 depends on linux-headers-5.10.0-0.bpo.7-common (= 5.10.40-1~bpo10+1); however:
  Package linux-headers-5.10.0-0.bpo.7-common is not installed.
 linux-headers-5.10.0-0.bpo.7-amd64 depends on linux-kbuild-5.10 (>= 5.10.40-1~bpo10+1); however:
  Version of linux-kbuild-5.10 on system is 5.10.24-1~bpo10+1.

dpkg: error processing package linux-headers-5.10.0-0.bpo.7-amd64 (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-headers-5.10.0-0.bpo.7-amd64

지금 다운로드하여 설치하세요 linux-headers-5.10.0-0.bpo.5-amd64_5.10.24-1~bpo10+1_amd64.deb .

sudo dpkg -i  linux-headers-5.10.0-0.bpo.5-amd64_5.10.24-1~bpo10+1_amd64.deb
sudo mv  /etc/modprobe.d/r8168-dkms.conf   /etc/modprobe.d/r8168-dkms.conf.disabled
sudo update-initramfs -u

재시작:

ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:e0:70:c2:2c:4a brd ff:ff:ff:ff:ff:ff

인터넷에 연결할 수 있어요!

관련 정보