cable modem firmwares |

You are here

cable modem firmwares

8 posts / 0 new
Last post
cable modem firmwares


We use about 5 different types of cable modems on our systems. Does anybody have a nice neat way of updating firmwares via tftp without screwing up other modems? I update my Arris tm502Gs like this:

SnmpMibObject docsDevSwAdminStatus.0 Integer 2; /* allowProvisioningUpgrade */
SnmpMibObject enterprises.4115. Integer 16384 ;
SwUpgradeFilename "TS050269_102408_NA.MODEL_4_5_6.SIP.TELNET_ON.img";

I give that config file only to my TM502Gs. I'm kind of new at this part. Is it possible to really screw something up? Say if I gave the wrong file to the wrong cable modem. Are me modems smarter than that? Also I have several different Motorola modems out in the plant and don't know who has a 4200 or 3100. I guess what I need is a mini tutorial unless I'm making this too difficult.


Try this

You guys rock! Thanks so much. I was making it too difficult.


cable modem firmwares

There maybe a few more complications.

Upgrading modems will depend on what version (D 1.0, 1.1, 2.0) they are currently running as well and if they are currently provisioned with a CVC.

Other challenges with the older Moto modems 3100, 41xx may be the certificates that they currently have. There were issues where cert upgrades were needed to be done as well but Moto stopped the cert upgrade support 12/31/08.

Start by collect a list of all the modem versions (HW and SW) that are deployed.


firmware upgrade

I've got this old program that's really cool, you put in the ip and snmp string of the cmts. it polls the modems so you know what's out there and then you can pick the modems you wanted upgraded. sends snmp for them to upgrade to firmware xxxx and then they download the new firmware. post your email and I'll pass it along.


btw Tom, do you have a copy of Packet Ace I could have?

I have PacketAce 6.1 TS0405

I have PacketAce 6.1 TS0405 - if you need it drop me a line - root at net1 dot cc

How complicated do you want to make it????

We have a similar combination of Arris and Motorola modems,

Firmware upgrades can be done via snmp [b]If[/b] you have the manufacturers CVC in the config file (docsis1.1+)

You can automatically get your modems to upgrade/ or be ready for upgrade using a combination of dhcpd and tftp

in dhcpd first you need to define

# Map option 43 values for Docsis modems
option space vendorOptions;
option vendorOptions.deviceType code 2 = string;
option vendorOptions.serialNumber code 4 = string;
option vendorOptions.hardwareVersion code 5 = string;
option vendorOptions.softwareVersion code 6 = string;
option vendorOptions.bootRomVersion code 7 = string;
option vendorOptions.oui code 8 = string;
option vendorOptions.modelNumber code 9 = string;
option vendorOptions.docsisVendor code 10 = string;
option vendorOptions-pkt code 43 = encapsulate vendorOptions;

This will allow you to make firmware upgrade decisions on info the modem provides.

here is an example

if exists vendorOptions.docsisVendor and (substring(option vendorOptions.docsisVendor,0,5) = "Arris" or substring(option vendorOptions.docsisVendor,0,5) = "Motor"){
filename = concat("CM_",substring(option vendor-class-identifier,0,9),"_",substring(option vendorOptions.docsisVendor,0,5), "_Speeds.bin");
option bootfile-name = concat("CM_",substring(option vendor-class-identifier,0,9),"_",substring(option vendorOptions.docsisVendor,0,5), "_Speeds.bin");
} else {
filename = concat("CM_",substring(option vendor-class-identifier,0,9),"_Speeds.bin");
option bootfile-name = concat("CM_",substring(option vendor-class-identifier,0,9),"_Speeds.bin");

What this does is if option43.10 is provided with the dhcp discover (Most Arris and Motorola modems do provide this the strings the modem send are Arris and Motorola or some variation on that.) is craft a bootfile-name to reflect what type of modem this is, I go one step further and separate it out by docsis version.

you end up with file name like
CM_docsis1.1_Motor_Speeds.bin for a docsis 1.1 Motorola modem or
CM_docsis2.0_Arris_Speeds.bin for a docsis 2.0 Arris Modem or
CM_docsis1.0_Speeds.bin for a docsis 1.0 modem that is not an Arris or Motor.

Using a technique like this along with something like docsisConfig from which can dynamically create configs,, you could make a really robust system. Current motorola and Arris modems will report more than enough info in option 43 to easily categorize them for firmware update.

if you are interested to see what kind of info your modems are providing try this snippet

log (info, concat("Option 43 values \r\nDevice Type: ", option vendorOptions.deviceType, "\r\nSerial Number: ", option vendorOption.serialNumber, "\r\nHardware Version: ", option vendorOptions.hardwareVersion, "\r\nSoftware Version: ", option vendorOptions.softwareVersion, "\r\nBoot Rom Version: ", option vendorOptions.bootRomVersion, "\r\nOUI: ", option vendorOptions.oui, "\r\nModel Number: ", option vendorOptions.modelNumber, "\r\nDocsis Vendor: ", option vendorOptions.docsisVendor));

then watch your logs you will see that for current motorola and arris modems most of this info is provided for you to filter on

If you wan't upgrade all

If you wan't upgrade all modems, write script on PErl for example
1. Read from cmts all modems online
2. Put ip's in table
3. read from snmp (use SNMP::Multi) firmware in modems
4. Use funkcion IF THEN to find modems with old firmware and put them to other table, here you can find what kind of modem is. All my modems have firmware like "model_of_modem-number_of_firmware", it is fast to know what modem is
5. upgrade modems by snmp

I use this in cron and forget about upgardes.

Say if I gave the wrong file to the wrong cable modem. Are me modems smarter than that?
Nothing happens.

Log in or register to post comments