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
Запустить тест:
Проверить что он завершился (cтатус != 2):
Проверить состояние линка (1 - есть линк)
Проверить состояние 1-й пары (0 - ОК)
Проверить состояние 2-й пары (0 - ОК)
Проверить состояние 3-й пары (8 - Нет кабеля, что естественно для 100-мбитного порта)
Проверить состояние 4-й пары (8 - Нет кабеля, что естественно для 100-мбитного порта)
Определить длинну 1-й пары (40 метров)
Определить длинну 2-й пары (40 метров, что логично, т.к. пары одинаковые)
Определить длинну 3-й пары (0 метров, фактически - не используется, не включена)
Определить длинну 4-й пары (0 метров, фактически - не используется, не включена)
Кабель не подключен
3526-sirmax:user#cable_diag ports 2 Command: cable_diag ports 2 Perform Cable Diagnostics ... Port Type Link Status Test Result Cable Length (M) ---- ------ ------------- ----------------------------- ---------------- 2 FE Link Down No Cable -
TODO
дописать.