simpl3x Опубликовано 16 февраля, 2018 (изменено) · Жалоба есть ли возможность на ZTE C320 реализовать некий аналог, как это сделано на BDCOM3310: epon onu-config-template default ... cmd-sequence 5 epon onu all-port ctc vlan mode tag %1 ... ! interface EPON0/1 epon pre-config-template default binded-onu-llid 64 param 2064 ... epon pre-config-template default binded-onu-llid 1 param 2001 ! т.е. зарегистрировать ONU без первоначальной привязки ее MAC, и подсунуть ей первоначальный конфиг. в идеале с входящими параметрами, которые статически заданы на OLT Изменено 16 февраля, 2018 пользователем simpl3x Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
itadakimas Опубликовано 19 февраля, 2018 · Жалоба В 16.02.2018 в 19:41, simpl3x сказал: есть ли возможность на ZTE C320 реализовать некий аналог, как это сделано на BDCOM3310: epon onu-config-template default ... cmd-sequence 5 epon onu all-port ctc vlan mode tag %1 ... ! interface EPON0/1 epon pre-config-template default binded-onu-llid 64 param 2064 ... epon pre-config-template default binded-onu-llid 1 param 2001 ! т.е. зарегистрировать ONU без первоначальной привязки ее MAC, и подсунуть ей первоначальный конфиг. в идеале с входящими параметрами, которые статически заданы на OLT Добрый день. Исходя из нашего опыта могу сказать, что Huawei и ZTE позиционируют работы своих устройств в связке с NMS(для ZTE Netnaumen). Вся автоматизация делается через NMS Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 15 февраля, 2019 · Жалоба Реализовал скрипт авторегистрации Ону на олте через телнет <?php function fgets_u($pStdn) { $pArr = array($pStdn); if (false === ($num_changed_streams = stream_select($pArr, $write = NULL, $except = NULL, 0))) { print("\$ 001 Socket Error : UNABLE TO WATCH STDIN.\n"); return FALSE; } elseif ($num_changed_streams > 0) { return trim(fgets($pStdn, 1024)); } } $olt_port= "2"; $olt_host= "10.0.6.99"; $olt_user = "admin"; $olt_passwd = "admin"; $onu_profile = "LP_ONU-1G"; $onu_type = "ONU_1G"; $fp=pfsockopen("$olt_host",23); echo "Telnet session opening ..."; sleep(1); echo fgets_u ($fp)."\r\n"; echo fgets_u ($fp)."\r\n"; echo fgets_u ($fp)."\r\n"; echo fgets_u ($fp)."\r\n"; /**/ fputs($fp,"$olt_user\r\n"); echo fgets_u ($fp)."\r\n"; fputs($fp,"$olt_passwd\r\n"); sleep(1); echo fgets_u ($fp)."\r\n"; fputs($fp,"\r\n"); echo fgets_u ($fp)."\r\n"; fputs($fp,"configure terminal\r\n"); sleep(1); echo fgets_u ($fp)."\r\n"; echo fgets_u ($fp)."\r\n"; fputs($fp,"\r\n"); fputs($fp,"interface gpon-olt_1/1/$olt_port\r\n"); sleep(1); echo fgets_u ($fp)."\r\n"; echo fgets_u ($fp)."\r\n"; fputs($fp,"\r\n"); echo fgets_u ($fp)."\r\n"; fputs($fp,"show pon onu uncfg\r\n"); sleep(1); echo fgets_u ($fp)."\r\n"; $unreg = fgets_u ($fp); if ($unreg!="%Code 40285 : No related information to show."){ echo $unreg."\r\n"; echo fgets_u ($fp)."\r\n"; fputs($fp,"\r\n"); while ($line= fgets ($fp)) { if (substr ($line,0,4)=="ZXAN"){ break(1); }else{ print ($line."\r\n"); $onu[]= substr($line,41,12); } } }else{ echo $unreg ; } fputs($fp,"show gpon onu baseinfo gpon-olt_1/1/$olt_port\r\n"); sleep(1); echo fgets_u ($fp)."\r\n"; echo fgets_u ($fp)."\r\n"; fputs($fp,"\r\n"); while ($line= fgets ($fp)) { if (substr ($line,0,4)==" --M"){ fputs($fp," \r\n"); } if (substr ($line,0,4)=="ZXAN"){ break(1); }else{ print ($line); $max_onu_reg= substr($line,15,3); } } if (isset($onu)){ foreach ($onu as $sn){ print ($sn."\r\n"); $max_onu_reg=$max_onu_reg+1; fputs($fp,"onu $max_onu_reg type $onu_type sn $sn \r\n"); echo "onu $max_onu_reg type $onu_type sn $sn \r\n"; while ($line= fgets ($fp)) { if (substr ($line,0,4)=="ZXAN"){ break(1); print ($line."\r\n"); }else{ print ($line."\r\n"); } } fputs($fp,"onu $max_onu_reg profile line $onu_profile \r\n"); echo "onu $max_onu_reg profile line $onu_profile \r\n"; while ($line= fgets ($fp)) { if (substr ($line,0,4)=="ZXAN"){ break(1); print ("!!".$line."\r\n"); }else{ print ("--".$line."\r\n"); } } } } sleep(1); fputs($fp,"exit\r\n\r\n"); echo "3".fgets_u ($fp)."\r\n"; echo "4".fgets_u ($fp)."\r\n"; sleep(1); echo "5".fgets_u ($fp)."\r\n"; foreach ($onu as $key=>$value){ $curr_onu= $max_onu_reg+$key; fputs($fp,"pon-onu-mng gpon-onu_1/1/$olt_port:$curr_onu\r\n\r\n"); sleep(1); echo "3".fgets_u ($fp)."\r\n"; echo "3".fgets_u ($fp)."\r\n"; sleep(1); fputs($fp,"service 1 gemport 1 untag\r\n\r\n"); sleep(2); echo "4".fgets_u ($fp)."\r\n"; echo "4".fgets_u ($fp)."\r\n"; echo "4".fgets_u ($fp)."\r\n"; echo "4".fgets_u ($fp)."\r\n"; } echo "Telnet session closing ..."."\r\n"; ; fclose($fp); ?> Трафик в дефолтном влане. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
snark Опубликовано 17 февраля, 2019 · Жалоба /некропостинг mode В 16.02.2018 в 17:41, simpl3x сказал: есть ли возможность на ZTE C320 зарегистрировать ONU без первоначальной привязки ее MAC Если регистрировать по серийнику, то можно прописать хоть 1, хоть 100 ONU сразу со всеми настройками. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 17 февраля, 2019 · Жалоба @petro_drozd откройте для себе expect, код станет куда более читабельным https://linux.die.net/man/1/expect Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 17 февраля, 2019 · Жалоба Я честно гвооря не ставил перед собой цели делать текст читабельным. Я бы с удовольствием воспользовался SNMP вместо этого telnet костылинга. Но увы нигде никакой инфы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 17 февраля, 2019 · Жалоба @petro_drozd посмотрите на down.51cto.com, для хуавей там сливают всякое, для zte не искал Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 13 марта, 2019 · Жалоба Нервы не выдерживают) Абсолютно никакой инфы как забрать mac таблицу по snmp Пишут что надо скачать netnumen и встать на него wireshark, но где взять netnumen х.з. Нашел таблицу [define] DEVICE="ZTE 320" [signal] SIGNALMODE="ZTE" SIGINDEX=".1.3.6.1.4.1.3902.1015.1010.1.1.1.29.1.5." MACINDEX=".1.3.6.1.4.1.3902.1015.1010.1.1.1.1.1.4" SIGVALUE="STRING:" MACVALUE="Hex-STRING:" OFFSET="0" OFFSETMODE="none" DOWNVALUE="No Such Instance currently exists at this OID" [misc] CARDOFFSET="1" FDBINDEX=".1.3.6.1.4.1.3902.1015.6.1.3.1.5.1" [vlan] PVID=".1.3.6.1.4.1.3902.1015.1010.1.1.1.19.1.1." ADDUNI=".1.3.6.1.4.1.3902.1015.1010.1.1.1.10.1.1.1." ALLONU="" ALLCARDS=".1.3.6.1.4.1.3902.1015.2.1.1.3.1.4" TRUNK="" ADDPON=".1.3.6.1.4.1.3902.1015.20.4.1.1." [onu_reg] TYPE="EPON" ALLCARDS=".1.3.6.1.4.1.3902.1015.2.1.1.3.1.4" UNCFGLIST=".1.3.6.1.4.1.3902.1015.1010.1.7.14.1.2" EACHLLID=".1.3.6.1.4.1.3902.1015.1010.1.7.4.1.1." Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 13 марта, 2019 · Жалоба @petro_drozd в условиях отсутствия мибов я делал так. делает snmpwalk по всему дереву, затем меняете что вам нужно (ну т.е. добиваетесь изменения мак-таблицы), затем делаете walk ещё раз и делаете diff. да, вылезет куча мусора в виде счётчиков, но всё равно, в целом такой подход очень неплохо работает Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 13 марта, 2019 · Жалоба может я ошибаюсь, но фишка в том, что не все оиды доступны по snmpwalk. тем более недоступны значения write и всякие хитрые маневры типа "прочитать x, затем записать y" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 13 марта, 2019 · Жалоба @petro_drozd для write - да, для read обычно всё доступно через walk, но бывают нюансы, да, что какая-то ветка не обходится walk-ом, хз специально это делают или бага вам-то что нужно сделать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 13 марта, 2019 · Жалоба у меня в биллинг интегрирована работа с bdcom 3310 1. опрашиваю сигнал онушек 2. оправшиваю mac адреса за онушками для автоматической привязки онушки к пользователю 3. удаляю онушки с олта когда они переходят в другую ветку. С ZTE C320 возникла проблема с регистрацией ону. Она решилась хитровыделанным скриптом, в котором есть Telnet часть, которую я заменяю на snmp. итого. 1. сигналы с ону - вроде как доступны. 2. таблица mac - найдена. 3. регистрация по snmp Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 14 марта, 2019 · Жалоба Короче 12 часов работы и я его интегрировал. //список онушек $ZTEonuActivePonDiidoid = '.1.3.6.1.4.1.3902.1012.3.28.1.1.2'; //статусы онушек 0-выключена 6-включена $ZTEonuStatusoid =".1.3.6.1.4.1.3902.1012.3.28.2.1.3"; //mac адреса онушек нужно откусить первые 4 символа $ZTEonuIDoid = ".1.3.6.1.4.1.3902.1012.3.28.1.1.5"; //вендор онушки $ZTEonuVendorIDoid = '1.3.6.1.4.1.3902.1012.3.50.11.2.1.1'; //мощща на онушке если больше 30000 $RxPower = ($RxPower-65536)*0.002-30; если меньше 30000 $RxPower = $RxPower*0.002-30; $ZTEopModuleRxPoweroid = '.1.3.6.1.4.1.3902.1012.3.50.12.1.1.10'; // Дистанция вроде как метры $ZTEonuDistanceoid = '.1.3.6.1.4.1.3902.1012.3.11.4.1.2'; // Состояние Меди $ZTEonuUniIfOperStatusoid = '1.3.6.1.4.1.3902.1012.3.50.14.1.1.7'; //Список мак адресов $ZTEifFdbReadByPortMacAddressoid ='.1.3.6.1.4.1.3902.1015.6.1.3.1.5.1'; Функция для поиска Oid для списка мак адресов за онушкой function encode_gponOnuIndex($shelf="0", $slot="0", $port="0", $onu_num="0") { return( (1 << 30) + (($shelf -1 ) << 21 )+ (($slot - 1) << 20 )+ ( ($port - 1) << 16 )+ ( ($onu_num - 1 ) << 8 )); } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 15 марта, 2019 · Жалоба Нашел как регать через SNMP Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 20 марта, 2019 · Жалоба Есть мибы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
max1976 Опубликовано 20 марта, 2019 · Жалоба 27 минут назад, petro_drozd сказал: Есть мибы. Поделитесь. Спасибо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 20 марта, 2019 · Жалоба Скинул Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lumenok Опубликовано 22 марта, 2019 · Жалоба Поделитесь мибами, пожалуйста! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
~AsmodeuS~ Опубликовано 21 мая, 2019 · Жалоба On 3/20/2019 at 7:46 PM, petro_drozd said: Есть мибы. Поделитесь мибамы регистрации Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 21 мая, 2019 · Жалоба 1 minute ago, ~AsmodeuS~ said: Поделитесь мибамы регистрации ничего путного пока не получилось. Там есть список незарегистрированных snmpwalk -c xxxx -v2c -On 10.0.6.99 iso.3.6.1.4.1.3902.1012.3.13.3.1.2 .1.3.6.1.4.1.3902.1012.3.13.3.1.2.268503040.1 = Hex-STRING: 5A 54 45 47 C6 75 C0 B6 .1.3.6.1.4.1.3902.1012.3.13.3.1.2.268503040.2 = Hex-STRING: 54 44 54 43 E6 D1 60 E5 .1.3.6.1.4.1.3902.1012.3.13.3.1.2.268503040.3 = Hex-STRING: 45 4C 54 58 79 16 AE 8A вписать незарегистрированную в новый слот snmpset -c xxxx -v2c -On 10.0.6.99 .1.3.6.1.4.1.3902.1012.3.28.1.1.5.268503040.1 x 0x54445443E6D160E5 .1.3.6.1.4.1.3902.1012.3.28.1.1.5.268503040.1 = Hex-STRING: 54 44 54 43 E6 D1 60 E5 она становится зарегистрированной, но неизвестно как применить профили. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
~AsmodeuS~ Опубликовано 23 мая, 2019 · Жалоба спасибо Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 6 августа, 2020 (изменено) · Жалоба Пытаюсь опять сделать, нашел более менее механизм регистрации, но получается через раз /// включаем создание онушки zxGponOntDevMgmtEntryStatus ROWSTATUS INTEGER {active(1), notInService(2), notReady(3), createAndGo(4), createAndWait(5), destroy(6) } snmpset( $olt_host, $community, ".1.3.6.1.4.1.3902.1012.3.28.1.1.9.".$port_index.".".$max_onu_reg, 'i' , 4); //// переводим в режим zxGponOntRegMode This attribute indicates the onu registration mode. regModeSn:GPON/XGPON -- G.984 G.987 -- 8bytes snmpset( $olt_host, $community, ".1.3.6.1.4.1.3902.1012.3.28.1.1.12.".$port_index.".".$max_onu_reg, 'i' , 1); /// Задаем профиль zxGponOntDevMgmtTypeName snmpset( $olt_host, $community, ".1.3.6.1.4.1.3902.1012.3.28.1.1.1.".$port_index.".".$max_onu_reg, 's' , "ONU_1G"); /// Задаем серийный номер zxGponOntDevMgmtTypeName snmpset( $olt_host, $community, ".1.3.6.1.4.1.3902.1012.3.28.1.1.5.".$port_index.".".$max_onu_reg, 'x' , "0x".$sn); Совершенно не получается создать профили zxGponGemPortEntry, zxGponOntBpInfoEntry Изменено 6 августа, 2020 пользователем petro_drozd Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 20 октября, 2020 · Жалоба А кто-нибудь еще копает мибы? Есть куча моментов, но мне кажется тут будет монолог. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jackmx Опубликовано 20 апреля, 2021 · Жалоба Попрошу и себе МИБы, пробую тоже написать авторег Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
petro_drozd Опубликовано 20 апреля, 2021 · Жалоба Что конкретно вас интересует? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...