Для для просмотра подробного состояния сетевой карты и изменения параметров ее функционирования в Linux и, в частности, в Ubuntu/Mint существует программа ethtool.
Ethtool присутствует в стандартных репозиториях Ubuntu/Mint и установка ее достаточно проста:
sudo apt-get install ethtool
Вот наиболее часто применяемые примеры использования ethtool.
Вывод информации о сетевой карте eth0:
$ sudo ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: on (auto) Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes
Выключение автоопределения, включение Full Duplex и установление скорости в 1000 Mb/s
$ sudo ethtool -s eth0 duplex full speed 1000 autoneg off
Вывести информацию о драйвере сетевой карты
$ sudo ethtool -i enp0s25 driver: e1000e version: 3.2.6-k firmware-version: 1.3-0 expansion-rom-version: bus-info: 0000:00:19.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no
Вывести подробную статистику RX\TX (прием\отдача) и в частности ошибок.
$ sudo ethtool -S enp0s25 NIC statistics: rx_packets: 150794 tx_packets: 136628 rx_bytes: 121162464 tx_bytes: 28460802 rx_broadcast: 1341 tx_broadcast: 114 rx_multicast: 690 tx_multicast: 597 rx_errors: 0 tx_errors: 0 tx_dropped: 0 multicast: 690 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: 0 rx_long_length_errors: 0 rx_short_length_errors: 0 rx_align_errors: 0 tx_tcp_seg_good: 4097 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_csum_offload_good: 149209 rx_csum_offload_errors: 0 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 rx_hwtstamp_cleared: 0 uncorr_ecc_errors: 0 corr_ecc_errors: 0 tx_hwtstamp_timeouts: 0
Здесь необходимо помнить, что настройки сетевой платы, установленные командой ethtool действуют до следующей перезагрузки. Чтобы эти параметры устанавливались при каждой загрузке проще всего подправить файл /etc/network/interfaces добавив строку post-up ethtool -s eth0 speed 100 duplex full autoneg off.
Файл /etc/network/interfaces должен выглядеть примерно так:
auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.10.174 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255 gateway 192.168.10.1 up sleep 5; /usr/sbin/ethtool -s eth0 speed 100 duplex full autoneg off
У программы ethtool усть довольно подробный man (англ.). На opennet есть перевод ethtool man на русский.