Skip to topic | Skip to bottom
Home
Freebsd
Freebsd.UpdateCiscoCbosr1.4 - 22 Nov 2003 - 17:11 - KirkStrausertopic end

Start of topic | Skip to actions



Why This Document?

All instructions I've found for updating the version of CiscoCbos? on a CiscoCpeRouter? (such as a 675 or 678 DSL router) were for MicrosoftWindows? or MacOS. Here's how I upgraded from 2.4.3 to 2.4.6 via a serial connection to a FreeBSD server.

Caveats

  1. Doing this may very well permanently screw up your router. I came up with the method below by closely reading the Windows and Mac OS instructions and re-implementing them from a FreeBSD perspective. The method is not formally approved by anyone! It happened to work well for me, but may not work for you.
  2. I tried several other methods involving tip, minicom, and kermit. The transfer always failed for reasons unbeknownst to me. I was only able to upload the ROM image by using ecu's built-in XMODEM protocol; the stand-alone lsz program never worked for me.
  3. Immediately before installing ecu, I grew tired of typing the full name of the ROM image file, so I created a symlink to it named "romcode.bin". I truly don't know whether "ecu" was the magic piece of the puzzle, or using a shorter filename would've made the older "lsz" program happy. Frankly, I'm not interested enough to find out definitely. Note that below I said that I specified a file named "/tmp/nsrouter.c678dmt.full.2.4.6.bin". I didn't; I really typed "/tmp/romcode.bin". It probably won't make a difference...
  4. To re-iterate the first point: if you follow these instructions, you're placing your router at risk for permanent damage. I really doubt that you're likely to find a problem that a reboot won't fix, but it's certainly possible! Furthermore, if you try this and it doesn't work, there's an approximately 100% chance that your ISP cannot and will not help you.

Get The Firmware

I did this by Googling for "cisco cbos 678", going to the "Qwest | DSL | Customer Service" result, clicking the link for Windows users, and downloading the file named 678DMTcbos2.4.6.exe.

Upgrade The Modem

  • Extract the firmware with a command-line de-archiver, such as unzip.
  • Install the port comms/ecu.
  • Follow the on-screen prompts to configure the serial port (probably /dev/cuaa0) for 38400,8N1.
  • Connect to the router. Log in. Enter "enable mode" by typing en and entering your "enable password".
  • Tell the router to enter download mode: type set download code
  • Tell ecu to upload the ROM image: hit <home>sx, enter the filename from the "unzip" step above (mine was /tmp/nsrouter.c678dmt.full.2.4.6.bin), and watch the upload.
  • DON'T DO ANYTHING! After the transfer is complete, the router will sit idle for quite a few tens of seconds. Let it reboot itself (do not powercycle it in the meantime!).
  • Do one of two things:
    • Did the unit reflash itself with the updated CBOS version? Pat yourself on the back for a job well done!
    • READ THE NEXT SECTION! DO NOT REBOOT YOUR MODEM OR IT WILL BE DESTROYED BEYOND REPAIR!

If It Doesn't Work

What Not To Do

Whatever you do, do not unplug the modem until you've taken the next steps and verified that it's working correctly. Your modem is currently in an unstable condition, and the bootloader has been overwritten with invalid code. Once you turn it off, it will be incapable of rebooting into a state where you can work with it.

When To Give Up

In the event of complete disaster, you'll see a glowing red LED inside the case (that is, not one of the front-panel status LEDs). This is the I'm Dead light. If you ever see this LED, throw the modem away and buy a new one; there is absolutely nothing you can do to bring it back to life.

Common Problems

The most common upgrading problem is accidentally uploading the self-extracting ROM image archive instead of the ROM image itself. Be sure that the file you're uploading doesn't end in .exe.

Your Friend, The Monitor

If you don't see the light, then there's still hope. These directions are paraphrased from http://www.netrack.com/support/Cisco/cbos-upgrade.html and included here for your convenience (it's hard to download a help file when your Internet connection is dead).

You'll probably see a => prompt. If not, hit CTRL-C a couple of times until you do.

Erase the flash image:

=>es 0
Erasing sector 00000000...
Sector erased
=>es 1
Erasing sector 00000001...
Sector erased
=>es 2
Erasing sector 00000002...
Sector erased
=>es 3
Erasing sector 00000003...
Sector erased
=>es 4
Erasing sector 00000003...
Sector erased
=>es 5
Erasing sector 00000003...
Sector erased

Transfer the new CBOS image to the Cisco modem:

=>df 10008000
Downloading
CCCCCCCCCC

At this point, follow the instructions from the first section telling how to upload the ROM image. When the upload is complete, note the filesize that the router returns:

 -- Download complete --
    Transferred 000ce000 bytes

Set the address for the new CBOS image. Note that the last field on this command (ce000) is the number of bytes shown as downloaded in the previous step. Leading zeros do not need to be entered. Enter the number of bytes actually shown on your Cisco modem as downloaded, not the number shown in this example.

=>pb 10008000 fee00000 ce000
Programming flash address 00000000 from 10008000...
Flash programmed

Reboot the Cisco modem:

=>rb
 
Hello!
C6xx self-update code:Release 2.4.2
NOTE:Do not power off router until update is finished!
 
Decompressing router...
Erasing FLASH......
Programming...
Decompressing monitor...
Erasing FLASH.........
Programming...
Finished.  Rebooting...
Hello!
Expanding CBOS image...
CBOS v2.4.2 - Release Software

At this point, you can either laugh or cry (depending on how well the reboot goes). If things are well, then you've successfully rescued your router. If they aren't, call your ISP's tech support line immediately. Once again, do NOT unplug the modem until you've fixed it!

-- KirkStrauser - 24 Mar 2003


You are here: Freebsd > UpdateCiscoCbos

to top

Copyright © 1999-2008 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Subwiki? Send feedback