Cisco 678

This page is based on some notes that I wrote to myself in the usage of the Cisco 678 modem. It can be quite a daunting task to configure, but it is definately worth it. However, there was definately a lack of information available on the internet, so I've decided to create this guide to working with this fine modem.

As the story begins, my internet days begun with the horror that is known as dialup. Netzero, AOL, and others that just make you shudder by speaking the name. Finally that was upgraded from to AT&T cable internet. It wasn't overwhelmingly fast, but it was an incredible improvement at the time. I also believe it only cost $30 or $40, so the price was nothing to complain about. However, prices continued to raise, and then eventually our once useful AT&T became Comcast. The price was much higher now somewhere around $60 a month. This was unacceptable, especially for the speeds that we actually got. So at this point in time we switched over to Qwest DSL. It was pretty good speedwise, but the modem required multiple reboots per day. Anyone who has experienced this Actiontec gateway would understand. Finally I searched and searched for an alternative, and all roads led to the Cisco 678. I ebayed one for around $60. I figured it would be well worth the price if it was half as stable as everyone claimed.

Finally it arrived, and curiously enough, the Cisco 678 uses a crossover cable as opposed to a regular straight through cable (in case somebody bought one without the cables). I eagerly hooked it up and hoped to configure it quickly. That really was not going to happen though.

Connecting to the Cisco 678

The Cisco 678 must be configured via serial connection. The management cable that the 678 comes with is serial on one end, and has an rj45 on the other. So first hook that up, and plug it into the MGMT slot on the 678. Windows users would connect to it with the program Hyperterminal. However, those using FreeBSD will use a little utility cu.

su
cu -l /dev/cuaa0 -s 38400

For those using Hyperterminal the only noteworth thing in the above commands is the 38400, which means to connect at 38400 bps. You should see an output like this:

Connected

User Access Verification
Password:

Here is the point where you pray for good luck. Hit 'Enter' at the password prompt...If you're lucky, you'll see this:

cbos>

If ever you want to disconnect just type '~.'.

If you're not so fortunate when you hit enter you'll end up with a scenario like:

Password:
Password:*****
Password:*****
% Invalid passwords
Press Enter to continue.

This is the point in time where you can start crying. This is where I was, and well, I felt like crying. The guy I bought it from didn't have the password, so I had to find a way to reset it. However, all of the methods I read online failed me...save one.

Resetting the Password

It's a sad state of affairs that we have come here. However, we must try our best. For this section I connected with Hyperterminal from Windows. It might be possible to do using cu, but I have no tried. So these directions are for Hyperterminal. Connect with the following settings:

1200 bps
no parity
8-data bits
1-stop bit
no flow control

Now once you are connected, turn off the power on the cisco. Turn it back on and hit space bar repetetively. The password may or may not leave. Keep trying, never give up. This is the only method that I ever got to work for resetting the 678. I wish you luck in this perilous quest.

Setting up from Scratch

If you've managed to get into the 678, we'll set it up from scratch. I used Hyperterminal for this section as well. Connect with the following settings:

38400 bps
no parity
8-data bits
1-stop bit
no flow control

First we want to erase Sectors 0-6 (the commands are those after =>).

=>es 0
=>es 1
...
=>es 6

Of course you'll need to type the command for 2-5. Now we can transfer the new CBOS image (nsrouter.c678dmt.full.2.4.6.bin) to the 678, using Xmodem from Hyperterminal. If my memory serves me correctly this step may take awhile. Whatever you do, don't turn off the 678 while this is transfering...very bad things could happen.

=>df 10008000
Downloading
CCCCCCCCCC
 -- Download complete --
    Transferred 000ce000 bytes

Now we'll 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

Now that we've successfully loaded the new firmware, it's time to reboot:

=>rb

Default Settings for Qwest DSL

Like I said before I got the 678 to use it for Qwest DSL. If you have a different ISP you should be able to get directions from them. Connect to the 678 the normal way (ie. at 38400 bps).

cbos> enable
Password:
cbos# set nvram erase
cbos# write
cbos# reboot
Password:
cbos> enable
Password:
cbos# set ppp wan0-0 ipcp 0.0.0.0
cbos# set ppp wan0-0 dns 0.0.0.0
cbos# set ppp wan0-0 login "ISP USERNAME"
cbos# set ppp wan0-0 password "ISP PASSWORD"
cbos# set int wan0-0 disable
cbos# set int wan0-0 vpi 0 vci 32
(vpi - 1 for cap and 0 for DMT)
(vci - 1 for cap and 32 for DMT or 35 for AOL)
cbos# set int wan0-0 enable
cbos# set ppp restart enable (ONLY for 675)
cbos# set dhcp server enable
cbos# set nat enable
cbos# write
cbos# reboot

Make note of the comments I made in that large chunk (that are noted like this). In my case DMT was desired, but it may vary for your ISP.

Setting the Interface to DMT

We already configured the 678 to use DMT, so this is the logical next step.

enable
set interface wan0 standard G.dmt
set interface wan0 retrain
show interface wan0

Disabling Web Interface

I have heard there are some security risks in leaving the web interface enabled, and after already setting up the 678 through the console we don't need it anyway. Connect as usual and then issue the following commands:

set web disable
set web port 8888
write
reboot

Port Forwarding

If you have a router behind your 678 and want to do port forwarding with it, you'll first want to forward all traffic from the 678 to your router. In order to forward all ports issue the following:

enable
set nat entry add 10.0.0.2
write

If you want to undo this change issue this:

enable
set nat entry delete 10.0.0.2
write

In the end the 678 was well worth the investment. In the many months I have had it, it has yet to crash once (sadly the same cannot be said for my Linksys router).

Finally if all of this information was not sufficient, take a look at the manual and hopefully you can figure your problems out.

Back to Home