Ubuntu 22.04 - Сеть - Проводное соединение сообщает, что кабель отключен

Ubuntu 22.04 - Сеть - Проводное соединение сообщает, что кабель отключен

У меня система с двойной загрузкой, работающая на Windows 10 и Ubuntu 22.04 LTS, и я не могу заставить проводное соединение работать правильно. Я попробовал следующее:

Я установил ethtool

sudo apt-get install ethtool

и просто выполнил команду

sudo ethtool -s ens5f5 autoneg off speed 100 duplex full

где ens5f5 — мой интерфейс ehternet, полученный ранее с помощью ifconfig.

Я нашел это вНе могу подключиться к домашней сети Ethernet с 18.04 - кабель отключенно когда я реализую это решение и запускаю тест скорости, он оказывается намного медленнее, чем при использовании соединения Wi-Fi. Я попытался заменить скорость на 1000, но он возвращает ошибку: ошибка netlink: недопустимый аргумент

Меня устраивает скорость Wi-Fi, но мне интересно, почему соединение Ethernet не работает на приемлемой скорости.

решение1

Задача решена

После переустановки Ubuntu 22.04 и последующего запуска:

sudo ethtool -s ens5f5 autoneg on speed 100 duplex full

Мне удалось достичь приемлемой скорости на тесте скорости (скорость загрузки 93,45). Я изменил autoneg с off на on, так что я не уверен, помогло ли это или это была новая установка Ubuntu или комбинация того и другого, но я возьму это.

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

Сначала создайте файл службы Systemd, как показано в примере ниже (я создал файл /etc/systemd/system/start-ethernet.service):

[Unit]
After=network.target

[Service]
ExecStart=/usr/local/bin/start-ethernet.sh

[Install]
WantedBy=default.target

After: Указывает systemd, когда следует запустить скрипт. В нашем случае скрипт запустится после подключения к сети. Другим примером может быть mysql.target и т. д.

ExecStart: это поле содержит полный путь к фактическому скрипту, который будет выполнен при запуске.

WantedBy: В какую загрузочную цель следует установить модуль systemd

Создайте скрипт, который будет выполняться при запуске системы Ubuntu. Как указано в шаге 1 выше, путь и имя нового скрипта — /usr/local/bin/start-ethernet.sh.

Ниже приведен пример такого скрипта:

#!/bin/bash

ethtool -s ens5f5 autoneg on speed 100 duplex full

Установите соответствующие разрешения для модуля службы Systemd и скрипта:

$ sudo chmod 744 /usr/local/bin/start-ethernet.sh

$ sudo chmod 664 /etc/systemd/system/start-ethernet.service

Далее включаем сервисный блок:

$ sudo systemctl daemon-reload

$ sudo systemctl enable start-ethernet.service

Теперь вы готовы перезагрузить систему. После перезагрузки проводное соединение должно быть активным.

Инструкции по созданию и запуску скрипта запуска я нашел здесь:https://linuxconfig.org/how-to-run-script-on-startup-on-ubuntu-22-04-jammy-jellyfish-server-desktopа затем я адаптировала их для собственного использования.

Связанный контент