Today I was going over my Static routing and RIP materials and while following along I came upon an issue. I first noticed the problem on Router 1 when I entered the command Router Rip and then tried the command No Auto Summarization, the router didn’t know what I was talking about. I also looked for the version command, it didn’t exist either. So the router could only do RIP v1, this was not going to work. My other two routers in my hub and spoke configuration were able to support RIP v2, so I needed to fix this issue on my router 1.
The good news was since I purchased my routers from CiscoKits I received a CD with a variety of IOS images, and one of them was for my Cisco 2500 series router. So great news, I had a newer IOS, I now just needed to upgrade my router and then I could use some of the newer features such as RIP v2, IPv6, etc. I did want to backup my IOS I currently had and the config file just in case, and that is where I ran into my first problem in my upgrade. The TFTP server I had running on my Mac. Every time I tried the copy flash tftp command I would end up with an error “error code 2 received – access violation”. I found that others had this issue and the way around it was to alter the tftp.plist file and change it so it reads like the photo in illustration 1.
The part with /TFTPROOT can be any directory that you create on your hard drive. You can find this file in /system/library/launchdaemons. You will then need to reboot your Mac after you make the change. The other issue I found is that you must have a file with the same name you are copying to the TFTP directory already in place, or it won’t transfer the file. So if the IOS image name is 2500.bin and you want to copy it from the router to your TFTP server you first need to create an empty file with the name 2500.bin before it will work.
Now I could update my router with my backups in place. I connected to the router in terminal, and also connected a ethernet cable from my Mac to a switch that the router was connected to. Below are the steps I did to upgrade the Cisco router.
R1#copy tftp flash
Address or name of remote host ? 172.23.23.5 (the IP address of your TFTP server)
Source filename ? 2500.bin (the name will vary from file to file)
Destination filename  ? 2500.bin (usually you leave it the same as the source name)
Erase flash: before copying? [confirm] (If you have enough room on your Flash you don’t need to erase the flash if you don’t want to, I however did).
The router will then copy the new IOS file to your router or erase the flash and then copy the IOS depending on your answer above.
I went the route of erasing the flash so my next prompt was:
Erasing the flash filesystem will remove all files! Continue? [confirm] y
Erasing device… eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee … erased
Erase of flash: complete
Loading 2500.bin from 172.23.23.5 (via Ethernet0): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (this process can take a few minutes depending on how large the IOS image is, just be patient).
[OK – xxxxx/yyyyyyy bytes)
Verifying checksum… OK (0xAC8A)
xxxxxxx bytes copied in xx.xx secs (yyyy bytes/sec)
You’ll want to verify that your register value is 0x2102 before reloading your router, you can check this with the command show version. If you need to change it you can do so with the following command:
Also if you didn’t erase your Flash at the start you’ll need to setup the router to boot to the new IOS image with the following commands:
R1(config)#no boot system
R1(config)#boot system flash 2500.bin (this would be the name of the IOS image you just transferred to your router).
You can then issue the command
Once the router has finished reloading you can verify you are using the new IOS version by using the show version command.
The entire process went very smoothly and I’ll be upgrading the other routers in short time as well.