Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Feature Requests
  3. Драйвер для Qtech OLT

Драйвер для Qtech OLT

Scheduled Pinned Locked Moved Feature Requests
russian
10 Posts 3 Posters 81.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F
    F
    foxpdll
    wrote on last edited by
    #1

    Доброе время суток.
    Вынужден использовать крайне редкое и неадекватное железо от Qtech.
    Родной поддержки нет. Некоторое время жил на Дьюде от микротика. Но перерос его.
    Пришел на netxms. Написал свой драйвер для вышеуказанного железа.
    Подскажите плиз кому и куда сдать исходник, чтобы добавили его в сырцы?
    И не будет ли великой наглостью такая просьба?

    И подскажите плиз, копался в коде - не могу понять.
    При добавлении новых интерфейсов в устройство своим ндд драйвером наблюдаю то что
    netxms пытается взять статус интерфейсов по индексу из ифмиба.
    а в моем случае статусы лежат в совершенно другом месте.
    Как быть? хочется полноценную проверку статуса. Если бы в ндд была функция проверки статусов интерфейсов то можно было бы это реализовать.

    1 Reply Last reply
    0
    • F
      F
      foxpdll
      wrote on last edited by
      #2

      На сколько я понимаю, проверка статуса интерфейса проводиться в
      /src/server/core/snmp.cpp
      если я допишу свою логику обработки моих интерфейсов у меня все заработает.
      но это частное решение.
      По моему логичней было бы проверять статус интерфейса в том же ндд что и породил его.

      1 Reply Last reply
      0
      • A
        A
        Alex Kirhenshtein
        wrote on last edited by
        #3

        Добрый день.

        Мы с радостью примем патч и включим в основное дерево, патч должен быть под MIT лицензией. Сделайте пожалуйста feature request в багтрекере: https://dev.raden.solutions/projects/netxms/issues

        Да, правильным решением будет добавить еще одни метод в драйвер, мы это сделаем в ближайшее время.

        @foxpdll said in Драйвер для Qtech OLT:

        Доброе время суток.
        Вынужден использовать крайне редкое и неадекватное железо от Qtech.
        Родной поддержки нет. Некоторое время жил на Дьюде от микротика. Но перерос его.
        Пришел на netxms. Написал свой драйвер для вышеуказанного железа.
        Подскажите плиз кому и куда сдать исходник, чтобы добавили его в сырцы?
        И не будет ли великой наглостью такая просьба?

        И подскажите плиз, копался в коде - не могу понять.
        При добавлении новых интерфейсов в устройство своим ндд драйвером наблюдаю то что
        netxms пытается взять статус интерфейсов по индексу из ифмиба.
        а в моем случае статусы лежат в совершенно другом месте.
        Как быть? хочется полноценную проверку статуса. Если бы в ндд была функция проверки статусов интерфейсов то можно было бы это реализовать.

        1 Reply Last reply
        0
        • V
          V
          Victor Kirhenshtein
          wrote on last edited by
          #4

          Я добавил метод

          virtual void getInterfaceState(SNMP_Transport *snmp, StringMap *attributes, DriverData *driverData, UINT32 ifIndex, InterfaceAdminState *adminState, InterfaceOperState *operState);

          в класс NetworkDeviceDriver. Можно его переопределить и реализовать собственную логику опросов интерфейсов.

          1 Reply Last reply
          0
          • F
            F
            foxpdll
            wrote on last edited by
            #5

            @victor said in Драйвер для Qtech OLT:

            Я добавил метод

            virtual void getInterfaceState(SNMP_Transport *snmp, StringMap *attributes, DriverData *driverData, UINT32 ifIndex, InterfaceAdminState *adminState, InterfaceOperState *operState);

            в класс NetworkDeviceDriver. Можно его переопределить и реализовать собственную логику опросов интерфейсов.

            Я вас практически люблю.
            я только сделал патч
            сейчас создам этот как его... фьючер реквест

            1 Reply Last reply
            0
            • F
              F
              foxpdll
              wrote on last edited by
              #6

              Огромное спасибо.
              Прошу меня простить, но не могли бы Вы добавить еще чуть чуть изменений.
              в файле qtech-olt.cpp в 91 строке заменить строку
                        oid[15] = iface->index;
              на строку           
                        oid[15] = iface->index - info->slot * 1000;

              и принять следующий sql
              если конечно это возможно

              INSERT INTO object_tools (tool_id,tool_name,tool_type,tool_data,description,flags,tool_filter)
               VALUES (10001,'QtechOLTsONT',2,'','Show ONTs on PON ports',5,'<objectToolFilter>
                <toolOS></toolOS>
                <toolTemplate></toolTemplate>
                <snmpOid>.1.3.6.1.4.1.27514.1.10.4.1</snmpOid>
              </objectToolFilter>');
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10001,0,'Num','.1.3.6.1.4.1.27514.1.11.4.1.1.1',1,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10001,1,'SN','.1.3.6.1.4.1.27514.1.11.4.1.1.2',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10001,2,'FW','.1.3.6.1.4.1.27514.1.11.4.1.1.12',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10001,3,'Description','.1.3.6.1.4.1.27514.1.11.4.1.1.13',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10001,4,'Uptime','.1.3.6.1.4.1.27514.1.11.4.1.1.19',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10001,5,'Distance','.1.3.6.1.4.1.27514.1.11.4.1.1.32',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10001,6,'RSSI','.1.3.6.1.4.1.27514.1.11.4.1.1.22',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10001,7,'Temp','.1.3.6.1.4.1.27514.1.11.4.1.1.24',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10001,8,'Status','.1.3.6.1.4.1.27514.1.11.4.1.1.3',0,1);
              INSERT INTO object_tools (tool_id,tool_name,tool_type,tool_data,description,flags,tool_filter)
               VALUES (10002,'QtechOLTsSFP',2,'','Show GPON SFP modules in PON ports',5,'<objectToolFilter>
                <toolOS></toolOS>
                <toolTemplate></toolTemplate>
                <snmpOid>.1.3.6.1.4.1.27514.1.10.4.1</snmpOid>
              </objectToolFilter>');
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10002,0,'Num','.1.3.6.1.4.1.27514.1.11.3.1.1.1.0',5,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10002,1,'Presence','.1.3.6.1.4.1.27514.1.11.3.1.1.15.0',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10002,2,'SN','.1.3.6.1.4.1.27514.1.11.3.1.1.16.0',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10002,3,'Distance','.1.3.6.1.4.1.27514.1.11.3.1.1.14.0',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10002,4,'Manufacturer','.1.3.6.1.4.1.27514.1.11.3.1.1.18.0',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10002,5,'Temp','.1.3.6.1.4.1.27514.1.11.3.1.1.19.0',0,1);
              INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
               VALUES (10002,6,'ManufacturedDate','.1.3.6.1.4.1.27514.1.11.3.1.1.17.0',0,1);

              Буду крайне признателен

              1 Reply Last reply
              0
              • V
                V
                Victor Kirhenshtein
                wrote on last edited by
                #7

                Добавил изменение в драйвере и Object Tools в текущий development branch.

                1 Reply Last reply
                0
                • F
                  F
                  foxpdll
                  wrote on last edited by
                  #8

                  СПАСИБО!!!

                  1 Reply Last reply
                  0
                  • F
                    F
                    foxpdll
                    wrote on last edited by
                    #9

                    Простите. Наблюдаю не совсем понятное поведение.
                    Если интерфейс в состоянии DOWN то у него в таблице interfaces перетираются поля Alias и Description

                    1 Reply Last reply
                    0
                    • V
                      V
                      Victor Kirhenshtein
                      wrote on last edited by
                      #10

                      А что он там показывает? Пустоту? Можно скриншоты в UP и v DOWN для одного и того-же интерфейса?

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      Powered by NodeBB Contributors
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups