Schedule WLAN availability on Catalyst 9800 Series Wireless LAN Controllers

Catalyst 9800 controllers come with built-in support for WLAN availability scheduling. When a WLAN becomes disabled, APs do not broadcast the SSID and channel utilisation decreases. Also, it can be implemented as a security enhancement to prevent client devices from connecting during specified hours.

At the time of writing IOS-XE 17.3.1 does not yet offer a GUI for this capability, but there is a couple of options how to schedule WLAN availability.

Before we start, please double-check time settings on the controller, enable NTP client and set a correct timezone.

Option 1: Built-in Calendar Profile

The configuration is self-explanatory, so let’s start with that. My example enables all WLANs mapped to the “default-policy-profile” from 9 am to 5 pm every week day. Outside of these times, the SSIDs will not be available for clients to join.

configure terminal
wireless profile policy default-policy-profile
no wireless profile calendar-profile name WEEKDAYS-9-TO-5
wireless profile calendar-profile name WEEKDAYS-9-TO-5
day monday
day tuesday
day wednesday
day thursday
day friday
recurrence weekly
start 09:00:00 end 17:00:00
wireless profile policy default-policy-profile
calendar-profile name WEEKDAYS-9-TO-5
action wlan_enable
no shutdown


You can verify using a Wi-Fi client. If you do “show wlan summary”, the WLANs will still appear as “Enabled” and this is expected. To verify current status of WLANs controlled by the Calendar Profile, please use “show logging | include SCHEDULED_WLAN”.


Official documentation explaining Calendar Profiles.

Option 2: EEM Script

If you like flexibility, an EEM script running on the controller triggered by CRON might work even better for you. Special thanks to Federico Ziliotto for this.

event manager applet EEM_SCHEDULE_WLAN_UP
event timer cron cron-entry "0 9 * * 1-5" name 9_AM_MON_TO_FRI
action 1.0 cli command "enable"
action 2.0 cli command "conf t"
action 3.0 cli command "wlan MY_SSID"
action 4.0 cli command "no shut"
action 5.0 cli command "end"
action 6.0 syslog msg "Scheduled WLAN_SSID has been enabled"

event manager applet EEM_SCHEDULE_WLAN_DOWN
event timer cron cron-entry "0 17 * * 1-5" name 5_PM_MON_TO_FRI
action 1.0 cli command "enable"
action 2.0 cli command "conf t"
action 3.0 cli command "wlan MY_SSID"
action 4.0 cli command "shut"
action 5.0 cli command "end"
action 6.0 syslog msg "Scheduled WLAN_SSID has been disabled"


Here and here are some useful and practical EEM examples for your reference.

How to convert hundreds of Cisco Aironet or Catalyst APs from Mobility Express or Embedded Wireless Controller to Lightweight mode using Option 43

You may have used DHCP Option 43 to point an AP to its controller before. But only very few people know that Cisco APs can automatically convert themselves from the built-in controller mode (think Mobility Express or Embedded Wireless Controller) to Lightweight mode after they receive a special Option 43 from a DHCP server.

If you have a pallet of access points (or routers with built-in Wi-Fi in Mobility Express mode) next to your desk and need to convert all of them to Lightweight mode, simply configure DHCP Option 43 in the following format on your DHCP server and plug them into a PoE capable switch. After the APs boot up and receive the option from DHCP server, they automatically switch to the Lightweight mode and attempt to join the configured controller ( in our case).

Option 43 format used for AP conversion


“f2” tells the AP that we want it to switch to Lightweight mode

“05” means that only one controller IP address will follow

“c0:a8:82:02” is the controller IP address ( in this case) in hexadecimal format, search for “IP to Hex Converter” if you do no want to do the math

Cisco IOS/IOS-XE DHCP server configuration

You can run DHCP server on a Catalyst switch. The DHCP scope configuration is straightforward.

ip dhcp pool <pool name>
network <ip network> <netmask>
default-router <default-router IP address>
dns-server <dns server IP address>
option 43 hex f205c0a88202

WLAN Pi, Raspberry Pi and any other Linux ISC DHCP server configuration

Special thanks to Nicolas Darchis, who helped me find the “vendor-encapsulated-options” option. It lets you enter Option 43 in the hex format and all it takes is a single line of DHCP server configuration.

# eth0 DHCP scope on ISC DHCP server
subnet netmask {
interface eth0;
option routers;
option domain-name-servers,;
default-lease-time 86400;
max-lease-time 86400;
option vendor-encapsulated-options f2:05:c0:a8:82:02;

DHCP server on Cisco Meraki MX appliance

If your DHCP server runs on a Cisco Meraki MX appliance, you can easily configure Option 43 using Dashboard. Here are the instructions.

Packet capture or it did not happen

Here is the DHCP Offer packet with the special Option 43 value sent from DHCP server to the APs. They will start the conversion automatically after receiving it.

Option 43 which converts the AP from ME or EWC mode to lightweight

Verify successful AP conversion to Lightweight mode

Console to one of the APs and you will notice this message:

[*08/25/2020 23:24:39.5620] Last reload reason : 2: AP type changed from ME to CAPWAP

Or you can let the AP finish its job. And then verify successful conversion to Lightweight mode whenever you are ready using the “show version” command.

9120#show version
<output omitted>
9120 uptime is 0 days, 0 hours, 5 minutes
Last reload time : Tue Aug 25 23:24:39 UTC 2020
Last reload reason : AP type changed from ME to CAPWAP
<output omitted>

How to install Cisco vWLC in VMware Fusion on your Mac

Officially, vWLC is not supported on Type-2 hosted hypervisors like Fusion or Workstation. However, if you need to build a non-production lab, portable demo or practice for your next exam, technically you can run vWLC in VMware Fusion.

The trick is to install Fusion on your Mac, create a new VM with the free ESXi Hypervisor (or the full-blown one if you have licenses) and deploy vWLC onto the ESXi:

macOS <-> VMware Fusion <-> ESXi Hypervisor running as a VM <-> vWLC VM

It may sound complex, but is actually quite easy to do and runs like a charm even on a 13″ Intel i5 MacBook Pro.

  1. Download the vWLC OVA image from
  2. Download VMware vSphere Hypervisor 6.7 ISO. Register on their website to get a free license key.
  3. Download the ovftool 4.3.0 (older versions may not work correctly) for Windows and make sure you have a Windows machine or VM by hand as ovftool only runs on Windows.
  4. Create a new VM in VMware Fusion, mount the Hypervisor ISO and install ESXi. Configure networking for this VM as Bridged Networking to Wi-Fi or Ethernet. Wi-Fi is a great option as it allows you to move freely with your Mac whilst running the vWLC.
  5. With the free ESXi Hypervisor, we have to deploy the vWLC OVA using the ovftool. This will help us get past the errors we would have otherwise ran into the ESXi web GUI. To do this we need a Windows machine.
  6. Install the ovftool in the Windows machine, transfer the vWLC OVA archive to it and deploy the OVA onto ESXi:

    C:\Program Files\VMware\VMware OVF Tool>ovftool.exe –skipManifestCheck –acceptAllEulas –noSSLVerify –noSSLVerify=true -ds=”datastore1″ –net:”VM Network”=”VM Network” –net:”VM Network 2″=”VM Network” C:\Users\Jiri\Desktop\AIR_CTVM-K9_8_5_151_0.ova vi://

    The IP address in this string “vi://” is our ESXi address. You may have noticed that I am using the same network for both Service Port and Management interfaces. After I deploy the OVA, I usually disable the Service Port adapter in the VM settings and use Management interface for management and for APs to join. It just keeps things simple and we don’t need to worry about multiple adapters and subnets.

  7. You can set the vWLC VM to Autostart and start it manually now.
  8. Open Console to it and press any key to activate the console access.
  9. Follow the installation guide.
  10. If you are running the evaluation license, accept the EULA. If you purchased AP licenses, add then to the controller and accept the EULA.
  11. Since vWLC only supports Flexconnect mode APs, make sure to convert your APs manually or apply this CLI command:

    config ap autoconvert flexconnect


  12. Finally connect your AP to a PoE capable switch or power injector and it should be able to discover and join the virtual controller.

Note: If you installed vWLC VM directly onto Fusion with no ESXi Hypervisor layer, the controller would not be able to communicate on its Management interface.

Catalyst 9800-CL IOS-XE controller

The above scenario covers the AireOS vWLC. Cisco now has a complete range of Catalyst 9800 series controllers with feature parity between them. The new virtual controller is called Catalyst 9800-CL and it brings all the great IOS-XE features, HA SSO, programmability, hot patching and supports all AP modes.

Francois and Rowell published great step by step instructions on how to install C9800-CL onto ESXi and Fusion.

CCNP#1 zdoláno, příští týden začínáme CCNP#2

Dnes jsem složil poslední test CCNP#1 semestru v rámci Cisco Networking Academy. Díky Alefu a Ciscu studuji tyto kurzy v rámci programu nazvaného CCIE Inkubátor. Tímto jim děkuji za podporu.  Hned příští čtvrtek začínám další semestr studia. Tento byl věnován Advanced Routingu, příští je zaměřen na Switching.

Google trik pro hledání IOSů

Hledáte Cisco IOS na testování? Stavíte si demo v GNS a nemáte zrovna po ruce žádný IOS? Nabízí se malý fígl, jak přinutit Google najít na internetu adresáře obsahující IOSy.

Pro pořádek jen dodám, že IOS je komerční OS a jeho stažením z nedůvěryhodného zdroje nezískáváte jistotu funkčnosti a konzistence daného image.

Zkuste si:

Úspěšně jsem dokončil kurz CCNA4 na Cisco Networking Academy

Minulý týden jsem se konečně odhodlal ke složení závěrečné zkoušky z posledního kurzu Cisco Networking Academy (CNA). Praktickou konfigurační zkoušku jsem již měl hotovu pár týdnů předem, takže tato teoretická byla poslední povinností k úspěšnému uzavření kurzu.

A výsledek? Vše se povedlo dle mých představ, což mě velmi potěšilo. Koněčně mi zase přibyl nějaký ten certifikační úspěch.

Poslední tři kurzy (CCNA2, CCNA3, CCNA4) jsem absolvoval v dejvické akademii, kde vládne velmi příjemné prostředí a potkal jsem tu pár velmi fajn lidí. Můj dík patří Radovi Igliarovi, jakožto skvělému lektorovi, akademii jako takové a držím palce ostatním, kteří mají zkoušku ještě před sebou.

Dokončením CCNA4 s dalším rozvojem Cisco znalostí nekončím a v průběhu zaří se chystám jít na zkoušku CCNA s úmyslem získat CCNA certifikaci. Takže další milník mám před sebou a opět mám co dělat:)

Pohrávám si také s myšlenkou, že bych odučil nějaký ten kurz na CNA, ale bohužel mi na to v tuto chvíli nezbývá volný čas. Ale kdo ví, třeba se jednou mince času obrátí.

Od října pak budu navštěvovat Cisco CCIE inkubátor, do kterého si mě vybral partner Cisca společnost Alef0. Tady od července s nadšením pracuji a moc se těším na naší další spolupráci. Alef0 má v posádce (symbolem Alefu je ponorka, proto mluvím o posádce) opravdu velmi schopné lidi, a tak je pro mě čest pracovat v jejich týmu.

Dokončil jsem kurz CCNA3

cisco.gifPo dalším semestru studia Cisco Networking Academy se mi podařilo úspěšně zakončit CCNA3 kurz. V příštím semestru bych rád pokračoval posledním kurzem z této série CCNA4. Láká mě také ještě další kurz, a sice FWL (Fundamentals of Wireless LAN). S bezdrátovými sítěmi jsem nasbíral řadu praktických zkušeností, a tak bych měl možnost je dále prohloubit a nastudovat detailněji potřebnou teorii. Už se těším :)

CCNA3 – Switching a mezilehlé směrování

V průběhu studia třetího semestru jsem získal velmi slušný přehled a znalosti ze základů přepínání a mezilehlého směrování včetně praktických zkušeností. Kurz jsem dokončil v lednu 2008. Tématicky šlo především o:

  • rozšířené IP adresaci (VLSM)
  • směrování a směrovacích protokolech RIPv2, single-area OSPF, EIGRP
  • konfiguraci přepínačů z příkazové řádky
  • Ethernet přepínání a virtuálních sítích (VLAN)
  • STP protokolu (Spanning-Tree Protocol)
  • VTP protokolu (VLAN Trunking Protocol)
  • Certifikát: CCNA3 Certificate of Course Completion
    Gratulace: CCNA3 Congratulations