- Linux замена сетевой карты
- Linux замена сетевой карты
- Настройка сетевого интерфейса Linux
- Настройка сетевого интерфейса Linux
- 1. Синтаксис и опции ethtool
- 2. Установка ethtool
- 3. Информация про сетевые интерфейсы
- 4. Изменение настроек интерфейса
- 5. Просмотр драйвера
- 6. Статистика интерфейса
- 7. Управление светодиодом
- 8. Сохранение настроек
- Выводы
Linux замена сетевой карты
Недавно мне понадобилось достать и принять в эксплуатацию старый компьютер, который не имеет встроенной сетевой карты на материнской плате. Это вполне нормально для того времени, когда он приобретался, поскольку в те времена намного популярнее были факс-модемы, которые позволяли осуществлять Dial-Up подключение к сети Интернет, а вот RJ45 использовались чаще всего только для связи в локальной сети. Так или иначе, сетевую карту мне пришлось докупить. После ее установки я был немного удивлен, когда огонек на сетевой карте загорелся, а программа установки Debian оповестила меня о том, что ни одна сетевая карта на моем компьютере не найдена. Это весьма странно, поскольку такое оборудование, как сетевая карта, чаще всего никаких дополнительных драйверов не требует. Разберем наиболее часто встречающиеся проблемы с сетевыми картами в Linux и постараемся найти им решение.
Прежде всего, стоит отметить, что значок «Нет сети» на системной панели вовсе не означает, что вы не подключены к Интернету. В одном моем компьютере, имеющем две сетевые карты на борту, network-manager администрировал почему-то только одну, а вторая поднималась в системе автоматически. При всем этом у меня все время отображался значок, при котором, казалось бы, доступа в Интернет быть не должно. Сетевая карта также может быть просто неправильно настроена. Для того, чтобы проверить эту теорию, нужно набрать в терминале следующую команду:
Следующим пунктом следует проверить вывод списка PCI-устройств. Сформировать этот список можно выполнив следующую команду в консоли:
Следующий уровень ― BIOS. Жмем при загрузке кнопочку «Delete» и заходим в меню BIOS. Если прежде в компьютере никогда не было сетевой карты, то вполне логично можно предположить, что все функции, с нею связанные, отключены еще из этого меню. Искать их, впрочем, мы не станем (в виду того, что разные производители выделываются как только могут и один и тот же пункт в результате на разных материнских платах может называться совершенно по-разному), а вместо этого просто сбросим все настройки на заводские умолчания (factory settings или, реже, failsafe settings). После перезагрузки снова смотрим вывод lspci. Если карта появилась в списке PCI-устройств, то все замечательно. Если нет, то нужно смотреть еще глубже.
Прежде всего проверьте сетевую карту на совместимость. У PCI тоже есть разные версии и на мой компьютер, к примеру, нельзя поставить карту с PCI-Express, зато можно поставить карту с PCI 2.0. Горит ли огонек на карте, если к ней подключить патч-корд (учтите, что с другой стороны патч-корд также должен быть подключен к чему-то работающему, так как в противном случае огонек не загорится даже на самой рабочей конфигурации)? Если не горит, попробуйте вставить сетевую карту в другой PCI-разъем. Иногда PCI-разъемы повреждаются и работать корректно больше не могут. Если и после изменения разъема все осталось по-прежнему, просмотрите контакты на сетевой карте. Быть может, повреждены именно они? Если есть возможность, попробуйте подключить эту сетевую карту к другому компьютеру такой же конфигурации. Также при возможности советую проверить те разъемы PCI, в которых отказалась работать сетевая карта, при помощи подключения к ним каких-нибудь других устройств (никаких драйверов устанавливать не надо, главное, чтобы в lspci появились данные о том, что в разъем вставлено какое-то устройство). Если на другом компьютере сетевая карта работает, а в вашем работает другое устройство, то это, скорее всего, несовместимость версий PCI. Если сетевая карта не работает и на другом компьютере, то смело несите ее туда, где приобрели ― это либо брак, либо продавцы намеренно вручили вам некондиционный товар. В крайнем случае, пусть проверяют у себя и доказывают, что на самом деле она рабочая.
Источник
Linux замена сетевой карты
Недавно мне понадобилось достать и принять в эксплуатацию старый компьютер, который не имеет встроенной сетевой карты на материнской плате. Это вполне нормально для того времени, когда он приобретался, поскольку в те времена намного популярнее были факс-модемы, которые позволяли осуществлять Dial-Up подключение к сети Интернет, а вот RJ45 использовались чаще всего только для связи в локальной сети. Так или иначе, сетевую карту мне пришлось докупить. После ее установки я был немного удивлен, когда огонек на сетевой карте загорелся, а программа установки Debian оповестила меня о том, что ни одна сетевая карта на моем компьютере не найдена. Это весьма странно, поскольку такое оборудование, как сетевая карта, чаще всего никаких дополнительных драйверов не требует. Разберем наиболее часто встречающиеся проблемы с сетевыми картами в Linux и постараемся найти им решение.
Прежде всего, стоит отметить, что значок «Нет сети» на системной панели вовсе не означает, что вы не подключены к Интернету. В одном моем компьютере, имеющем две сетевые карты на борту, network-manager администрировал почему-то только одну, а вторая поднималась в системе автоматически. При всем этом у меня все время отображался значок, при котором, казалось бы, доступа в Интернет быть не должно. Сетевая карта также может быть просто неправильно настроена. Для того, чтобы проверить эту теорию, нужно набрать в терминале следующую команду:
Следующим пунктом следует проверить вывод списка PCI-устройств. Сформировать этот список можно выполнив следующую команду в консоли:
Следующий уровень ― BIOS. Жмем при загрузке кнопочку «Delete» и заходим в меню BIOS. Если прежде в компьютере никогда не было сетевой карты, то вполне логично можно предположить, что все функции, с нею связанные, отключены еще из этого меню. Искать их, впрочем, мы не станем (в виду того, что разные производители выделываются как только могут и один и тот же пункт в результате на разных материнских платах может называться совершенно по-разному), а вместо этого просто сбросим все настройки на заводские умолчания (factory settings или, реже, failsafe settings). После перезагрузки снова смотрим вывод lspci. Если карта появилась в списке PCI-устройств, то все замечательно. Если нет, то нужно смотреть еще глубже.
Прежде всего проверьте сетевую карту на совместимость. У PCI тоже есть разные версии и на мой компьютер, к примеру, нельзя поставить карту с PCI-Express, зато можно поставить карту с PCI 2.0. Горит ли огонек на карте, если к ней подключить патч-корд (учтите, что с другой стороны патч-корд также должен быть подключен к чему-то работающему, так как в противном случае огонек не загорится даже на самой рабочей конфигурации)? Если не горит, попробуйте вставить сетевую карту в другой PCI-разъем. Иногда PCI-разъемы повреждаются и работать корректно больше не могут. Если и после изменения разъема все осталось по-прежнему, просмотрите контакты на сетевой карте. Быть может, повреждены именно они? Если есть возможность, попробуйте подключить эту сетевую карту к другому компьютеру такой же конфигурации. Также при возможности советую проверить те разъемы PCI, в которых отказалась работать сетевая карта, при помощи подключения к ним каких-нибудь других устройств (никаких драйверов устанавливать не надо, главное, чтобы в lspci появились данные о том, что в разъем вставлено какое-то устройство). Если на другом компьютере сетевая карта работает, а в вашем работает другое устройство, то это, скорее всего, несовместимость версий PCI. Если сетевая карта не работает и на другом компьютере, то смело несите ее туда, где приобрели ― это либо брак, либо продавцы намеренно вручили вам некондиционный товар. В крайнем случае, пусть проверяют у себя и доказывают, что на самом деле она рабочая.
Источник
Настройка сетевого интерфейса Linux
В сегодняшней статье мы поговорим про настройку сетевого интерфейса с помощью утилиты ethtool. С помощью неё вы можете менять такие низкоуровневые настройки сетевой карты, как скорость передачи данных и метод выбора скорости при подключении, смотреть статистику и используемый драйвер, управлять светодиодом на карте, а также многое другое.
Мы разберемся как установить утилиту в популярных дистрибутивах, как её использовать и какие опции она поддерживает, а потом рассмотрим примеры работы.
Настройка сетевого интерфейса Linux
1. Синтаксис и опции ethtool
Синтаксис ethtool довольно простой, утилите достаточно передать опции и имя сетевого интерфейса, с которым вы хотите работать:
$ ethtool опции интерфейс параметры
Вот основные опции утилиты, которые мы будем использовать в этой статье:
- —version — выводит версию утилиты;
- -g, —show-ring — позволяет посмотреть информацию о буфере RX и TX пакетов;
- -G, —set-ring — позволяет установить размер буфера RX и TX пакетов, работает только для беспроводного интерфейса;
- -i, —driver — выводит имя используемого драйвера;
- -P, —show-permaddr — выводит постоянный MAC адрес устройства;
- -r, —negotiate — выполняет повторное согласование скорости передачи данных, если включено автоматическое согласование;
- -S, —statistics — выводит статистику;
- -s, —change — позволяет менять настройки сетевого интерфейса;
- -k, —show-offload — позволяет посмотреть какие технологии offload включены;
- —reset — позволяет сбросить настройки различных компонентов сетевой карты, для сброса всех настроек используйте значение параметра all;
Это далеко не все опции программы, все вы можете посмотреть выполнив такую команду в терминале, если программа установлена:
2. Установка ethtool
Обычно, утилита не поставляется по умолчанию вместе с дистрибутивом, но она есть в официальных репозиториях. Для установки утилиты в Ubuntu или Debian выполните:
sudo apt install ethtool
Для установки ethtool linux в Fedora, CentOS или REHL выполните:
sudo yum install ethtool
А для OpenSUSE команда будет выглядеть вот так:
sudo zypper install ethtool
3. Информация про сетевые интерфейсы
Сначала надо посмотреть список сетевых интерфейсов в системе. Для этого выполните такую команду:
В данном примере, я использовал фильтр egrep чтобы отсеять все интерфейсы, созданные контейнерами Docker, вам этого делать не обязательно. Здесь enp24s0 — это сетевой интерфейс Ethernet, который мы и будем использовать дальше. Выполнив утилиту ethtool без опций можно посмотреть текущие настройки сетевого интерфейса:
sudo ethtool enp24s0
Обратите внимание на пункт Supported link modes, здесь перечислены поддерживаемые скорости передачи данных и режимы дуплекса для них. Скорость измеряется в мегабитах и обычно доступны значения 10, 100 и 1000.
Режим дуплекса, выводимый в параметре Duplex отвечает за приём и передачу данных. При значении full сетевая карта может одновременно принимать и отправлять данные, а режиме half только принимать или отправлять данные. Текущая скорость передачи данных выводится немного ниже параметра Duplex.
Ещё есть параметр Advertised auto negotiation. Он отвечает за то будет ли скорость передачи данных и режим дуплекса настраиваться автоматически в зависимости от возможностей обоих соединённых устройств. По умолчанию этот параметр включён и рекомендуется его таким и оставить.
4. Изменение настроек интерфейса
Менять все эти настройки и многие другие можно с помощью опции -s. Например чтобы отключить автоматическое согласование параметров работы выполните:
sudo ethtool -s enp24s0 autoneg off
Затем можно вручную установить скорость передачи данных:
sudo ethtool -s enp24s0 speed 10
А режим дуплекса в half:
sudo ethtool -s enp24s0 duplex half
Всё это можно объединить в одну команду:
sudo ethtool -s enp24s0 speed 10 duplex half autoneg off
После изменения скорости передачи данных надо снова поднять сетевой интерфейс:
sudo ip link set dev enp24s0 up
Теперь при просмотре настроек сетевой карты вы увидите новые значения:
5. Просмотр драйвера
Чтобы посмотреть используемый драйвер используйте опцию -i:
sudo ethtool -i enp24s0
6. Статистика интерфейса
Посмотреть статистику по переданных и полученных данных можно с помощью опции -S:
sudo ethtool -S enp24s0
Сбросить эту статистику можно только выгрузив драйвер ядра, который используется для сетевой карты. Для этого сначала отключите сетевой интерфейс:
sudo ip link set dev enp24s0 down
Затем выгрузите модуль ядра с драйвером:
sudo modprobe -r r8169
Верните драйвер обратно и запустите устройство:
sudo modprobe r8169
sudo ip link set dev enp24s0 up
После этого статистика будет сброшена:
7. Управление светодиодом
Если в вашем компьютере установлено несколько сетевых карт и вам надо определить какой их них принадлежит то или иное имя в системе, можно использовать опцию -p. Ей надо передать количество секунд на протяжении которых светодиод на разъёме должен гореть:
sudo ethtool enp24s0 -p 100
Таким образом вы можете подсветить интерфейс ethtool.
8. Сохранение настроек
Все выполненные с помощью ethtool настройки актуальны только до перезагрузки. Чтобы их сохранить после перезагрузки надо создать скрипт, выполняющий нужные команды после старта системы или же использовать возможности network-scripts. Например в Ubuntu или Debian можно добавить команду, которая выполняет нужные настройки в файл /etc/network/if-pre-up.d/ethtool. Например:
sudo vi /etc/network/if-pre-up.d/ethtool
/sbin/ethtool -s enp24s0 speed 10 duplex half
Для CentOS следует добавить параметр ETHTOOL_OPTS в файл настройки сетевого интерфейса, Например:
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp24s0
ETHTOOL_OPTS=»speed 10 duplex half autoneg off»
Выводы
В этой небольшой статье мы рассмотрели как выполняется настройка сетевого интерфейса Linux с помощью утилиты ethtool. Если вы знаете другие полезные способы настройки, пишите в комментариях!
Источник