Empty port values for D-Link DGS-1100-05PD switch

Hi there,

I’m trying to poll a D-Link DGS-1100-05PD switch but the ports and port graphs are not showing.

When I do a snmpwalk -v 2c -c public switch-tv from my Ubuntu laptop, the bulkwalk is prematurely ended with the message No more variables left in this MIB View (It is past the end of the MIB tree):

iso.3.6.1.2.1.1.1.0 = STRING: "DGS-1100-05PD Gigabit Ethernet Switch"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.171.10.134.19.2
iso.3.6.1.2.1.1.3.0 = Timeticks: (460600) 1:16:46.00

[snip]

iso.3.6.1.2.1.31.1.1.1.6.1 = Counter64: 0
iso.3.6.1.2.1.31.1.1.1.6.2 = Counter64: 0
iso.3.6.1.2.1.31.1.1.1.6.3 = Counter64: 208499
iso.3.6.1.2.1.31.1.1.1.6.4 = Counter64: 1312150
iso.3.6.1.2.1.31.1.1.1.6.5 = Counter64: 2289468
iso.3.6.1.2.1.31.1.1.1.10.1 = Counter64: 0
iso.3.6.1.2.1.31.1.1.1.10.2 = Counter64: 0
iso.3.6.1.2.1.31.1.1.1.10.3 = Counter64: 2426284
iso.3.6.1.2.1.31.1.1.1.10.4 = Counter64: 1282363
iso.3.6.1.2.1.31.1.1.1.10.5 = Counter64: 1331083
iso.3.6.1.2.1.31.1.1.1.10.5 = No more variables left in this MIB View (It is past the end of the MIB tree)

I get this result from every host where I try a snmpwalk -v 2c -c public switch-tv. Could this be a bug in the firmware of my switch or does it have something to do withj the poller scritp?

Than you,

Erik

./poller.php -h HOSTNAME -m ports -d
pastebin the output

also, it wouldn’t hurt to update the firmware on that device.

OK. Here is the output of the poller script.

Firmware is already on latest version (1.00.016 / B1).

Thanks for your response,

Erik

Further investigation reveals that snmpwalk stops at the enterprises branch. I inspected the enterprises branch with SnmpB and I noticed that the enterprises tree is empty. It returns no results when I walk it.

It looks like the D-Link enterprises MIB is missing on the switch. I raised a ticket with D-Link.

Erik

1 Like

Got a new beta firmware from d-link but this did not solve the problem. They have escalated the problem to their main lab in Taiwan.

1 Like

Got a reply from D-Link:

Dear Customer,

Thank you for your inquiry. 

We have the following answer for you:

--------------------
The behavior you experience is not a issue but a design/specification.

After confirmation with our Product Planning/R&D   it is because iso.3.6.1.2.1.31.1.1.1.10.5 is the last OID that switch support in ifXEentry

By design? Now I’m a bit puzzled here. I can walk the ifEntry tree (1.3.6.1.2.1.2.2.1) but LibreNMS does not display ports and interface graphics. The command snmpwalk -v 2c -c public switch-tv 1.3.6.1.2.1.2.2.1 gives me the proper output of interface statistics.

iso.3.6.1.2.1.2.2.1.1.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.1.2 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.1.3 = INTEGER: 3
iso.3.6.1.2.1.2.2.1.1.4 = INTEGER: 4
iso.3.6.1.2.1.2.2.1.1.5 = INTEGER: 5
iso.3.6.1.2.1.2.2.1.2.1 = STRING: "port1"
iso.3.6.1.2.1.2.2.1.2.2 = STRING: "port2"
iso.3.6.1.2.1.2.2.1.2.3 = STRING: "port3"
iso.3.6.1.2.1.2.2.1.2.4 = STRING: "port4"
iso.3.6.1.2.1.2.2.1.2.5 = STRING: "port5"
iso.3.6.1.2.1.2.2.1.3.1 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.2 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.3 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.4 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.5 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.4.1 = INTEGER: 1566
iso.3.6.1.2.1.2.2.1.4.2 = INTEGER: 1566
iso.3.6.1.2.1.2.2.1.4.3 = INTEGER: 1566
iso.3.6.1.2.1.2.2.1.4.4 = INTEGER: 1566
iso.3.6.1.2.1.2.2.1.4.5 = INTEGER: 1566
iso.3.6.1.2.1.2.2.1.5.1 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.2 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.3 = Gauge32: 100000000
iso.3.6.1.2.1.2.2.1.5.4 = Gauge32: 100000000
iso.3.6.1.2.1.2.2.1.5.5 = Gauge32: 1000000000
iso.3.6.1.2.1.2.2.1.6.1 = Hex-STRING: 80 26 89 F5 BC 71 
iso.3.6.1.2.1.2.2.1.6.2 = Hex-STRING: 80 26 89 F5 BC 72 
iso.3.6.1.2.1.2.2.1.6.3 = Hex-STRING: 80 26 89 F5 BC 73 
iso.3.6.1.2.1.2.2.1.6.4 = Hex-STRING: 80 26 89 F5 BC 74 
iso.3.6.1.2.1.2.2.1.6.5 = Hex-STRING: 80 26 89 F5 BC 75 
iso.3.6.1.2.1.2.2.1.7.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.2 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.3 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.4 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.5 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.1 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.8.2 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.8.3 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.4 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.5 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.9.1 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.2 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.3 = Timeticks: (6144000) 17:04:00.00
iso.3.6.1.2.1.2.2.1.9.4 = Timeticks: (1300) 0:00:13.00
iso.3.6.1.2.1.2.2.1.9.5 = Timeticks: (1300) 0:00:13.00
iso.3.6.1.2.1.2.2.1.10.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.10.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.10.3 = Counter32: 6224717
iso.3.6.1.2.1.2.2.1.10.4 = Counter32: 48696422
iso.3.6.1.2.1.2.2.1.10.5 = Counter32: 74463297
iso.3.6.1.2.1.2.2.1.11.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.11.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.11.3 = Counter32: 26200
iso.3.6.1.2.1.2.2.1.11.4 = Counter32: 132956
iso.3.6.1.2.1.2.2.1.11.5 = Counter32: 208667
iso.3.6.1.2.1.2.2.1.12.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.3 = Counter32: 22188
iso.3.6.1.2.1.2.2.1.12.4 = Counter32: 56802
iso.3.6.1.2.1.2.2.1.12.5 = Counter32: 318493
iso.3.6.1.2.1.2.2.1.13.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.4 = Counter32: 2
iso.3.6.1.2.1.2.2.1.13.5 = Counter32: 76
iso.3.6.1.2.1.2.2.1.14.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.16.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.16.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.16.3 = Counter32: 85023465
iso.3.6.1.2.1.2.2.1.16.4 = Counter32: 57757721
iso.3.6.1.2.1.2.2.1.16.5 = Counter32: 49660372
iso.3.6.1.2.1.2.2.1.17.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.17.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.17.3 = Counter32: 54875
iso.3.6.1.2.1.2.2.1.17.4 = Counter32: 110491
iso.3.6.1.2.1.2.2.1.17.5 = Counter32: 149140
iso.3.6.1.2.1.2.2.1.18.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.18.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.18.3 = Counter32: 379082
iso.3.6.1.2.1.2.2.1.18.4 = Counter32: 344498
iso.3.6.1.2.1.2.2.1.18.5 = Counter32: 90228
iso.3.6.1.2.1.2.2.1.19.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.19.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.19.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.19.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.19.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.20.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.20.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.20.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.20.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.20.5 = Counter32: 0

Erik

OK,

I made some progress. When I set the snmp protocol version for this device to v1 in stead of v2c I get interface statistics and graphs. Apparently this device does not support snmp v2c properly/completely. Or D-link’s snmp implementation is a bit buggy or incomplete.

Can anyone shine a light on this.

Erik

You can use snmp v1 when adding the device. If the device is already in LibreNMS you can choose it in the device settings.

It is working right now. I only have interface graphs, icmp statistic and snmp statistics. Apparently D-Link has implemented minimal snmp features in this device.

Erik

If know of something else that you want to be monitored get SNMP OID’s and make a request or you can contribute it.

  • thank you

For my understanding, what can librenms development do about this. The limitation is on the SNMP daemon implementation/configuration of this switch isn’t it. When I try to walk the the enterprises branch I get a timeout. I thought this meant that my switch has only the standard SNMP OID’s and has not implemented vendor specific OID’s.

Or… It is my lack of understanding the SNMP protocol :slight_smile:

Did some reading. Are you suggestion MIB based polling here?

No, im saying that if need any more monitoring. We need more info like OID’s ect…sensors.

OK. Sorry for the misunderstanding. This is the only OID info I can extract from my switch. As far as I can see this only standard information like sysName, sysContact, sysLocation and interface statistics. I am not aware of any sensors (like temperature or processor) in this switch. It is a fairly new model and I can’t find anything in the switch documentation about this subject.

It was a bit hard to fine but, here is a link to the the MIB info of the D-Link DGS-1100 series switches.

Would be nice to have processor and temperature but I think this is not possible with this device.

Yeah, I see nothing for CPU or temp. :frowning:

I have general device info and port statistics right now in LibreNMS for this device. This is the most important to me. Maybe future firmware updates will make the SNMP implementation more mature on this switch.

As far as I’m concerned this topic can be closed. Thank you all for your input.

Erik

1 Like

how did you solve it? Only swith to snmp v1? I have few D-Link DGS-1100-18 and DGS-1100-26 and i remember some years ago it recognize all port … now just first two and no statistics …
I am on Firmware Version: Ver 1.01.018

Ports description not show correctly only like this:

better than nothing but it is terrible :grinning: