Изменить скорость сетевой карты linux

Изменить скорость сетевой карты со 100Mbit на 1000Mbit

Сетевая карта гигабитная это точно. Запускал на этом микросервере Win8 Live в настройках подключения показывает гигабит. Расшарил каталог, скинул файл с другого ПК. Скорость была около 30 мегабайт/сек (хоть и не 1000, но так и так больше 100Mbit). В настройках маршрутизатора тоже показывает гигабит по этому подключению.

Устанавливаю Ubuntu server 16.04 (пробовал ставить ubuntu 17.04, но там не работает https пришлось отказаться от данной версии, понятно, что можно было настроить, но нахрапом я не нашел инфу, да и вопрос сейчас не об этом). Теперь маршрутик в настройках пишет, что по данному подключению 100Mbit (патч-корд используется тот же самый, что и при запуске Win8 Live).

Команда ifconfig выдает следующее:

enp2s0 Link encap:Ethernet HWaddr 00:e0:4c:66:86:82 inet addr:192.168.1.48 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::2e0:4cff:fe66:8682/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1882 errors:0 dropped:0 overruns:0 frame:0 TX packets:137 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:235906 (235.9 KB) TX bytes:18090 (18.0 KB) lo Link encap:Локальная петля (Loopback) inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:164 errors:0 dropped:0 overruns:0 frame:0 TX packets:164 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:12080 (12.0 KB) TX bytes:12080 (12.0 KB)

Команда ethtool enp2s0:

Settings for enp2s0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: Symmetric Link partner advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 0 Transceiver: internal Auto-negotiation: on Cannot get wake-on-lan settings: Operation not permitted Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: yes

На просторах инета нашел вот эту команду

ethtool -s eth1 speed 100 duplex full autoneg off

ethtool -s enp2s0 speed 1000 duplex full autoneg off

Читайте также:  Linux check system variable

Вывод на экране после ее ввода такой:

Cannot get current device settings: No such device not setting speed not setting duplex not setting autoneg

Что делать дальше ХЗ. Может дело в драйверах? В таком случае, где их брать и как устанавливать из терминала?

Заранее благодарен за помощь.

UPD. По ссылке такая же проблема, только человеку нужно изменить 100Mbit на 10Mbit. Данную проблему они решили.

Здесь инструкция по изменению скорости сетевого интерфейса

Там перед командами вводят sudo. В моем случае это никак не помогло.

Источник

Ethtool: как изменить скорость, дуплекс и находить неполадки сетевой карты в Linux

img

Конфигурация вашей сетевой карты напрямую влияет, насколько эффективно взаимодействуют ваши сервера.

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

Ethtool

В этой статье вы узнаете, как изменить настройки скорости, дуплекса и автосогласования в Linux с помощью команд ethtool .

Что такое полудуплекс, полный дуплекс и автосогласование?

Полудуплексный режим (Half-duplex) позволяет устройству отправлять или получать пакеты по очереди. Устройство, установленное в этот режим, не может выполнять оба действия одновременно.

Когда режим устройства находится в полнодуплексном режиме (Full-duplex), он также может отправлять и получать пакеты одновременно.

Автосогласование (Auto-Negotiation) — это механизм, с помощью которого устройство автоматически выбирает наиболее эффективный режим передачи на основе характеристик своих аналогов. Рекомендуется оставить автосогласование включенным, поскольку оно позволяет устройствам выбирать наиболее эффективные средства для передачи данных.

Полудуплекс и полный дуплекс

Что такое дуплексное несоответствие?

Такое происходит когда устройство с включенным автосогласованием подключается к устройству, которое не использует автосогласование. Конец соединения с активным автосогласованием все еще может определить скорость другого конца, но не может правильно определить дуплексный режим. Как правило, конец соединения с автоматическим согласованием будет использовать полудуплекс, тогда как другой конец может быть в дуплексном режиме. Эта ситуация считается дуплексным несоответствием (duplex mismatch).

Несоответствие дуплекса не прекращает связь полностью. Передача отдельных пакетов и небольших объемов данных не вызывают больших проблем. Однако при отправке большого объема данных с любого конца скорость значительно падает. Соединение работает, но производительность снижается, поскольку скорость передачи данных асимметрична и может привести к потере пакетов.

Как использовать команду Ethtool для настройки параметров сетевого адаптера

Ethtool — это команда конфигурации платы сетевого интерфейса, которая позволяет вам получать информацию и изменять настройки сетевого адаптера. Эти настройки включают скорость, дуплекс, автосогласование и многие другие параметры.

Помимо этого, ethtool используется для:

  1. Получения идентификационной и диагностической информации
  2. Получения расширенной статистики устройства
  3. Контроля контрольной суммы
  4. Контроля размеров кольца DMA и модерации прерываний
  5. Контроля выбора очереди приема для устройств с несколькими очередями
  6. Обновления прошивки во флеш-памяти
Читайте также:  Роса линукс последние новости

Для установки ethtool используйте следующие команды:

yum install ethtool [в Fedora, CentOS, RHEL] sudo apt-get install ethtool [в Ubuntu, Debian]

Чтобы продолжить, вам нужно знать имя вашей сетевой карты.

Чтобы найти имя вашей сетевой карты, введите в командном терминале следующую команду:

Вывод покажет нам имя сетевой карты устройства.

enp0s3 Link encap:Ethernet HWaddr 00:1A:2B:3C:4D:5E

Теперь, когда вы определили имя устройства, проверьте текущие настройки скорости, автосогласования и дуплексного режима с помощью команды: ethtool имя_устройства .

В нашем конкретном примере команда выглядит так:

Выходные данные показывают, что текущая скорость равна 1000 Мбит/с, что дуплекс находится в режиме «Full», и что автосогласование включено.

ethtool enp0s3

Изменение настроек сетевого адаптера

Команда ethtool –s может использоваться для изменения текущих настроек путем определения значений скорости speed , дуплекса duplex и автосогласования autoneg в следующем формате:

sudo ethtool –s [device_name] speed [10/100/1000] duplex [half/full] autoneg [on/off]

Например, чтобы установить скорость 1000 Мбит/с, дуплексный режим — «полный», а автоматическое согласование — «включено», команда будет выглядеть так:

sudo ethtool –s enp0s3 speed 1000 duplex full autoneg on

Команда ethtool [имя_устройства] необходима для подтверждения того, что изменения были применены.

Сохранение настроек

Изменения, сделанные с помощью Ethtool, по умолчанию отменяются после перезагрузки системы.

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

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Добавьте нужные значения в виде строки в конце файла, используя следующий синтаксис:

ETHTOOL_OPTS prettyprint"> ETHTOOL_OPTS prettyprint"> sudo ethtool -S имя_устройства

Вывод этой команды будет выглядеть так:

NIC statistics: rx_packets: 108048475 tx_packets: 125002612 rx_bytes: 17446338197 tx_bytes: 113281003056 rx_broadcast: 83067 tx_broadcast: 1329 rx_multicast: 3 tx_multicast: 9 rx_errors: 0 tx_errors: 0 tx_dropped: 0 multicast: 3 collisions: 0 rx_length_errors: 0 rx_over_errors: 0 rx_crc_errors: 0 rx_frame_errors: 0 rx_no_buffer_count: 0 rx_missed_errors: 0 tx_aborted_errors: 0 tx_carrier_errors: 0 tx_fifo_errors: 0 tx_heartbeat_errors: 0 tx_window_errors: 0 tx_abort_late_coll: 0 tx_deferred_ok: 0 tx_single_coll_ok: 0 tx_multi_coll_ok: 0 tx_timeout_count: 0 tx_restart_queue: 2367 rx_long_length_errors: 0 rx_short_length_errors: 0 rx_align_errors: 0 tx_tcp_seg_good: 0 tx_tcp_seg_failed: 0 rx_flow_control_xon: 0 rx_flow_control_xoff: 0 tx_flow_control_xon: 0 tx_flow_control_xoff: 0 rx_long_byte_count: 17446338197 rx_csum_offload_good: 107876452 rx_csum_offload_errors: 2386 rx_header_split: 0 alloc_rx_buff_failed: 0 tx_smbus: 0 rx_smbus: 0 dropped_smbus: 0 rx_dma_failed: 0 tx_dma_failed: 0

Использование приведенной выше команды — отличный способ устранения проблем с конкретной сетевой картой.

Физическое расположение конкретного сетевого адаптера

Вот действительно полезный трюк, который предлагает ethtool : допустим у вас есть сервер с несколькими сетевыми картами, и одна из них работает со сбоями, но вы не уверены, какая именно это карта. Вы можете использовать ethtool , чтобы заставить мигать индикатор сетевого адаптера, чтобы определить, какой сетевой адаптер вам нужен. Скажем, если вы хотите мигать светодиодом устройства Ethernet enp0s3 в течение 15 секунд — команда для этого будет выглядеть так:

Светодиод начнет мигать, чтобы вы знали, с какой картой вы имеете дело.

Тестирование сетевой карты

Команда ethtool предлагает пару удобных тестов, которые вы можете запустить на сетевой карте:

  1. Online — тесты nvram и тест ссылок
  2. Offline — тестирует регистр, память, loopback, прерывание
Читайте также:  Linux mail отправить файл

Давайте запустим онлайн-тест на нашей сетевой карте. Эта команда выглядит так:

sudo ethtool -t enp0s3 online

После выполнения команда покажет нам результаты:

ethtool тест

Учтите, что некоторые устройства не поддерживают offline тестирование.

Информация о драйвере

Чтобы узнать имя драйвера и связанную информацию о драйвере используйте:

driver: via-rhine version: 1.5.0 firmware-version: bus-info: 0000:00:06.0 supports-statistics: no supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

Заключение

Следуя этому руководству, вы успешно изменили настройки своей сетевой карты с помощью команд ethtool . Вы также лучше поняли, как режимы автосогласования и дуплекса влияют на производительность сервера. И заодно узнали пару интересных функций команды ethtool .

Источник

Изменяем скорость и дуплекс сетевой карты в Linux

Для изменения скорости и дуплекса сетевой карты, можно воспользоваться утилитой ethtool.

Установка ETHTOOL#

Для установки ethtool, выполните одну из следующих команд, в зависимости от Вашего дистрибутива Linux.

Установка ethtool в Fedora, CentOS, RHEL и т. д.:

Установка ethtool в Ubuntu, Debian и т. д.:

# sudo apt-get install ethtool 

Узнать скорость, дуплекс и прочую информации о сетевом интерфейсе eth0#

Для того, чтобы узнать текущую скорость, дуплекс и прочую информацию об интерфейсе eth0, выполните следующую команду с правами пользователя root.

Пример результата выполнения команды:

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
Settings for eth0:  Supported ports: [ MII ]  Supported link modes: 10baseT/Half 10baseT/Full  100baseT/Half 100baseT/Full  1000baseT/Half 1000baseT/Full  Supports auto-negotiation: Yes  Advertised link modes: 10baseT/Half 10baseT/Full  100baseT/Half 100baseT/Full  1000baseT/Half 1000baseT/Full  Advertised auto-negotiation: Yes  Speed: 100Mb/s  Duplex: Half  Port: Twisted Pair  PHYAD: 1  Transceiver: internal  Auto-negotiation: on  Supports Wake-on: g  Wake-on: d  Current message level: 0x000000ff (255)  Link detected: yes 

Изменение настроек скорости и дуплекса#

Данные изменения являются временными и перестанут действовать после перезагрузки. См. п.4, если Вам необходимы изменения на постоянной основе. Примеры Активировать функцию Авто-Определения: # ethtool -s eth0 autoneg on​

Отключить функцию Авто-Определения, установить режим Полу-Дуплекса и задать Скорость 10 Mb/s: # ethtool -s eth0 speed 10 duplex half autoneg off

Отключить функцию Авто-Определения, установить режим Полного Дуплекса и задать Скорость 100 Mb/s: # ethtool -s eth0 speed 100 duplex full autoneg off

Изменение настроек скорости и дуплекса на постоянной основе#

Для Fedora/CentOS/RHEL Для того, чтобы настройки сохранились после перезагрузки, необходимо внести изменения в файл /etc/sysconfig/network-scripts/ifcfg-eth0 для интерфейса eth0. # vi /etc/sysconfig/network-scripts/ifcfg-eth0

Добавьте следующую строку для отключения функции Авто-Определения, установки Полного Дуплекса и Скорость 100 Mb/s: ETHTOOL_OPTS=»speed 100 duplex full autoneg off»

Перезапустите интерфейс для применения настроек: # ifdown eth0 && ifup eth0

Источник

Оцените статью
Adblock
detector