Cisco 7940/7960 firmware upgrade/downgrade guide
Here's where we try to take some of the agony out of loading a 7940/7960
with firmware.
I think that a lot of folks will agree that loading a Cisco phone can be
either a piece of cake or a total pain in the butt!!! - No in betweens! - But
we'll do what we can to make it a little less agonizing for you.
We'll do this by showing you a couple of lists.
From the first list, you'll tell us what firmware's currently loaded in your
phone.
Based on what your phone has loaded, we'll then show you a choice of
possible firmware(s) you can load into your phone.
After you choose what you want to load, we'll then (try to) explain a little
about the loading process and what you need to do.
A few notes before starting (please read - at least once!)
- Cisco says there are two ways to load (some) firmware. - One is using
Cisco's 'Call Manager' ('CCM') and the other is to use a TFTP server. - We only
know how to load a phone via TFTP and have never even tried (nor seen)
'CCM'.
Therefore, when you see your list to choose which firmware you want to load,
you'll not see any selections that only load via
'CCM'.
- Even if your phone is 'locked' (you don't know it's configuration password),
you can still reset the network settings so you can use a TFTP server if it
has DHCP capabilities. - This will allow you to load firmware and (later) reset
the phone's password. - You can read more on this on our 'password reset
page'. - Look HERE for more info.
(Just click your browser's 'back' button to return to this page.)
This 'password reset' page also describes the TFTP server we use and a
little on how to set it up.
- Depending on what your current load is (type and version) and what you
desire to load (type and version), there up to six different scenarios
you'll need to use. - In fact, some loads require loading an intermediate
version before finally getting to your 'destination version'.
- At this point, we don't have too many available but where we can, we'll
show you screen shots of our own TFTP server when we load various
firmware(s).
- Don't be afraid to try! - Several times when I first started loading
phones, I messed up and thought "omygawd! - I just created a $300
paperweight!". - But with patience (and some luck), you can load a phone. -
If you really get into a jam, there's help available. - If you wish,
and I'll see what I can do to help.
- Lastly.. If there's any input you can provide to help us improve
these pages, please let us know (email to the Email Me link above). -
Feedback is always appreciated.
Please don't forget this is a 'donation' site. - Whatever we receive in the way
of donations is the only thing that covers our operating
expenses.
Okay - Ready to get started?
Please double-check & make sure the above matches with your phone's installed
firmware before continuing.
If you wish to bail out and re-select your installed firmware, here's your
chance.
Based on the firmware version that's currently in the phone, the list on the left
shows you all the possible firmware versions you can load.
Just like the previous menu, all you need to do is select which version you want
to load and we'll tell you about what procedure you need to use and
a little about it.
Cisco specifies what they call 'Procedure A' for this load
Here is Cisco's description for this procedure:
The SEP<mac-address>.cnf.xml file is downloaded when the phone is
reset. This file contains the load_information tag that tells the phone
which image it should be running. If this image load differs from the one
currently loaded on the phone, the phone contacts the TFTP server to upgrade
to the new image.
There's not much else to this except that this procedure is only associated with
SCCP (skinny) loads and we don't use SCCP on any of our phones.
Cisco specifies what they call 'Procedure B' for this load.
Here is Cisco's description for this procedure:
- 1. Copy the desired binary image from Cisco.com to the root directory
of the TFTP server.
- 2. Open the OS79XX.TXT file with a text editor and change the file
to include the disired image.
- 3. Specify the desired image in the protocol configuration files.
- 4. Reset each phone.
- The phone contacts the TFTP server and requests its configuration files.
The phone compares the image that is defined in the configuration file to the
image that it has stored in flash memory. If the phone determines that the
image in the configuration file differs from the image in flash memory, it
downloads the image in the configuration file (which is stored in the root
directory of the TFTP server). Once the new image has been downloaded, the
phone programs that image into flash memory and reboots.
Cisco specifies what they call 'Procedure C' for this load.
Here is Cisco's description for this procedure:
Specify the image in the configuration file image parameter for the protocol
that is being upgraded to (load_information for SCCP or image_version for
SIP and MGCP). - Remove any protocol configuration files that are not used
for the specified protocol.
For example:
- SCCP -- For SCCP, the SEP<mac-address>.cnf.xml file is downloaded
when a phone is reset. - This file contains the load_information tag that
tells the phone which image it should be running. - If the image load
differs from the one that is currently in the phone, the phone contacts the
TFTP server to upgrade to the new image.
- SIP -- For SIP, the SIPDefault.cnf and SIP<mac-address>.cnf files
are downloaded when a phone is reset. - This file contains the image_version
parameter that tells the phone which image it should be running. - If the
image differs from the one that is currently loaded on the phone, the phone
contacts the TFTP server to upgrade to the new image.
- MGCP -- For MGCP, the MGCDefault.cnf and MGC<mac-address>.cnf files
are downloaded when a phone is reset. - This file contains the image_version
parameter that tells the phone which image it should be running. - If the
image differs from the one that is currently loaded on the phone, the phone
contacts the TFTP server to upgrade to the new image.
Note: For a single step upgrade from an SCCP image to a SIP or MGCP
image (manufacturing images, for example) the load information tag in the
XML Default.cnf.xml file must reflect the Universal Application Loader Image
(P003-xx-y-zz). This step is in addition to the steps listed above for SIP
and MGCP. - For example:
<loadInformation8
model="IP Phone 7940">P003-07-4-00</loadInformation8>
<loadInformation7
model="IP Phone 7960">P003-07-4-00</loadInformation7>
Cisco specifies what they call 'Procedure D' for this load.
Here's Cisco's description of this load:
- 1. Unzip the software_version.zip file in the root (top level) TFTP
directory.
- 2. Reset the phone.
- The phone contacts the TFTP server and requests its configuration files.
The phone compares the image defined in OS79XX.TXT and protocol
configuration files to the image that it has stored in flash memory.
If the phone determines that the image defined in the files differs from
the image in flash memory, it downloads the image that is defined (which
is stored in the root directory on the TFTP server). Once the new image
has been downloaded, the phone programs that image into flash memory and
reboots.
Cisco specifies what they call 'Procedure D2' for this load.
This almost identical to the normal Procedure 'D'. - See my note below.
Here's Cisco's description of this load:
-
1. Unzip the software_version.zip file in the root (top level) TFTP
directory.
-
2. Reset the phone.
- The phone contacts the TFTP server and requests its configuration files.
The phone compares the image defined in OS79XX.TXT and protocol
configuration files to the image that it has stored in flash memory.
If the phone determines that the image defined in the files differs from
the image in flash memory, it downloads the image that is defined (which is
stored in the root directory on the TFTP server). Once the new image has
been downloaded, the phone programs that image into flash memory and
reboots.
Note: - If you want to upgrade from SIP 5.x or 6.x to 7.x use
Procedure 'F'. - Upgrading from SIP 5.x directly to SIP 7.x is not
possible. - First upgrade to SIP 6.3 and then go to SIP 7.x.
FYI - 'Procedure F' specifies to further use Procedures 'B' & 'D'. - If you
like, we can show you 'Procedure F' and those procedures it specifies:
'Procedure F'
Here's Cisco's description for procedure 'F':
1. Upgrade to the 6.3 image using Procedure 'B'.
Then (if necessary)
2. Upgrade to the desired image using Procedure 'D'.
'Procedure B'
Here is Cisco's description for procedure 'B':
- 1. Copy the desired binary image from Cisco.com to the root directory
of the TFTP server.
- 2. Open the OS79XX.TXT file with a text editor and change the file
to include the disired image.
- 3. Specify the desired image in the protocol configuration files.
- 4. Reset each phone.
- The phone contacts the TFTP server and requests its configuration files.
The phone compares the image that is defined in the configuration file to the
image that it has stored in flash memory. If the phone determines that the
image in the configuration file differs from the image in flash memory, it
downloads the image in the configuration file (which is stored in the root
directory of the TFTP server). Once the new image has been downloaded, the
phone programs that image into flash memory and reboots.
'Procedure D'
Here's Cisco's description for procedure 'D':
- 1. Unzip the software_version.zip file in the root (top level) TFTP
directory.
- 2. Reset the phone.
- The phone contacts the TFTP server and requests its configuration files.
The phone compares the image defined in OS79XX.TXT and protocol
configuration files to the image that it has stored in flash memory.
If the phone determines that the image defined in the files differs from
the image in flash memory, it downloads the image that is defined (which
is stored in the root directory on the TFTP server). Once the new image
has been downloaded, the phone programs that image into flash memory and
reboots.
Cisco specifies what they call 'Procedure E' for this load.
Here is Cisco's description of this procedure:
There are two possible ways to accomplish this upgrade.
- 1. Create the configuration file for the desired protocol on the TFTP
server that has been specified in the phone and remove all other protocol
configuration files. In this configuration file, specify the image using
the load_information tag (SCCP) or the image_version tag (SIP and
MGCP).
- Reset the phone.
- For example, if the image on the phone is SCCP and the image desired is
MGCP, create an MGCP<mac-address>.cnf or MGCDefault.cnf configuration
file with the image_version set to the desi"red" image; remove all other
protocol configuration files for this phone.
- 2. Using the configuration file for the protocol that the phone is
currently running, change the image in the load_information tag (SCCP) or
the image_version (SIP and MGCP) to represent the protocol that is chosen to
run.
For example, if the image on the phone is SIP and the image disired is
SCCP, change the image_version paramater to reflect the SCCP image
(P000306000200).
Cisco specifies what they call 'Procedure F' for this load.
Here's Cisco's description for this procedure:
1. Upgrade to the 6.3 image using Procedure 'B'.
Then (if necessary)
2. Upgrade to the desired image using Procedure 'D'.
If you like, we can show you these other procedures:
'Procedure B'
Here is Cisco's description for procedure 'B':
- 1. Copy the desired binary image from Cisco.com to the root directory
of the TFTP server.
- 2. Open the OS79XX.TXT file with a text editor and change the file
to include the disired image.
- 3. Specify the desired image in the protocol configuration files.
- 4. Reset each phone.
- The phone contacts the TFTP server and requests its configuration files.
The phone compares the image that is defined in the configuration file to the
image that it has stored in flash memory. If the phone determines that the
image in the configuration file differs from the image in flash memory, it
downloads the image in the configuration file (which is stored in the root
directory of the TFTP server). Once the new image has been downloaded, the
phone programs that image into flash memory and reboots.
'Procedure D'
Here's Cisco's description for procedure 'D':
- 1. Unzip the software_version.zip file in the root (top level) TFTP
directory.
- 2. Reset the phone.
- The phone contacts the TFTP server and requests its configuration files.
The phone compares the image defined in OS79XX.TXT and protocol
configuration files to the image that it has stored in flash memory.
If the phone determines that the image defined in the files differs from
the image in flash memory, it downloads the image that is defined (which
is stored in the root directory on the TFTP server). Once the new image
has been downloaded, the phone programs that image into flash memory and
reboots.
Uh Oh! - You found a BUG!!
For some reason I can't find any procedure for your installed firmware and you
'target' firmware. - But one surely exists.
This can only mean we have a bug in our program. - While we extensively check
all scenarios, it's still possible one may 'leak through'.
PLEASE!
and include your 'installed version' and your 'desired version' of firmware from
above. - Your feedback will be greatly appreciated. - Thanks!
Hints / Tips / Gotcha's
Here we'll try to pass on some usefull Hints, Tips, & Gotcha's we learned
along the way. - Hope you find at least some of them helpfull.
Early SIP versions:
SIP versions 1 & 2 are not recommended due to their age (In fact, we haven't
been able to find SIP ver. 1 anywhere.). - However you may need to load an early SIP
version as an 'intermediate' load to access the later versions (see next item).
If you have SIP 2.1 or earlier installed:
1 - These versions will not allow upgrading to a version if the number of
characters is greater than 8 (it uses old 8.3 DOS filenames). - Cisco recommends
re-naming the binary to 8 characters.
1A - Even after re-naming the file, it still won't work if it's larger than
384K in size. - Thanks to a kind soul on the Internet for this info (of
course, we can't find anything in Cisco's docs regarding this).
Our recommendation is to first load either SIP version 2.2 or 2.3
which allows longer filenames and larger size loads. - Then you'll be
'good-to-go' for the bigger stuff.
Unlocking a Phone:
On your phone, if you press 'Settings', scroll to the bottom and do
not see 'Unlock Config', this means that you have a very early firmware
version
To 'unlock' this type of a configuration is to press
'**#. - This uses the same method as the 7905/7912
phones use.
If you DO see 'Unlock Config',
'**#' will NOT work and you'll have to enter
the phone's password. - The default password from the factory is: cisco
Reseting a Phone.
You can do this by a 'power reset' or by pressing:
'asterisk'-'6'-'Settings' all at the same time. - Cisco's version of a
PC's: 'alt'-'ctrl'-'del' (three-finger salute).
Loading a ver. 5 or later onto a Pre-ver. 5 Phone
Please be aware that after loding a ver. 5.x or later onto a pre-ver. 5 phone,
you can NEVER revert the phone back to a pre-5.x image (regardless
of the protocol).
This is because beginning with version 5.0 (all protocols), Cisco introduced
'signed images' and part of your 'load' will replace the phone's application
loader. - This new loader will only accept 'signed' images for any subsequent
loads.
Cisco's Firmware Upgrade Matrix
Procedure |
A |
B |
C |
D |
D2 |
E |
F |
Source |
Target |
Source |
Target |
Source |
Target |
Source |
Target |
Source |
Target |
Source |
Target |
Source |
Target |
Any SCCP |
Any SCCP |
SCCP 3.x/5.x |
SIP/MGCP 6.x or earlier |
Any SCCP |
SIP/MGCP 6.x or later |
SIP/MGCP 5.x/6.x |
SCCP 5.x or later |
SIP 5.x/6.x |
SIP/MGCP 7.x or later |
SIP or MGCP 7.x or later |
SCCP 5.x or later |
SIP or MGCP 4.x or earlier |
SCCP 6.x or later |
| |
SIP/MGCP 4.x or earlier |
SCCP 5.x or earlier |
| |
| |
| |
SIP 7.x or later |
SIP/MGCP 7.xx or later |
SIP or MGCP 4.x or earlier |
SCCP 6.x or later |
| |
SIP/MGCP 4.x or earlier |
SIP/MGCP 6.x or earlier |
| |
| |
| |
MGCP 7.x or later |
SIP/MGCP 5.xx or later |
SIP or MGCP 4.x or earlier |
SIP/MGCP 7.x or later |
| |
SIP/MGCP 5.x/6.x |
SIP/MGCP 5.x/6.x |
| |
| |
| |
| |
MGCP 5.x/6x |
SIP/MGCP 7.x or later |
Here's a link to the Cisco's Firmware Upgrade page that includes a lot of usefull
information if you can just wade through it:
Cisco's Firmware Guide