Вопрос или проблема
У меня есть старый компьютер (думаю, 6 лет), в котором установлена сетевая карта jmicron ethernet.
Сначала она вообще не работала. Разбираясь, я обнаружил, что она отключена, но не берет IP самостоятельно. После некоторого времени поиска решения в интернете, решение оказалось в изменении скорости и режима дуплекса на 100Mbps и полный дуплекс, это единственный режим, который адаптер принимает по какой-то причине, возможно, драйвер сломан.
Проблема в том, что каждый раз после перезагрузки системы, очевидно, изменения не сохраняются, и мне приходится вручную устанавливать скорость и дуплекс снова, чтобы интернет заработал, а это проблема, так как я управляю этим компьютером по SSH и мне нужен интернет, чтобы он автоматически поднимался при старте системы.
Как я могу запускать пару команд при старте системы? Думаю, что с появлением bionic beaver многое изменилось, и я немного потерялся.
Информация о ПК:
ОС: Ubuntu Server 18.04 (без X)
Команды:
ethtool -s enp3s0 speed 1000 duplex full
ethtool -s enp3s0 speed 100 duplex full
ifdown enp3s0
ifup enp3s0
(нужно сначала установить 1000, а затем 100, иначе не работает)
Результат lshw -c network:
*-network
description: Ethernet interface
product: JMC250 PCI Express Gigabit Ethernet Controller
vendor: JMicron Technology Corp.
physical id: 0
bus info: pci@0000:03:00.0
logical name: enp3s0
version: 03
serial: f4:6d:04:1e:bd:42
size: 100Mbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm pciexpress msix msi bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=jme driverversion=1.0.8 duplex=full ip=192.168.1.15 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
resources: irq:26 memory:fbffc000-fbffffff ioport:ec00(size=128) ioport:e800(size=256)
Если вам нужна дополнительная информация, просто скажите.
Спасибо! ^^
Хорошо, я нашел, как это сделать.
Я просто создал скрипт rc.local с приведенными выше командами, отключил сервис ожидания с помощью:
systemctl disable systemd-networkd-wait-online.service
Потому что он ожидал около 5 минут, чтобы интернет-источник заработал, и изменил /etc/network/interfaces на:
allow-hotplug enp3s0
iface enp3s0 inet dhcp
Таким образом, интерфейс не пытался настраиваться в течение этих 5 минут.
Теперь все работает идеально. Я был немного запутан, потому что rc.local по умолчанию не существует.
Ответ или решение
Для решения проблемы с автоматической настройкой скорости и дуплекса сетевой карты JMicron Ethernet на вашем старом компьютере с Ubuntu Server 18.04, можно использовать скрипт rc.local
. Это позволит вам сохранить необходимые сетевые настройки при каждом запуске системы, что особенно важно, поскольку вы управляете компьютером через SSH и нуждаетесь в стабильном подключении к интернету.
Шаги для изменения скорости и дуплекса на старте системы:
-
Создание скрипта rc.local:
Несмотря на то, что
rc.local
отсутствует по умолчанию в новых версиях Ubuntu, его можно создать вручную. Данный скрипт позволит запускать ваши команды при старте системы.Команды:
sudo nano /etc/rc.local
Вставьте следующие строки в файл:
#!/bin/sh -e ethtool -s enp3s0 speed 1000 duplex full ethtool -s enp3s0 speed 100 duplex full ifdown enp3s0 ifup enp3s0 exit 0
Убедитесь, что скрипт имеет права на выполнение:
sudo chmod +x /etc/rc.local
-
Отключение службы ожидания сети:
Служба
systemd-networkd-wait-online.service
может задерживать загрузку системы, где ожидание сети занимает до 5 минут. Эту задержку можно устранить:Команда:
sudo systemctl disable systemd-networkd-wait-online.service
-
Изменение файла конфигурации сети:
Для гибкой настройки интерфейса измените файл
/etc/network/interfaces
:Команды:
sudo nano /etc/network/interfaces
Вставьте и сохраните следующую конфигурацию:
allow-hotplug enp3s0 iface enp3s0 inet dhcp
Дополнительные рекомендации:
- Проверьте, чтобы команда
ethtool
, отключение и включение интерфейса с помощьюifdown
иifup
выполнялись корректно, что указывает на решение проблемы с драйвером. - Убедитесь, что драйвер для JMicron, версия 1.0.8, правильно установлен и настроен для поддержки необходимых функций.
Используя эти шаги, вы сможете настроить ваше устройство для автоматической настройки сетевой интерфейса при каждом запуске, решив проблему с ручной настройкой параметров соединения. Таким образом, система будет готова к удаленному управлению через SSH без необходимости вмешательства после каждой перезагрузки.