Cisco Catalyst 3560-CX RTU License bug: Reverts to Evaluation after a Cold Boot / Power Cycle
Hi everyone,
I am facing a very frustrating and illogical licensing behavior on a Cisco Catalyst 3560-CX (WS-C3560CX-12PC-S) running IOS 15.2(7)E11 (August 2024 release).
Whenever I activate the permanent Right-To-Use (RTU) ipservices license, everything works perfectly after a normal CLI reload. However, if the switch undergoes a cold boot / power cycle (pulling the power cord), it ignores the permanent license configuration and reverts back to the Evaluation license (Active, In Use), while putting the PermanentRightToUse into an Inactive state.
Here is the exact output of show license all after a cold boot:
text
StoreIndex: 0 Feature: ipservices Version: 1.0
License Type: Evaluation
License State: Active, In Use
...
StoreIndex: 1 Feature: ipservices Version: 1.0
License Type: PermanentRightToUse
License State: Inactive
Χρησιμοποιήστε τον κώδικα με προσοχή.
During bootup, the logs explicitly state that it reads the boot level variable correctly:
*Mar 1 00:00:29.405: Read env variable - LICENSE_BOOT_LEVEL = ipservices
Next reboot level = ipservices and License = ipservices
Yet, it still forces the Evaluation index to become active.
What we have tried so far (and failed):
Standard Activation & Reload:
Executed license right-to-use activate ipservices acceptEULA, followed by write memory and reload. Works on warm reload, fails on cold boot.
Boot Level Configuration:
Tried to enforce it via global configuration (license boot level ipservices), but this platform does not support this command in conf t mode; licensing is managed strictly via Privileged EXEC mode (#).
Configuration Register Check:
The config-register is set to 0xF (which is the default factory value for this platform, equivalent to 0x2102), meaning it reads the startup-config perfectly fine.
Evaluation Deactivation Bug Trick:
Tried using the known bug-workaround command license right-to-use activate ipservices evaluation acceptEULA to force-write the permanent state into NVRAM. The Evaluation license was even successfully removed at one point (%LICENSE-6-REMOVE), but upon the next cold boot, the switch generated a new evaluation store index and hijacked the priority again.
The Workaround (EEM Script):
Since the switch hardware/NVRAM sync appears to have a fundamental flaw during a cold boot sequence, I had to resort to an EEM (Embedded Event Manager) script to automate the fix.
The trick was that the licensing process isn't fully ready immediately after bootup, so we had to introduce a 180-second delay to let the system stabilize before forcing the evaluation license to deactivate.
Here is the script currently running in my config:
text
event manager applet LOCK_PERMANENT_LICENSE
event syslog pattern "SYSTEM_RESTART|CONFIG_I"
action 0.5 cli command "wait 180"
action 1.0 cli command "enable"
action 2.0 cli command "license right-to-use deactivate ipservices" pattern "confirm"
action 3.0 cli command "yes"
action 4.0 cli command "write memory"
Χρησιμοποιήστε τον κώδικα με προσοχή.
While the EEM script successfully fixes the license and flips it back to Permanent Right-To-Use 3 minutes after every cold boot, this behavior is completely broken.
Has anyone else encountered this specific RTU sync bug on the 3560-CX series? Is there an actual permanent fix via a specific hidden command or hidden rommon variable, or is this a known software bug that Cisco never patched, even in recent 2024 releases?
Any insights would be greatly appreciated!