Error: OID not increasing

Hi everyone,

I am trying to add a Teracom device (TCW122B-CM) but LibreNMS device SNMP output is incomplete:

Error: OID not increasing: .1.3.6.1.4.1.38783.1.1.0
 >= .1.3.6.1.4.1.38783.1.1.0


.1.3.6.1.2.1.1.1.0 = STRING: "TCW122B-CM Controller SNMP Agent"
.1.3.6.1.2.1.1.1.0 = STRING: "TCW122B-CM Controller SNMP Agent"
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.38783
.1.3.6.1.2.1.1.3.0 = Timeticks: (5986391) 16:37:43.91
.1.3.6.1.2.1.1.4.0 = STRING: "[email protected]"
.1.3.6.1.2.1.1.5.0 = STRING: "TCW122B-CM"
.1.3.6.1.2.1.1.6.0 = STRING: "teracom"
.1.3.6.1.2.1.1.7.0 = INTEGER: 100
.1.3.6.1.4.1.38783.1.1.0 = STRING: "TCW122B-CM"
.1.3.6.1.4.1.38783.1.1.0 = STRING: "TCW122B-CM"
.1.3.6.1.4.1.38783.1.1.0 = STRING: "TCW122B-CM"
.1.3.6.1.4.1.38783.1.2.0 = STRING: "v3.13"
.1.3.6.1.4.1.38783.1.3.0 = STRING: "January 2019"
.1.3.6.1.4.1.38783.2.1.1.0 = IpAddress: 10.0.1.133
.1.3.6.1.4.1.38783.2.1.2.0 = IpAddress: 255.0.0.0
.1.3.6.1.4.1.38783.2.1.3.0 = IpAddress: 10.0.1.1
.1.3.6.1.4.1.38783.2.1.4.0 = Hex-STRING: 5C 32 XX XX XX XX 
.1.3.6.1.4.1.38783.2.1.5.0 = INTEGER: 0
.1.3.6.1.4.1.38783.2.1.6.0 = IpAddress: 8.8.8.8
.1.3.6.1.4.1.38783.2.1.7.0 = STRING: "TCW122B-CM     "

Running in a terminal snmpwalk -v 2c -c public 10.0.1.133 1.3.6.1.4.1.38783 works fine:

iso.3.6.1.2.1.1.1.0 = STRING: "TCW122B-CM Controller SNMP Agent"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.38783
iso.3.6.1.2.1.1.3.0 = Timeticks: (6234246) 16:39:02.46
iso.3.6.1.2.1.1.4.0 = STRING: "[email protected]"
iso.3.6.1.2.1.1.5.0 = STRING: "TCW122B-CM"
iso.3.6.1.2.1.1.6.0 = STRING: "teracom"
iso.3.6.1.2.1.1.7.0 = INTEGER: 100
iso.3.6.1.4.1.38783.1.1.0 = STRING: "TCW122B-CM"
iso.3.6.1.4.1.38783.1.2.0 = STRING: "v3.13"
iso.3.6.1.4.1.38783.1.3.0 = STRING: "January 2019"
iso.3.6.1.4.1.38783.2.1.1.0 = IpAddress: 10.0.1.133
iso.3.6.1.4.1.38783.2.1.2.0 = IpAddress: 255.0.0.0
iso.3.6.1.4.1.38783.2.1.3.0 = IpAddress: 10.0.1.1
iso.3.6.1.4.1.38783.2.1.4.0 = Hex-STRING: 5C 32 XX XX XX XX 
iso.3.6.1.4.1.38783.2.1.5.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.1.6.0 = IpAddress: 8.8.8.8
iso.3.6.1.4.1.38783.2.1.7.0 = STRING: "TCW122B-CM     "
iso.3.6.1.4.1.38783.2.4.1.0 = INTEGER: 1
iso.3.6.1.4.1.38783.2.4.2.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.4.3.0 = IpAddress: 0.0.0.0
iso.3.6.1.4.1.38783.2.4.4.0 = STRING: "public"
iso.3.6.1.4.1.38783.2.4.5.0 = INTEGER: 10
iso.3.6.1.4.1.38783.2.4.6.0 = INTEGER: 253
iso.3.6.1.4.1.38783.2.5.1.1.0 = INTEGER: -400
iso.3.6.1.4.1.38783.2.5.1.2.0 = INTEGER: 850
iso.3.6.1.4.1.38783.2.5.1.3.0 = INTEGER: 10
iso.3.6.1.4.1.38783.2.5.1.4.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.5.2.1.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.5.2.2.0 = INTEGER: 1000
iso.3.6.1.4.1.38783.2.5.2.3.0 = INTEGER: 10
iso.3.6.1.4.1.38783.2.5.2.4.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.6.1.1.0 = INTEGER: -400
iso.3.6.1.4.1.38783.2.6.1.2.0 = INTEGER: 850
iso.3.6.1.4.1.38783.2.6.1.3.0 = INTEGER: 10
iso.3.6.1.4.1.38783.2.6.1.4.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.6.2.1.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.6.2.2.0 = INTEGER: 1000
iso.3.6.1.4.1.38783.2.6.2.3.0 = INTEGER: 10
iso.3.6.1.4.1.38783.2.6.2.4.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.7.1.1.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.7.1.2.0 = INTEGER: 600
iso.3.6.1.4.1.38783.2.7.1.3.0 = INTEGER: 10
iso.3.6.1.4.1.38783.2.7.1.4.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.7.1.5.0 = STRING: "Batteries"
iso.3.6.1.4.1.38783.2.7.2.1.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.7.2.2.0 = INTEGER: 600
iso.3.6.1.4.1.38783.2.7.2.3.0 = INTEGER: 10
iso.3.6.1.4.1.38783.2.7.2.4.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.7.2.5.0 = STRING: "Analog 2"
iso.3.6.1.4.1.38783.2.8.1.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.8.2.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.8.3.0 = STRING: "Digital 1"
iso.3.6.1.4.1.38783.2.8.4.0 = STRING: "Digital 2"
iso.3.6.1.4.1.38783.2.9.1.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.9.2.0 = INTEGER: 0
iso.3.6.1.4.1.38783.2.9.3.0 = INTEGER: 1
iso.3.6.1.4.1.38783.2.9.4.0 = STRING: "Relay 1"
iso.3.6.1.4.1.38783.2.9.5.0 = STRING: "Relay 2"
iso.3.6.1.4.1.38783.2.10.1.0 = Hex-STRING: 00 
iso.3.6.1.4.1.38783.3.1.0 = INTEGER: 1
iso.3.6.1.4.1.38783.3.2.0 = INTEGER: 1
iso.3.6.1.4.1.38783.3.3.0 = INTEGER: 0
iso.3.6.1.4.1.38783.3.4.0 = INTEGER: 0
iso.3.6.1.4.1.38783.3.5.0 = INTEGER: 0
iso.3.6.1.4.1.38783.3.6.0 = INTEGER: 0
iso.3.6.1.4.1.38783.3.7.0 = INTEGER: 264
iso.3.6.1.4.1.38783.3.8.0 = INTEGER: 0
iso.3.6.1.4.1.38783.3.9.0 = INTEGER: 2000
iso.3.6.1.4.1.38783.3.10.0 = INTEGER: 2000
iso.3.6.1.4.1.38783.3.11.0 = INTEGER: 2000
iso.3.6.1.4.1.38783.3.12.0 = INTEGER: 2000
iso.3.6.1.4.1.38783.3.13.0 = INTEGER: 0
iso.3.6.1.4.1.38783.3.14.0 = INTEGER: 0
iso.3.6.1.4.1.38783.3.15.0 = INTEGER: 0
iso.3.6.1.4.1.38783.3.15.0.0 = No more variables left in this MIB View (It is past the end of the MIB tree)

How can I make LibreNMS to query all like above?

Adding custom OIDs works great, but since I have a large number of devices I would like to know if there is a way to automate it.

Output of ./discovery.php -h HOSTNAME -d: https://pastebin.com/LU8wK9VW
Output of ./poller.php -h HOSTNAME -r -f -d: https://pastebin.com/SYp0wFG6

Thanks, any help is appreciated :wink:!