Cisco IOS // Firmware Upgrade

tested on Catalyst WS-C2950T-24 –> IOS Version 12.1(22)EA12

Seek for new firmware

what model?

show version | include Model number

Model number: WS-C2950T-24

MD5 hashes

8d3250ee253b81b7fe2762e281773fbc  c2950-i6k2l2q4-mz.121-22.EA14.bin
4b36c95cd7813562a2d108b2aeeaf63e  c2950-i6q4l2-mz.121-22.EA12.bin
c57104dce5aa257139d8da004aa62bad  c2950-i6q4l2-mz.121-22.EA14.bin
d41d8cd98f00b204e9800998ecf8427e ?!

Backup current firmware

you need a management ip for that

configure terminal
interface vlan1
no shutdown
ip address
ip route-cache

check your current firmware version

show version | include Version
show version | include flash:

IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA12, RELEASE SOFTWARE (fc1)
System image file is "flash:/c2950-i6q4l2-mz.121-22.EA12.bin"

IOS (tm) C2950 Software (C2950-I6K2L2Q4-M), Version 12.1(22)EA14, RELEASE SOFTWARE (fc1)
System image file is "flash:c2950-i6k2l2q4-mz.121-22.EA14.bin"

allow uploads on your TFTP server with -v -c

vi /etc/default/tftpd-hpa

TFTP_OPTIONS="-4 --secure -v -c"

mkdir -p /tftpboot/upload/
chmod 777 /tftpboot/upload/
chmod +t /tftpboot/upload/
systemctl start tftpd-hpa

make sure you do not have a system firewall blocking the interface your are playing on

#here -I not -A
iptables -I INPUT -i enp2s0 -j ACCEPT
iptables -I OUTPUT -o enp2s0 -j ACCEPT
iptables -I INPUT -i xenbr1 -j ACCEPT
iptables -I OUTPUT -o xenbr1 -j ACCEPT

validate from the host system (bypasses any system firewall) or ideally remotely already

cd ~/
ls -lF .vimrc
put .vimrc upload/.vimrc
ls -alF /tftpboot/upload/
rm -f /tftpboot/upload/.vimrc
ping -c1

and upload the current firmware from the switch

copy flash tftp

Source filename []? c2950-i6q4l2-mz.121-22.EA12.bin
Address or name of remote host []?
Destination filename [c2950-i6q4l2-mz.121-22.EA12.bin]? upload/c2950-i6q4l2-mz.121-22.EA12.bin

sort things out and keep them for reference

ls -alF /tftpboot/upload/
chown root:root /tftpboot/upload/c2950-i6q4l2-mz.121-22.EA12.bin
chmod 644 /tftpboot/upload/c2950-i6q4l2-mz.121-22.EA12.bin
md5sum /tftpboot/upload/c2950-i6q4l2-mz.121-22.EA12.bin > /tftpboot/upload/MD5
cat /tftpboot/upload/MD5


cd /tftpboot/

make some room

show flash:
delete flash://c2950-i6q4l2-mz.121-22.EA12.bin
show flash:

and proceed with the upgrade

copy tftp flash

Address or name of remote host []?
Source filename []? c2950-i6k2l2q4-mz.121-22.EA14.bin
Destination filename [c2950-i6k2l2q4-mz.121-22.EA14.bin]? 

verify /md5 c2950-i6k2l2q4-mz.121-22.EA14.bin
!verify /md5 c2950-i6q4l2-mz.121-22.EA14.bin

config terminal
boot system flash:c2950-i6k2l2q4-mz.121-22.EA14.bin
!boot system flash:c2950-i6q4l2-mz.121-22.EA14.bin
do show boot
do write erase
do reload
!System configuration has been modified. Save? [yes/no]: no

systemctl stop tftpd-hpa
systemctl disable tftpd-hpa


CISCO 2950 и 3550 прошивка


support & download

SI vs EI

Cisco Catalyst 2950 Series Switches with Cisco Standard Image and Enhanced Image

hard reset Resetting the Switch from the Getting Started Manual

Cisco 2950 V.12.1 IOS Upgrade to 15.0 or Higher

C2950 crypto image

Cisco 2950 V.12.1 IOS Upgrade to 15.0 or Higher

Upgrading Software Images on Catalyst 2950 and 2955 Series Switches Using the Command Line Interface

Old Cisco Switches - Firmware upgrade question.

Cisco Catalyst 2950 firmware update

Cisco 3900 Series, 2900 Series, and 1900 Series Software Configuration Guide

Cisco 2950 Software Download Removed?

broken link? ea14 release notes

Upgrading IOS

How To: Upgrade IOS On A Cisco 2950

How to Update/Upgrade Cisco IOS Software