Press "Enter" to skip to content

Category: Cisco 877

Upgrading Alcatel DSL Firmware on Cisco 877

Brief Overview

The Cisco 877 comes with the default Alcatel firmware loaded AMR-3.0.014.bin. I decided to upgrade this to the latest one AMR-4.0.015.bin. There is quite a few improvements in this firmware mainly to do with stability and dslam compatibility. Since I had c870-advsecurityk9-mz.124-22.T IOS installed the firmware update worked but I could get no sync, the CD light kept flashing constantly. I think they are looking at creating a later version of the firmware to work with the -22T IOS.

In order to get the new firmware (AMR-4.0.015.bin) fully working I had to downgrade the IOS to c870-advsecurityk9-mz.124-20. After this occured everything worked perfect.

Previously by default if you issued “show dsl int” it would read:

Init FW: init_AMR-3.0.014_no_bist.bin
Operation FW: AMR-3.0.014.bin
FW Source: embedded
FW Version: 3.0.14

Now after the firmware upgrade it read:

Init FW:         init_AMR-4.0.015.bin
Operation FW:    AMR-4.0.015.bin
FW Source:       external
FW Version:      4.0.15

The Process

To upgrade the firmware I downloaded the latest adsl_alc_20190.bin.4.0.15, next I setup my TFTP server.
The file required to be renamed so the adsl modem can pick up the new firmware. So i renamed the file to “adsl_alc_20190.bin”

This file had to be placed on the tftp server so I could perform the upgrade. The following commands were issued as an example:

cisco877#copy tftp flash
Address or name of remote host []? 10.108.1.16
Source filename []? adsl_alc_20190.bin
Destination filename [adsl_alc_20190.bin]?
Accessing tftp://10.108.1.16/adsl_alc_20190.bin…
Loading adsl_alc_20190.bin from 10.108.1.16 (via Vlan1): !!!!
[OK – 996472 bytes]

996472 bytes copied in 9.176 secs (108595 bytes/sec)

I issued the “dir flash:” command to make sure it was present:

cisco877#dir
Directory of flash:/

2  -rwx    18275844  Dec 27 2008 16:42:44 +10:30  c870-advsecurityk9-mz.124n
3  -rwx        3179   Mar 1 2002 10:34:39 +10:30  sdmconfig-8xx.cfg
4  -rwx      931840   Mar 1 2002 10:34:59 +10:30  es.tar
5  -rwx     1505280   Mar 1 2002 10:35:27 +10:30  common.tar
6  -rwx        1038   Mar 1 2002 10:35:44 +10:30  home.shtml
7  -rwx      112640   Mar 1 2002 10:35:58 +10:30  home.tar
8  -rwx      996472  Dec 27 2008 16:43:47 +10:30  adsl_alc_20190.bin

23482368 bytes total (1648640 bytes free)

After this was complete, the command “reload” was issued so the router can reboot and pickup the new firmware.

cisco877#reload
Proceed with reload? [confirm] yes

Note: If I issued “delete flash:adsl_alc_20190.bin” the firmware would be removed and the default one would be loaded from within the IOS “AMR-3.0.014.bin”. So there is nothing you can really do to screw up the upgrade if something goes wrong, simply just delete the file from the flash.

Issues discovered

I needed to rollback to c870-advsecurityk9-mz.124-20.T for the firmware to work, and I had c870-advsecurityk9-mz.124-22.T installed. So what I did was just issue the command

cisco877#delete flash:/c870-advsecurityk9-mz.124-22.T.bin
Delete filename [c870-advsecurityk9-mz.124-22.T.bin]?
Delete flash:/c870-advsecurityk9-mz.124-22.T.bin? [confirm]

After this I then tried copying the -20.T IOS via FTP however this kept constantly failing, and I had no idea why with the following error:

cisco877#copy tftp flash
Address or name of remote host []? 10.108.1.16
Source filename []? c870-advsecurityk9-mz.124-20.T.bin
Destination filename [c870-advsecurityk9-mz.124-20.T.bin]?
Accessing tftp://10.108.1.16/c870-advsecurityk9-mz.124-20.T.bin…
Loading c870-advsecurityk9-mz.124-20.T.bin from 10.108.1.16 (via Vlan1): !!!!!!]

%Error reading tftp://10.108.1.16/c870-advsecurityk9-mz.124-20.T.bin (Connectio)

I was now thinking, what am i going to do now without the ability to copy this IOS via TFTP. So I did a bit more research and found you can also copy the IOS image via FTP. So then I setup a FTP server with anonymous login and attempted again..

cisco877#copy ftp://10.108.1.10/c870-advsecurityk9-mz.124-20.T.bin flash
Destination filename [c870-advsecurityk9-mz.124-20.T.bin]?
Accessing ftp://10.108.1.10/c870-advsecurityk9-mz.124-20.T.bin…
Loading c870-advsecurityk9-mz.124-20.T.bin !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK – 18275844/4096 bytes]

18275844 bytes copied in 220.164 secs (83010 bytes/sec)

And YESS! The copy worked perfect and IOS loaded just fine, no idea why TFTP didnt like the file 🙁

So if you are in the same scenario ever like this, simply use FTP instead of TFTP to copy an IOS.

A Tip

Remember previously how you had to issue the command “service internal” to configure noise margin settings…well that is no longer the case with this new firmware! Now it is by default in the atm0 interface mode, and theres a few other settings you can adjust as well..

cisco877(config-if)#dsl ?
bitswap              Bitswap Feature
enable-training-log  enable the fw training log for Showtime and failure  cases
gain-setting         ADSL programmable gain setting
lom                      Loss Of Margin watch counter for line retrain
max-tone-bits     set maximum bits per tone limit
noise-margin       set noise margin offset
operating-mode   auto or specific ADSL mode
power-cutback     Noise Threshold for Power CutBack
sync                    ADSL sync preferences

If you decide to take this upgrade path, let me know how you go and if you have any comments or further tips to add to this 🙂

[ad#googleadd1]

15 Comments

Cisco 877 SNR Adjustment for Stability

I managed to find out a secret setting within the 877 to fine tune the SNR margin if you are having stability issues maintaining adsl line sync.

Go into global configuration mode and type the following:
service internal
int atm 0
dsl noise-margin (a value between -3 and 3)

The service internal command exposes the dsl noise-margin command (and other hidden/non standard commands). The dsl noise-margin forces the router to training at a higher noise margin (sacrificing speed for stability). Setting this to 3 for example should see you get a higher noise margin, slower speed (and depending on firmware) a higher attenuation.
Start at 3 and work your way down to 0 in 0.5 steps until you get a stable connection. A value of 0 is the same as not having this command at all (eg: normal settings).
If you add a dsl noise-margin command, after a reload you’ll see “WARNING: Unsupported Command. May cause violation to ADSL standards.” on bootup, ignore it, it’s just the addition of the noise-margin command.
Use the dsl noise-margin command to fine tune your connection to get that extra stability if required.

[ad#googleadd1]

2 Comments