
私のコンピュータには2つのオペレーティングシステムがインストールされていますが、今日は奇妙なことが起こりました。私のイーサネットデバイスは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
r8168-dkms_8.048.03-1~bpo10+1_all.deb
win10を使用して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をインストールし、私のコンピュータには2つではなく3つのオペレーティングシステムがあります。
新しくインストールされたDebianに入ると、pppoeconfを介してインターネットにアクセスできます!つまり、win10と新しくインストールされたdebian10の両方がインターネットに接続できるということです!私の古いdebian10がEthernetデバイスを認識しないのはなぜですか? 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.conf
r8168
r8169
パッケージにはr8168
ソースコード形式のモジュールのみが含まれています。これを有効にするために、パッケージはdkms
このユーティリティを使用して、使用している各カーネルバージョンのモジュールを自動的にビルドします。
linux-headers
ただし、DKMSは、インストールされているカーネルのバージョンと完全に一致するコンパイラとパッケージをインストールした場合にのみ操作を実行できます。linux-headers
現在、カーネルに適したパッケージがインストールされていない場合、またはr8168
DKMSが自動的にモジュールをビルドしようとすると問題が発生する可能性があります。
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
名前を実行して現在のinitramfsファイルに変更を伝播する必要があります。/etc/modprobe.d/r8168-dkms.conf
/etc/modprobe.d/r8168-dkms.conf.disabled
sudo update-initramfs -u
答え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
インターネットに接続できます!