Общая информация
При переходе от более старой версии ПО к более новой происходит автоматическая конвертация конфигурации контроллера WLC и применение данной конфигурации для новой версии ПО. Об алгоритме обновления ПО можно узнать здесь. Если совершается переход на более старую версию ПО контроллера, то автоматической конфигурации не происходит и исходная конфигурация не может быть применена. В каждом файле конфигурации имеются метаданные, указывающие к какой версии относится данная конфигурация.
#!/usr/bin/clish - указание используемого интерпретатора
#303 - версия схемы конфигурации
#1.30.6 - версия ПО
#2025-08-26 - дата установки ПО
#18:51:42 - время установки ПО
Важно, чтобы у вас имелась копия конфигурации для той нижестоящей версии, на которую вы хотите перейти. Иначе после первого commit ваша конфигурация для вышестоящей версии ПО будет перезаписана на flash памяти контроллера.
Задача
Совершить переход с вышестоящей версии ПО на нижестоящую версию.
Решение
У данной задачи может быть два пути решения. Если у вас есть конфигурация для нижестоящей версии ПО можно будет загрузить и использовать её. Иначе придется применить пустую конфигурацию (так же имеется возможность использовать заводскую конфигурацию):
- Переход на нижестоящую версию ПО с применением ранее сохраненной для данной версии конфигурации:
- Сохранение файла конфигурации;
- Установка и переход на нижестоящую версии программного обеспечения;
- Применение файла конфигурации.
- Переход на нижестоящую версию ПО с применением пустой или заводской конфигурации:
- Установка и переход на нижестоящую версии программного обеспечения;
- Применение пустой или заводской конфигурации.
Переход на нижестоящую версию ПО с применением ранее сохраненной для данной версии конфигурации
Подразумевается что у вас уже есть файл конфигурации для нижестоящей версии ПО.
Сохранение файла конфигурации:
Подготовка
Для создания резервной копии текущей конфигурации контроллера с использованием серверов удаленного копирования файлов необходимо:
- Запустить соответствующий сервер на ПК/сервере в сети.
- Обеспечить возможность сохранения файлов в рабочем разделе сервера.
- Обеспечить IP-связность между обновляемым контроллером WLC и сервером удаленного копирования файлов (маршрутизация).
- Обеспечить работу протокола удаленного копирования между WLC и сервером удаленного копирования файлов (промежуточные firewall).
- При необходимости (для протоколов ftp, sftp, scp, http) узнать имя пользователя и пароль для записи необходимого файла.
Для создания резервной копии текущей конфигурации контроллера на локально подключенный USB/MMC-носитель необходимо:
- Отформатировать раздел USB/MMC-носителя в формате FAT32.
- Подключить USB/MMC-носитель в соответствующий слот WLC.
С использованием протоколов удаленного копирования файлов
В зависимости от протокола удаленного копирования файлов в CLI контроллера необходимо выполнить одну из следующих команд:
wlc# copy system:running-config tftp://<tftp-server-ip>:/<config-file-name>
wlc# copy system:running-config ftp://<ftp-username>:<ftp-userpassword>@<ftp-server-ip>:/<config-file-name>
wlc# copy system:running-config sftp://<sftp-username>:<sftp-userpassword>@<sftp-server-ip>:/<config-file-name>
wlc# copy system:running-config scp://<scp-username>:<scp-userpassword>@<scp-server-ip>:/<config-file-name>
wlc# copy system:running-config http://<http-username>:<http-userpassword>@<http-server-ip>:/<config-file-name>
- <config-file-name> – имя файла, с которым будет сохранена текущая конфигурация контроллера;
- <tftp-server-ip> – IP-адрес используемого TFTP-сервера;
- <ftp-username> – имя пользователя на FTP-сервере;
- <ftp-userpassword> – пароль пользователя на FTP-сервере;
- <ftp-server-ip> – IP-адрес используемого FTP-сервера;
- <sftp-username> – имя пользователя на SFTP-сервере;
- <sftp-userpassword> – пароль пользователя на SFTP-сервере;
- <sftp-server-ip> – IP-адрес используемого SFTP-сервера;
- <scp-username> – имя пользователя на SCP-сервере;
- <ftp-userpassword> – пароль пользователя на FTP-сервере;
- <scp-server-ip> – IP-адрес используемого SCP-сервера;
- <http-username> – имя пользователя на HTTP-сервере;
- <http-userpassword> – пароль пользователя на HTTP-сервере;
- <http-server-ip> – IP-адрес используемого HTTP-сервера.
На локально подключенный USB/MMC-носитель
1. Определить метку тома подключенного USB/MMC-накопителя:
wlc# show storage-devices usb
Name Filesystem Total, MB Used, MB Free, MB
------------------------------ ---------- ---------- ---------- ----------
<USB_DISK> vfat 7664.01 6391.69 1272.32
wlc# show storage-devices mmc
Name Filesystem Total, MB Used, MB Free, MB
------------------------------ ---------- ---------- ---------- ----------
<MMC_DISK> vfat 7664.01 6391.69 1272.32
2. Скопировать файл на используемый USB/MMC-накопитель:
При выполнении команд копирования на USB/MMC-носители необходимо вместо полей <USB_DISK> или <MMC_DISK> использовать настоящие метки тома, определенные при выполнении пункта 1.
Установка и переход на нижестоящую версии программного обеспечения
Подготовка к загрузке ПО
При загрузке ПО с использованием серверов удаленного копирования файлов необходимо:
- Запустить соответствующий сервер в сети (tftp/ftp/sftp/http/https/scp).
- Скопировать файл ПО (<firmware-file>) в рабочий раздел сервера удаленной загрузки файлов.
- Обеспечить IP-связность между обновляемым контроллером WLC и сервером удаленного копирования файлов (маршрутизация).
- Обеспечить работу протокола удаленного копирования между WLC и сервером удаленного копирования файлов (промежуточные firewall).
- При необходимости (для протоколов ftp, sftp, scp, http, https) узнать имя пользователя и пароль для скачивания необходимого файла.
При загрузке ПО с использованием USB/MMC-носителя необходимо:
- Раздел USB/MMC-носителя должен быть отформатирован в формате FAT32 или exFAT.
- Скопировать файл ПО (<firmware-file>) в корневой раздел USB/MMC-носителя.
- Подключить USB/MMC-носитель в соответствующий слот устройства.
- Определить метку тома подключенного USB/MMC-накопителя.
Загрузка ПО
С использованием одного из протоколов удаленной загрузки файлов:
wlc# copy tftp://<tftp-server-ip>:/<firmware-file> system:firmware|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy ftp://<ftp-username>:<ftp-userpassword>@<ftp-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy sftp://<sftp-username>:<sftp-userpassword>@<sftp-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy scp://<scp-username>:<scp-userpassword>@<scp-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy http://<http-username>:<http-userpassword>@<http-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy https://<https-username>:<https-userpassword>@<http-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
- <tftp-server-ip> — IP-адрес используемого TFTP-сервера;
- <ftp-username> — имя пользователя на FTP-сервере;
- <ftp-userpassword> — пароль пользователя на FTP-сервере;
- <ftp-server-ip> — IP-адрес используемого FTP-сервера;
- <sftp-username> — имя пользователя на SFTP-сервере;
- <sftp-userpassword> — пароль пользователя на SFTP-сервере;
- <sftp-server-ip> — IP-адрес используемого SFTP-сервера;
- <scp-username> — имя пользователя на SCP-сервере;
- <ftp-userpassword> — пароль пользователя на FTP-сервере;
- <scp-server-ip> — IP-адрес используемого SCP-сервера;
- <http-username> — имя пользователя на HTTP-сервере;
- <http-userpassword> — пароль пользователя на HTTP-сервере;
- <http-server-ip> — IP-адрес используемого HTTP-сервера.
С использованием USB/MMC-накопителя
1. Определение имени метки тома подключенного USB/MMC-накопителя:
wlc# show storage-devices usb
Name Filesystem Total, MB Used, MB Free, MB
------------------------------ ---------- ---------- ---------- ----------
<USB_DISK> vfat 7664.01 6391.69 1272.32
wlc# show storage-devices mmc
Name Filesystem Total, MB Used, MB Free, MB
------------------------------ ---------- ---------- ---------- ----------
<MMC_DISK> vfat 7664.01 6391.69 1272.32
2. Копирование файла с используемого USB/MMC-накопителя:
При выполнении команд копирования с USB/MMC-носителей необходимо вместо полей <USB_DISK> или <MMC_DISK> использовать настоящие метки тома, определенные выше.
wlc# copy usb://<USB_DISK>:/<firmware-file> system:firmware
|******************************************| 100% (73786kB) Firmware updated successfully
wlc# copy mmc://<MMC_DISK>:/<firmware-file> system:firmware
|******************************************| 100% (73786kB) Firmware updated successfully.
- <USB_DISK> – имя раздела на USB-носителе;
- <MMC_DISK> – имя раздела на MMC-носителе.
После загрузки прошивки на контроллер WLC необходимо загрузиться с неё.
wlc# show bootvar
Image Version Date Status After reboot
----- ------------------------- --------------------------- ------------------- ------------------------
1 1.30.4 build 2025-07-25 15:12:58 Not Active
18[9f3207d033]
2 1.30.6 build 2025-08-26 18:51:42 Active *
9[6ece6db314]
wlc# boot system inactive
Применение файла конфигурации
При загрузке контроллера WLC с нижестоящей версией ПО и при попытке вывести текущую конфигурацию мы получим сообщение об ошибке что текущая конфигурация не загружена контроллером. Эта ошибка возникает из за того что мы не можем конвертировать конфигурацию для вышестоящей версии ПО в конфигурацию для нижестоящей версии:
wlc# sh running-config
WARNING!!! The running configuration has not been loaded from NAND flash.
This command displays the current running configuration of the device.
After the execute 'commit' or 'save' configuration on the NAND flash will be overwritten,
and the warning will disappear.
Чтобы применить файл конфигурации можно воспользоваться протоколами для удаленного копирования файлов или использовать USB/MMC.
В зависимости от протокола удаленного копирования файлов в CLI контроллера необходимо выполнить одну из следующих команд:
wlc# copy tftp://<tftp-server-ip>:/<config-file-name> system:candidate-config
wlc# copy ftp://<ftp-username>:<ftp-userpassword>@<ftp-server-ip>:/<config-file-name> system:candidate-config
wlc# copy sftp://<sftp-username>:<sftp-userpassword>@<sftp-server-ip>:/<config-file-name> system:candidate-config
wlc# copy scp://<scp-username>:<scp-userpassword>@<scp-server-ip>:/<config-file-name> system:candidate-config
wlc# copy http://<http-username>:<http-userpassword>@<http-server-ip>:/<config-file-name> system:candidate-config
- <config-file-name> – имя файла резервной копии конфигурации контроллера;
- <tftp-server-ip> – IP-адрес используемого TFTP-сервера;
- <ftp-username> – имя пользователя на FTP-сервере;
- <ftp-userpassword> – пароль пользователя на FTP-сервере;
- <ftp-server-ip> – IP-адрес используемого FTP-сервера;
- <sftp-username> – имя пользователя на SFTP-сервере;
- <sftp-userpassword> – пароль пользователя на SFTP-сервере;
- <sftp-server-ip> – IP-адрес используемого SFTP-сервера;
- <scp-username> – имя пользователя на SCP-сервере;
- <ftp-userpassword> – пароль пользователя на FTP-сервере;
- <scp-server-ip> – IP-адрес используемого SCP-сервера;
- <http-username> – имя пользователя на HTTP-сервере;
- <http-userpassword> – пароль пользователя на HTTP-сервере;
- <http-server-ip> – IP-адрес используемого HTTP-сервера.
С локально подключенного USB/MMC-носителя
1. Определить метку тома подключенного USB/MMC-накопителя.
wlc# show storage-devices usb
Name Filesystem Total, MB Used, MB Free, MB
------------------------------ ---------- ---------- ---------- ----------
<USB_DISK> vfat 7664.01 6391.69 1272.32
wlc# show storage-devices mmc
Name Filesystem Total, MB Used, MB Free, MB
------------------------------ ---------- ---------- ---------- ----------
<MMC_DISK> vfat 7664.01 6391.69 1272.32
2. Скопировать файл на используемый USB/MMC-накопитель:
При выполнении команд копирования на USB/MMC-носители необходимо вместо полей <USB_DISK> или <MMC_DISK> использовать настоящие метки тома, определенные при выполнении пункта 1.
wlc# copy usb://<USB_DISK>:/<config-file-name> system:candidate-config
|******************************************| 100% (576B) Success!
wlc# copy mmc://<MMC_DISK>:/<config-file-name> system:candidate-config
|******************************************| 100% (576B) Success!
- <config-file-name> – имя файла резервной копии конфигурации контроллера;
- <USB_DISK> – имя раздела на USB-носителе;
- <MMC_DISK> – имя раздела на MMC-носителе.
Применение и подтверждение загруженной конфигурации
Для применения и подтверждения работы конфигурации, загруженной ранее в раздел "system:candidate-config", необходимо выполнить команды:
wlc# commitConfiguration has been successfully applied and saved to flash. Commit timer started, changes will be.wlc# confirmConfiguration has been confirmed. Commit timer canceled.
Переход на нижестоящую версию ПО с применением пустой или заводской конфигурации
Установка и переход на нижестоящую версии программного обеспечения
Подготовка к загрузке ПО
При загрузке ПО с использованием серверов удаленного копирования файлов необходимо:
- Запустить соответствующий сервер в сети (tftp/ftp/sftp/http/https/scp).
- Скопировать файл ПО (<firmware-file>) в рабочий раздел сервера удаленной загрузки файлов.
- Обеспечить IP-связность между обновляемым контроллером WLC и сервером удаленного копирования файлов (маршрутизация).
- Обеспечить работу протокола удаленного копирования между WLC и сервером удаленного копирования файлов (промежуточные firewall).
- При необходимости (для протоколов ftp, sftp, scp, http, https) узнать имя пользователя и пароль для скачивания необходимого файла.
При загрузке ПО с использованием USB/MMC-носителя необходимо:
- Раздел USB/MMC-носителя должен быть отформатирован в формате FAT32 или exFAT.
- Скопировать файл ПО (<firmware-file>) в корневой раздел USB/MMC-носителя.
- Подключить USB/MMC-носитель в соответствующий слот устройства.
- Определить метку тома подключенного USB/MMC-накопителя.
Загрузка ПО
С использованием одного из протоколов удаленной загрузки файлов:
wlc# copy tftp://<tftp-server-ip>:/<firmware-file> system:firmware|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy ftp://<ftp-username>:<ftp-userpassword>@<ftp-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy sftp://<sftp-username>:<sftp-userpassword>@<sftp-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy scp://<scp-username>:<scp-userpassword>@<scp-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy http://<http-username>:<http-userpassword>@<http-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
wlc# copy https://<https-username>:<https-userpassword>@<http-server-ip>:/<firmware-file> system:firmware
|******************************************| 100% (0B) Firmware updated successfully.
- <tftp-server-ip> — IP-адрес используемого TFTP-сервера;
- <ftp-username> — имя пользователя на FTP-сервере;
- <ftp-userpassword> — пароль пользователя на FTP-сервере;
- <ftp-server-ip> — IP-адрес используемого FTP-сервера;
- <sftp-username> — имя пользователя на SFTP-сервере;
- <sftp-userpassword> — пароль пользователя на SFTP-сервере;
- <sftp-server-ip> — IP-адрес используемого SFTP-сервера;
- <scp-username> — имя пользователя на SCP-сервере;
- <ftp-userpassword> — пароль пользователя на FTP-сервере;
- <scp-server-ip> — IP-адрес используемого SCP-сервера;
- <http-username> — имя пользователя на HTTP-сервере;
- <http-userpassword> — пароль пользователя на HTTP-сервере;
- <http-server-ip> — IP-адрес используемого HTTP-сервера.
С использованием USB/MMC-накопителя
1. Определение имени метки тома подключенного USB/MMC-накопителя:
wlc# show storage-devices usb
Name Filesystem Total, MB Used, MB Free, MB
------------------------------ ---------- ---------- ---------- ----------
<USB_DISK> vfat 7664.01 6391.69 1272.32
wlc# show storage-devices mmc
Name Filesystem Total, MB Used, MB Free, MB
------------------------------ ---------- ---------- ---------- ----------
<MMC_DISK> vfat 7664.01 6391.69 1272.32
2. Копирование файла с используемого USB/MMC-накопителя:
При выполнении команд копирования с USB/MMC-носителей необходимо вместо полей <USB_DISK> или <MMC_DISK> использовать настоящие метки тома, определенные выше.
wlc# copy usb://<USB_DISK>:/<firmware-file> system:firmware
|******************************************| 100% (73786kB) Firmware updated successfully
wlc# copy mmc://<MMC_DISK>:/<firmware-file> system:firmware
|******************************************| 100% (73786kB) Firmware updated successfully.
- <USB_DISK> – имя раздела на USB-носителе;
- <MMC_DISK> – имя раздела на MMC-носителе.
После загрузки прошивки на контроллер WLC необходимо загрузиться с неё.
wlc# show bootvar
Image Version Date Status After reboot
----- ------------------------- -------------------- ------------ -------------------------
1 1.30.4 build 2025-07-25 15:12:58 Not Active
18[9f3207d033]
2 1.30.6 build 2025-08-26 18:51:42 Active *
9[6ece6db314]
wlc# boot system inactive
Применение пустой или заводской конфигурации
Чтобы применить пустую конфигурацию необходимо скопировать её в candidate-config
wlc# copy system:default-config system:candidate-config
|******************************************| 100% (52B) Configuration loaded successfully.
wlc# commit
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
2025-08-29T06:46:26+00:00 %CLI-I-CRIT: user admin from console input: commit
wlc# confirm
Configuration has been confirmed. Commit timer canceled.
2025-08-29T06:46:36+00:00 %CLI-I-CRIT: user admin from console input: confirm
wlc# sh running-config
wlc#
После этого мы получим абсолютно пустую конфигурацию на контроллере WLC.
Для загрузки factory конфигурации необходимо воспользоваться командой:
wlc# copy system:factory-config system:candidate-config
После этого необходимо применить конфигурацию командами commit и confirm:
wlc# commit
2025-08-29T06:49:24+00:00 %SYS-W-EVENT: WARNING!!! 'boot host auto-config' will be enabled after reboot hardware
2025-08-29T06:49:24+00:00 %SYS-W-EVENT: WARNING!!! 'boot host auto-update' will be enabled after reboot hardware
2025-08-29T06:49:28+00:00 %LINK-W-DOWN: bridge 1 changed state to down
2025-08-29T06:49:28+00:00 %LINK-W-DOWN: bridge 2 changed state to down
2025-08-29T06:49:28+00:00 %LINK-W-DOWN: bridge 3 changed state to down
2025-08-29T06:49:28+00:00 %LINK-I-UP: bridge 1 changed state to up
2025-08-29T06:49:28+00:00 %LINK-I-UP: bridge 2 changed state to up
2025-08-29T06:49:28+00:00 %LINK-I-UP: bridge 3 changed state to up
2025-08-29T06:49:31+00:00 maep-client: message sent successfully, command 0x1445
2025-08-29T06:49:31+00:00 maep-client: message length 52, rcode 0
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
2025-08-29T06:49:31+00:00 %CLI-I-CRIT: user admin from console input: commit
wlc# 2025-08-29T06:49:32+00:00 %SYSTEM-W-KERNEL: [ 1677.076610] br1: received packet on vlan.1 with own address as source address
2025-08-29T06:49:32+00:00 %WLC-E-ERROR: wlcctl:database failed - trying to update the database from 5 to 4 version. Another attempt after 30 seconds
wlc# confirm