简介
某些思科接入点(AP)可能会通过CAPWAP(无线接入点的控制和调配)从9800系列控制器下载损坏的映像。 根据AP的软件版本,AP可能会尝试引导损坏的映像,从而导致引导循环。 本文说明如何恢复陷入引导环路中的接入点。要了解有关哪些产品和部署容易出现此问题的详细信息并了解如何在不会遇到引导环路问题的情况下安全升级,请参阅文章安全升级接入点,避免导致引导环路的图像损坏。
此问题记录为Field Notice: FN74109 - CAPWAP升级期间的接入点映像损坏可能导致引导失败。.。
问题条件
不受影响的产品
- 无线局域网控制器(WLC):从AireOS无线局域网控制器下载的接入点不受影响
- Mobility Express、嵌入式无线控制器
- AP - Aironet 1800/1540/1100AC系列Wave 2 11ac和Wave 1 11ac接入点(1700/2700/3700/1570/IW3700)不受影响(即使这些AP注册到9800 WLC,它们也不会受影响)
- 自2023年起推出的Wi-Fi 6E AP:IW9167、IW9165、C9163
受影响的产品
- WLC:从Cisco Catalyst 9800系列无线局域网控制器下载的AP可能会受到影响
- AP:注册到Cisco Catalyst 9800系列无线局域网控制器的以下AP型号会受到影响:
- Aironet Wave2 11ac无线接入点(2800/3800/4800/1560/IW6330/ESW6300)
- Catalyst 9100系列Wi-Fi6接入点(9105/9115/9117/9120/9124/9130/WP-WIFI6/ISR-AP1101AX)
- Catalyst 9100系列Wi-FI6E无线接入点(9136/9162/9164/9166)
受影响的版本:启动不良映像综合症
此问题由AP尝试引导它知道已损坏的镜像解决,该问题可通过以下Cisco bug ID解决:CSCvx32806、CSCwc72021 、CSCwd90081 ,已在以下版本中修复:
- 8.10.185.0及更高版本
- 17.3.7及以上
- 17.6.6及以上
- 17.9.3及以上
- 17.11.1及以上
一旦将AP升级到带有上述修复程序的软件,它仍可能下载损坏的映像;但是,它不会尝试启动该映像,而是将继续重新尝试下载,直到成功为止。
症状
AP控制台:
如果已经下载损坏的映像并且现在处于引导环路中,AP将显示与以下内容类似的控制台消息:
验证/bootpart/part1/ramfs_data_cisco.cpio.lzma的签名失败
或
验证/bootpart/part2/ramfs_data_cisco.squashfs的签名失败
记下消息中是否显示“part1”或“part2” -这将指示哪个引导分区已损坏。
Syslog或Show logging :
如果接入点配置为在尝试下载映像之前记录到外部系统日志服务器,则会记录以下错误:
映像签名验证失败: -3
此错误消息也可以从AP CLI(控制台或SSH)的“show logging”输出中看到。 如果自映像更新尝试后日志记录缓冲区已被覆盖,则可能会在AP闪存中存储的系统日志文件中看到错误消息。 如果您在show logging中既未看到成功消息,也未看到失败消息,则请在AP上使用其中一种恢复方法,通过TFTP或SFTP重新安装所需的映像。
思科交换机端口:
处于引导环路状态的AP将显示IEEE PD,如下面的AP上行链路交换机端口的Show输出所示。 (如果使用CDP或LLDP,正常运行的AP将在“设备”列中显示其型号):
switch#show power inline
Available:195.0(w) Used:159.9(w) Remaining:35.1(w)
Interface Admin Oper Power Device Class Max
(Watts)
--------- ------ ---------- ------- ------------------- ----- ----
Gi0/1 auto on 15.4 Ieee PD 4 30.0
Gi0/2 auto on 24.1 C9115AXI-B 4 30.0
如何恢复处于引导环路的AP
确定AP是否具有备用引导增强功能
如果AP已下载损坏的映像,并且正在尝试引导该映像,则根据其u-boot (AP bootloader)是否具有Alt-boot (Alternate bootot)增强功能,它将显示两种行为之一
- 不使用Alt-boot:AP将无限尝试引导损坏的映像,并且需要通过其控制台端口进行恢复
- 使用Alt-boot:AP将尝试引导损坏的映像五次,然后从其备份分区引导映像。 在这种情况下,无需控制台访问即可恢复AP,使用下面记录的Alt-boot恢复方法之一。
Alt-boot u-boot增强功能捆绑在以下软件版本中:
- 9117/9130/9124:8.10.190.0、17.3.8+、17.6.6+、17.9.1+
- 9136:17.9.1+
- 916x:所有设备均具有Alt-boot增强功能
- 9105/9115/9120/2800/3800/4800/1560/6300:8.10.190.0、17.3.8+、17.6.6+、17.9.4
请注意,如果AP已下载具有Alt-boot增强功能的映像,则即使运行时映像已损坏,也会升级其u-boot。 例如,请考虑以下场景:
- 9130 AP安装了17.3.4c(没有Alt-boot增强功能)。
- 然后下载17.9.5映像,但在下载期间该映像已损坏。
- 由于17.3.4c没有启动不良映像综合征的修复程序,因此AP将继续尝试启动损坏的映像。
- 引导新的映像分区将导致AP在尝试引导错误的运行时映像之前升级到17.9.5 u-boot。
- 然后,AP将尝试五次引导损坏的17.9.5运行时映像。
- 然后,因为AP现在运行17.9.5 u-boot,所以Alt-boot逻辑将切换AP以引导其备份分区中的运行时映像。
- 现在,无需控制台访问即可恢复AP。
恢复处于引导环路的AP -使用Alt-boot增强功能
如果您的AP处于引导循环中,并且他们的U-boot具有Alt-boot增强功能,则使用以下过程之一来恢复它们:
如果AP上启用了SSH
- 将所需的AP映像暂存到受影响AP可访问的TFTP或SFTP服务器上。 请参阅与所需Cisco IOS® XE版本相对应的15.3(3)J* AP版本的兼容性列表中的表4,然后从software.cisco.com下载适合受影响AP型号的轻量AP软件映像。
- 例如,CW9162的17.9.5 AP映像是ap1g6b-k9w8-tar.153-3.JPN4.tar。
- 防止受影响的AP加入运行与其损坏分区中相同软件版本的控制器。 因此,请在AP交换机端口上添加CAPWAP ACL,以防止AP再次加入控制器。例如,可以在AP子网的默认网关接口上应用如下所示的ACL:
Router#show running-config | section access-list 133
access-list 133 deny ip host <wlc_ip> any log
access-list 133 deny ip any host <wlc_ip> log
access-list 133 permit ip any any
Router#show running-config interface Vlan6
[ ... ]
interface Vlan6
ip address 192.168.6.1 255.255.255.0
ip access-group 133 in
- 让AP使用损坏的映像重新启动五次,之后应切换到备份分区中的工作映像。
- 可以在AP的交换机上使用show cdp neighbor <interface> detail命令来查看AP的备份分区中的代码版本。 (如果AP正在引导损坏的映像,则CDP不会在其端口上启动。)
- 一旦AP获得工作备份映像,它将尝试加入控制器,但由于步骤2中添加了ACL,因此无法加入。
- SSH到每个受影响的AP(如果大量的AP受影响,可以通过WLAN轮询器自动执行此步骤。)
- 现在使用archive download命令将所需映像下载到AP的备份分区:
archive download-sw /no-reload tftp://<ip-address>/<apimage>
或
archive download-sw /no-reload sftp://<ip-address>/<apimage>
这将用有效映像覆盖损坏的映像。 映像下载完成后,发出:
test capwap restart
这将重新启动CAPWAP进程,以便AP能够识别新安装的映像。
- 现在删除ACL,让AP加入控制器。它不会再次下载映像。
如果AP上未启用SSH,但AP具有Alt-boot增强功能
- 确保AP不会尝试加入运行与其损坏分区中相同软件版本的控制器。 因此,请在AP交换机端口上添加CAPWAP ACL,以防止AP再次加入控制器。
- 启动运行与AP损坏版本不同的软件版本的控制器。
- 可以在AP的交换机上使用show cdp neighbor <interface> detail命令来查看AP的备份分区中的代码版本。 (当AP启动损坏的映像时,CDP不会在其端口上启动。)
- 如果暂存运行AP的备份版本的控制器不可行,那么(如果9800),至少暂存一个版本并修复坏映像综合征和Alt-boot。
- 另一种选择是让运行8.10.190.0或更高版本的AireOS控制器运行,因为从AireOS下载CAPWAP不易损坏映像。
- 进行设置,以便AP可以发现备用控制器-例如,通过DHCP选项43、IP帮助地址或DNS。
- 请注意,如果备用控制器运行的Cisco IOS XE版本与AP的备份版本不同,则AP可能会下载损坏的映像,因此请对可能新损坏的任何AP重复此过程。
- AP加入备用控制器后,请将所需映像下载到AP:
- 将所需的AP映像暂存到受影响AP可访问的TFTP或SFTP服务器上。 请参阅与所需Cisco IOS XE版本相对应的15.3(3)J* AP版本的兼容性列表中的表4,然后从software.cisco.com下载适合受影响AP型号的轻量AP软件映像。
- 例如,CW9162的17.9.5 AP映像是ap1g6b-k9w8-tar.153-3.JPN4.tar。
- 在受影响的AP上启用ssh,然后通过ssh登录每个受影响的AP(如果受影响的AP数量很大,可以通过WLAN轮询器自动执行此步骤。)
- 现在使用archive download命令将所需映像下载到AP的备份分区:
archive download-sw /no-reload tftp://<ip-address>/<apimage>
或
archive download-sw /no-reload sftp://<ip-address>/<apimage>
这将用有效映像覆盖损坏的映像。
- 映像下载完成后,发出:
test capwap restart
这将重新启动CAPWAP进程,以便AP能够识别新安装的映像。
- 作为在AP上执行archive download-sw的替代方法,您可以使用以下控制器命令获取AP,以从TFTP服务器下载所需的映像:
- 在Cisco IOS XE中:ap name APNAME tftp-downgrade ip.addr.of.server imagename.tar
- 在AireOS中:config ap tftp-downgrade ip.addr.of.server imagename.tar APNAME
- 监控TFTP服务器日志,以验证每个AP是否已成功下载映像。 下载完成后,每个AP将重新加载,运行新下载的映像。
- 删除步骤1中安装的ACL,并让AP加入所需的控制器。
通过控制台恢复
如果AP处于引导环路中,并且AP没有Alt-boot增强功能,则必须通过控制台恢复AP。
对于所有AP型号:确定哪个引导分区损坏
首先,确定哪个引导分区已损坏。
- 连接到AP控制台。
- 观察AP尝试启动,直到您看到消息
验证/bootpart/part1/ramfs_data_cisco.cpio.lzma的签名失败
或
验证/bootpart/part2/ramfs_data_cisco.cpio.lzma的签名失败
(消息可能会说“ramfs_data_cisco.squashfs”而不是“ramfs_data_cisco.cpio.lzma”
- 记下哪个分区(part1或part2)损坏
适用于无线接入点型号9117、9124、9130、9136
- 连接到控制台后,重新通电AP。
-
在启动期间,当看到按Esc键停止自动启动时,按Esc键
-
您应看到以下提示之一:
(BTLDR) #
或
(u-boot)>
- 运行以下命令
(u-boot)> or (BTLDR)# setenv mtdids nand0=nand0 && setenv mtdparts mtdparts=nand0:0x40000000@0x0(fs) && ubi part fs
(u-boot)> or (BTLDR)# ubi remove part1 (or part2 if corrupted image is in part2)
(u-boot)> or (BTLDR)# ubi create part1 (or part2 if corrupted image is in part2)
(u-boot)> or (BTLDR)# reset
适用于无线接入点型号2802、3802、4800、9105、9115、9120
- 连接到控制台后,重新通电AP。
-
在启动期间,当看到按Esc键停止自动启动时,按Esc键
-
这应该会显示(u-boot)>提示符。
-
运行以下命令
(u-boot)> ubi part fs
(u-boot)> ubi remove part1 (or part2 if corrupted image is in part2)
(u-boot)> ubi create part1 (or part2 if corrupted image is in part2)
(u-boot)> boot
常见问题解答
问题1:我的AP都通过高速、低延迟、低丢失的LAN连接连接到其9800。 是否仍需要执行上述操作?
仅当通过WAN连接升级AP时才会报告此问题。
问题2:我有新的开箱即用的AP。如何在不遇到此问题的情况下部署它们?
如果AP是于2023年12月之前生产的,则通过有损广域网链路下载代码的新开箱即用型AP也容易出现此问题。建议首先使用本地WLC暂存这些AP。
问题3:我对这个问题有更多疑问。 我可以指引他们给谁?
答:请发送电子邮件到fn74109-questions@cisco.com。