Jump to content

HUAWEI MA5683T OID и MIB


Recommended Posts

  • Replies 165
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Можно пробовать здесь https://github.com/alexlansovich/gpon   Скрины здесь https://github.com/alexlansovich/gpon/tree/master/install/screens  

З цим розібрався, забув додати номер ONT, тобто OIDи мають бути такі:   snmpset -v2c -c private 10.1.1.2 \ 1.3.6.1.4.1.2011.6.128.1.1.2.53.1.2.4227867648.2 i 3 \ #авторизація за MAC(3) 1.3.6.

Вот еще найдено и нарыто в инете 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   (Возможно 

Posted Images

  • 2 weeks later...

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

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

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

 

 

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

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

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

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

 

  

 

Чо надо то?

 

Link to post
Share on other sites
  • 2 months later...

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

Link to post
Share on other sites
  • 3 months later...

Вот еще найдено и нарыто в инете 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
Link to post
Share on other sites
В 06.03.2019 в 18:24, ur5kar сказал:

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

 

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

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 ?

Link to post
Share on other sites
  • 2 months later...

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

 

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

 

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

Link to post
Share on other sites
  • 1 month later...

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

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

 

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

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

Edited by Darth Vader2
Link to post
Share on other sites

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Amigo
      Продам два практично нові комутатори H3C (Huawei) S6520-24S-SI по ціні 21000 грн./шт.
      24 SFP+ порти 1G/10G,
      level L3,
      живлення 220v + 48v,
      споживання до 67Wt,
      Дуже тихі,
      Працюють з будь якими SFP
      Поклали та забули.

    • By grapefruit
      Доброго вечора, спільното!
      Можливо хтось стикався з завданням,коли потрібно на OLT BDCOM GP3600 по oid визначити час розреєстрування ону. В неті нічого знайти не вдалося, через MIB браузер тоже ніц.
      Якщо підкажете буде дуже вдячний, або хоч підкажіть де шукати.
      Всім гарного вечора)
    • By kotqq
      del
    • By kotqq
      Продам модуль Huawei WP1D000SPU01, цена 200$
       

    • By monark
      I sell files to unlock OLT ZTE and OLT Huawei.
      Розблокуйте свої OLT самостійно, щоб прийняти будь-який ONT.
       
      OLT ZTE: C300, C320, C350
       
      OLT HUAWEI: MA5800 X2, X7, X15 and X17 all boards / всі дошки
      OLT HUAWEI: MA56XX all boards / всі дошки
       
      Unlock your OLTs yourself to accept any ONT.
      Розблокуйте свої OLT самостійно, щоб прийняти будь-який ONT.
       
       
      PVT

×
×
  • Create New...