Как проверить скорость сети в Linux на роутере Beeline
Альтернативные методы проверки скорости соединения на старом роутере Beeline Smart Box TURBO+ с ядром 3.10.14, когда ethtool недоступен.
Как проверить скорость сетевого соединения в Linux на старом роутере Beeline Smart Box TURBO+?
У меня есть старый роутер на ядре 3.10.14 (Beeline Smart Box TURBO+ с родной прошивкой). В веб-интерфейсе он отображает скорость соединения для LAN-портов, но не показывает для WAN-порта. При попытке проверить скорость через консоль с помощью команды cat sys/class/net/ra0/speed возникает ошибка: ‘cat: read error: Invalid argument’. Команда ethtool также недоступна.
Откуда роутер получает информацию о скорости соединения, которую отображает в статусе веб-интерфейса, и как можно проверить эту информацию через командную строку?
Для проверки скорости сетевого соединения на вашем роутере Beeline Smart Box TURBO+ с ядром 3.10.14 можно использовать несколько альтернативных методов, так как стандартный подход через /sys/class/net/ не работает, а ethtool недоступен.
Содержание
- Альтернативные методы проверки скорости
- Использование sysfs с правильным именем интерфейса
- Проверка через mii-tool
- Просмотр системных логов
- Анализ веб-интерфейса
- Особенности вашего роутера
- Решение проблемы “Invalid argument”
Альтернативные методы проверки скорости
На старых системах с ядром 3.10.x существует несколько способов проверить скорость сетевого соединения без ethtool:
- Чтение из sysfs - прямой доступ к информации ядра
- mii-tool - утилита для работы с MII интерфейсами
- networkctl - современный инструмент из systemd
- Анализ системных логов - dmesg и системные файлы
Эти методы основаны на том, что информация о скорости соединения хранится в разных местах системы, включая пространство ядра (sysfs), системные логи и аппаратные регистры сетевого контроллера.
Использование sysfs с правильным именем интерфейса
Проблема с вашей командой cat sys/class/net/ra0/speed может быть связана с неправильным именем интерфейса или особенностями ядра 3.10.14.
Для проверки правильного имени интерфейса используйте:
ls /sys/class/net/
Затем попробуйте прочитать скорость для каждого обнаруженного интерфейса:
cat /sys/class/net/<interface_name>/speed
На вашем роутере Beeline Smart Box TURBO+ интерфейсы могут называться:
eth0- основной Ethernet интерфейсwan- WAN интерфейсra0- беспроводной интерфейс (Wi-Fi)
Если вы получаете ошибку “Invalid argument”, это означает, что интерфейс либо не поддерживает чтение скорости через sysfs, либо не настроен должным образом в данном ядре.
Проверка через mii-tool
mii-tool часто доступен даже на старых системах, где ethtool отсутствует. Эта утилита работает с Media Independent Interface (MII) и может показать реальную скорость соединения:
mii-tool
Для проверки конкретного интерфейса:
mii-tool eth0
Пример вывода:
eth0: negotiated 100baseTx-FD, link ok
Это покажет фактическую скорость и режим работы (half/full duplex). Как указано в ответах на Server Fault, mii-tool обычно показывает реальную скорость работы, в отличие от ethtool, который может показывать максимальную поддерживаемую скорость.
Просмотр системных логов
Информация о скорости соединения может быть записана в системных логах. Проверьте:
dmesg | grep -i speed
dmesg | grep -i eth
dmesg | grep -i link
Также можно проверить файлы в /proc/net/:
ls /proc/net/
cat /proc/net/dev
Файл /proc/net/dev показывает статистику по интерфейсам, но не всегда содержит информацию о скорости.
Анализ веб-интерфейса
Как вы заметили, веб-интерфейс роутера успешно отображает скорость для LAN-портов. Эта информация берется из системных данных, к которым имеет доступ веб-сервер роутера.
Исходя из данных WikiDevi, ваш роутер использует MediaTek MT7621AT chipset, который поддерживает различные скорости. Веб-интерфейс, скорее всего, читает информацию из тех же системных источников, что мы пытаемся использовать через командную строку.
Особенности вашего роутера
Согласно исследованиям, ваш Beeline Smart Box TURBO+ имеет следующие характеристики:
- Чипсет: MediaTek MT7621AT
- Ядро: Linux 3.10.14 (как показано в TechInfoDepot)
- LAN скорость: 100M для некоторых моделей, 100M + 1GbE для других
- WAN скорость: 100M или 1GbE в зависимости от модели
Ваша проблема с чтением скорости через sysfs может быть связана с особенностями реализации MediaTek MT7621 в ядре 3.10.14, которое имеет ограничения в полном раскрытии информации через sysfs.
Решение проблемы “Invalid argument”
Ошибка “Invalid argument” при чтении /sys/class/net/ra0/speed обычно означает одно из следующих:
- Неправильное имя интерфейса - интерфейс
ra0может быть беспроводным и не поддерживать чтение скорости - Отсутствие драйвера - драйвер сетевого контроллера не полностью поддерживает чтение скорости через sysfs
- Особенности ядра 3.10 - в этом ядре sysfs может не полностью реализован для некоторых интерфейсов
Рекомендуемые шаги:
-
Проверьте все доступные интерфейсы:
bashifconfig -a ip addr show
-
Попробуйте использовать другие методы:
bashmii-tool eth0 # если eth0 существует mii-tool wan # если wan существует -
Проверьте системные логи на предмет сообщений о скорости:
bashdmesg | grep -E "(speed|link|eth|media)" -
Если ничего не помогает, проверьте конфигурацию сети:
bashcat /etc/network/interfaces # или аналогичные файлы
На практике, для роутеров с ядром 3.10.x наиболее надежным методом часто остается mii-tool, так как он работает на более низком уровне и менее зависит от особенностей реализации sysfs в конкретном ядре.