Arris CM820 &DG860 firmware upgrade question |

You are here

Arris CM820 &DG860 firmware upgrade question

8 posts / 0 new
Last post
Arris CM820 &DG860 firmware upgrade question
Image icon config.JPG67.23 KB

HI Everyone,

I looking a way where i can push a upgrade on my plant to upgrade D3 cable modem. I actually running on Aris CM820 and DG860 cable modem. I'm running my dhcp server with CNR and i did a tftp script where i can upgrade one modem at the time and everything working well. the problem is i dont have 1 kinds of cable modem, but 2 differents models on my cable plant.

Is there any way, in the config file, to tell it if if it is this model, use this image, this model, this email, etc..

I'm using one config file for each different speed only.

On attachment, a copy of my config.

thanks for your help.

Yes most vendors have a

Yes most vendors have a method where you can populate a table in the cm config file

"Arris Enhanced Firmware Loading" can be done like this example. You create one table entry per model. When the modem boots, it will look for a matching model number in the table, and upgrade if running firmware doesn't match the one listed in the table.

SnmpMibObject docsDevSwAdminStatus.0 Integer 2;
SnmpMibObject arrisCmDoc30SwAdminStatus.0 Integer 2;

SnmpMibObject arrisCmDoc30SwHwModel.1 String "TM722G" ;
SnmpMibObject arrisCmDoc30SwServerAddressType.1 Integer 1;
SnmpMibObject arrisCmDoc30SwServerAddress.1 HexString 0xc0a801f3 ;
SnmpMibObject arrisCmDoc30SwFilename.1 String "Arris/fw/TS0901103S_122215_NA.MODEL_7_8.SIP.img" ;

SnmpMibObject arrisCmDoc30SwHwModel.2 String "TM802G" ;
SnmpMibObject arrisCmDoc30SwServerAddressType.2 Integer 1;
SnmpMibObject arrisCmDoc30SwServerAddress.2 HexString 0xc0a801f3 ;
SnmpMibObject arrisCmDoc30SwFilename.2 String "Arris/fw/TS0901103S_122215_NA.MODEL_7_8.SIP.img" ;

SnmpMibObject arrisCmDoc30SwHwModel.3 String "TG852G" ;
SnmpMibObject arrisCmDoc30SwServerAddressType.3 Integer 1;
SnmpMibObject arrisCmDoc30SwServerAddress.3 HexString 0xc0a801f3 ;
SnmpMibObject arrisCmDoc30SwFilename.3 String "Arris/fw/TS0705125_062314_NA.MODEL_852.GW.SIP.MONO.img" ;

alright, i will try it.

alright, i will try it. thanks for your help :)

I did try but it look like i

I did try but it look like i missing something in my config file.

On attachment, my config. do you see anything wrong ?

File attachments: 
yes you need the CVC (code

yes you need the CVC (code verification certificate) that matches the firmware you are loading, this means you will need at the very least one config for each manufacturer of modems, i.e. Arris/Cisco ... Some vendors like Arris allow multiple models of modems to be specified in a config file, but if not you will either need 1 config for each model or to do the upgrade with snmp. (the CVC must be present even when doing snmp upgrades)

fortunately, in option 43 the manufacturer and model are available

in dhcpd you can add this to your config

# 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;

you can also use variables in dhcpd to capture this info to generate a config name
i.e. assumming speed is set in the the host declaration or group declaration.
# Setup config File name
if (substring(option vendor-class-identifier,0,6) = "docsis") {
set docsisversion = substring(option vendor-class-identifier,0,9);
} else {
set docsisversion = "docsis1.0";
if ((substring(option vendorOptions.docsisVendor, 0 ,5) = "Motor") or (substring(option vendorOptions.docsisVendor, 0 ,5) = "Cisco") or (substring(option vendorOptions.docsisVendor, 0 ,5) = "Arris")) {
set vendorname = substring(option vendorOptions.docsisVendor, 0 ,5);
} else {
set vendorname = "Other";
set model = option vendorOptions.modelNumber;
if (model = "SB5100" or model = "SB5101" or model = "SB5101U" or model ="SB5101NU" or model ="SB5120" or model = "SBG900" or model = "SBG940" or model = "SBG941" or model = "SBG1000" or model ="SB6120" or model = "SB6121" or model ="SB6141" or model = "SBG6580" or model ="TG852G" or model = "TG862G" or model = "DG860A" or model = "DG860P2" or model = "SBG6700-AC") {
set modeltype = concat(model, "/");
} else {
set modeltype = "";
if (docsisversion = "docsis1.0") {
set docsisfile = concat(docsisversion, "/", speed, ".bin");
} else {
set docsisfile = concat(docsisversion, "/", vendorname, "/", modeltype, speed, ".bin");
filename = docsisfile;
option bootfile-name = docsisfile;
log (info, model);
log (info, docsisfile);
unset docsisversion;
unset vendorname;
unset model;
#unset docsisfile;
unset modeltype;

Thank you

Thanks kwesibrunee
For the most part I've created modem files with firmware upgrades and reset just the modems I wanted upgraded via the cmts cable modem reset mac range. it works, but then need to reset them again to get the files they should have in regards to speeds and cpe's


Another option either in

Another option either in addition or separately is to do a nightly crontab that polls modem model numbers and firmware versions, and does snnpset style upgrades to any that don't have latest firmware

cert file

Question, I've found that I've had to add the cert file or recert file for the modems to take the upgrade. with these being the same modem make, Arris would the cert be part of the modem file and how would it work when you have an older Motorola or Hitron cable modems in the mix?


Log in or register to post comments