habrahabr

Диагностика портов DGS-1210

  • вторник, 4 октября 2022 г. в 00:40:22
https://habr.com/ru/post/691232/
  • Python
  • Интерфейсы
  • Сетевое оборудование


В моей работе часто возникает необходимость быстро продиагностировать физические порты на коммутаторах. Способ который я предлагаю ускоряет процесс диагностики и делает его более наглядным по сравнению с прописыванием команд на коммутаторе. Тестирование производится на Linux, так же требуются:

  • minicom (putty тоже подойдет, утилита играет роль отображения информации в консоль);

  • модули python3: serial и tkinter;

  • сведенный к дефолтным настройкам коммутатор Dlink DGS-1210-28/ME;

  • в моем случая "модеризированный патч-корд" из 4 штук в одной шине (картинка в конце текста), но можно и обычный патч-корд.

Для удобства была написана программа gui на python 3. Она разбита на два модуля, один из которых реализует подключение по COM порту, второй - графический интерфейс.

Подробный алгоритм диагностики портов:

  1. включаем коммутатор (ждем когда загрузится), подключаем его к компьютеру через конвертор USB to RS-232;

  2. Чтобы узнать какие USB устройства у вас подключены можно воспользоваться командой:
    ls /dev/ttyUSB*;
    (номер(строка) идущая после "USB" указать при запуске скрипта main.py)

  3. запускаем программу командой:
    python3 main.py 0
    0
    - это часть имени USB to RS-232, который в программе представлен как:
    port = "/dev/ttyUSB"+str(sys.argv[1]);
    у вас эта часть может отличаться.

  4. запускаем параллельно в другом терминале minicom командой:
    minicom -D /dev/ttyUSB0 -b 9600;
    после запуска нажать несколько раз Enter, чтобы пройти строки авторизации;

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

Диагностику можно проводить как на одном так и на множестве коммутаторов:

Четыре совмещенных патч-корда склеил для удобства, в основном пользуюсь одним из них, переключая и проверяя сразу 4 порта (8 - если на одном коммутаторе).
SFP так же можно диагностировать, для этих портов прописанное отдельное условие для команды коммутатора show ports <номер порта(25-28)>.

Программу планирую дорабатывать:

  • универсальность для DGS 3120, 3100, 1210;

  • индикация о состоянии кабелей;

  • опция генерации циклического прохода по всем портам и записи результатов диагностики в файл.