epmp 1000 SM OID doesn't respond

I'm trying to get RSSI information with snmp and graph it over time.  I'm using this site for OID reference:

http://support.cambiumnetworks.com/framed/onlinetools/

I only see a listing for ePMP 1000 ver 2.3.x, under that link I search and find:

cambiumIDMSumCRCCombRSSI

Object ID: 1.3.6.1.4.1.17713.21.6.5.16

Syntax: INTEGER
Constraints: -128..127
Access: read-only
Status: current

Summary Combined RSSI of maximum received CRC error MPDU.
Device Allocation: AP, SM

but I can't seem to query it like:

>: snmpget -v 2c -c communityname 1.2.3.4 1.3.6.1.4.1.17713.21.6.5.16
iso.3.6.1.4.1.17713.21.6.5.16 = No Such Instance currently exists at this OID

The device is responding to snmp requests via snmpwalk:

>: snmpwalk -v 2c -c communityname 1.2.3.4
iso.3.6.1.2.1.1.1.0 = STRING: "communityname"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.17713.21
iso.3.6.1.2.1.1.3.0 = Timeticks: (7521783) 20:53:37.83
iso.3.6.1.2.1.1.4.0 = STRING: "undefined"
...

Interestingly, my snmpwalk only returns 93 lines, but there are certainly more (I think), but why aren't they showing during an snmpwalk query? Is there another Linux way to query more lines? I want to graph RSSI over time per sub. Is there another reference for SM's running 3.4 somewhere?

I have forwarded this to our support team

Cambium stopped updating the framed/onlinetools page a few years ago, unfortunately.  https://support.cambiumnetworks.com/files/epmp/ has all the MIBs, together with the software releases themselves.  Currently https://support.cambiumnetworks.com/files/epmp/archive#r16 is the files relating to v3.4.

As far as your snmpwalk, you are seeing all the generic OIDs (SNMPV2 and IF-MIB) but nothing from the Cambium-specific OIDs.  If you want to walk all the Cambium-specific fields, try "snmpwalk -v2c -ccommunity 1.2.3.4 .1.3.6.1.4.1.17713 | less" or something similar (or substitute 'cambium' for '.1.3.6.1.4.1.17713' if you have the MIB file properly installed in the path used by snmpwalk and snmpget, like in /var/share/snmp/mibs).  (piped through 'less' because there's hundreds of lines of reply coming)

On your specific RSSI question:  The field you're checking is probably not the one you really want. (It exists only after eDetect has been performed to look for interfering signals)

Try .1.3.6.1.4.1.17713.21.1.2.3.0 (cambiumSTADLRSSI.0) for the Downlink RSSI.  You can also hit .1.3.6.1.4.1.17713.21.1.2.18.0 (cambiumSTADLSNR.0) for Downlink Signal to Noise.  You might be interested in .1.3.6.1.4.1.17713.21.1.2.6 (cambiumSTAUplinkMCSMode.0) and .1.3.6.1.4.1.17713.21.1.2.7 (cambiumSTADownlinkMCSMode.0) as well.

j

Thanks for this, very helpful!

If I do:

>: snmpwalk -v 2c -c communityname 1.2.3.4 .1.3.6.1.4.1.17713 > /usr/src/snmp/test/oids.txt

I get a nice text file to grep.

If I want to map one of the entries to it's corresponding value on the list of OID's I downloaded like SSID:

iso.3.6.1.4.1.17713.21.1.1.11.0 = STRING: "somename"

which I could guess relates to something in the downloaded list like:

cambiumEffectiveSSID OBJECT-TYPE
		SYNTAX	   DisplayString (SIZE(0..128))
		MAX-ACCESS read-only
		STATUS	   current
		DESCRIPTION
		"Effective SSID
		Device Allocation: AP"
		::= { cambiumGeneralStatus 11 }

Should I use something like snmptranslate? I put the downloaded CAMBIUM-ePMP-3.4-MIB.txt in /usr/share/snmp/mibs (Debian 8.11).

I eventually want to use rrd/mrtg (or some combination) to roll my own graphs, and want to understand how to grep the counters. I guess I could just map RSSI over time, that would be useful, but I also want to understand how rrd/mrtg views an entry like:

iso.3.6.1.4.1.17713.21.2.1.2.0 = Counter64: 1540176689
iso.3.6.1.4.1.17713.21.2.1.3.0 = Counter64: 9263224
iso.3.6.1.4.1.17713.21.2.1.4.0 = Counter64: 0
iso.3.6.1.4.1.17713.21.2.1.5.0 = Counter64: 0
iso.3.6.1.4.1.17713.21.2.1.6.0 = Counter64: 169
iso.3.6.1.4.1.17713.21.2.1.7.0 = Counter64: 19
iso.3.6.1.4.1.17713.21.2.1.8.0 = Counter64: 21705480889
iso.3.6.1.4.1.17713.21.2.1.9.0 = Counter64: 42108695

Maybe that's a better question for rrd/mrtg folks, but I thought I'd put it here in case you happen to know.

1 Like

For those of you who are trying to map the MIB to specifics on your device using Linux, try:

snmpwalk -v 2c -c communityname -m "./CAMBIUM-ePMP-3.4-MIB.txt" 1.2.3.4 cambium > mibmap.txt

If your MIB.txt is in the current directory (if not, change it to where it is, I couldn't get snmp to recognize it was in /usr/share/snmp/mibs/ for some reason). It should map the outputs to actual device values and give you a text file you can study containing something like:

CAMBIUM-PMP80211-MIB::cambiumCurrentSWInfo.0 = STRING: 3.4
CAMBIUM-PMP80211-MIB::cambiumDateTime.0 = STRING: 09/10/2019:08:42:39
CAMBIUM-PMP80211-MIB::cambiumSystemUptime.0 = STRING: 0004:20:33:27
...
CAMBIUM-PMP80211-MIB::cambiumSTADLRSSI.0 = INTEGER: -67
CAMBIUM-PMP80211-MIB::cambiumSTAConductedTXPower.0 = INTEGER: 18
...
CAMBIUM-PMP80211-MIB::connectedAPNoise.1 = INTEGER: -94
...
CAMBIUM-PMP80211-MIB::cambiumLANSpeedStatus.0 = INTEGER: 100
...
CAMBIUM-PMP80211-MIB::cambiumEthRXErrors.0 = Counter64: 0
CAMBIUM-PMP80211-MIB::cambiumEthRXDrops.0 = Counter64: 0
...
CAMBIUM-PMP80211-MIB::cambiumEthTXErrors.0 = Counter64: 0
CAMBIUM-PMP80211-MIB::cambiumEthTXDrops.0 = Counter64: 0
...
CAMBIUM-PMP80211-MIB::ulWLanErrorDroppedPacketCount.0 = Counter64: 19294
...
CAMBIUM-PMP80211-MIB::ulWLanMCS00Packets.0 = Counter64: 0
CAMBIUM-PMP80211-MIB::ulWLanMCS01Packets.0 = Counter64: 19
CAMBIUM-PMP80211-MIB::ulWLanMCS02Packets.0 = Counter64: 16
CAMBIUM-PMP80211-MIB::ulWLanMCS03Packets.0 = Counter64: 2
CAMBIUM-PMP80211-MIB::ulWLanMCS04Packets.0 = Counter64: 1
CAMBIUM-PMP80211-MIB::ulWLanMCS05Packets.0 = Counter64: 1
CAMBIUM-PMP80211-MIB::ulWLanMCS06Packets.0 = Counter64: 16
CAMBIUM-PMP80211-MIB::ulWLanMCS07Packets.0 = Counter64: 17
CAMBIUM-PMP80211-MIB::ulWLanMCS08Packets.0 = Counter64: 0
CAMBIUM-PMP80211-MIB::ulWLanMCS09Packets.0 = Counter64: 58
CAMBIUM-PMP80211-MIB::ulWLanMCS10Packets.0 = Counter64: 36
CAMBIUM-PMP80211-MIB::ulWLanMCS11Packets.0 = Counter64: 37
CAMBIUM-PMP80211-MIB::ulWLanMCS12Packets.0 = Counter64: 217
CAMBIUM-PMP80211-MIB::ulWLanMCS13Packets.0 = Counter64: 2410
CAMBIUM-PMP80211-MIB::ulWLanMCS14Packets.0 = Counter64: 75535
CAMBIUM-PMP80211-MIB::ulWLanMCS15Packets.0 = Counter64: 10306620

As you can see, there's some useful information in there that you could graph if you're building your own code with this.

The reason I originally didn't get what I wanted with snmpwalk was because I didn't understand the snmp structure. The first numbers are just generic to everything that uses snmp, you have to look at the data past the unique identifier of Cambium, which is 17713, so that's why you do:

snmpwalk -v 2c -c communityname 1.2.3.4 .1.3.6.1.4.1.17713

instead of just generic snmpwalk without the numbers on the end.

Hope this helps someone else out there :)

I usually run Ubuntu on our servers, so very similar to Debian in most ways.  You need to figure out how to get your snmpwalk, snmpget, etc to correctly recognize and parse all the MIB files - you should be able to get this type of output:

root@newmon:/usr/share/snmp/mibs# snmpwalk -v2c -ccommunity 10.12.12.30 1.3.6.1.4.1.17713.21.2
CAMBIUM-PMP80211-MIB::cambiumStatsForceUpdate.0 0
CAMBIUM-PMP80211-MIB::cambiumEthRXBytes.0 18726140069
CAMBIUM-PMP80211-MIB::cambiumEthRXPackets.0 163457417
CAMBIUM-PMP80211-MIB::cambiumEthRXErrors.0 0
CAMBIUM-PMP80211-MIB::cambiumEthRXDrops.0 0
CAMBIUM-PMP80211-MIB::cambiumEthRXMulticast.0 4221413
CAMBIUM-PMP80211-MIB::cambiumEthRXBroadcast.0 104816
CAMBIUM-PMP80211-MIB::cambiumEthTXBytes.0 326643731816
CAMBIUM-PMP80211-MIB::cambiumEthTXPackets.0 440321862
CAMBIUM-PMP80211-MIB::cambiumEthTXErrors.0 0
CAMBIUM-PMP80211-MIB::cambiumEthTXDrops.0 0
CAMBIUM-PMP80211-MIB::cambiumEthTXMulticast.0 1182272
CAMBIUM-PMP80211-MIB::cambiumEthTXBroadcast.0 196878475
CAMBIUM-PMP80211-MIB::sysNetworkEntryAttempt.0 6
CAMBIUM-PMP80211-MIB::sysNetworkEntrySuccess.0 5
CAMBIUM-PMP80211-MIB::sysNetworkEntryAuthenticationFailure.0 0
CAMBIUM-PMP80211-MIB::sysDFSDetectedCount.0 0
CAMBIUM-PMP80211-MIB::ulWLanKbitCount.0 148733041
CAMBIUM-PMP80211-MIB::dlWLanKbitCount.0 2643073933
CAMBIUM-PMP80211-MIB::ulWLanTotalPacketCount.0 200984167
CAMBIUM-PMP80211-MIB::dlWLanTotalPacketCount.0 473398355
CAMBIUM-PMP80211-MIB::ulWLanMultiBroadcastKbitCount.0 3254456
CAMBIUM-PMP80211-MIB::dlWLanMultiBroadcastKbitCount.0 99583418
CAMBIUM-PMP80211-MIB::wLanSessionDroppedCount.0 4
CAMBIUM-PMP80211-MIB::ulWLanErrorDroppedPacketCount.0 49896
CAMBIUM-PMP80211-MIB::dlWLanErrorDroppedPacketCount.0 1276
CAMBIUM-PMP80211-MIB::ulWLanCapacityDroppedPacketCount.0 309264
CAMBIUM-PMP80211-MIB::dlWLanCapacityDroppedPacketCount.0 0
CAMBIUM-PMP80211-MIB::ulWLanTotalAvailableFrameTimePerSecond.0 Wrong Type (should be Counter32): 0
CAMBIUM-PMP80211-MIB::dlWLanTotalAvailableFrameTimePerSecond.0 Wrong Type (should be Counter32): 0
CAMBIUM-PMP80211-MIB::ulWLanTotalUsedFrameTimePerSecond.0 Wrong Type (should be Counter32): 0
CAMBIUM-PMP80211-MIB::dlWLanTotalUsedFrameTimePerSecond.0 Wrong Type (should be Counter32): 0
CAMBIUM-PMP80211-MIB::ulWLanTotalOverheadFrameTimePerSecond.0 Wrong Type (should be Counter32): 0
CAMBIUM-PMP80211-MIB::dlWLanTotalOverheadFrameTimePerSecond.0 Wrong Type (should be Counter32): 0
CAMBIUM-PMP80211-MIB::ulWLanRetransPacketCount.0 32363039
CAMBIUM-PMP80211-MIB::dlWLanRetransPacketCount.0 0
CAMBIUM-PMP80211-MIB::ulWLanBroadcastPacketCount.0 769114
CAMBIUM-PMP80211-MIB::dlWLanBroadcastPacketCount.0 197098844
CAMBIUM-PMP80211-MIB::ulWLanMulticastPacketCount.0 4812415
CAMBIUM-PMP80211-MIB::dlWLanMulticastPacketCount.0 5656048
CAMBIUM-PMP80211-MIB::sysCPUUsage.0 0
CAMBIUM-PMP80211-MIB::rxEtherLanKbitCount.0 146297969
CAMBIUM-PMP80211-MIB::rxEtherLanTotalPacketCount.0 163457417
CAMBIUM-PMP80211-MIB::rxEtherLanErrorPacketCount.0 0
CAMBIUM-PMP80211-MIB::rxEtherLanDroppedPacketCount.0 0
CAMBIUM-PMP80211-MIB::rxEtherLanMulticastPacketCount.0 4221413
CAMBIUM-PMP80211-MIB::rxEtherLanBroadcastPacketCount.0 104816
CAMBIUM-PMP80211-MIB::rxEtherLanMultiBroadcastKbitCount.0 2969252
CAMBIUM-PMP80211-MIB::txEtherLanKbitCount.0 2551904154
CAMBIUM-PMP80211-MIB::txEtherLanTotalPacketCount.0 440321862
CAMBIUM-PMP80211-MIB::txEtherLanErrorPacketCount.0 0
CAMBIUM-PMP80211-MIB::txEtherLanDroppedPacketCount.0 0
CAMBIUM-PMP80211-MIB::txEtherLanMulticastPacketCount.0 1182272
CAMBIUM-PMP80211-MIB::txEtherLanBroadcastPacketCount.0 196878475
CAMBIUM-PMP80211-MIB::txEtherLanMultiBroadcastKbitCount.0 96997016
CAMBIUM-PMP80211-MIB::cambiumStatsResetTimer.0 649600103
CAMBIUM-PMP80211-MIB::ulWLanMCS00Packets.0 0
CAMBIUM-PMP80211-MIB::ulWLanMCS01Packets.0 1066840
CAMBIUM-PMP80211-MIB::ulWLanMCS02Packets.0 1797794
CAMBIUM-PMP80211-MIB::ulWLanMCS03Packets.0 5119019
CAMBIUM-PMP80211-MIB::ulWLanMCS04Packets.0 15659267
CAMBIUM-PMP80211-MIB::ulWLanMCS05Packets.0 12814511
CAMBIUM-PMP80211-MIB::ulWLanMCS06Packets.0 48181008
CAMBIUM-PMP80211-MIB::ulWLanMCS07Packets.0 2884181
CAMBIUM-PMP80211-MIB::ulWLanMCS08Packets.0 0
CAMBIUM-PMP80211-MIB::ulWLanMCS09Packets.0 9180815
CAMBIUM-PMP80211-MIB::ulWLanMCS10Packets.0 4988029
CAMBIUM-PMP80211-MIB::ulWLanMCS11Packets.0 62073100
CAMBIUM-PMP80211-MIB::ulWLanMCS12Packets.0 10841901
CAMBIUM-PMP80211-MIB::ulWLanMCS13Packets.0 14437030
CAMBIUM-PMP80211-MIB::ulWLanMCS14Packets.0 8406626
CAMBIUM-PMP80211-MIB::ulWLanMCS15Packets.0 3534062
CAMBIUM-PMP80211-MIB::dlWLanMCS00Packets.0 0
CAMBIUM-PMP80211-MIB::dlWLanMCS01Packets.0 203100261
CAMBIUM-PMP80211-MIB::dlWLanMCS02Packets.0 29043417
CAMBIUM-PMP80211-MIB::dlWLanMCS03Packets.0 9265180
CAMBIUM-PMP80211-MIB::dlWLanMCS04Packets.0 6054973
CAMBIUM-PMP80211-MIB::dlWLanMCS05Packets.0 2260147
CAMBIUM-PMP80211-MIB::dlWLanMCS06Packets.0 470789
CAMBIUM-PMP80211-MIB::dlWLanMCS07Packets.0 896
CAMBIUM-PMP80211-MIB::dlWLanMCS08Packets.0 0
CAMBIUM-PMP80211-MIB::dlWLanMCS09Packets.0 35581524
CAMBIUM-PMP80211-MIB::dlWLanMCS10Packets.0 83508
CAMBIUM-PMP80211-MIB::dlWLanMCS11Packets.0 152923811
CAMBIUM-PMP80211-MIB::dlWLanMCS12Packets.0 24415934
CAMBIUM-PMP80211-MIB::dlWLanMCS13Packets.0 9961865
CAMBIUM-PMP80211-MIB::dlWLanMCS14Packets.0 236023
CAMBIUM-PMP80211-MIB::dlWLanMCS15Packets.0 27
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.112.0 0
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.113.0 0
CAMBIUM-PMP80211-MIB::ePMP2000MapMissCounter.0 0
CAMBIUM-PMP80211-MIB::ePMP2000PatternSkipCounter.0 0
CAMBIUM-PMP80211-MIB::ePMP2000ErrorsSmartAntennaInterface.0 0
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.118.0 0
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.119.0 0
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.120.0 0
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.121.0 270365
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.122.0 270337
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.123.0 28
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.124.0 164780226
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.125.0 164470990
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.126.0 309236
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.127.0 197413646
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.128.0 197104382
CAMBIUM-PMP80211-MIB::cambiumPerformanceMonitoring.129.0 309264
root@newmon:/usr/share/snmp/mibs#

If snmpwalk and snmpget can't handle the translation for you, very likely snmptranslate won't either.  They all normally read the same set of MIB files.  Normally, you need to explicity pass "-On" to force numeric output when that's what you need, otherwise it defaults to the textual labels defined in the MIB files.

1 Like

You should check the documentation under "man snmpcmd" - that's options common to most/all of the net-snmp tools.  Depending on how you're actually polling the data, if you're using "snmpget" you can use "-OvU" for example to get ONLY actual field data, not the field name or units or anything extra.  So for example in a bash script you can do things like:

DBM=$(snmpwalk -t1 -v2c -ccommunity -OvU 10.33.9.2 .1.3.6.1.4.1.17713.21.1.2.30.1.5.1)
INBYTES=$(($(snmpget -t1 -v2c -c community -OvU 10.29.9.2 .1.3.6.1.4.1.17713.21.2.1.38.0)*128))

And then using "$DBM" later in the script gets replaced with "-73" or whatever.

Personally, I do most of our polling from perl, shoved into mysql and rrd, every ten minutes.

j

2 Likes

Thanks for this!

I'm building the rrd right now, trying to figure out how to get it to scale to negative numbers and wondering if I need log scale to show signal strength and noise floor in easier to understand values? I'll probably just make it linear so our techs can understand if they're going up or down. I'm polling every 10 minutes. Later, once I get it working right, I'll poll to mysql db and use rrdtools to update and build graphs.

Later, I'll superimpose all the various MCS packet counts on a separate graph so we'll know what's going on with a sub. Will post back here if anyone else finds it useful?