April 1, 2012 No Comments

JFFNMS 0.9.3 1st release candidate

I have been putting a lot of testing into jffnms lately.  I have been very lucky to have had someone with the time and patience to try out various sub versions and give me access to their results.

The end-result of all this testing is a much, much less buggy JFFNMS.  There have been a strack of problems with caching results, for example, where status would not be updated or even worse the status of one device impacted on another.

The poller parent scheduler had a problem too where it would almost always sit in the first child starving the others of work which slowed things down. The scheduler now is a lot fairer across the children giving a speed up. I’ve heard speed-ups of 15x for this one change alone.

I also had a curious bug where if a device was set to not gather state it still did and created events but not alerts.  This meant your event table was spammed with down interface alerts even on interface you know are down and you turned state checking off.  0.9.3 now does it the right way.

The first RC is now uploaded and can be found at https://sourceforge.net/projects/jffnms/files/jffnms%20RC/ to try out.

I’m a little worried that the pollers now run too fast and could overwhelm the usually crummy control stack found in network devices for parsing SNMP.  I’m interested to hear how people find it.

Enhanced by Zemanta

Identi.caLiveJournalStumbleUponDiggRedditSlashdotWordPressTechnorati FavoritesShare
June 11, 2007 No Comments

SNMP Information from your DLink DSL-300 ADSL Modem

Not many people know it, but the DLink DSL-300 ADSL modem has SNMP management capabilities. And for such a small and cheap network device, its not too bad an implementation of it. Or perhaps I’ve just seen a lot of dead-awful ones to compare objectively. Of course the displaying of the private community in the MIB, which is something the DSL-300 does, is a pretty dumb idea.

I should point out right here that these instructions work for me. They might work for you, or you might just find some easter egg in the modems firmware that turns it into a smoke machine So do any of this stuff at your own risk.

You will have to connect to the modem using a serial port first to find out the IP address and change either your computers or the modems IP address so they are in the same network. Note that this address is not the same as the one your provider gives. And the communities are the very hard to guess public and private for read-only and read-write respectively.

The modem has some of the standard SNMP MIBs that anyone who’s played with SNMP will quickly recognise, such as.

  • system information
  • interface information including the ifTable
  • IP MIB – Packets in out, discards etc
  • ip routes
  • TCP MIB
  • SNMP MIB, which is statistics about the agent itself
  • SNMPv2-SMI::mib-2.17.4

All pretty standard stuff you see in pretty much any device. All the good information is always found in the private enterprises part of the MIB, and the DSL-300 is no exception. The problem is that if you ask DLink about it, they will tell you nothing. The nice thing about DLink is they’re pretty consistent about annoying the hell out of their customers by denying them technical information.

With that rant out of the way, its time to work out for myself what these values are for. I’ve got some worked out but it will take some more time to get it all clear and possibly some will never be worked out, thanks DLink!

All OIDs start with private.enterprises.171.11 There are quite a few gaps so if you know what the missing values mean, drop me a line.

OIDTypeDescription
1.1.1.0STRINGSoftware version eg “R1.14AU”
1.1.2.0STRINGPROM firmware version “Ver. 1.00″
1.1.3.0STRINGHardware version “Rev. 1.00″
1.1.4.0INTEGERManagement Protocols supported: 2=snmp-ip
1.1.5.1TableTable showing what MIBs are supported
1.1.5.1.1.XINTEGER - Index of Table
1.1.5.1.2.XSTRING - Name of MIB supported eg “DSL504-MIB”, “RFC1213-MIB”
1.1.5.1.3.XINTEGER - Version of MIB supported
1.1.5.1.4.XINTEGER - Type of MIB
30.1.1.0INTEGERBridge/Router: 1=PPPoA-Router, 2=PPPoA-Bridge, 3=RFC1483-Router, 4=RFC1483-Bridge
30.1.2.0INTEGERConfig Save 1
30.1.3.0INTEGERSystem Restart 1
30.1.4.0INTEGER?? 1
30.2.1.0INTEGERADSL Driver Mode: 0=link down, 1=T1-413, 2=G-lite, 3=G-DMT
30.2.2.0INTEGERUpstream rate in kbps
30.2.3.0INTEGERDownstream rate in kbps
30.2.4.0STRINGDevice driver version
30.2.5.0INTEGERADSL Link Status: 0=Idle, 1=Connecting, 2=Connected
30.2.6.0INTEGERDriver Path: 0=Fast, 1=Interleave
30.2.7.0INTEGERNear End FEC line error count
30.2.8.0INTEGERFar End FEC line error count
30.2.9.0INTEGERNear End CRC line error count
30.2.10.0INTEGERFar End CRC line error count
30.2.11.0INTEGERNear End HEC line error count
30.2.12.0INTEGERFar End HEC line error count
30.2.13.0INTEGERNear End LOS (Loss Of Signal) count
30.2.14.0INTEGERFar End LOS (Loss Of Signal) count
30.2.15.0INTEGERNear End LOF (Loss Of Frame) count
30.2.16.0INTEGERFar End LOF (Loss Of Frame) count
30.2.17.0INTEGERNear End line error count
30.2.18.0INTEGERFar End line error count
30.2.19.0INTEGERNear End Alarm Indication Signal: 0=no alarm, 1=alarm
30.2.20.0INTEGERFar End Alarm Indication Signal: 0=no alarm, 1=alarm
30.2.21.0INTEGERNear End Remote Defect Identification: 0=no defect, 1=defect
30.2.22.0INTEGERFar End Remote Defect Identification: 0=no defect, 1=defect
30.2.23.0INTEGERUpstream Capacity (in percent)
30.2.24.0INTEGERDownstream Capacity (in percent)
30.2.25.0INTEGERUpstream line attenuation
30.2.26.0INTEGERDownstream line attenuation
30.2.27.0INTEGERUpstream Noise Margin
30.2.28.0INTEGERDownstream Noise Margin
30.2.29.0INTEGERUpstream Output Power
30.2.30.0INTEGERDownstream Output Power
30.2.31.0INTEGERLink retrain count
30.2.32.0ArrayCarrier Load Array
30.2.33.0INTEGERUnable to initialize count
30.2.34.1.1.1-96INTEGERA 96 row table, index column. The value equals the instance.
30.2.34.1.2.1-96INTEGERNear End Error Second
30.2.34.1.3.1-96INTEGERFar End Error Second
30.2.35.0INTEGERNear End Error Second count for the day
30.2.36.0INTEGERFar End Error Second count for the day
30.2.37.1.1.1-7INTEGERError Second for the day table – instance. Value = instance
30.2.37.1.2.1-7INTEGERNear End Error Second count for the day
30.2.37.1.3.1-7INTEGERFar End Error Second count for the day
30.3.1.0INTEGERSpanning Tree State: 0=other, 1=disabled, 2=enabled
30.3.2.0INTEGERVPI of bridged PVC
30.3.3.0INTEGERVCI of bridged PVC
30.4.1.1.1.1INTEGERIndex of table
30.4.1.1.2.1IpAddressIP address of modem
30.4.1.1.3.1IpAddressNetwork mask of modem
30.4.1.1.4.1INTEGERSend RIP 1=RIPv1 2=RIPv2 3=Both RIP 4=None
30.4.1.1.5.1INTEGERAccept RIP 1=RIPv1 2=RIPv2 3=Both RIP 4=None
30.4.1.1.6.1INTEGERIP Forwarding: 2=None 3=All
30.4.1.1.7.1INTEGERDHCP Client: 1=other, 2=disabled, 3=enabled
30.4.1.1.8.1INTEGERNAT State: 1=other, 2=disabled, 3=enabled
30.4.2.1.0INTEGERStatic Route Count 0
30.4.3.1.1.1.6
 .112.117.98.108.105.99
Hex-STRINGSNMP read-only community, 28 bytes long with 0 padding. eg fred = 66 72 65 64 00…
30.4.3.1.1.1.7
 .112.114.105.118.97.116.101
Hex-SSNMP read/write community, same encoding as Read-only
30.4.3.1.1.2.6
 .112.117.98.108.105.99
INTEGER?? 1
30.4.3.1.1.2.7
 .112.114.105.118.97.116.101
INTEGER?? 2
30.9.1.0IpAddressIP address of TFTP server
30.9.2.0StringRemote filename on TFTP server
30.9.3.0StringLocal filename
30.9.4.0INTEGERSet to 1 to make modem connect to server
30.9.5.0INTEGERSet to 1 to get remote file
30.9.6.0INTEGERTFTP status: 0=idle, 1=Wait ACK, 2=Wait Data, 3=Sent Write Request, 4=Sent Read Request, 5=Done

Some definitions you might find useful:

  • Error Second (ES) – Any second where at least one bit error was received.
Identi.caLiveJournalStumbleUponDiggRedditSlashdotWordPressTechnorati FavoritesShare

Filed under: Networks

Tags: ,