KJack Опубліковано: 6 травня, 2018 Опубліковано: 6 травня, 2018 возьму доступ к серверам для изучения
pashaumka Опубліковано: 7 травня, 2018 Опубліковано: 7 травня, 2018 быть может тогда кто-то подскажет, как снять таблицу коммутации с 5608?
pashaumka Опубліковано: 11 травня, 2018 Опубліковано: 11 травня, 2018 (відредаговано) вуаля!! первый пример... только SNMP! Відредаговано 11 травня, 2018 pashaumka
VANGER Опубліковано: 22 травня, 2018 Опубліковано: 22 травня, 2018 замечательно! а оидами для регистрации ону поделитесь ?
pashaumka Опубліковано: 22 травня, 2018 Опубліковано: 22 травня, 2018 ребят! я просил помощи с доступом к железке для написания этой софтины. Кто-то отморозился; "дайте доступ к серверу". + скрипт еще не оптимизирован под опрос боооольшого числа ОНУшек и есть куча-куча нюансов. В этом скриптике ещё писанины и писанины.. + надо кое-что выносить на попап окна.
sadmin Опубліковано: 16 серпня, 2018 Опубліковано: 16 серпня, 2018 В 22.05.2018 в 17:50, pashaumka сказал: ребят! я просил помощи с доступом к железке для написания этой софтины. Кто-то отморозился; "дайте доступ к серверу". + скрипт еще не оптимизирован под опрос боооольшого числа ОНУшек и есть куча-куча нюансов. В этом скриптике ещё писанины и писанины.. + надо кое-что выносить на попап окна. Чо надо то?
Dobromyr Опубліковано: 7 листопада, 2018 Опубліковано: 7 листопада, 2018 CATV (для ону з КТБ портом) hwGponDeviceOntCatvOnlineStatus 1.3.6.1.4.1.2011.6.128.1.1.2.63.1.3 - статус порта hwGponDeviceOntCatvOperateStatus 1.3.6.1.4.1.2011.6.128.1.1.2.63.1.2 - опер-статус hwGponOntOpticalDdmAniCATVRxPower 1.3.6.1.4.1.2011.6.128.1.1.2.51.1.7 - Вхідний рівень по 1550 (КТБ) Швидкість на сервіс-порті .1.3.6.1.4.1.2011.5.14.5.3.1.7.serv-port+1 - швидкість на сервіс-порті .1.3.6.1.4.1.2011.5.14.5.3.1.8.serv-port+1 - швидкість на сервіс-порті
ur5kar Опубліковано: 6 березня, 2019 Опубліковано: 6 березня, 2019 Вот еще найдено и нарыто в инете MIB: Тип Ethernet порта на ону: 1.3.6.1.4.1.2011.6.128.1.1.2.62.1.21.portID.onuid.Ethid 34 - GigaEthernet, 24 - FastEthernet, -1 not (Возможно неправильно и не полно....) Скорость Ethernet порта 1.3.6.1.4.1.2011.6.128.1.1.2.62.1.4.portID.onuid.Ethid 5 - 10, 6- 100, 7-1000 Ethernet autonegotiation 1.3.6.1.4.1.2011.6.128.1.1.2.62.1.3.portID.onuid.Ethid 5 - Full, 4-Half GPON SFP модуль Ветка 1.3.6.1.4.1.2011.6.128.1.1.2.23 В ней 1.4 - TX Power 1.3 - Bias 1.2 - Volt 1.1 - Temp 1.20 - SN 1.13 - PN 1.11 - Name 1.15 - Wave 1.6 - Distance 1.16 - Количество ону на порту Не GPON SFP модуля: 1.3.6.1.4.1.2011.5.14.6.1.1 Формула ifIndex: Два типа интерфейсов - Ethernet и GPON ethernet_olt/slot/port gpon_olt/slot/port Переменные : Ethernet T = 7 psh=6 GPON T=125 psh=8 ifIndex = T * 2^25 + olt * 2^19 + slot * 2^13 + port * 2^psh Например GPON_0/3/9 125 * 2^25 + 0 * 2^19 + 3 * 2^13 + 9 * 2^8 = 4194330880 Как узнать Service port onu: Только snmpget !! 1.3.6.1.4.1.2011.5.14.5.5.1.7.portid.4.onuid.4294967295.4294967295.1.user-vlan Так ону 0/0/0 ont 0 - 1.3.6.1.4.1.2011.5.14.5.5.1.7.4194304000.4.0.4294967295.4294967295.1.200 От ответа отнять 1 - будет реальный service-port. За service-port можно вытянуть inner-vlan, user-vlan, vlan х - service-port+1 ! inner-vlan: 1.3.6.1.4.1.2011.5.14.5.2.1.25.х user-vlan - 1.3.6.1.4.1.2011.5.14.5.2.1.12.х valn - 1.3.6.1.4.1.2011.5.14.5.2.1.8.х Как вытянуть MAC на service-port еще не нашел. И MIB - последний свободный service-port (Нуждается в проверке, выдает ли последний свободный или промежуточные также...) 1.3.6.1.4.1.2011.5.14.5.1 Некоторая информация была найдена тут - https://gpon.kou.li/huawei/olt/snmp. Там же некий Milan Krčmář описывает как регистрировать ону по snmp. Но есть неточности и нуждается про проверке. 1
pashaumka Опубліковано: 9 березня, 2019 Опубліковано: 9 березня, 2019 (відредаговано) Подправил свой движок.. Спасибки за инфу ) по поводу кодировки индексов там просто все гениально!!! Відредаговано 9 березня, 2019 pashaumka
pashaumka Опубліковано: 9 березня, 2019 Опубліковано: 9 березня, 2019 В 06.03.2019 в 18:24, ur5kar сказал: Как вытянуть MAC на service-port еще не нашел. пока известно, что только Хуавеевские ОНТишки отдают маки на портах. остальные гонят 0xFF
ur5kar Опубліковано: 11 березня, 2019 Опубліковано: 11 березня, 2019 Еще добавлю 1.3.6.1.4.1.2011.6.128.1.1.2.62.1.7 - user-vlan на Ethernet портах ону. 1.3.6.1.4.1.2011.6.128.1.1.2.62.1.7.portid.onuid.ethernet_number А можно как-то вытянуть МАС на service-port ?
ur5kar Опубліковано: 12 березня, 2019 Опубліковано: 12 березня, 2019 Нужны все МАС которые в сервис порту. Нужен результат команды - display mac-address service-port 1
Sirba Опубліковано: 18 березня, 2019 Опубліковано: 18 березня, 2019 В 11.05.2018 в 10:56, pashaumka сказал: вуаля!! первый пример... только SNMP! Здравствуйте, поделитесь оид на добавление ОНТ?
Darth Vader2 Опубліковано: 19 травня, 2019 Автор Опубліковано: 19 травня, 2019 Я не нашел подходящих OID для регистрации ONT, есть решение на базе php expect. В конкретном примере номер свободного сервисного порта берется из базы mysql. Как понимаете, при таком условии можно выбрать любой свободный, а не последний в списке по OID SNMPv2-SMI::enterprises.2011.5.14.5.1 Остаётся вопрос синхронизации занятых сервис портов, теоретически можно решать запросами, практически - нафиг надо. Тем более, что вынуть занятый сервис порт конкретной ONT проблемы не составляет. А когда он нам нужен? Скажем во время удаления. Как часто такое бывает? Почти никогда. Ну вот как-то так получаем ответы на вопросы. Есть большое желание найти OID показывающий первый незанятый порт внутри списка, но пока не нашел ничего. А есть и другие задачи, скажем первый в группе, последний в группе, первый свободный внутри группы. Фантазия она-то безгранична, а возможности ограничены. Поэтому иногда без дублирования данных в базу просто не обойтись никак. Но это уже персональный цвет фломастера, конечно.
alexlans Опубліковано: 26 червня, 2019 Опубліковано: 26 червня, 2019 Коллеги, кто знает описание состояний падений онушки? hwGponDeviceOntRegisterInfoDownCause 1.3.6.1.4.1.2011.6.128.1.1.2.101.1.8 hwGponDeviceOntRegisterInfoDownTime 1.3.6.1.4.1.2011.6.128.1.1.2.101.1.7 hwGponDeviceOntRegisterInfoUpTime 1.3.6.1.4.1.2011.6.128.1.1.2.101.1.6 hwGponDeviceOntRegisterInfoType 1.3.6.1.4.1.2011.6.128.1.1.2.101.1.5 Вот например array(10) { [0]=> string(2) "13" [1]=> string(2) "13" [2]=> string(1) "2" [3]=> string(1) "2" [4]=> string(1) "2" [5]=> string(1) "2" [6]=> string(1) "2" [7]=> string(1) "2" [8]=> string(2) "13" [9]=> string(3) "255" } NULL array(10) { [0]=> string(22) ""2019-03-31 05:15:50Z"" [1]=> string(22) ""2019-03-31 06:27:32Z"" [2]=> string(22) ""2019-06-24 07:00:42Z"" [3]=> string(22) ""2019-06-24 07:01:49Z"" [4]=> string(22) ""2019-06-24 07:08:40Z"" [5]=> string(22) ""2019-06-24 07:14:21Z"" [6]=> string(22) ""2019-06-24 07:31:52Z"" [7]=> string(22) ""2019-06-25 07:40:07Z"" [8]=> string(22) ""2019-06-25 08:04:17Z"" [9]=> string(2) """" }
alexlans Опубліковано: 27 червня, 2019 Опубліковано: 27 червня, 2019 Экспериментально выяснили: 2 - по оптике 13 - по питанию
pashaumka Опубліковано: 28 червня, 2019 Опубліковано: 28 червня, 2019 (відредаговано) В 19.05.2019 в 07:55, Darth Vader2 сказал: Я не нашел подходящих OID для регистрации ONT, есть решение на базе php expect. В конкретном примере номер свободного сервисного порта берется из базы mysql. Как понимаете, при таком условии можно выбрать любой свободный, а не последний в списке по OID SNMPv2-SMI::enterprises.2011.5.14.5.1 Остаётся вопрос синхронизации занятых сервис портов, теоретически можно решать запросами, практически - нафиг надо. Тем более, что вынуть занятый сервис порт конкретной ONT проблемы не составляет. А когда он нам нужен? Скажем во время удаления. Как часто такое бывает? Почти никогда. Ну вот как-то так получаем ответы на вопросы. Есть большое желание найти OID показывающий первый незанятый порт внутри списка, но пока не нашел ничего. А есть и другие задачи, скажем первый в группе, последний в группе, первый свободный внутри группы. Фантазия она-то безгранична, а возможности ограничены. Поэтому иногда без дублирования данных в базу просто не обойтись никак. Но это уже персональный цвет фломастера, конечно. // подготовим массивчик с номерами свобоодных сервис портов $free_service_ports=array_fill(0,20480,"free"); Common::$service_ports_list = ServicePorts::get_list_service_ports(); foreach(Common::$service_ports_list as $sport_no => $sport_info) { $sport_no--; unset($free_service_ports[$sport_no]); } Common::$free_service_ports = $free_service_ports; Скрытый текст Відредаговано 28 червня, 2019 pashaumka
pashaumka Опубліковано: 28 червня, 2019 Опубліковано: 28 червня, 2019 // http://php.net/manual/ru/function.strtok.php#87977 protected static function subtok($string, $chr, $pos, $len = NULL) { return implode($chr,array_slice(explode($chr,$string), $pos, $len)); } static function get_list_service_ports() { //hwExtSrvFlowEntry $memcache_obj = memcache_connect("127.0.0.1","11211") or die("Could not connect with memcached"); //Попытаемся получить объект с ключом мыла $ex = memcache_get($memcache_obj,self::$ip."_hwExtSrvFlowEntry"); if(($ex=="0") or (empty($ex)) ) { // смело вставляем в базу $oid="1.3.6.1.4.1.2011.5.14.5.2.1"; if( false === ( $result_oid = self::snmpQueryAll($oid) ) ) { // незареганых онт нет return false; } $res_array=array(); foreach( $result_oid as $key => $value ) { $function_index = self::subtok($key,'.', -2); $a_index=explode('.',$function_index); $func=$a_index[0]; $srv_port_no=$a_index[1]; switch($a_index[0]) { case "2": $func="shelf"; break; case "3": $func="slot"; break; case "4": $func="port"; break; case "5": $func="ont_no"; break; case "6": $func="gem_port"; break; case "8": $func="vlan"; break; case "9": $func="inb_tt_index"; break; case "10": $func="out_tt_index"; break; case "21": $func="inb_tt_name"; break; case "22": $func="out_tt_name"; break; default: break; } $res_array[$srv_port_no][$func] = $value; } reset($res_array); $res_array2=array(); foreach($res_array as $srv_port_no => $srvport_details ) { $shelf=$slot=$port=$ont_no=$gem_port=$vlan= $inb_tt_index=$out_tt_index=$inb_tt_name=$out_tt_name =""; foreach($srvport_details as $func => $value ) { switch($func) { case "shelf": $shelf=$value; break; case "slot": $slot =$value; break; case "port": $port =$value; break; case "ont_no": $ont_no =$value; break; case "gem_port": $gem_port = $value; break; case "vlan": $vlan = $value; break; case "inb_tt_index": $inb_tt_index = $value; break; case "out_tt_index": $out_tt_index = $value; break; case "inb_tt_name": $inb_tt_name = $value; break; case "out_tt_name": $out_tt_name = $value; break; default: break; } } $res_array2[$shelf][$slot][$port][$ont_no][$srv_port_no] =array("gem_port" => $gem_port, "vlan" => $vlan, "inb_tt_index"=>$inb_tt_index, "out_tt_index"=>$out_tt_index, "inb_tt_name"=>$inb_tt_name, "out_tt_name"=>$out_tt_name, ); /*$sql = "update `serviceports` SET "; $sql = "`shelf`='".$shelf."'"; $sql = "`slot`='".$slot."'"; $sql = "`port`='".$port."'"; $sql = "`ont_no`='".$ont_no."'"; $sql = "`srv_port`='".$ont_no."'";*/ } /*echo "<pre>"; print_r($res_array2); echo "</pre>"; echo "<pre>"; print_r($res_array); echo "</pre>";*/ $json_counts_array = json_encode($res_array2); memcache_set($memcache_obj, self::$ip."_hwExtSrvFlowEntry", $json_counts_array, false, 86400); } else { $res_array2 = json_decode($ex,true); // true == as array } return($res_array2); } 1
Darth Vader2 Опубліковано: 5 липня, 2019 Автор Опубліковано: 5 липня, 2019 (відредаговано) Это с ломом на амбразуру. Да, будет работать, но лучше что-то более элегантное. Фактически всего лишь моё мнение. Но - спасибо! Кто-то наверняка оценит и применит. Відредаговано 5 липня, 2019 Darth Vader2
alexlans Опубліковано: 6 липня, 2019 Опубліковано: 6 липня, 2019 написал для себя на php управление и регистрацию ону по телнет. для фронта используется codeigniter+mysql. если надо - могу гитхабнуть(код не идеален)) 1
Sirba Опубліковано: 6 липня, 2019 Опубліковано: 6 липня, 2019 3 часа назад, alexlans сказал: написал для себя на php управление и регистрацию ону по телнет. для фронта используется codeigniter+mysql. если надо - могу гитхабнуть(код не идеален)) Если можно был бы благодарен
nik247 Опубліковано: 6 липня, 2019 Опубліковано: 6 липня, 2019 3 часа назад, alexlans сказал: написал для себя на php управление и регистрацию ону по телнет. для фронта используется codeigniter+mysql. если надо - могу гитхабнуть(код не идеален)) Также был бы благодарен.
jock444 Опубліковано: 10 липня, 2019 Опубліковано: 10 липня, 2019 В 06.07.2019 в 11:33, alexlans сказал: написал для себя на php управление и регистрацию ону по телнет. для фронта используется codeigniter+mysql. если надо - могу гитхабнуть(код не идеален)) Было бы интересно посмотреть если есть возможность поделитесь
Darth Vader2 Опубліковано: 11 липня, 2019 Автор Опубліковано: 11 липня, 2019 Делитесь всем, что есть. Спасибо!
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас