You can find the script on my GitHub: https://github.com/francoisverges/semfio-cisco/tree/master/Setup-APoS-EWC
You can find the documentation of the script here: https://github.com/francoisverges/semfio-cisco/wiki/How-to-use-%22Setup-APoS-EWC%22
In order to make this work within a python script, we need to leverage a python library called pyserial which allows us to interact with the AP over a console connection.
Description
This will only work if the AP is running IOS-XE (Tested with v16.12.02).
This will only work if the AP is running the EWC image with factory configurations.
This script will rely on you to setup a console connection to the AP in order to work properly.
The set of configurations used to configure the AP can be found here: config-apos-c9120.txt
Note: this script has only been tested on macOS using an AirConsole.
Prerequisites
- pyserial
I cannot guarantee that this script will work if the AP has already been configured. If it is the case, before running this script, please reset the AP to its factory configuration using this command: wireless ewc-ap factory-reset
Before running the script, make sure that you perform the following:
- Make sure that the AP is running the EWC code
- Connect the AP to the network (and provide power via PoE)
- Wait for the AP to go through its initial booting sequence (this initial boot sequence lasts about 5mins, you should see a solid green LED when it is completed).
- Connect your console cable to the console port of the AP
- Connect the other end of the console cable to your computer
Script Configurations
- Your console connection details:
- YYT used by the serial connection (Ex: /dev/tty.AirConsole-68-raw-serial)
- Settings related to the Embedded Wireless Controller:
- Name
- IP address
- Netmask
- Username
- Password
- Settings related to the SSIDs you want the AP to broadcast:
- Name of the WLAN profile
- Name of the SSID
- PSK
- Frequency band
- Settings related to the AP we are using:
- MAC address (can be found at the back of the AP. Make sure to use the "XXXXXXXXXXXX" format)
- FRA AP (Dual-5GHz compatible AP)
- Name
- IP address
- Netmask
- Gateway
- Configurations of the 5GHz radio settings:
- Channel
- Tx Power (using the Cisco Index value)
- Channel Width
- Configurations of the 2.4GHz radio settings:
- Channel
- Tx Power (using the Cisco Index value)
- Configuration of the FRA radio setting:
- Channel
- Tx Power (using the Cisco Index value)
- Channel Width
Here is an example:
Download from macOS Terminal
Here is how to install the script to use it on your own machine:
git clone https://github.com/francoisverges/semfio-cisco.git
Then you can navigate to the script directory:
cd semfio-mist/Setup-APoS-EWC
Usage
In order to use the script, all you have to do is the following:
python3 setup-AP0S-EWC.py config.json
Here is what the output will look like if everything goes well:
You can connect it to your favourite PoE battery, wait for it to boot (it takes a while... wait for the LED to be green) and validate that the AP is broadcasting the survey SSID(s):
Resources
- GitHub to use see the code: github.com/francoisverges/semfio-cisco/tree/master/Setup-APoS-EWC
- GitHub wiki for this script: github.com/francoisverges/semfio-cisco/wiki/How-to-use-%22Setup-APoS-EWC%22
- Pyserial Documentation: https://pyserial.readthedocs.io/en/latest/
- Cisco 802.11ax site survey by Samuel Clements: sc-wifi.com/2019/12/03/cisco-802-11ax-site-survey-single-ap-method/
- Embedded Wireless Controller Conversion on C9100 Access Points from Cisco: www.cisco.com/c/en/us/support/docs/wireless/embedded-wireless-controller-on-catalyst-access-points/215303-embedded-wireless-controller-conversion.html#anc18
- From Shelf to Survey - Cisco 9100AX EWC Conversion by Jeremy Sharp: howiwifi.com/2020/03/19/from-shelf-to-survey-cisco-9100ax-ewc-conversion/
- Easily use AirConsole on MacOSX: www.semfionetworks.com/blog/easily-use-airconsole-on-macosx