CLI Station Disconnect

We are using radius to configure MIRs for our ePMP clients. The issue is that when we want to change a rate we have to force the equipment to re-auth. I know that this can be done by manually logging into the AP and clicking disconnect on the appropriate device, however I would like this process to be more hands-off and less room for human error. For instance forgetting to do the disconnect or disconnecting the wrong device means that someone will be desynchronized with their billing account and this is far too easy to do. I looked around in the CLI, but it only offered the ablility to see connected clinets as far as I can tell. Is there a method for force a radius re-auth or a cell discconect without having to use a manual procedure?

Thanks!

You can use SNMP commands remotely or in CLI on AP.

First of all you should define ID of SM you would like to disconnect from AP.

Next OID should be used:

cambiumAPConnectedSTAListTable

Then you just put ID to the next SNMP OID:

cambiumpmp80211STADisconnect

Thank you.

1 Like

That should do the trick for now, thanks!

For a future request I would like to submit the ability to disconnect by MAC address from the CLI.

I tried to use the AP CLI SNMP commands, but they do not seem to be working with the OID you gave me:

snmp get 127.0.0.1 cambiumAPConnectedSTAListTable
cambiumAPConnectedSTAListTable: Unknown Object Identifier (cambiumAPConnectedSTAListTable)

Does that seem right?

This is on a ePMP1000 2.4GHz connectorized synced radio on firmware 3.2.1.

Please use next syntaxis for SNMP commands in CLI:

More data can be found in CLI user guide:

https://support.cambiumnetworks.com/files/epmp/

Thank you.

Your information is not very helpful. I read the guide, I have tried both the read-only and read-write communitities, I have tried SNMP versions 1, 2c, 3, I have put in both the local host IP address as well as the ethernet IP address, and I get the same results.

SC24-TEST-AP254-CN1>snmp get -v 2c -c private 127.0.0.1 cambiumAPConnectedSTAListTable
cambiumAPConnectedSTAListTable: Unknown Object Identifier (cambiumAPConnectedSTAListTable)
SC24-TEST-AP254-CN1>snmp get -v 2c -c public 127.0.0.1 cambiumAPConnectedSTAListTable
cambiumAPConnectedSTAListTable: Unknown Object Identifier (cambiumAPConnectedSTAListTable)

I am sorry, I have provided you obsolete parameter from MIB.

Please try this one:

cambiumAPConnectedSTATable

Also please try to use numeric representation:

.1.3.6.1.4.1.17713.21.1.2.30

Thank you.

Unfortunately it is still not working. Here is what I get from the CLI:

SC24-TEST-AP254-CN1>snmp get -v 2c -c private 127.0.0.1 cambiumAPConnectedSTATable
cambiumAPConnectedSTATable: Unknown Object Identifier (cambiumAPConnectedSTATable)
SC24-TEST-AP254-CN1>snmp get -v 2c -c private 127.0.0.1 .1.3.6.1.4.1.17713.21.1.2.30
.1.3.6.1.4.1.17713.21.1.2.30 = No Such Object available on this agent at this OID

I tried it on my Linux machine too just to see what it would pull and it tells me basically the same:

(x.x.x.x being the routable ethernet address of the ePMP)

$ snmpget -v 2c -c private x.x.x.x .1.3.6.1.4.1.17713.21.1.2.30
SNMPv2-SMI::enterprises.17713.21.1.2.30 = No Such Object available on this agent at this OID

I looked through the MIB file and found this:

cambiumAPConnectedSTATable OBJECT-TYPE
	SYNTAX	   SEQUENCE OF CambiumAPConnectedSTAEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
		"This table contains information relevant to the Connected Subscriber Modules:
			Subscriber Module MAC Address,
			Subscriber Module AID,
			Subscriber Module Channel,
			UL RSSI per SM,
			DL RSSI per SM,
			UL SNR per SM,
			DL SNR per SM,
			UL MCS Mode per SM,
			DL MCS Mode per SM,
			Subscriber Module IP Address,
			SM Priority,
			MIR,
			MIR UL Rate,
			MIR DL Rate,
		Device Allocation: AP"
	::= { cambiumRFStatus 30 }

the "MAX-ACCESS not-accessible" line leads me to think that this is an unusable OID?

Yes, correct.

Sorry I've missed that.

I will investigate this issue in details and will revert to you.


Thank you.

Thank you for your help!

You should be able to snmpwalk .1.3.6.1.4.1.17713.21.1.2.30.1 and get the whole table.  A little parsing will get you what you need.

j

Thank you nekirk! This gets me part way there. I can indeed see the table with snmp walk. And from the MIB I know that the second returned OID is the AID that I need (in this case 1):

$ snmp walk -v 2c -c private 127.0.0.1 .1.3.6.1.4.1.17713.21.1.2.30.1
.1.3.6.1.4.1.17713.21.1.2.30.1.1.1 = STRING: "<redacted MAC>"
.1.3.6.1.4.1.17713.21.1.2.30.1.2.1 = INTEGER: 1
.1.3.6.1.4.1.17713.21.1.2.30.1.3.1 = INTEGER: 2427
.1.3.6.1.4.1.17713.21.1.2.30.1.4.1 = INTEGER: -46
.1.3.6.1.4.1.17713.21.1.2.30.1.5.1 = INTEGER: -29
.1.3.6.1.4.1.17713.21.1.2.30.1.6.1 = INTEGER: 45
.1.3.6.1.4.1.17713.21.1.2.30.1.7.1 = INTEGER: 60
.1.3.6.1.4.1.17713.21.1.2.30.1.8.1 = INTEGER: 11
.1.3.6.1.4.1.17713.21.1.2.30.1.9.1 = INTEGER: 10
.1.3.6.1.4.1.17713.21.1.2.30.1.10.1 = IpAddress:<redacted IP>
.1.3.6.1.4.1.17713.21.1.2.30.1.11.1 = STRING: "NORMAL"
.1.3.6.1.4.1.17713.21.1.2.30.1.12.1 = STRING: "SERVER"
.1.3.6.1.4.1.17713.21.1.2.30.1.13.1 = STRING: "512"
.1.3.6.1.4.1.17713.21.1.2.30.1.14.1 = STRING: "6000"
.1.3.6.1.4.1.17713.21.1.2.30.1.15.1 = STRING:"<redacted MAC>"
.1.3.6.1.4.1.17713.21.1.2.30.1.16.1 = INTEGER: 80
.1.3.6.1.4.1.17713.21.1.2.30.1.17.1 = INTEGER: 0
.1.3.6.1.4.1.17713.21.1.2.30.1.18.1 = STRING: "CN Test Client"
.1.3.6.1.4.1.17713.21.1.2.30.1.19.1 = INTEGER: 20
.1.3.6.1.4.1.17713.21.1.2.30.1.20.1 = INTEGER: 83
.1.3.6.1.4.1.17713.21.1.2.30.1.21.1 = INTEGER: 0
.1.3.6.1.4.1.17713.21.1.2.30.1.22.1 = IpAddress: 0.0.0.0
.1.3.6.1.4.1.17713.21.1.2.30.1.23.1 = IpAddress: 0.0.0.0
.1.3.6.1.4.1.17713.21.1.2.30.1.24.1 = IpAddress: 0.0.0.0
.1.3.6.1.4.1.17713.21.1.2.30.1.25.1 = IpAddress: 0.0.0.0
.1.3.6.1.4.1.17713.21.1.2.30.1.26.1 = IpAddress: 0.0.0.0
.1.3.6.1.4.1.17713.21.1.2.30.1.27.1 = STRING: "0000:01:29:25"
.1.3.6.1.4.1.17713.21.1.2.30.1.28.1 = STRING: " 33M"
.1.3.6.1.4.1.17713.21.1.2.30.1.29.1 = INTEGER: 0
.1.3.6.1.4.1.17713.21.1.2.30.1.30.1 = STRING: "Sector"
.1.3.6.1.4.1.17713.21.1.2.30.1.31.1 = STRING: "Sector"
.1.3.6.1.4.1.17713.21.1.2.30.1.32.1 = INTEGER: 0
.1.3.6.1.4.1.17713.21.1.2.30.1.33.1 = INTEGER: 9

However it throws another error when I take this AID and try to set it with 'snmp set' : 

SC24-TEST-AP254-CN1>snmp set -v 2c -c private 127.0.0.1 cambiumpmp80211STADisconnect i 1
cambiumpmp80211STADisconnect: Unknown Object Identifier (cambiumpmp80211STADisconnect)

So, I did some digging and found this page that gives a little more information on specific OIDs:

I then tried to use 1.3.6.1.4.1.17713.21.4.16 instead of cambiumpmp80211STADisconnect as the article would suggest:

SC24-TEST-AP254-CN1>snmp set -v 2c -c private 127.0.0.1 1.3.6.1.4.1.17713.21.4.16 i 1
Error in packet.
Reason: noCreation (That table does not support row creation or that object can not ever be created)
Failed object: .1.3.6.1.4.1.17713.21.4.16

Not sure what else to try right now, but I'll keep plugging away. Anymore advice would be appreciated.

There IS no 'Disconnect' OID there anymore, I'm not aware of any way to do this from the AP now via SNMP.  Are you able to simply do it from the SM end?  .1.3.6.1.4.1.17713.21.4.39.0 i 1 will force an AP-rescan when sent to an SM, which will of course entail re-registering after the scan.

j

Yes, it seems that doing the reconnect through the SM is the only real option then.  I do think it should work okay, my other option was to send a reboot to the client, but this seems better. Thank you again newkirk!

I would like to make an official feature request for this to be a standard CLI function. Would it be more proper to create a new post for that?

If anyone is still trying to get particular SM disconnected from AP through SNMP, here is the proper way of doing it:

snmp set -v 2c -c YourWriteCommunityString YourAPIPaddress .1.3.6.1.4.1.17713.21.4.16.0 i X
where X is the SM( STA) index on AP: from 1 to 120

It took me some time to find that missing .0 @ OID that Nathan A tried, but finally got it working!

1 Like