У меня система с двойной загрузкой, работающая на 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а затем я адаптировала их для собственного использования.