Dlink Cable Tester: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
(не показано 20 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [[Категория:DlinkSwitch]] |
||
+ | [[Категория:SNMP]] |
||
+ | [[Категория:Switch]] |
||
+ | |||
=Кабельный тестер= |
=Кабельный тестер= |
||
− | В коммутаторы DES-3526 и DES-3550 (возможно DES-3028 и DES-3052) встроен кабельный тестер который позволяет определять ( |
+ | В коммутаторы DES-3526 и DES-3550 (возможно DES-3028 и DES-3052) встроен кабельный тестер который позволяет определять (уточнить точность измерений) длинну кабеля. |
− | ==Использование |
+ | ==Использование из CLI== |
− | Комманда не требует админских |
+ | Комманда не требует админских полномочий (повторяющиеся строки удалены): |
<PRE> |
<PRE> |
||
DES3526:user#cable_diag ports 1-24 |
DES3526:user#cable_diag ports 1-24 |
||
Command: cable_diag ports 1-24 |
Command: cable_diag ports 1-24 |
||
− | + | Perform Cable Diagnostics ... |
|
Port Type Link Status Test Result Cable Length (M) |
Port Type Link Status Test Result Cable Length (M) |
||
Строка 14: | Строка 18: | ||
1 FE Link Down OK - |
1 FE Link Down OK - |
||
2 FE Link Down No Cable - |
2 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 - |
10 FE Link Down Pair1 Open at 22 M - |
||
Pair2 Open at 22 M |
Pair2 Open at 22 M |
||
Строка 27: | Строка 25: | ||
12 FE Link Down Pair1 Open at 88 M - |
12 FE Link Down Pair1 Open at 88 M - |
||
Pair2 Open at 88 M |
Pair2 Open at 88 M |
||
− | 13 FE Link Down OK - |
||
14 FE Link Up OK 40 |
14 FE Link Up OK 40 |
||
15 FE Link Down Pair1 Open at 18 M - |
15 FE Link Down Pair1 Open at 18 M - |
||
Pair2 Open at 18 M |
Pair2 Open at 18 M |
||
16 FE Link Up OK 69 |
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 - |
18 FE Link Down Pair1 Open at 4 M - |
||
Pair2 Open at 4 M |
Pair2 Open at 4 M |
||
Строка 41: | Строка 36: | ||
22 FE Link Down Pair1 Open at 29 M - |
22 FE Link Down Pair1 Open at 29 M - |
||
Pair2 Open at 29 M |
Pair2 Open at 29 M |
||
− | 23 FE Link Down No Cable - |
||
24 FE Link Down Pair1 Open at 22 M - |
24 FE Link Down Pair1 Open at 22 M - |
||
Pair2 Open at 22 M |
Pair2 Open at 22 M |
||
Строка 96: | Строка 90: | ||
</nowiki>}} |
</nowiki>}} |
||
+ | Все OID с результатом имеют валидные значения только после выполнения теста. |
||
+ | <BR> |
||
Далее - OIDы для состояния пар |
Далее - OIDы для состояния пар |
||
<PRE> |
<PRE> |
||
Строка 141: | Строка 137: | ||
* Дождаться завершения (проверить стением OID со статусом) |
* Дождаться завершения (проверить стением OID со статусом) |
||
* Считать интересующие значения. |
* Считать интересующие значения. |
||
− | Такой поход применяется, например, для измерения уровня сигнала на различных точках доступа. |
||
+ | Попробую проверить работу этой ф-и на портах с различными длинами и состоянием кабеля. |
||
− | Проведу эксперементы для разных состояний портов |
||
+ | |||
+ | |||
====Линк есть, работающий абонент==== |
====Линк есть, работающий абонент==== |
||
<PRE> |
<PRE> |
||
− | #cable_diag ports 21 |
+ | DES3526:user#cable_diag ports 21 |
Command: cable_diag ports 21 |
Command: cable_diag ports 21 |
||
Строка 158: | Строка 155: | ||
Запустить тест: |
Запустить тест: |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | snmpset -v2c -c |
+ | snmpset -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.12.21 i 1 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.12.21 = INTEGER: 1 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.12.21 = INTEGER: 1 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 164: | Строка 161: | ||
Проверить что он завершился (cтатус != 2): |
Проверить что он завершился (cтатус != 2): |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | snmpget -v2c -c |
+ | snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.12.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.12.21 = INTEGER: 3 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.12.21 = INTEGER: 3 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 170: | Строка 167: | ||
Проверить состояние линка (1 - есть линк) |
Проверить состояние линка (1 - есть линк) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | snmpget -v2c -c |
+ | snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.3.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.3.21 = INTEGER: 1 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.3.21 = INTEGER: 1 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 176: | Строка 173: | ||
Проверить состояние 1-й пары (0 - ОК) |
Проверить состояние 1-й пары (0 - ОК) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | snmpget -v2c -c |
+ | snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.4.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.4.21 = INTEGER: 0 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.4.21 = INTEGER: 0 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 182: | Строка 179: | ||
Проверить состояние 2-й пары (0 - ОК) |
Проверить состояние 2-й пары (0 - ОК) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | snmpget -v2c -c |
+ | snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.5.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.5.21 = INTEGER: 0 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.5.21 = INTEGER: 0 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 188: | Строка 185: | ||
Проверить состояние 3-й пары (8 - Нет кабеля, что естественно для 100-мбитного порта) |
Проверить состояние 3-й пары (8 - Нет кабеля, что естественно для 100-мбитного порта) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | $ snmpget -v2c -c |
+ | $ snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.6.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.6.21 = INTEGER: 8 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.6.21 = INTEGER: 8 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 194: | Строка 191: | ||
Проверить состояние 4-й пары (8 - Нет кабеля, что естественно для 100-мбитного порта) |
Проверить состояние 4-й пары (8 - Нет кабеля, что естественно для 100-мбитного порта) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | $ snmpget -v2c -c |
+ | $ snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.7.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.7.21 = INTEGER: 8 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.7.21 = INTEGER: 8 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 201: | Строка 198: | ||
Определить длинну 1-й пары (40 метров) |
Определить длинну 1-й пары (40 метров) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | $ snmpget -v2c -c |
+ | $ snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.8.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.9.21 = INTEGER: 40 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.9.21 = INTEGER: 40 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 207: | Строка 204: | ||
Определить длинну 2-й пары (40 метров, что логично, т.к. пары одинаковые) |
Определить длинну 2-й пары (40 метров, что логично, т.к. пары одинаковые) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | $ snmpget -v2c -c |
+ | $ snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.9.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.9.21 = INTEGER: 40 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.9.21 = INTEGER: 40 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 213: | Строка 210: | ||
Определить длинну 3-й пары (0 метров, фактически - не используется, не включена) |
Определить длинну 3-й пары (0 метров, фактически - не используется, не включена) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | snmpget -v2c -c |
+ | snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.10.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.10.21 = INTEGER: 0 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.10.21 = INTEGER: 0 |
||
</nowiki>}} |
</nowiki>}} |
||
Строка 219: | Строка 216: | ||
Определить длинну 4-й пары (0 метров, фактически - не используется, не включена) |
Определить длинну 4-й пары (0 метров, фактически - не используется, не включена) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | $ snmpget -v2c -c |
+ | $ snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.11.21 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.11.21 = INTEGER: 0 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.11.21 = INTEGER: 0 |
||
</nowiki>}} |
</nowiki>}} |
||
− | |||
====Кабель не подключен==== |
====Кабель не подключен==== |
||
<PRE> |
<PRE> |
||
− | + | DES3526:user#cable_diag ports 2 |
|
Command: cable_diag ports 2 |
Command: cable_diag ports 2 |
||
Perform Cable Diagnostics ... |
Perform Cable Diagnostics ... |
||
Строка 237: | Строка 233: | ||
Запустить тест, убедиться что при запросе ответе - "нет кабеля" (8) |
Запустить тест, убедиться что при запросе ответе - "нет кабеля" (8) |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | snmpset -v2c -c |
+ | snmpset -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.12.2 i 1 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.12.2 = INTEGER: 1 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.12.2 = INTEGER: 1 |
||
− | snmpget -v2c -c |
+ | snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.4.2 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.6.2 = INTEGER: 8 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.6.2 = INTEGER: 8 |
||
</nowiki>}} |
</nowiki>}} |
||
+ | ====Кабель есть, отключен==== |
||
⚫ | |||
+ | Подключаю 2-х метровый патч-корд к коммутатору (второй конец висит в воздухе): |
||
− | дописать. |
||
+ | <PRE> |
||
+ | DES3526:user#cable_diag ports 2 |
||
+ | Command: cable_diag ports 2 |
||
+ | |||
+ | Perform Cable Diagnostics ... |
||
+ | |||
+ | Port Type Link Status Test Result Cable Length (M) |
||
+ | ---- ------ ------------- ----------------------------- ---------------- |
||
⚫ | |||
⚫ | |||
+ | |||
+ | </PRE> |
||
+ | |||
+ | {{Command|<nowiki> |
||
+ | snmpset -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.12.2 i 1 |
||
+ | SNMPv2-SMI::enterprises.171.12.58.1.1.1.12.2 = INTEGER: 1 |
||
+ | </nowiki>}} |
||
+ | |||
+ | Кабель имеет статус open: |
||
+ | {{Command|<nowiki> |
||
+ | snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.4.2 |
||
+ | SNMPv2-SMI::enterprises.171.12.58.1.1.1.4.2 = INTEGER: 1 |
||
+ | </nowiki>}} |
||
+ | |||
+ | "Обрыв" (в реальности - просто конец кабеля) на расстоянии 3 метра по одной и 2 метра по другой паре. |
||
+ | {{Command|<nowiki> |
||
+ | snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.8.2 |
||
+ | SNMPv2-SMI::enterprises.171.12.58.1.1.1.8.2 = INTEGER: 3 |
||
+ | </nowiki>}} |
||
+ | |||
+ | {{Command|<nowiki> |
||
+ | snmpget -v2c -c private 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.9.2 |
||
+ | SNMPv2-SMI::enterprises.171.12.58.1.1.1.9.2 = INTEGER: 2 |
||
+ | </nowiki>}} |
||
+ | |||
+ | Насколько я могу судить, точности измерения вполне достаточня (плюс-минус метр). |
||
+ | |||
+ | ====Короткое на нескольких парах==== |
||
+ | Сделал тестовый кабель с "коротким" на первой и третьей парах.<BR> |
||
+ | Коммутатор показал правильные результаты для используемых пар: |
||
+ | |||
+ | <PRE> |
||
+ | DES3526:user#cable_diag ports 3 |
||
+ | Command: cable_diag ports 3 |
||
+ | |||
+ | Perform Cable Diagnostics ... |
||
+ | |||
+ | Port Type Link Status Test Result Cable Length (M) |
||
+ | ---- ------ ------------- ----------------------------- ---------------- |
||
⚫ | |||
⚫ | |||
+ | |||
+ | </PRE> |
||
+ | При проверке через SNMP соответвующих OID результат такой же, останавливаться подробнее нет смысла. |
||
+ | |||
⚫ | |||
+ | Проверить работу тестера на "полуживых" линках с потерями и очень длинных линках (более 150М). |
||
+ | |||
+ | ==Вывод== |
||
+ | Отмечу несомненную полезность данного функционала, позволяющяя: |
||
+ | *локализовать проблему с кабелем |
||
+ | *контролировать работу монтажных бригад. |
||
+ | |||
+ | ==Благодарности== |
||
+ | Отдельное спасибо Ивану Демину (Длинк) за предоставленную информацию об OIDах. |
Текущая версия на 15:11, 5 мая 2020
Кабельный тестер
В коммутаторы DES-3526 и DES-3550 (возможно DES-3028 и DES-3052) встроен кабельный тестер который позволяет определять (уточнить точность измерений) длинну кабеля.
Использование из CLI
Комманда не требует админских полномочий (повторяющиеся строки удалены):
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 - ... 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 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 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 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 с результатом имеют валидные значения только после выполнения теста.
Далее - 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 со статусом)
- Считать интересующие значения.
Попробую проверить работу этой ф-и на портах с различными длинами и состоянием кабеля.
Линк есть, работающий абонент
DES3526:user#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 метров, фактически - не используется, не включена)
Кабель не подключен
DES3526: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 -
Запустить тест, убедиться что при запросе ответе - "нет кабеля" (8)
Кабель есть, отключен
Подключаю 2-х метровый патч-корд к коммутатору (второй конец висит в воздухе):
DES3526: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 Pair1 Open at 3 M - Pair2 Open at 2 M
Кабель имеет статус open:
"Обрыв" (в реальности - просто конец кабеля) на расстоянии 3 метра по одной и 2 метра по другой паре.
Насколько я могу судить, точности измерения вполне достаточня (плюс-минус метр).
Короткое на нескольких парах
Сделал тестовый кабель с "коротким" на первой и третьей парах.
Коммутатор показал правильные результаты для используемых пар:
DES3526:user#cable_diag ports 3 Command: cable_diag ports 3 Perform Cable Diagnostics ... Port Type Link Status Test Result Cable Length (M) ---- ------ ------------- ----------------------------- ---------------- 3 FE Link Down Pair1 Short at 3 M - Pair2 Open at 3 M
При проверке через SNMP соответвующих OID результат такой же, останавливаться подробнее нет смысла.
ToDo
Проверить работу тестера на "полуживых" линках с потерями и очень длинных линках (более 150М).
Вывод
Отмечу несомненную полезность данного функционала, позволяющяя:
- локализовать проблему с кабелем
- контролировать работу монтажных бригад.
Благодарности
Отдельное спасибо Ивану Демину (Длинк) за предоставленную информацию об OIDах.