Network Management

Occasional Contributor II
Posts: 30
Registered: ‎01-19-2010

AP list by port speed

Does anyone have any AOS command line magic that might list access points in the database with the port speed included?  I'm trying to identify access points that are still conencted over 10/100 instead of 1 gig.

"show ap port status" works for individual APs, but there doesn't seem to be a way to run this for every AP in the database.

Any ideas are appreciated.  Thanks!

Guru Elite
Posts: 19,949
Registered: ‎03-29-2007

Re: AP list by port speed

If you have Airwave, there is way to do it here:


The other way is to run it via Airrecorder, which will allow you to run a command with ${apname}, which will run the same command on all access points:





Colin Joseph
Aruba Customer Engineering

Looking for an Answer? Search the Community Knowledge Base Here: Community Knowledge Base

Validated Reference Design Guides :
Posts: 321
Registered: ‎08-28-2009

Re: AP list by port speed

you can also do this via SNMP, using the aruba-rs mib, i.e.



snmpwalk -v2c -c public -O0X -mALL -M. wlsxRemoteWiredPortTable
snmptable -v2c -c public -O0X -mALL -M. wlsxRemoteWiredPortTable

Those two commands are to executed from within a directory that contains the aruba mibs and standard mibs. Secret above is public, controller is



There is a caveat - the MIB will report the ports whether they are up or down, but a down port does not have a valid speed, so don't be misled. Some APs report the down port with auto duplex, others with half etc. In summary, you can only trust the status of a port that is "Up", i.e. in the example below only 6c:f3:7f:c2:0d:74][1] is valid (i.e. first port on the AP with MAC ending c2:0d:74)



WLSX-RS-MIB::remotePortSpeed[STRING: 18:64:72:c1:36:7e][1] = INTEGER: speedAuto(4)
WLSX-RS-MIB::remotePortSpeed[STRING: 6c:f3:7f:c2:0d:74][1] = INTEGER: speed1000Mbps(3)
WLSX-RS-MIB::remotePortSpeed[STRING: 6c:f3:7f:c5:64:a6][1] = INTEGER: speed10Mbps(1)
WLSX-RS-MIB::remotePortSpeed[STRING: 6c:f3:7f:c5:64:a6][2] = INTEGER: speed10Mbps(1)

WLSX-RS-MIB::remotePortOperState[STRING: 18:64:72:c1:36:7e][1] = INTEGER: down(2)
WLSX-RS-MIB::remotePortOperState[STRING: 6c:f3:7f:c2:0d:74][1] = INTEGER: up(1)
WLSX-RS-MIB::remotePortOperState[STRING: 6c:f3:7f:c5:64:a6][1] = INTEGER: down(2)
WLSX-RS-MIB::remotePortOperState[STRING: 6c:f3:7f:c5:64:a6][2] = INTEGER: down(2)

WLSX-RS-MIB::remotePortDuplex[STRING: 18:64:72:c1:36:7e][1] = INTEGER: auto(3)
WLSX-RS-MIB::remotePortDuplex[STRING: 6c:f3:7f:c2:0d:74][1] = INTEGER: full(2)
WLSX-RS-MIB::remotePortDuplex[STRING: 6c:f3:7f:c5:64:a6][1] = INTEGER: half(1)
WLSX-RS-MIB::remotePortDuplex[STRING: 6c:f3:7f:c5:64:a6][2] = INTEGER: half(1)



Hence, if you use snmpwalk you have to parse it twice (dump to file, filter on MAC with up status, reparse filtering on those macs). There is an easier and more recommended way, that is to use snmptable and grep out only the rows with up (and the header row to make it easy to read)




root@bt:/mibs/ snmptable -v2c -c public -O0X -mALL -M.  wlsxRemoteWiredPortTable | egrep -e "remote|up"

     remotePortMAC remotePortMode remotePortSlotNumber remotePortPortNumber  remotePortType remotePortAdminState remotePortOperState remotePortSpeed remotePortDuplex remotePortTxPackets remotePortTxBytes remotePortRxPackets remotePortRxBytes remotePortDot3azStatus remotePortName remotePortPoEState remotePortSTPState
 6c:f3:7f:c2:0d:74  notApplicable                    0                    0 gigabitethernet              enabled                  up   speed1000Mbps             full             3060961         424853848            16061618         356301460                  "00 "          bond0       notAvailable       notAvailable

 ac:a3:1e:c5:1e:f4  notApplicable                    0                    0 gigabitethernet              enabled                  up   speed1000Mbps             full            23884269         246536473            35136225        1943497863                  "00 "          bond0       notAvailable       notAvailable


now we just have two rows, AP c2:0d:74 and c5:1e:f4, and if we scroll right we see both have an ethernet port that is up on 1G full



note snmpwalk and snmptable are part of the Net-SNMP suite ( they should be available by default on most full featured Linux distros, binaries also exist for windows etc.







Contributor II
Posts: 37
Registered: ‎04-10-2012

Re: AP list by port speed

[ Edited ]

AirRecorder is an amazing tool as I keep finding new uses/ways of utilizing it for information gathering. If that's the route you're going, you can also check which of your APs are running in POE Saving Mode (If that even matters to you). APs running in POE Saving Mode and 100 Mb/s status were two big things that AirRecordered helped me with.


These are the two commands that I've used -> Note I'm an amateur with AirRecorder and probably a more efficent way of utilizing it (The AirRecorder documentation warns about additional commands hitting the controller since these are being run against every AP).


0,show ap debug system-status ap-name %{ap:name} | include POE
0,show ap debug port status ap-name %{ap:name} | include "100 Mb/s"


The Airwave thread is very useful - that csv command was quick and easy. :-)


I'm intrigued by Jeff's post about SNMP and going to play around with that.

Posts: 321
Registered: ‎08-28-2009

Re: AP list by port speed

Hi Christopher

Nothing wrong with the syntax you are using, the CLI 'include' is good enough for the vast majority of cases.


The only note of caution, as you alluded to, is that the command is going to run against every AP, and not just that, it's going to send a command to the AP that returns a lot of output. Commands in this category include things like 'show ap debug radio-stats', 'show ap debug system status', "show ap debug radio-info" etc.


If an AP is slow to respond or fails to respond, then the CLI will hang until the command times out. This can have some side effects on other CLI sessions etc. Hence, we generally recommend that commands that return lengthy output which are targeted to ap:name should be single shot commands, not scheduled every X seconds, minutes etc.


finally, you can add --post-command-delay X (where X is milliseconds, default 0, i.e. none) to the AirRecorder CLI which will allow some breathing room to be inserted. A value of 250ms to 500ms is a nice place to start if you are strafing commands to APs.


I didn't mean to hijack this thread, please start another if you want to discuss AirRecorder in more detail, there is plenty it can do other than running CLI commands into text files (i.e. the ZMQ output option is not there just for show, rather it's used to send CLI output to post-processing apps)




Search Airheads
Showing results for 
Search instead for 
Did you mean: