rizloff
Локалка

Почему в локалке 10 мегабит: проверяем сетевую и кабель

2 мин чтения

Сосед по сети пожаловался, что из локалки качает еле-еле, а у всех летает. Оказалось, сетевая карта у него работала на 10 мегабит. Такое бывает чаще, чем кажется, и проверяется за минуту.

Linux

Смотрим, на какой скорости поднялась карта:

su -c 'ethtool eth0'

Интересны три строки:

Speed: 100Mb/s
Duplex: Full
Link detected: yes

Если там 10Mb/s или Duplex: Half, вот и причина. Ошибки на интерфейсе показывает ifconfig eth0: строки errors и collisions. На нормальном соединении там нули или почти нули, при несовпадении дуплекса они растут на глазах.

Windows

«Диспетчер устройств», свойства сетевой карты, вкладка «Дополнительно». Там есть пункт со скоростью и дуплексом, обычно он называется вроде Speed & Duplex. Текущую скорость видно в состоянии подключения.

Почему так получается

Чаще всего виноват кабель. Для 100 мегабит нужны две пары проводов из четырех, но если одна жилка перебита или плохо обжата, карта договаривается на 10. Кабель, который тянули монтажники провайдера по подъезду, на старых домах тоже бывает с сюрпризами.

Вторая причина: на одной стороне скорость выставлена руками, а на другой автоопределение. Тогда одна сторона работает в полном дуплексе, другая в половинном, и скорость падает в разы. Лечится просто: на своей стороне возвращаем автоопределение, в Linux это

su -c 'ethtool -s eth0 autoneg on'

а в Windows в том же пункте выбираем автоопределение.

Если с автоопределением все равно 10 мегабит, переобжимаем коннектор или меняем патч-корд. У соседа помог новый патч-корд за пару гривен: старый он, как выяснилось, сам обжимал плоскогубцами.

Что-то не сработало или нашли ошибку — напишите: rizloff@gmail.com или @rizloff в Telegram.