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 shutdown ! 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"