Случайная потеря интернет-соединения через несколько минут/часов в Linux / NixOS

Вопрос или проблема

Я использую двойную загрузку Linux уже около трех недель, и эта проблема мешает мне полностью перейти, потому что мне приходится перезагружать компьютер примерно каждые час. В Linux я испытываю случайные отключения от сети. При загрузке в Windows этой проблемы нет, так что, вероятно, это проблема программного обеспечения.

Когда я отключен, система пытается переподключиться, но это никогда не срабатывает. После перезагрузки проблема исчезает, пока не появится снова, обычно через 15 минут до 2 часов после загрузки.

Когда произошла проблема, я отключил проводное подключение и подключился к Wi-Fi. Все работало, но когда я снова включил проводное соединение, оно перестало работать, хотя Wi-Fi все еще был подключен.

Я также пробовал:

  • Перезагрузить службу NetworkManager
  • Установить фиксированный IPv4
  • Отключить и включить проводную сеть
  • Вынуть и снова вставить сетевой кабель

Все без успеха. Перезагрузка временно решает проблему.


Система

OS: NixOS 23.05.3701.e9b4b56e5a20 (Stoat) x86_64
Материнская плата: ASUSTeK COMPUTER INC. ROG STRIX B650E-E GAMING WIFI
Ядро: 6.1.54 
ЦП: AMD Ryzen 9 7950X

lspci

07:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
08:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter

Лог NetworkManager с загрузки, когда это произошло

Окт 16 16:19:13 nixos systemd[1]: Запуск Network Manager...
Окт 16 16:19:13 nixos systemd[1]: Network Manager запущен.
Окт 16 16:36:01 nixos systemd[1]: Остановка Network Manager...
Окт 16 16:36:01 nixos systemd[1]: NetworkManager.service: Успешно деактивировано.
Окт 16 16:36:01 nixos systemd[1]: Network Manager остановлен.
Окт 16 16:36:01 nixos systemd[1]: NetworkManager.service: Использовано 196ms процессорного времени, получено 8.6K IP трафика, отправлено 144B IP трафика.

Лог NetworkManager с другой неисправной загрузки

Окт 13 23:29:58 nixos systemd[1]: Запуск Network Manager...
Окт 13 23:29:58 nixos systemd[1]: Network Manager запущен.
Окт 13 21:59:47 nixos NetworkManager[1671]: <warn>  [1697227187.1589] устройство (eno1): Активация: не удалось для соединения 'Проводное соединение 1'
Окт 13 22:00:32 nixos NetworkManager[1671]: <warn>  [1697227232.1589] устройство (eno1): Активация: не удалось для соединения 'Проводное соединение 1'
Окт 13 22:01:17 nixos NetworkManager[1671]: <warn>  [1697227277.1583] устройство (eno1): Активация: не удалось для соединения 'Проводное соединение 1'
Окт 13 22:02:02 nixos NetworkManager[1671]: <warn>  [1697227322.1592] устройство (eno1): Активация: не удалось для соединения 'Проводное соединение 1'
Окт 13 22:06:00 nixos NetworkManager[1671]: <warn>  [1697227560.1590] устройство (eno1): Активация: не удалось для соединения 'Проводное соединение 1'
Окт 13 22:06:58 nixos NetworkManager[1671]: <warn>  [1697227618.1576] устройство (eno1): Активация: не удалось для соединения 'Проводное соединение 1'
Окт 13 22:07:16 nixos NetworkManager[1671]: <warn>  [1697227636.1919] ndisc[0x13b38e0,"eno1"]: запрос: ошибка при отправке запроса маршрутизатора: Невозможно назначить запрашиваемый адрес (99)
Окт 13 22:07:28 nixos systemd[1]: Остановка Network Manager...
Окт 13 22:07:28 nixos systemd[1]: NetworkManager.service: Успешно деактивировано.
Окт 13 22:07:28 nixos systemd[1]: Network Manager остановлен.
Окт 13 22:07:28 nixos systemd[1]: NetworkManager.service: Использовано 592ms процессорного времени, получено 4.3K IP трафика, отправлено 1.3K IP трафика.

ip a / когда работает

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether a0:36:bc:ba:a5:dd brd ff:ff:ff:ff:ff:ff
    altname enp7s0
    inet 192.168.10.59/24 brd 192.168.10.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 2001:9e8:242b:c200:d7a:ee39:3768:342a/64 scope global temporary dynamic 
       valid_lft 7193sec preferred_lft 3593sec
    inet6 2001:9e8:242b:c200:d1dc:fab3:1015:82ee/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 7193sec preferred_lft 3593sec
    inet6 fe80::6a74:a49d:4dbd:72c0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

ip a / когда неисправно

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether a0:36:bc:ba:a5:dd brd ff:ff:ff:ff:ff:ff
    altname enp7s0
    inet 192.168.10.59/24 brd 192.168.10.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::6a74:a49d:4dbd:72c0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

lshw -C network / когда работает

  *-network                 
       description: Ethernet interface
       physical id: 0
       bus info: pci@0000:07:00.0
       logical name: eno1
       version: 03
       serial: a0:36:bc:ba:a5:dd
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=igc driverversion=6.1.54 duplex=full firmware=1082:8770 ip=192.168.10.59 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:24 memory:fb400000-fb4fffff memory:fb500000-fb503fff
  *-network DISABLED
       description: Wireless interface
       physical id: 0
       bus info: pci@0000:08:00.0
       logical name: wlp8s0
       version: 00
       serial: 86:8c:02:55:26:28
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=mt7921e driverversion=6.1.54 firmware=____000000-20230627143946 latency=0 link=no multicast=yes wireless=IEEE 802.11
       resources: irq:170 memory:fb200000-fb2fffff memory:fb300000-fb307fff

lshw -C network / когда неисправно

  *-network                 
       description: Ethernet interface
       physical id: 0
       bus info: pci@0000:07:00.0
       logical name: eno1
       version: 03
       serial: a0:36:bc:ba:a5:dd
       width: 32 bits
       clock: 33MHz
       capabilities: cap_list ethernet physical
       configuration: broadcast=yes driver=igc ip=192.168.10.59 latency=0 multicast=yes
       resources: irq:24 memory:fb400000-fb4fffff memory:fb500000-fb503fff
  *-network DISABLED
       description: Wireless interface
       physical id: 0
       bus info: pci@0000:08:00.0
       logical name: wlp8s0
       version: 00
       serial: 32:93:9c:fa:3b:9b
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=mt7921e driverversion=6.1.54 firmware=____000000-20230627143946 latency=0 link=no multicast=yes wireless=IEEE 802.11
       resources: irq:170 memory:fb200000-fb2fffff memory:fb300000-fb307fff

Ответ или решение

Решение проблемы случайных отключений интернета на Linux (NixOS)

При работе на Linux (особенно на NixOS) вы можете столкнуться с проблемами подключения к интернету, такими как случайные отключения. Рассмотрим причины и возможные решения данной проблемы.

1. Причины проблемы

Из вашего описания следует, что проблема может быть связана с несколькими факторами:

  • Конфликты драйверов: Вы используете сетевой контроллер Intel I225-V для проводного соединения и MEDIATEK MT7922 для беспроводного. Возможные проблемы в совместимости драйверов рассматриваются как основная причина нестабильности соединений.

  • Настройки NetworkManager: Как видно из логов, NetworkManager не может активировать проводное соединение, выдавая предупреждения о сбоях при активации. Возможно, это связано с неправильными или конфликтующими настройками.

  • Проблемы с DHCP: При получении IP-адреса через DHCP могут возникать конфликты, которые будут вызывать регулярные отключения.

2. Решения

2.1. Обновление драйверов

Первым делом убедитесь, что у вас установлена последняя версия драйверов для сетевых контроллеров. Для этого выполните:

sudo nix-env -iA nixpkgs.linuxPackages.igc
sudo nix-env -iA nixpkgs.linuxPackages.mt7921e

После установки обновлений перезагрузите систему.

2.2. Конфигурация NetworkManager

Проверьте конфигурацию NetworkManager для вашего проводного соединения. Откройте соответствующий конфигурационный файл:

sudo nano /etc/NetworkManager/system-connections/Wired\ connection\ 1

Убедитесь, что следующие параметры указаны корректно:

  • dhcp4 включен (если используется динамический IP).
  • Установлены корректные DNS-серверы, например, Google DNS (8.8.8.8 и 8.8.4.4).

2.3. Используйте фиксированный IP-адрес

Фиксированный IP-адрес может помочь избежать потенциальных конфликтов DHCP. Настройте ваше соединение следующим образом:

# Настройки в конфигурации NetworkManager
[ipv4]
address1=192.168.10.60/24,192.168.10.1
dns=8.8.8.8;8.8.4.4;
method=manual

2.4. Изменение параметров сети

Если проблема не исчезает, попытайтесь сменить метод управления соединениями:

sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager

Проверьте возможность подключения через systemd-networkd или connman.

2.5. Логи и диагностика

Дополнительно, используйте команду journalctl для получения более подробной информации из логов в случае новых сбоев:

journalctl -u NetworkManager -xe

Это поможет вам идентифицировать специфические проблемы, возникающие при отключении.

3. Заключение

Если ни одно из предложенных решений не сработает, возможно, стоит рассмотреть возможность использовании альтернативного дистрибутива, который имеет более широкий опыт работы с вашей аппаратной конфигурацией.

Если вам понадобится дополнительная помощь, вы можете обратиться на форумы NixOS или Linux, где пользователи могут предложить свои решения на основе аналогичного опыта. Регулярные обновления и поддержка сообщества могут значительно улучшить ваши шансы на успех.

Оцените материал
Добавить комментарий

Капча загружается...