我的乙太網設備在 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 /all
我從win10中得到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
用win10下載
r8168-dkms_8.048.03-1~bpo10+1_all.deb
到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,現在我的電腦中有三個ose而不是dual。
進入新安裝的debian,我用pppoeconf就可以上網了!也就是說win10和新安裝的debian10都可以上網!為什麼我的舊debian10不能辨識乙太網設備!
我在win10中下載
firmware-realtek_20190114-2_all.deb
到usb並在舊的debian10中dpkg它,沒有任何改變!所有驅動程序顯示:
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
該軟體包
r8168-dkms_8.048.03-1~bpo10+1_all.deb
包括文件/etc/modprobe.d/r8168-dkms.conf
,它將告訴核心載入模組而不是特定卡型號r8168
的預設值。r8169
該軟體包
r8168
僅包含原始碼形式的模組:為了使其可用,dkms
該軟體包將使用該實用程序為您正在使用的每個核心版本自動建構模組。
linux-headers
但是,只有在您安裝了與您的確切核心版本匹配的編譯器和軟體包時,DKMS 才能完成它的工作。要麼你沒有linux-headers
為你目前的核心安裝合適的包,要麼當 DKMS 試圖r8168
為你自動建構模組時出現了問題。您應該通過驗證 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
為 eg/etc/modprobe.d/r8168-dkms.conf.disabled
並執行sudo update-initramfs -u
以將更改傳播到您目前的 initramfs 文件中。