Не удалось активировать сетевое подключение - исправляется при перезагрузке из windows

У меня есть двойная загрузка для Windows 10 и Ubuntu 20.14.

С некоторых пор у меня проблема с моим ПК... Когда он начинается в Ubuntu иногда случайно (я имею в виду, около 30% загрузок это проблема выходит) говорит Активация сетевого подключения не удалось , это настольный компьютер, поэтому я использую порт ethernet.

Экспериментируя с некоторыми решениями в сети, когда проблема представлена, ничто не решает проблему. Я пытался:

  • Подключенное проводное соединение перезагрузило здесь
  • Перезагрузите все маршрутизаторы - у меня их 2 и они подключены вот так: [ISP router] [Tplinkrouter] [PC]. Здесь
  • Переустановите сетевой менеджер и перезагрузитесь: sudo apt-получить установку --reinstall network-manager ; sudo перезагрузиться сейчас сахарный здесь тоже

Кроме того, что-то действительно забавное в том, что когда я перезагружаюсь из Windows 10 в Ubuntu проблема исчезает, если я перезагружаюсь из Ubuntu в Ubuntu, то проблема выходит снова ....

Некоторые контекст о моей системе:

  • Windows 10 быстрая загрузка отключена
  • Двойная загрузка на nvme диск
  • Проблема никогда не выходит на Windows
  • sudo lshw -C network выход (когда проблема не представлена):
*-network                 
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: b4:2e:99:e7:89:ea
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.8.0-48-generic duplex=full firmware=rtl8168g-2_0.0.1 02/06/13 ip=192.168.1.65 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
resources: irq:35 ioport:f000(size=256) memory:fcb00000-fcb00fff memory:f0300000-f0303fff

Что-нибудь, чтобы решить эту раздражающую неудачу?

Спасибо заранее.

Редактирование 1:

lspci -nn | grep -i ethernet выход:

05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)

Редактирование 2:

Следующее решение @heynnema:

Шаг 1. Добавление скрипта "r8169_disable_msi" в /etc/initramfs-tools/scripts/init-top и выполнение chmod a+x к нему:

Чтобы проверить, что здесь ls -l /etc/initramfs-tools/scripts/init-top вывод:

total 4
-rwxr-xr-x 1 root root 1118 mar 30 11:59 r8169_disable_msi

Шаг 2. "Добавьте 'r8169_disable_msi' в командную строку ядра (/etc/default/grub, GRUB_CMDLINE_LINUX_DEFAULT="тихий всплеск" обычно.)" и я внес изменения в файл /etc/default/grub к этому:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash r8169_disable_msi"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
GRUB_GFXMODE=1920x1080

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Шаг 3. sudo update-initramfs -c -k $(uname -r) вывод:

update-initramfs: Generating /boot/initrd.img-5.8.0-48-generic
W: Possible missing firmware /lib/firmware/amdgpu/navi12_gpu_info.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_gpu_info.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_asd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_asd.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_mec2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_ce.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/arcturus_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_sdma1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_sdma.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi10_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_dmcu.bin for module amdgpu
I: The initramfs will attempt to resume from /dev/nvme0n1p6
I: (UUID=64e37a0f-3360-471d-8c6d-02a5865d7e77)
I: Set the RESUME variable to override this.

Шаг 4. sudo update-grub вывод:

Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.8.0-48-generic
Found initrd image: /boot/initrd.img-5.8.0-48-generic
Found linux image: /boot/vmlinuz-5.8.0-45-generic
Found initrd image: /boot/initrd.img-5.8.0-45-generic
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings
done

Это решение сработало.

0
задан 30 March 2021 в 21:40

1 ответ

Скорость звена

Ваша карта Ethernet способна к скорости 1 ГБ, но используется только на скорости 100 МБ. Это обычно указывает на проблему кабеля, либо что некоторое сетевое устройство, такое как концентратор / маршрутизатор Ethernet, не обеспечивает скорость 1G. Во-первых, убедитесь, что вы используете CAT 5E или CAT 6 Ethernet Cables.

Sudo LSHW-C-Network

size: 100Mbit/s
capacity: 1Gbit/s

Драйвер Ethernet

У драйвера R8169 известно, что некоторые проблемы имеют некоторые проблемы. Установите этот драйвер и посмотрите, улучшится ли дела.

sudo apt update

sudo apt install dkms r8168-dkms

reboot

Проблема прерываний MSI

Некоторые карты R816X Ethernet не обрабатывают MSI / MSIX прерывают правильно. При необходимости нам может потребоваться реализовать патч для работы по всей проблеме. Информация предоставлена ​​при необходимости. Покажите мне:

lspci -nn | grep -i ethernet

Вот необходимый патч. Инструкции в сценарии. Следуйте внимательно.

# https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1779817

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

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
0
ответ дан 1 April 2021 в 23:00

Другие вопросы по тегам:

Похожие вопросы: