Jump to content
Local
Darth Vader2

HUAWEI MA5683T OID и MIB

Recommended Posts

возьму доступ к серверам для изучения B)

Share this post


Link to post
Share on other sites

быть может тогда кто-то подскажет, как снять таблицу коммутации с 5608?

Share this post


Link to post
Share on other sites

вуаля!! первый пример...  только SNMP!

 

Firefox_Screenshot_2018-05-11T08-16-55.483Z.png

Firefox_Screenshot_2018-05-11T08-15-19.478Z.png

Edited by pashaumka

Share this post


Link to post
Share on other sites

замечательно! а оидами для регистрации ону поделитесь ?

Share this post


Link to post
Share on other sites

ребят! я просил помощи с доступом к железке для написания этой софтины. Кто-то отморозился; "дайте доступ к серверу".

+ скрипт еще не оптимизирован под опрос боооольшого числа ОНУшек и есть куча-куча нюансов.

В этом скриптике ещё писанины и писанины.. + надо кое-что выносить на попап окна. 

 

 

Share this post


Link to post
Share on other sites
В 22.05.2018 в 17:50, pashaumka сказал:

ребят! я просил помощи с доступом к железке для написания этой софтины. Кто-то отморозился; "дайте доступ к серверу".

+ скрипт еще не оптимизирован под опрос боооольшого числа ОНУшек и есть куча-куча нюансов.

В этом скриптике ещё писанины и писанины.. + надо кое-что выносить на попап окна. 

 

  

 

Чо надо то?

 

Share this post


Link to post
Share on other sites

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 - швидкість на сервіс-порті

Share this post


Link to post
Share on other sites

Вот еще найдено и нарыто в инете 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. Но есть неточности и нуждается про проверке.

  • Like 1

Share this post


Link to post
Share on other sites

Подправил свой движок..   Спасибки за инфу )

по поводу кодировки индексов там просто все гениально!!!

Edited by pashaumka

Share this post


Link to post
Share on other sites
В 06.03.2019 в 18:24, ur5kar сказал:

Как вытянуть MAC на service-port еще не нашел.

 

пока известно, что только Хуавеевские ОНТишки отдают маки на портах. остальные гонят 0xFF

Share this post


Link to post
Share on other sites

Еще добавлю

 

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 ?

Share this post


Link to post
Share on other sites

Нужны все МАС которые в сервис порту.

Нужен результат команды - display mac-address service-port 1 

Share this post


Link to post
Share on other sites
В 11.05.2018 в 10:56, pashaumka сказал:

вуаля!! первый пример...  только SNMP!

 

Firefox_Screenshot_2018-05-11T08-16-55.483Z.png

Firefox_Screenshot_2018-05-11T08-15-19.478Z.png

 

Здравствуйте, поделитесь оид на добавление ОНТ?

Share this post


Link to post
Share on other sites

Я не нашел подходящих OID для регистрации ONT, есть решение на базе php expect. В конкретном примере номер свободного сервисного порта берется из базы mysql. Как понимаете, при таком условии можно выбрать любой свободный, а не последний в списке по OID  SNMPv2-SMI::enterprises.2011.5.14.5.1

 

Остаётся вопрос синхронизации занятых сервис портов, теоретически можно решать запросами, практически - нафиг надо. Тем более, что вынуть занятый сервис порт конкретной ONT проблемы не составляет. А когда он нам нужен? Скажем во время удаления. Как часто такое бывает? Почти никогда.

 

Ну вот как-то так получаем ответы на вопросы. Есть большое желание найти OID показывающий первый незанятый порт внутри списка, но пока не нашел ничего. А есть и другие задачи, скажем первый в группе, последний в группе, первый свободный внутри группы. Фантазия она-то безгранична, а возможности ограничены. Поэтому иногда без дублирования данных в базу просто не обойтись никак. Но это уже персональный цвет фломастера, конечно.

Share this post


Link to post
Share on other sites

Коллеги, кто знает описание состояний падений онушки?

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) """"
}

 

Share this post


Link to post
Share on other sites
В 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;

 

Скрытый текст

 

Edited by pashaumka

Share this post


Link to post
Share on other sites


        // 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);
            }

  • Like 1

Share this post


Link to post
Share on other sites

Это с ломом на амбразуру. Да, будет работать, но лучше что-то более элегантное. Фактически всего лишь моё мнение. Но - спасибо! Кто-то наверняка оценит и применит.

Edited by Darth Vader2

Share this post


Link to post
Share on other sites

написал для себя на php управление и регистрацию ону по телнет.

для фронта используется codeigniter+mysql.

если надо - могу гитхабнуть(код не идеален))

  • Like 1

Share this post


Link to post
Share on other sites
3 часа назад, alexlans сказал:

написал для себя на php управление и регистрацию ону по телнет.

для фронта используется codeigniter+mysql.

если надо - могу гитхабнуть(код не идеален))

Если можно был бы благодарен 

Share this post


Link to post
Share on other sites
3 часа назад, alexlans сказал:

написал для себя на php управление и регистрацию ону по телнет.

для фронта используется codeigniter+mysql.

если надо - могу гитхабнуть(код не идеален))

Также был бы благодарен.

Share this post


Link to post
Share on other sites
В 06.07.2019 в 11:33, alexlans сказал:

написал для себя на php управление и регистрацию ону по телнет.

для фронта используется codeigniter+mysql.

если надо - могу гитхабнуть(код не идеален))

Было бы интересно посмотреть если есть возможность поделитесь

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Meriamon
      Продам свитч HUAWEI Quidway S3928P-E1 (+шнур питания), б/у, так как был лишним, использовался значительно меньше, чем лежал на полке. Не ремонтировался!  Цена - 1650 грн.




    • By kotqq
      Куплю  плату  GPFD или GPBD с модулями С+ или С++, желательно бу, но рассмотрю и вариант новой. ЛС
    • By deltatelecom
      Продам OLT Huawei + плата управления mcud+ dc блок питания цена 1350$
      Реальному покупателю торг 

    • By AbrGnom
      Huawei Optix RTN 380
      1 комплект (2ррл/0,6)
      1000USD
      / в Москве
      +
      1 комлект (2ррл/0,3)
      750USD
      _____________
      пишите в личку.
      ———
      С сайта Хуавей -
      _
      Радиорелейная система E-Band диапазона
      Радиорелейное оборудование E-band диапазона серии RTN 380 и 380H работают в миллиметровом диапазоне частот от 71 ГГц до 86 ГГц. Оборудование обеспечивает ультравысокую пропускную способность 10 Гбит/с, подходящую для агрегации IP-услуг с высокой пропускной способностью или может рассматриваться как резервная линия для волоконно-оптической лини связи. Конструктивно оборудование выполнено по принципу "полностью наружной установки" ("Full-outdoor") и отличается наличием простых и удобных функций эксплуатации и обслуживания, что облегчает быстрое развертывание и покрывают потребности в широкополосной беспроводной передаче данных в различных сценариях (например, при обеспечении межсетевого соединения сети связи предприятия и сети фиксированного широкополосного доступа провайдеров интернет-услуг).
    • By prototip
      Продам брендовые  делители Huawei PLC 1*16 UPC в кассете.
      Цена вопроса 12 уе/шт. 40 шт в наличии.

×