最近デスクトップ PC に Ubuntu 20.04 をインストールしましたが、有線接続に問題があります。接続しようとするたびに、「接続に失敗しました。ネットワーク接続の有効化に失敗しました」というメッセージが表示されます。すでに、静的 IP 経由でルーターに接続したり、ルーターなしで接続したり、システムで IPv6 を無効にしたり、このサイトのすべての解決策を試してみました。https://losst.ru/nastrojka-ubuntu-20-04-posle-ustanovki- ロシア語で申し訳ありません。ロシア語は私の母国語ですし、このサイトには解決策がたくさんあります。ああ、Ubuntu Live CD でロードしているときや、2 番目の OS Windows 10 でロードしているときは、接続の問題はまったくありません。今のところ何も役に立ちません。必要な追加情報があれば提供できます。助けてください。@heynnema @nate ご迷惑をおかけして申し訳ありません。PC を数時間オフにしていたところ、今オンにしたときに問題なく接続が確立されました。解決策の 1 つで問題が解決したようですが、すぐには気づきませんでした。まだ問題がある場合は、リクエストのリストを次に示します。
@heynnema リクエストに対する出力は次のとおりです: 02:00.0 イーサネット コントローラー [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express ギガビット イーサネット コントローラー [10ec:8168] (rev 0c)
また、問題が再発しました。ネットワーク接続について何も変更していないと思いますが、再び壊れており、以前と同じ問題です。過去のリクエストについて変更されたのは「ip a」だけです。enp2s0にはinet行がもうありません。
UPD: 何が起こっているのかわかりません。接続に失敗し、何も役に立ちません。PC を再起動して Win10 で数時間起動し、その後 Ubuntu に戻ると、すべて問題なく動作します。
UPD 19.06 @heynnema このパッチは機能していないようです。指示に従ってインストールしたはずなのに何も変わっていません。再起動後も接続の問題が発生しています。
@heynnema ステータスがまだ問題があるという意味であれば、はい、そうです。すべては以前と同じです。Ubuntu を Ubuntu に再起動すると接続が失敗し、Ubuntu-Win10-Ubuntu を再起動するとすべて正常に動作します。ご迷惑をおかけして申し訳ありません。どうしたらよいかわかりません。ハードウェアに問題がある場合は、別のネットワーク アダプターを購入してみるのが良いかもしれません。
@heynnema 何か間違ったことをしたのでしょうか? 以下は、/etc/initramfs-tools/scripts/init-top に追加して chmod a+x したファイルです。https://drive.google.com/file/d/1h7ytM_twvkMl_U0TE1-WdfRaljNxSMgM/view?usp=sharing編集後の GRUB コマンドラインは次のとおりです: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash r8169_disable_msi" その後、指示に従って initframs を更新し、grub を更新しました。何が問題なのでしょうか?
答え1
/etc/network/interfaces を編集し、次のように変更します...
auto lo
iface lo inet loopback
イーサネットは 100Mb で接続されていますが、実際には 1Gb しか対応していません。これはケーブルの問題 (最も一般的) か、スイッチ/ハブ/ルーターがギガビット接続に対応していないかのいずれかです。Cat 5e ケーブルを使用していますか、それとも Cat 6 ケーブルを使用していますか?
アップデート#1:
lspci -nn | grep -i ethernet
= 02:00.0 イーサネット コントローラ [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express ギガビット イーサネット コントローラ [ 10ec:8168
] (rev 0c)
Ubuntu 20.xx では、特定のイーサネット カードに対して MSI/MSIX 割り込みが有効になっています。これにより、イーサネットの動作が断続的になる可能性があります。これを修正するパッチがあります。組み込まれた手順に従ってインストールしてください。
#!/bin/sh
# https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1779817
#
# Attached is a work-around for the in-kernel driver that is as unhacky as I can make it.
# filename: r8169_disable_msi
# Drop it in /etc/initramfs-tools/scripts/init-top and chmod a+x it. Add 'r8169_disable_msi'
# to your kernel command line (/etc/default/grub, GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
# usually.)
# Remember to update-initramfs and update-grub as necessary.
# sudo update-initramfs -c -k $(uname -r)
# sudo update-grub
# reboot
# For the moment it disables MSI on everything with the ID 0x10ec:0x8168, as there seems to
# be no way to get the MAC version from userspace - and certainly not before the driver is
# loaded. Other PCI IDs may need adding..
# Still hoping we can cherry pick the in-driver workaround for bionic...?
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
prereqs
exit 0
;;
esac
disable_msi () {
for i in /sys/bus/pci/devices/*; do
if [ $(cat $i/vendor) = "0x10ec" -a $(cat $i/device) = "0x8168" ]; then
echo 0 >$i/msi_bus
fi
done
}
for x in $(cat /proc/cmdline); do
case ${x} in
r8169_disable_msi)
disable_msi
break
;;
esac
done
アップデート#2:
パッチは機能していますが、/boot 内のシンボリックリンクが間違っているため、イーサネットはまだ失敗しています。以下を参照してください...
アップデート#3:
cd /boot
# ディレクトリを変更
ls -al
# 現在のリストを取得
sudo rm -i initrd.img
# 不正なシンボリックリンクを削除する
sudo rm -i vmlinuz
# 不正なシンボリックリンクを削除する
sudo mv initrd.img.old initrd.img
# 残りのシンボリックリンクの名前を変更する
sudo mv vmlinuz.old vmlinuz
# 残りのシンボリックリンクの名前を変更する
sudo ln -s initrd.img-5.8.0-43-generic initrd.img.old
# シンボリックリンクを再作成
sudo ln -s vmlinuz-5.8.0-43-generic vmlinuz.old
# シンボリックリンクを再作成
ls -al
# 新しいシンボリックリンクを元のリストと比較する
reboot
# 再起動してイーサネットの動作を確認する