So we finally moved away from Griffin Networks broadband – which was ok to be fair…as fair as stepping on a nail every step for a mile! – and went with TalkTalk Business broadband instead.
We’re still going through the usual 10-day stabilisation period, so I’ll reserve judgement until then; although it’s already more stable than Griffin Networks!
Anyway, now that we’ve been up and running for 4 days, I thought I’d upgrade the ADSL firmware and see if that made any difference to the broadband performance.
Here’s how to upgrade the ADSL firmware on a Cisco 877W router:
Upgrading Cisco ADSL Firmware
- First, check your current ADSL firmware version:
sh dsl int atm 0
- Look for the line starting “Init FW”, eg. “Init FW: init_AMR-3.0.014_no_bist.bin”.
- A quick way is to use this command to just include the lines starting with “Init”:
sh dsl int atm 0 | i Init
- Now download the latest ADSL firmware.
- Rename the file to “adsl_alc_20190.bin”.
- Put the file in the root folder used by your TFTP server software of choice ( I prefer http://www.solarwinds.com/products/freetools/free_tftp_server.aspx)
- Log into your router and copy the new firmware to flash memory:
copy tftp flash
- Enter your TFTP server’s IP address.
- Confirm the firmware’s filename, making sure you do not change it.
- Restart your router:
reload
- Check your ADSL firmware version again:
sh dsl int atm 0 | i Init
- Hopefully it will show the new version eg. “Init FW: init_AMR_4.0.017.bin”
Debugging ADSL
I had to update the username and password for the new broadband connection – as soon as the old connection went down – but I didn’t know how long it would stay offline, so I wanted to monitor what was going on. Here’s what I did:
- Log into your router and make sure debug message will appear on your terminal:
terminal monitor
- Display all ATM events:
debug atm events
- When it cannot connect, you will see nothing but ‘Modem state = 0x8’:
*Mar 15 19:54:51.437: DSL(ATM0): 5: Modem state = 0x8 C877W# *Mar 15 19:54:53.937: DSL(ATM0): 6: Modem state = 0x8 C877W# *Mar 15 19:54:56.437: DSL(ATM0): 7: Modem state = 0x8 C877W# *Mar 15 19:54:58.937: DSL(ATM0): 8: Modem state = 0x8 C877W# *Mar 15 19:55:01.437: DSL(ATM0): 9: Modem state = 0x8 C877W# *Mar 15 19:55:03.937: DSL(ATM0): 10: Modem state = 0x8 C877W# *Mar 15 19:55:06.437: DSL(ATM0): 11: Modem state = 0x8 C877W# *Mar 15 19:55:08.937: DSL(ATM0): 12: Modem state = 0x8
- However, once things start to work, you will see something similar to this:
*Mar 15 20:10:44.935: DSL(ATM0): 1: Modem state = 0x9 C877W# *Mar 15 20:10:47.435: DSL(ATM0): 2: Modem state = 0x9 C877W# *Mar 15 20:10:49.947: DSL(ATM0): 3: Modem state = 0x10 C877W# *Mar 15 20:10:52.447: DSL(ATM0): 4: Modem state = 0x10 C877W# *Mar 15 20:10:54.947: DSL(ATM0): 5: Modem state = 0x10 C877W# *Mar 15 20:10:57.447: DSL(ATM0): 6: Modem state = 0x10 C877W# *Mar 15 20:10:59.947: DSL(ATM0): 7: Modem state = 0x10 C877W# *Mar 15 20:11:02.447: DSL(ATM0): 8: Modem state = 0x10 *Mar 15 20:11:02.911: DSL(ATM0): Received response: 0x24 *Mar 15 20:11:02.911: DSL(ATM0): Showtime! [OUTPUT SUPPRESSED] *Mar 15 20:11:03.035: DSL: SM: [DMTDSL_DO_OPEN -> DMTDSL_SHOWTIME]
- When you see SHOWTIME, you can relax.
- Disable debugging ATM events:
undebug all
- Job done!