12-09-2010 02:04 PM - edited 03-04-2019 10:44 AM
I have several Catalyst 2950s that were somehow erased.
They do not boot, there is no IOS image in the flash.
.
I need to reload the IOS on it, and as far as I can tell all I can do in this case is Xmodem transfer.
I read the procedure here:
http://www.cisco.com/en/US/products/hw/switches/ps628/products_tech_note09186a0080169696.shtml
And followed it, it worked. I recovered one but it took a very long time through the console at 9600.
There is a procedure for using the set baud command to reset the console to 115200 at the bottom of that document:
When a user tries to recover the switch from a corrupted or missing IOS, the copy xmodem: flash:[IOS filename] command might not be displayed under the switch: prompt. The copy command might be displayed under the switch: prompt, but not the copy xmodem: command.
Complete these steps in order to speed up the Xmodem recovery:
Set the baud rate to 115200 on the switch: prompt.
switch: set BAUD 115200
!--- The screen goes blank after you enter this command.
Restart HyperTerminal.
Under COM PORT properties, select the bits per second as 115200. The switch: prompt is displayed.
Start the Xmodem recovery.
After the Xmodem recovery, set the BAUD rate back to 9600. If the set BAUD 9600 command does not bring the baud rate to 9600, issue the unset BAUD command in order to bring the baud rate to a default value of 9600 bps.
I did type set baud 115200, but the screen didn't go blank and I did not lose contact with the console.
I typed set
the switch reported it's settings, including
baud 115200
which I assume means that command did work, but did not take immediate effect.
I expected it to.
I reloaded the switch, but I still didn't lose contact with the switch at 9600. Clearly the switch console port speed did not change at all.
So I copied the file by xmodem at the same speed, but I should have been able to get this all going much faster.
I tried unset baud and typed set, and the baud setting was missing from the listing, so I assume that means my unset baud command was accepted.
What did I do wrong?
Is the writeup incorrect?
Can anyone shed any light on this?
Thanks in advance.
Steve
Solved! Go to Solution.
12-09-2010 02:15 PM
Did you type BAUD uppercase ?
12-13-2010 11:36 AM
Steve,
There is a typo in your filename:
boot system flash:/c2950-i6k2l2a4-mz.121-22.EA14.bin
It should be q4 - I apologize, the typo was caused by me - I am truly sorry. Can you give it another try?
The dir and dir flash: tests are not conclusive - remember that these are IOS commands and may have their operational defaults but when the switch is booting up, there is no IOS running, only the bootloader, and the bootloader may be very picky about the correct syntax - completely different from the IOS itself.
Best regards,
Peter
12-09-2010 02:15 PM
Did you type BAUD uppercase ?
12-09-2010 02:17 PM
No. Could that be it?
As I said, when I typed set to review settings the switch confirmed what I had typed.
Does it need to be uppercase? If so, that might be the only case sensitive part of Cisco CLI programming.
12-09-2010 02:19 PM
Type it uppercase and let us know.
Do not make assumptions about case sensitivity, this is rommon, not IOS.
12-09-2010 03:08 PM
Paolo,
Thanks, that worked.
I can't believe it.
I think the tech note I mentioned should be changed to stress that the word BAUD must be UC.
The ROMMON command set is not well documented. Not like I work with it very often either.
Thanks again.
12-09-2010 03:14 PM
Perhaps the note should be improved, the thing is that BAUD is technically an environment variable, and historically, these are always written uppercase, so it I guess it "looks right" to experienced eyes..
Thanks for the nice rating and good luck!
12-09-2010 03:30 PM
I've programmed cisco stuff for years and years, and ya know, the system helps you so much, well, it's unusual I have to look anything up.
I just type ? if I don't remember something.
Not like I have had to deal with dead switches that lack a valid image too often.
Never before, really.
Or ROMMON except for password resets.
Thanks again for your help.
12-13-2010 11:15 AM
OK, one more thing.
After the xmodem transfer completes successfully,
I type
unset BAUD
Change hyperterminal back to 9600 BAUD
switch: dir flash
unable to stat flash/: permission denied
Which is what I got before.
Why shouldn't I be able to get a directory of the flash?
I typed flash_init
I got back
...the flash is already initialized
I type boot
The system tries to boot the old (missing) image, then boots the new image normally.
All seems fine. It works.
On reboot however
C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(11r)EA1, RELEASE SOFTWARE (fc1)
Compiled Mon 22-Jul-02 17:18 by antonino
WS-C2950-24 starting...
Base ethernet MAC Address: 00:0f:24:7f:0d:80
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 2 files, 1 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 3724800
flashfs[0]: Bytes available: 4016640
flashfs[0]: flashfs fsck took 6 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
Loading "flash:c2950-i6q4l2-mz.121-22.EA1.bin"...flash:c2950-i6q4l2-mz.121-22.EA
1.bin: no such file or directory
Error loading "flash:c2950-i6q4l2-mz.121-22.EA
I think it's booting from the xmodem FS.
I think I need to get the files in the flash FS
So I copied the image to flash. That seemed to work. Here is the directory below:
Switch#dir
Directory of flash:/
2 -rwx 311 Jan 04 1970 17:53:12 +00:00 env_vars
3 -rwx 3722880 Jan 01 1970 00:09:30 +00:00 c2950-i6k2l2q4-mz.121-22.E
A14.bin
7741440 bytes total (4016640 bytes free)
Switch#show boot
BOOT path-list: flash:c2950-i6q4l2-mz.121-22.EA1.bin
Config file: flash:/config.text
Private Config file: flash:/private-config.text
Enable Break: no
Manual Boot: no
HELPER path-list:
NVRAM/Config file
buffer size: 32768
Timeout for Config
Download: 0 seconds
Config Download
via DHCP: disabled (next boot: disabled)
I changed the boot image name:
Switch#config t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#boot system c2950-i6k2l2q4-mz.121-22.EA14.bin
It seems right to me.
Switch>ena
Switch#show boot
BOOT path-list: c2950-i6k2l2q4-mz.121-22.EA14.bin
Config file: flash:/config.text
Private Config file: flash:/private-config.text
Enable Break: no
Manual Boot: no
HELPER path-list:
NVRAM/Config file
buffer size: 32768
Timeout for Config
Download: 0 seconds
Config Download
via DHCP: disabled (next boot: disabled)
Switch#write
Building configuration...
[OK]
That all looks right to me.
But on power cycle
C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(11r)EA1, RELEASE SOFTWARE (fc1)
Compiled Mon 22-Jul-02 17:18 by antonino
WS-C2950-24 starting...
Base ethernet MAC Address: 00:0f:24:7f:0d:80
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 4 files, 1 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 3726848
flashfs[0]: Bytes available: 4014592
flashfs[0]: flashfs fsck took 6 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
Loading "c2950-i6k2l2q4-mz.121-22.EA14.bin"...c2950-i6k2l2q4-mz.121-22.EA14.bin:
permission denied
Error loading "c2950-i6k2l2q4-mz.121-22.EA14.bin"
Interrupt within 5 seconds to abort boot process.
Loading "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin"..
The switch then boots properly. But I don't think this is exactly right. It knows the name of it's boot image now, but it tries to boot somehow improperly.
What do I need to do?
Sheesh.
12-13-2010 11:24 AM
Hi Steve,
Switch(config)#boot system c2950-i6k2l2q4-mz.121-22.EA14.bin
You have missed the filesystem designator here. Correctly, the command should be:
boot system flash:/c2950-i6k2l2a4-mz.121-22.EA14.bin
Try that out.
Best regards,
Peter
12-13-2010 11:28 AM
Peter
I tried that.
Switch(config)#boot system flash:/c2950-i6k2l2a4-mz.121-22.EA14.bin
Switch(config)#exit
Write
reload
00:03:55: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.
C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(11r)EA1, RELEASE SOFTWARE (fc1)
Compiled Mon 22-Jul-02 17:18 by antonino
WS-C2950-24 starting...
Base ethernet MAC Address: 00:0f:24:7f:0d:80
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 4 files, 1 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 3726848
flashfs[0]: Bytes available: 4014592
flashfs[0]: flashfs fsck took 6 seconds.
...done initializing flash.
Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4
Loading "flash:/c2950-i6k2l2a4-mz.121-22.EA14.bin"...flash:/c2950-i6k2l2a4-mz.12
1-22.EA14.bin: no such file or directory
Error loading "flash:/c2950-i6k2l2a4-mz.121-22.EA14.bin"
Interrupt within 5 seconds to abort boot process.
Loading "flash:/c2950-i6k2l2q4-mz.121-22.EA14.bin"...
Looks same to me. Well, wait, it's not the same. The error is maybe same though.
Hmm.
Well, this is kind of telling:
Switch>ena
Switch#dir flash:
Directory of flash:/
2 -rwx 316 Mar 01 1993 00:03:25 +00:00 env_vars
3 -rwx 3722880 Jan 01 1970 00:09:30 +00:00 c2950-i6k2l2q4-mz.121-22.E
A14.bin
5 -rwx 1150 Mar 01 1993 00:03:50 +00:00 config.text
6 -rwx 24 Mar 01 1993 00:03:50 +00:00 private-config.text
7741440 bytes total (4014592 bytes free)
Switch#
dir should work too:
Switch#dir
Directory of flash:/
2 -rwx 316 Mar 01 1993 00:03:25 +00:00 env_vars
3 -rwx 3722880 Jan 01 1970 00:09:30 +00:00 c2950-i6k2l2q4-mz.121-22.E
A14.bin
5 -rwx 1150 Mar 01 1993 00:03:50 +00:00 config.text
6 -rwx 24 Mar 01 1993 00:03:50 +00:00 private-config.text
7741440 bytes total (4014592 bytes free)
Switch#
12-13-2010 11:36 AM
Steve,
There is a typo in your filename:
boot system flash:/c2950-i6k2l2a4-mz.121-22.EA14.bin
It should be q4 - I apologize, the typo was caused by me - I am truly sorry. Can you give it another try?
The dir and dir flash: tests are not conclusive - remember that these are IOS commands and may have their operational defaults but when the switch is booting up, there is no IOS running, only the bootloader, and the bootloader may be very picky about the correct syntax - completely different from the IOS itself.
Best regards,
Peter
12-13-2010 11:50 AM
That works of course.I didn't notice that typo.
Thanks for your help!
Steve
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide