When retrieving an SNMP column from a device, I am getting an "unable to receive the message" error in the Stream Viewer. Checking the messages exchanged through Wireshark, I verified that the corresponding packet is being sent/received as a malformed packet (refer to the attached picture). Also, when I check the request for this parameter through a MIB browser tool, it seems that the tool is able to read the value, apparently overcoming the issue. Has anyone come across anything similar to this? Any tips or advice to solve the issue?
Looks like the value for that OID is not a valid integer (empty) and DataMiner doesn't (yet) handle this error. Have you tried polling using getnext to see if polling continues after getting this error?
This looks like an error with the snmp agent of the device, but this can probably be worked around by continuing polling with the next OID whenever this error is returned. You can create a task for this so it can be looked into in more detail. The reason why you can see a value (I assume '0') in a MIB browser is probably because they handle this type of exception and use the default value in that case.
Like Joey mentions, the value is not a valid integer because of length zero.
There are a few other things that I'm wondering:
-How is the parameter requested via the MIB browser tool: is it a direct get, or via a walk (get next)? What snmp version is the browser tool using: snmpV1 or snmpV2? What value is the browser tool returning for that parameter?
-I see that SnmpV1 is used by the driver. That is rather ancient technology considering that SnmpV2 is developed since 1993, so I'm wondering if the device doesn't support SnmpV2 and what the result is when polling via SnmpV2: single get, get-next, get-bulk? Perhaps the device gives other results depending on the polling method that is used.
-You're talking about retrieving a table column, however I see that the OIDs all end with .0 . That is normally an OID for single parameters, so it seems strange that single parameters are requested as a table. Or are you trying to display single parameters in a table with only one row?
-If polling via SnmpV2 gives the same error result and you always expect one row that ends with .0 then a workaround could be to poll the items as single parameters with the full OID specified and then fill in the row via a QAction.
I haven’t tested all of your suggestions yet, but I will try to give some feedback now and return later with the rest.
– MIB browser: I believe that I used the direct get, but I will confirm this later (as well as the version).
– The device’s documentation encourages the use of SnmpV1, despite being compliant with SnmpV2. Still, I will try your suggestion. Also, in SnmpV1 I tried with “multiplegetnext” and “getnext” methods, both with the same end result.
– As was using the “multipleGetNext” method, I believe that I will receive the data row by row, and it happens to break on the first one.
Thank you for your input. Yes, in the image I believe I was using the “MultipleGetNext” method. But I also tried it with the “GetNext” method, which at the end gave me the same result.