cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
10635
Views
5
Helpful
3
Comments
Xerg
Level 1
Level 1

Hi everyone!

I did play hard with my c 3750 v2 and have decided to put myself in a trial. The reason: I want to be prepared for unpleasant surprises that may occur in the future for any reason. I've done a similar recovery on AIR-CAP2702I-Z-K9 but it is a newer device with TFTP available in ROMMON. That's why I decided to have a test on the old and least valuable asset in my lab.

The challenge was initiated with a couple of strings:

Switch# erase flash:

Switch# reload

As expected, the switch was unable to boot up as there was no file on the flash. Instead, ROMmon mode greeted me with the following screen and strange-looking prompt:

The system has been interrupted prior to initializing the flash file system. The following

commands will initialize the flash file system and finish loading the operating system

software#

flash_init

load_helper

boot 

switch: 

So, I started my battle with the "problem" from another couple of obvious strings:

switch: flash_init

switch: load_helper

Ops... load_helper doesn't work on this device, and it didn't appear in the menu upon boot, even it mentioned in the 3750v2 CLI manual. Actually, that's not a problem. Apparently, the service was initiated already.

As I wasn't going to wait for file transfer for ages I proceeded with the following string:

switch: set BAUD 115200

This parameter going to survive during reboot, so I had to set Console (Putty) and Hyper terminal (HyperTerminal Trial) accordingly. Of course, I had to set the BAUD parameter to default 9600 baud before exiting ROMmon.

Next, I was needed for an app in order to upload the firmware image.

I couldn't fire standard HyperTerminal on my Win10 even I copied its .exe and .dll in the suitable locations. Putty tools appeared to be a bit complicated to get them working. Unfortunately, I dunno that "appropriate command on the terminal-emulation software" as the 3750 manual says, shame on me. I ended up with the utility of the same name as HyperTerminal (google hilgraeve HyperTerminal-trial). Trial version good enough for 30 days and lets to type commands in the terminal window. I did install the app and got a new connection to the COM port prepared with matching parameters: Speed = 115200 baud and Flow control = Xon/Xoff. The Putty session was terminated and HyperTerminal was initiated instead. The next string was sent:

switch: copy xmodem: flash:FIRMWARE-IMAGE-NAME.bin

Begin the Xmodem or Xmodem-1K transfer now...

CCCCCCC.

The "C" letters begun to emerge on the screen one by one letting me know that switch is waiting for firmware transmission. The timeout was long enough to locate and send a firmware file via HyperTerminal > Transfer > Send. For some reason, the real transmission speed was 41200 bps and the uploading process took about 52 minutes for a file of 13 MB in size, and ended up with a message:

File "xmodem:" successfully copied to "flash:FIRMWARE-IMAGE-NAME.bin"

Let's check:

switch: dir flash:

Directory of flash:/

2 -rwx 13013248 <date> c3750-ipservicesk9-mz.122-55.SE12.bin

2984448 bytes available (13014528 bytes used)

Everything as expected. Time to add a configuration file from backup (config.text file mapped to startup-config file on virtual NVRAM on a variety of old devices):

switch: copy xmodem: flash:config.text

Begin the Xmodem or Xmodem-1K transfer now...

CCCCCCC.

File "xmodem:" successfully copied to "flash:config.text"

Another dir flash: to ensure that things are in place.

Set BAUD-rate to default, (hence it would be possible to change the rate in Global configuration mode but wouldn't be possible to save settings, therefor upon next reboot rate gonna be 115200 again):

switch: set BAUD 9600

Then change the BAUD-rate of the terminal and boot the device with the correct image:

switch: boot flash:FIRMWARE-IMAGE-NAME.bin

 

As a result, I've got the system loaded and entered into Global configuration mode to finalize the settings. A new firmware image was uploaded in place of obsolete one. Moreover, the old one was deployed from a .tar archive but the new was simple .bin. It was necessary to use .bin as ROMmon mode doesn't let to deploy archives. So, there are few things to do: to deploy .tar file via TFTP, USB, etc, and/or set a correct path to the image to boot with. I was OK with the current .bin and decide to proceed with the last two options:

Switch (config)# boot system flash:FIRMWARE-IMAGE-NAME.bin

Checked it with:

Switch(config)#do show boot

BOOT path-list : flash:FIRMWARE-IMAGE-NAME.bin

Config file : flash:/config.text

Private Config file : flash:/private-config.text

Enable Break : no

Manual Boot : no

HELPER path-list :

Auto upgrade : yes

Auto upgrade path :

NVRAM/Config file

buffer size: 524288

Timeout for Config

Download: 0 seconds

Config Download

via DHCP: disabled (next boot: disabled)

Finally :

Switch# write

And

Switch# reload

Done!

----------------------------------

For recap:

Prerequisites:

1) .bin image suitable for your device flash size (actually, the smaller size the faster device will get it. Especially recommended for those who going to deploy .tar image later via TFTP. If you have the only tar. image simply extract the bin. image from it. I use 7-zip, for instance.)

2) HyperTerminal or similar soft able to upload files via Xmodem protocol. Should be installed on a machine that is connected to the device console port.

3) Appropriate console cable.

 

Commands:

switch: flash_init

switch: set BAUD 115200

Change your terminal speed to 115200 as well.

switch: copy xmodem: flash:FIRMWARE-IMAGE-NAME.bin

Next, you have to start .bin image file transfer from HyperTerminal or so. It will take a while. About an hour, probably.

switch: dir flash:

switch: copy xmodem: flash:config.text     ### If you have configuration backup

switch: dir flash:

switch: set BAUD 9600

Change your terminal speed to 9600 as well.

switch: boot flash:FIRMWARE-IMAGE-NAME.bin

After you've got in Global configuration mode issue this (or first, deploy a desirable image.tar over TFTP):

Switch (config)# boot system Flash:FIRMWARE-IMAGE-NAME.bin

Switch (config)# exit

Switch# show boot

Switch# write

Switch# reload

 

 

The whole process took a few hours as this experiment was spontaneous. I’ve spent time mostly on reading some not comprehensive (with corrections in replies) or simply irrelevant material on the internet and here in CC and checking tonnes of obsolete not working links, vague comments regarding Xmodem in the manuals (only one had a clear description but it was one of the last links I came across), and testing/choosing suitable working Xmodem terminal. Thus, I’ve decided to share my experience with those who have to deal with some old equipment from time to time.

All I had were console cable, Putty, and .bin image. Prior experience was based on recovering AP via TFTP in ROMMON.

HTH

Serge

3 Comments
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: