Canopy & SNMP - Attempts to retrieve module data from ap

As some of you know I have been working on a canopy data collection service, which is designed to pull information out of the modules (such as jitter, rssi, octets etc…) and write the data into a SQL database.

I started by pulling the data out of the subscriber modules, but then realized that there is no way of resetting the information back to zero when I am finished. So I embarked on another attempt to get this working straight, and started looking into how I could pull the data out of 10 ap’s, rather than 100 modules.

After looking at the mib for an AP, I found what looks to be like the data from modules connected to the ap: (OID . I programmed a little app to run down the list and collect all the data in the list.

Now when I run the code:

    SNMPMgr1.ObjCount = 1    
SNMPMgr1.ObjId(1) = “”
SNMPMgr1.ObjValue(1) = “2”

Dim intCount As Integer
intCount = 1
SNMPMgr1.ObjCount = 1
SNMPMgr1.ObjId(1) = “” & intCount

intCount = intCount + 1
Debug.Print SNMPMgr1.ObjValue(1)
Loop Until intCount = 44

All I get is nothing for each item (the 44 times is every item in the whispLinkEntry list)

I mean nothing as in the default values i.e. (All of the below values should not be what they are which is zero/default.)

    linkDescr=Canopy MultiPoint

Any ideas what could be wrong?


The first thing is that LUID 1 is not valid. All APs start their LUID numbering at 2.

Also, I think you need to double check the OIDs that you are using.

For instance,
the OID for the InOctets of LUID 2 is .
the OID for the InOctets of LUID 3 is .
the OID for the LastJitter of LUID 2 is .
the OID for the LastJitter of LUID 3 is .

A MIB Browser and the Canopy MIBs work great for this.

Ok, I was not aware that the LUID started at 2, so thank you.
I have got the data working now with the OID + the luid number after like you suggested and that works great also :smiley:

When looking through the canopy AP Mib, I found: .
(Which is describes as: Current operational state of an interface. 0 = Idle 1 = In Session 2 = Clearing 3 = Re-registration downlink reset 4 = Authentication Challenge 5 = Registering 6 = Not in use)

Is there any way to write to the module to tell it to reset the linkOutOctets and the linkInOctets? Possibly by using the “2 = Clearing” on the oid: .

That way after data is written to the database everything can be reset.

You mentioned using a MIB Browser, I use:


I’m not aware of a way to clear any counter on APs or SMs short of rebooting the unit. If so, that would be quite useful to me also.

I’ll have to play around with that when I get a chance.

I also glanced at the MIB browser software you referenced. It looks like it should do what you need. I found a free one from iReasoning that I like:


The operational state is a read-only value and reflects the current status of the sm’s connection to the ap. Those listed values in your message above will be the ones that you can see on the sessions page on the same line as the LUID after “State:”. Mostly you will only see Idle or In Session, but if you catch the sessions page while a radio is registering, you will see the others depending on when in the cycle you catch it.