Dlink Cable Tester: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
(не показаны 33 промежуточные версии этого же участника) | |||
Строка 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 - |
||
+ | ... |
||
− | 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 - |
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 |
||
Строка 55: | Строка 49: | ||
==Использование с SNMP== |
==Использование с SNMP== |
||
Есть длинковские MIBы на ftp://dlink.ru, но более универсальый способ - использовать цифровую запись. (не нужно следить за наличием MIBов на всех точках откуда будет работать скрипт, проще интегрировать в NMS, и .д.) |
Есть длинковские MIBы на ftp://dlink.ru, но более универсальый способ - использовать цифровую запись. (не нужно следить за наличием MIBов на всех точках откуда будет работать скрипт, проще интегрировать в NMS, и .д.) |
||
− | |||
− | Проверить типы интефейсов (обязательно) : |
||
{{Note|По информации c [http://forum.dlink.ru форума техподдержки Dlink] кабельный тестер не работает корректно на гигабитных портах. У меня линк на гигабитном порту пропадал до перезагрузки коммуатора.}} |
{{Note|По информации c [http://forum.dlink.ru форума техподдержки Dlink] кабельный тестер не работает корректно на гигабитных портах. У меня линк на гигабитном порту пропадал до перезагрузки коммуатора.}} |
||
+ | |||
+ | |||
+ | ===Опсание OID-ов=== |
||
<PRE> |
<PRE> |
||
1.3.6.1.4.1.171.12.58.1.1.1.2 - |
1.3.6.1.4.1.171.12.58.1.1.1.2 - |
||
swEtherCableDiagPortType OBJECT-TYPE |
swEtherCableDiagPortType OBJECT-TYPE |
||
− | + | SYNTAX INTEGER { |
|
− | + | fastEthernet(0), |
|
− | + | gigaEthernet(1), |
|
− | + | other(2) |
|
+ | } |
||
</PRE> |
</PRE> |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
Строка 70: | Строка 66: | ||
SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.1 = INTEGER: 0 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.1 = INTEGER: 0 |
||
+ | ... |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.2 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.3 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.4 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.5 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.6 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.7 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.8 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.9 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.10 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.11 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.12 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.13 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.14 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.15 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.16 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.17 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.18 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.19 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.20 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.21 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.22 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.23 = INTEGER: 0 |
||
− | SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.24 = INTEGER: 0 |
||
SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.25 = INTEGER: 1 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.25 = INTEGER: 1 |
||
SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.26 = INTEGER: 1 |
SNMPv2-SMI::enterprises.171.12.58.1.1.1.2.26 = INTEGER: 1 |
||
</nowiki>}} |
</nowiki>}} |
||
+ | Имеем, порты 1-24 поддерживают нужный функционал. |
||
+ | |||
+ | |||
+ | Проверить состояние линков: |
||
+ | <PRE> |
||
+ | 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) |
||
+ | } |
||
+ | </PRE> |
||
+ | |||
+ | {{Command|<nowiki> |
||
+ | snmpwalk -v2c -c public 172.16.34.3 1.3.6.1.4.1.171.12.58.1.1.1.3 |
||
+ | SNMPv2-SMI::enterprises.171.12.58.1.1.1.3.1 = INTEGER: 0 |
||
+ | </nowiki>}} |
||
+ | |||
+ | Все OID с результатом имеют валидные значения только после выполнения теста. |
||
+ | <BR> |
||
+ | Далее - OIDы для состояния пар |
||
+ | <PRE> |
||
+ | 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татус четвертой пары |
||
+ | </PRE> |
||
+ | |||
+ | Возможные значения: |
||
+ | <PRE> |
||
+ | ok(0), |
||
+ | open(1), |
||
+ | short(2), |
||
+ | open-short(3), |
||
+ | crosstalk(4), |
||
+ | unknown(5), |
||
+ | count(6), |
||
+ | no-cable(7), |
||
+ | other(8) |
||
+ | </PRE> |
||
+ | |||
+ | |||
+ | И, соответвенно, длины пар: |
||
+ | <PRE> |
||
+ | 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 - длинна четвертой пары |
||
+ | </PRE> |
||
+ | |||
+ | OID, предназначенный для запуска теста |
||
+ | <PRE> |
||
+ | 1.3.6.1.4.1.171.12.58.1.1.1.12 |
||
+ | </PRE> |
||
+ | Это единственный OID предназначенный как для чтения так и для записи. |
||
+ | <PRE> |
||
+ | action(1) |
||
+ | processing(2) |
||
+ | other(3) |
||
+ | </PRE> |
||
+ | |||
+ | ===Тестирование=== |
||
+ | Работа с кабельным тестером вцелом совершенно стандартна (что есть несомненный плюс)<BR> |
||
+ | Общий подход: |
||
+ | * Запустить тест (запись нужного значения в соответвующий OID |
||
+ | * Дождаться завершения (проверить стением OID со статусом) |
||
+ | * Считать интересующие значения. |
||
+ | |||
+ | Попробую проверить работу этой ф-и на портах с различными длинами и состоянием кабеля. |
||
+ | |||
+ | |||
+ | ====Линк есть, работающий абонент==== |
||
+ | <PRE> |
||
+ | 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 |
||
+ | </PRE> |
||
Запустить тест: |
Запустить тест: |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
− | + | 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 |
|
</nowiki>}} |
</nowiki>}} |
||
+ | Проверить что он завершился (cтатус != 2): |
||
− | Считать результат |
||
{{Command|<nowiki> |
{{Command|<nowiki> |
||
+ | 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 |
||
+ | </nowiki>}} |
||
+ | Проверить состояние линка (1 - есть линк) |
||
+ | {{Command|<nowiki> |
||
+ | 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 |
||
</nowiki>}} |
</nowiki>}} |
||
+ | Проверить состояние 1-й пары (0 - ОК) |
||
− | ==TODO== |
||
+ | {{Command|<nowiki> |
||
− | дописать. |
||
+ | 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 |
||
+ | </nowiki>}} |
||
+ | |||
+ | Проверить состояние 2-й пары (0 - ОК) |
||
+ | {{Command|<nowiki> |
||
+ | 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 |
||
+ | </nowiki>}} |
||
+ | |||
+ | Проверить состояние 3-й пары (8 - Нет кабеля, что естественно для 100-мбитного порта) |
||
+ | {{Command|<nowiki> |
||
+ | $ 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 |
||
+ | </nowiki>}} |
||
+ | |||
+ | Проверить состояние 4-й пары (8 - Нет кабеля, что естественно для 100-мбитного порта) |
||
+ | {{Command|<nowiki> |
||
+ | $ 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 |
||
+ | </nowiki>}} |
||
+ | |||
+ | |||
+ | Определить длинну 1-й пары (40 метров) |
||
+ | {{Command|<nowiki> |
||
+ | $ 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 |
||
+ | </nowiki>}} |
||
+ | |||
+ | Определить длинну 2-й пары (40 метров, что логично, т.к. пары одинаковые) |
||
+ | {{Command|<nowiki> |
||
+ | $ 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 |
||
+ | </nowiki>}} |
||
+ | |||
+ | Определить длинну 3-й пары (0 метров, фактически - не используется, не включена) |
||
+ | {{Command|<nowiki> |
||
+ | 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 |
||
+ | </nowiki>}} |
||
+ | |||
+ | Определить длинну 4-й пары (0 метров, фактически - не используется, не включена) |
||
+ | {{Command|<nowiki> |
||
+ | $ 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 |
||
+ | </nowiki>}} |
||
+ | |||
+ | ====Кабель не подключен==== |
||
+ | <PRE> |
||
+ | 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 - |
||
+ | </PRE> |
||
+ | |||
+ | Запустить тест, убедиться что при запросе ответе - "нет кабеля" (8) |
||
+ | {{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 |
||
+ | |||
+ | 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 |
||
+ | </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) |
||
+ | ---- ------ ------------- ----------------------------- ---------------- |
||
+ | 2 FE Link Down Pair1 Open at 3 M - |
||
+ | Pair2 Open at 2 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) |
||
+ | ---- ------ ------------- ----------------------------- ---------------- |
||
+ | 3 FE Link Down Pair1 Short at 3 M - |
||
+ | Pair2 Open at 3 M |
||
+ | |||
+ | </PRE> |
||
+ | При проверке через SNMP соответвующих OID результат такой же, останавливаться подробнее нет смысла. |
||
+ | |||
+ | ==ToDo== |
||
+ | Проверить работу тестера на "полуживых" линках с потерями и очень длинных линках (более 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ах.