Карты сетевого интерфейса

Ethtool options

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

1. Убедиться, что карта сетевого интерфейса (NIC) правильно установлена и сетевой кабель подключен (ISP СРЕ, перемычка и т. д.).

2. После проверки соединения убедиться, что нет сообщения об отсутствии соединения или несоответствии его дуплексной передаче.

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

Для проверки наличия сообщения и определения скорости и дуплексное™ предусмотрены две возможные команды: уже устаревшая mi i – tool (программный пакет net-tools) и более новая ethtool (программный пакет ethtool). Если у вас не используется старый драйвер NIC, несовместимый с командой ethtool, то рекомендуется всегда использовать команду ethtool.

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

$ ethtool – h I less Отображает параметры команды ethtool

Возвращаемая командой ethtool информация является встроенной в stderr помощью. Чтобы просмотреть эти сообщения с помощью less, мы перенаправили stderr в stdout.

Чтобы отобразить настройки конкретной карты Ethernet, добавьте к данной команде имя соответствующего интерфейса. Например, чтобы просмотреть информацию об ethO, нужно ввести:

$ sudo ethtool ethO Отображает параметры NIC интерфейса ethO

Settings for ethO:

Supported ports: [ TP Mil ]

Supported link modes: lObaseT/Half lObaseT/Full

LOObaseT/Half lOObaseT/Full

Supports auto-negotiation: Yes

Advertised link modes: lObaseT/Half lObaseT/Full

LQQbaseT/Half lOObaseT/Full

Advertised auto-negotiation: Yes Speed: lOOMb/s Duplex: Full Port: Mil PHYAD: 1

Transceiver: internal Auto-negotiation: on Supports Wake-on; g Wake-on: g

Current message level: 0×00000007 (7) Link detected: yes

Для получения информации об интерфейсе Ethernet могут потребоваться привилегии суперпользователя — именно с этим связано использование в предыдущем примере команды sudo.

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

$ sudo ethtool -1 ethO Выводит информацию о драйвере NIC

Driver: elOOO

Version: 7.3.15-k2-NAPI

Firmware-version: 0,5-7

Bus-info: 0000:04:00.0

Чтобы отобразить подробную статистику использования NIC, необходимо использовать параметр – S:

$ sudo ethtool – S ethO Отображает статистику NIC интерфейса ethO NIC statistics:

Rx_packets: 1326384

Tx_packets: 773046

Rx_bytes: 1109944723

Tx_bytes: 432773480

Rx_errors: 5

Tx_errors: 2

Rx_dropped; 0

Tx_dropped: 0

Multicast: 0

Collisions: 0

Rx_length_errors: 0

Rx_over_errors: 0

Rx_crc_errors: 5

Rx_frame_errors: 0

Rx_fifo_errors: 0

Rx_missed_errors: 0

Tx_aborted_errors; 0

Tx_carrier_errors: 2

Команда ethtool может использоваться как для изменения настроек NIC, так и для их отображения. Для отключения автоматического согласования и фиксирования скорости NIC, равной 100 Мбит/сек при полном дуплексе, необходимо выполнить следующую команду:

$ sudo ethtool – s ethO speed 100 duplex full autoneg off Изменяет настройки NIC

Для отключения же автоматического согласования и фиксирования скорости, равной 10 Мбит/сек при полудуилексе, необходимо выполнить следующую команду:

$ sudo ethtool – s ethO speed 10 duplex half autoneg off Изменяет настройки NIC

Изменения, произведенные в настройках NIC, распространяются и на текущую сессию, однако после перезагрузки эти изменения сбрасываются. Чтобы изменения действовали и после перезагрузки компьютера или сети, необходимо создать исполняемый файл, который будет выполняться во время загрузки системы.

1. Выберите имя для файла (например, eth_opti ons), а затем создайте файл в каталоге /etc/init. d:

$ sudo v1 /etc/1 n1t. d/eth_opt1 oris

2. Вставьте в этот файл следующий текст:

#!/bin/sh

ETHT00L="/usr/sbin/et htоо 1"

ETHT00L_0PTS="speed 10 duplex half autoneg off"

DEV="ethO"

Case "$1" in

Start)

Echo – n "Setting $DEV options to $ETHT00L_0PTS."; $ETHTOOL – s $DEV $ETHT00L_0PTS: echo " done.";:

Stop)

Esac exit 0

3. Поместите специфические настройки в переменную ETHT00L0PTS, например: ETHT00L_0PTS="speed 10 duplex half autoneg off"

Кроме того, измените переменную DEV, указывающую на первый интерфейс Ethernet — ethO.

4. Присвойте файлу свойства исполняемого: $ sudo chmod +х /etc/init. d/ethoptions

5. Создайте символьные ссылки для запуска файла на различных уровнях выполнения:

$ sudo update-rcd ethoptions defaults

Adding system startup for /etc/init. d/eth_options. /etc/rc0.d/K20eth_options -> ./init. d/eth_options /etc/rcl. d/K20eth_options -> ./init. d/eth_options /etc/rc6.d/K20eth_options -> ./init. d/eth_options /etc/rc2.d/S20eth_options -> ./init. d/eth_options /etc/rc3.d/S20eth_options -> ./init. d/eth_options /etc/rc4.d/S20eth_options -> ./init. d/eth_options /etc/rc5.d/S20eth_options -> ./init. d/eth_options

Запустить созданный файл вы можете с помощью следующей команды: $ sudo /etc/init. d/ethoptions start

Подобные советы можно найти на сайте nixCraft (www. cyberciti. biz/tips).

Как было отмечено ранее, команда ethtool может не работать со старыми картами NIC. Если у вас именно такая ситуация, попробуйте воспользоваться командой mii-tool:

$ sudo mii-tool Отображает согласованную скорость и статус

Сообщения старой NIC ethO: negotiated 100baseTx-FD flow-control, link ok

Данная команда была выполнена на том же компьютере, что и предыдущие: с автоматическим согласованием NIC на скорости 1000 Мбит/сек при полном

Дуплексе. Команда mi i – tool не может получить настройки скорости, поэтому мы рекомендуем использовать утилиту mii-tool только в качестве последнего средства, когда невозможно использовать ethtool.

Для отображения с помощью mii-tool более подробной информации предназначен параметр – v:

$ sudo mii-tool – v Выдает подробное описание параметров NIC

EthO: negotiated 100baseTx-FD flow-control, link ok product info: vendor 00:50:43. model 12 rev 2 basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: lOObaseTx-FD lOObaseTx-HD lObaseT-FD lObaseT-HD advertising: lOObaseTx-FD lOObaseTx-HD lObaseT-FD lObaseT-HD flow-control link partner: lOObaseTx-FD lOObaseTx-HD lObaseT-FD lObaseT-HD flow-control

В данном примере показано, что оба модуля (lOObaseTx и lObaseT) поддерживают полудуплекс (HD) и полный дуплекс (FD). Чтобы отключить автоматическое согласование и самостоятельно указать настройки, нужно использовать параметр – F:

$ sudo mii-tool – F 10baseT-FD ethO Устанавливает значения скорости и дуплекса равными 10baseT-FD

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

$ sudo mii-tool – г ethO Восстанавливает автоматическое согласование для NIC restarting autonegotiation.

Команда mii-tool, в отличие от ethtool, не предоставляет возможности сохранять настройки, поэтому эту команду необходимо выполнять после каждой перезагрузки. Чтобы это сделать, добавьте ее в конец файла /etc/гс. local.

Команда netstat предоставляет еще один способ отобразить статистику сетевого интерфейса:

$ netstat – I Отображает статистику сетевого интерфейса ethO

Kernel Interface table

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Fig ethO 1500 0 1757208 6 0 0 996834 4 0 0 BMRU

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

$ netstat – ic Обновляет статистику сетевого интерфейса ежесекундно

Объединив данную команду с командой watch, можно получить более четкий, ориентированный на экран вывод команды netstat:

$ watch netstat – i Обновляет статистику сети (в режиме,

Ориентированном на экран) Every 2.0s: netstat – i Wed Aug 22 01:55:48 2007

Kernel Interface table

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Fig ethO 1500 0 1757208 6 0 0 996834 4 0 0 BMRU

Как видно из отображенной в данном примере информации, статистика netstat обновляется каждые две секунды.

Поделиться новостью...

Linux согласованную скорость сетевой карты


Смотрите также:

Написать комментарий