Dlink Cable Tester
Кабельный тестер
В коммутаторы DES-3526 и DES-3550 (возможно DES-3028 и DES-3052) встроен кабельный тестер который позволяет определять (довольно приблезительно) длинну кабеля.
Использование с консоли
Комманда не требует админских привелений:
DES3526:user#cable_diag ports 1-24 Command: cable_diag ports 1-24 Perform Cable Diagnostics ... Port Type Link Status Test Result Cable Length (M) ---- ------ ------------- ----------------------------- ---------------- 1 FE Link Down OK - 2 FE Link Down No Cable - 3 FE Link Down No Cable - 4 FE Link Down No Cable - 5 FE Link Down No Cable - 6 FE Link Down No Cable - 7 FE Link Down No Cable - 8 FE Link Down No Cable - 9 FE Link Down No Cable - 10 FE Link Down Pair1 Open at 22 M - Pair2 Open at 22 M 11 FE Link Down Pair1 Open at 25 M - Pair2 Open at 25 M 12 FE Link Down Pair1 Open at 88 M - Pair2 Open at 88 M 13 FE Link Down OK - 14 FE Link Up OK 40 15 FE Link Down Pair1 Open at 18 M - Pair2 Open at 18 M 16 FE Link Up OK 69 17 FE Link Down Pair1 Open at 34 M - Pair2 Open at 33 M 18 FE Link Down Pair1 Open at 4 M - Pair2 Open at 4 M 19 FE Link Up OK 34 20 FE Link Down OK - 21 FE Link Up OK 40 22 FE Link Down Pair1 Open at 29 M - Pair2 Open at 29 M 23 FE Link Down No Cable - 24 FE Link Down Pair1 Open at 22 M - Pair2 Open at 22 M
Возможные значения:
Pair Open - обрыв на растоянии ХХ метров.
Link Up, длинна ХХ метров.
Link Down, OK - нельзя измерить длинну кабеля (но нагрузка есть)
Link Down, No Cable - нет кабеля.
Использование с SNMP
Есть длинковские MIBы на ftp://dlink.ru, но более универсальый способ - использовать цифровую запись. (не нужно следить за наличием MIBов на всех точках откуда будет работать скрипт, проще интегрировать в NMS, и .д.)
Опсание OID-ов
1.3.6.1.4.1.171.12.58.1.1.1.2 - swEtherCableDiagPortType OBJECT-TYPE SYNTAX INTEGER { fastEthernet(0), gigaEthernet(1), other(2) }
Имеем, порты 1-24 поддерживают нужный функционал.
Проверить состояние линков:
1.3.6.1.4.1.171.12.58.1.1.1.3 - swEtherCableDiagLinkStatus OBJECT-TYPE SYNTAX INTEGER { link-down(0), link-up(1), other(2) }
Далее - OIDы для состояния пар
1.3.6.1.4.1.171.12.58.1.1.1.4 - cтатус первой пары 1.3.6.1.4.1.171.12.58.1.1.1.5 - cтатус второй пары 1.3.6.1.4.1.171.12.58.1.1.1.6 - cтатус третьей пары 1.3.6.1.4.1.171.12.58.1.1.1.7 - cтатус четвертой пары
Возможные значения:
ok(0), open(1), short(2), open-short(3), crosstalk(4), unknown(5), count(6), no-cable(7), other(8)
И, соответвенно, длины пар:
1.3.6.1.4.1.171.12.58.1.1.1.8 - длинна первой пары 1.3.6.1.4.1.171.12.58.1.1.1.11 - длинна четвертой пары
OID, предназначенный для запуска теста
1.3.6.1.4.1.171.12.58.1.1.1.12
Это единственный OID предназначенный как для чтения так и для записи.
action(1) processing(2) other(3)
Тестирование
Работа с кабельным тестером вцелом совершенно стандартна (что есть несомненный плюс)
Общий подход:
- Запустить тест (запись нужного значения в соответвующий OID
- Дождаться завершения (проверить стением OID со статусом)
- Считать интересующие значения.
Такой поход применяется, например, для измерения уровня сигнала на различных точках доступа.
Проведу эксперементы для разных состояний портов
Линк есть, работающий абонент
#cable_diag ports 21 Command: cable_diag ports 21 Perform Cable Diagnostics ... Port Type Link Status Test Result Cable Length (M) ---- ------ ------------- ----------------------------- ---------------- 21 FE Link Up OK 40
Запустить тест:
Считать результат
TODO
дописать.