Hello, I am encountering an issue where the display of SNMP number parameter is negative even though the value coming from the device is positive. After some investigation I believe it is because the value coming from the device exceeds the max value of Int32 and when Dataminer tries to cast that number as an Int32, it wraps around and becomes negative due to the way binary representation works. The type in the SNMP tag is indeed counter64, which should take any number from 0 to 2^64-1, which also troubling that it still seems to treat the value as an Int32. Is there any possible solution to this? There is the possibility of having a custom column for each of the columns that can possibly take an Int64 number, do the conversion in a Qaction, and set/display the custom column. This would not be an ideal solution, as I would have to create x number of columns for x number of tables where this can possibly happen, and would only do this as a last resort.
Side note: I ran a simulation on my local DMA and the table was not able to poll when the value coming was Int64
Values seen by the customer:
Incoming value from device: 3,777,560,910
Value displayed on Dataminer: -299,812,032
Hi,
Thank you for providing the WireShark capture.
It can be seen in the capture that the device replies with the type being indicated as an Integer32 (0x02):
Trying a set with a Counter64 shows that the type should be 0x46 (=ASN_APPLICATION (0x40) | 6 to define ASN_APP_COUNTER64 according to asn1.h)
This basically comes down to a device issue that is replying with the wrong type.
Ideally there would be a firmware fix for this.
However there is a workaround possible in DataMiner by making a small adaptation to the parameter in the protocol.xml and change the Interprete RawType from "numeric text" into "unsigned number". It should be possible to display the value again as the correct positive number.
Note that the mentioned expected value and displayed value in the question does not seem to be correct. 3,777,560,910 is in hex 0xE1 29 01 4E, or in bit representation:
1110 0001 0010 1001 0000 0001 0100 1110
Getting the two's complement of that (to know the negative number representation) is:
0001 1110 1101 0110 1111 1110 1011 0010, which is 0x1E D6 FE B2 or -517,406,386.
The value -299,812,032 represents 3,995,155,264.
Regards,

Small remark: by changing the RawType into unsigned number, the value will be displayed as a positive number, but when looking at the StreamViewer it will still be shown there as a negative number there as that is the incoming value. This could be confusing for the end-user, so best to document this somewhere.