Firmware issues on 7940 - 7960
Created by: jgreco,Last modification on Thu 25 of May, 2006 [00:33 UTC] by GeorgeSteinmetz
As if it wasn't challenging enough to get new firmware for these phones, sometimes bad things happen as part of the update process.
In particular, we ran into a problem going from SIP 6.3 to SIP 7.2. Having successfully loaded the Universal Application Loader, our phone promptly went into a loop, requesting "CTLSEP<mac>.tlv" from the server. Some inspection of the Cisco documentation suggested that this file should not be needed, but in typical fashion, also stated that an empty file would be needed to disable the security functions. Creating this file moved things along (see note below), and the phone then began looping to transfer "SEP<mac>.cnf.xml". The Cisco documentation again suggested that this was only a step along a decision tree, and implied that the phone would just begin trying other things, but this didn't seem to be happening. An empty "SEP<mac>.cnf.xml" did not help matters, and we wound up with the dreaded "Protocol Application Invalid" error, making our previously functional phone into an expensive paperweight.
Lots of Cisco and Google searching failed to yield the correct fix, until some helpful individual came along and provided a little bit of XML magic for the SEP<mac>.cnf.xml file:
<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.0.1</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation6 model="IP Phone 7910"></loadInformation6>
<loadInformation124 model="Addon 7914"></loadInformation124>
<loadInformation9 model="IP Phone 7935"></loadInformation9>
<loadInformation8 model="IP Phone 7940"></loadInformation8>
<loadInformation7 model="IP Phone 7960">P0S3-07-2-00</loadInformation7>
<loadInformation20000 model="IP Phone 7905"></loadInformation20000>
<loadInformation30008 model="IP Phone 7902"></loadInformation30008>
<loadInformation30007 model="IP Phone 7912"></loadInformation30007>
</Default>
It appears that, after it loads the firmware the first time, a null file will suffice for the .xml file.
Notes added Feb 2005:
News! I was helping someone upgrade their phone and we saw a variation on the "stuck on CTLSEP<mac>.tlv" issue. In this new case, creating an empty CTLSEP<mac>.tlv file wasn't sufficient - the phone would hang while successfully retrieving this empty file every few seconds. It appears that removing this file AFTER the phone has been asking for it for a little while may be a useful strategy, as this was apparently what got things moving along again. Thanks to Jason for this clever little bit of workaround. A bronx cheer to Cisco for the stupidest coding and misdocumentation of how this is all supposed to work.
Another minor note. It appears that the phone will retain settings for TFTP server, etc., and once you've got it flashed with the Application Loader, you've essentially bricked it as far as being able to change any settings goes. tcpdump is your friend to see what the dumb thing is doing. In the event you were trying to use a non-local TFTP server and got locked into some bad settings, always remember that you can temporarily reconfigure your local network to addresses that the phone is trying to use.
Notes added Nov 2005, revised May 2006:
You can perform a factory reset of the Cisco 7940, 7941, 7960, 7961 and 7970 phone by holding down "#" as it powers up (or resets), at which point you then dial 123456789*0#. This is useful for many types of recovery, especially when the phone is so disabled that it cannot enter Network Configuration to reset to factory default.
In particular, we ran into a problem going from SIP 6.3 to SIP 7.2. Having successfully loaded the Universal Application Loader, our phone promptly went into a loop, requesting "CTLSEP<mac>.tlv" from the server. Some inspection of the Cisco documentation suggested that this file should not be needed, but in typical fashion, also stated that an empty file would be needed to disable the security functions. Creating this file moved things along (see note below), and the phone then began looping to transfer "SEP<mac>.cnf.xml". The Cisco documentation again suggested that this was only a step along a decision tree, and implied that the phone would just begin trying other things, but this didn't seem to be happening. An empty "SEP<mac>.cnf.xml" did not help matters, and we wound up with the dreaded "Protocol Application Invalid" error, making our previously functional phone into an expensive paperweight.
Lots of Cisco and Google searching failed to yield the correct fix, until some helpful individual came along and provided a little bit of XML magic for the SEP<mac>.cnf.xml file:
<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.0.1</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation6 model="IP Phone 7910"></loadInformation6>
<loadInformation124 model="Addon 7914"></loadInformation124>
<loadInformation9 model="IP Phone 7935"></loadInformation9>
<loadInformation8 model="IP Phone 7940"></loadInformation8>
<loadInformation7 model="IP Phone 7960">P0S3-07-2-00</loadInformation7>
<loadInformation20000 model="IP Phone 7905"></loadInformation20000>
<loadInformation30008 model="IP Phone 7902"></loadInformation30008>
<loadInformation30007 model="IP Phone 7912"></loadInformation30007>
</Default>
It appears that, after it loads the firmware the first time, a null file will suffice for the .xml file.
Notes added Feb 2005:
News! I was helping someone upgrade their phone and we saw a variation on the "stuck on CTLSEP<mac>.tlv" issue. In this new case, creating an empty CTLSEP<mac>.tlv file wasn't sufficient - the phone would hang while successfully retrieving this empty file every few seconds. It appears that removing this file AFTER the phone has been asking for it for a little while may be a useful strategy, as this was apparently what got things moving along again. Thanks to Jason for this clever little bit of workaround. A bronx cheer to Cisco for the stupidest coding and misdocumentation of how this is all supposed to work.
Another minor note. It appears that the phone will retain settings for TFTP server, etc., and once you've got it flashed with the Application Loader, you've essentially bricked it as far as being able to change any settings goes. tcpdump is your friend to see what the dumb thing is doing. In the event you were trying to use a non-local TFTP server and got locked into some bad settings, always remember that you can temporarily reconfigure your local network to addresses that the phone is trying to use.
Notes added Nov 2005, revised May 2006:
You can perform a factory reset of the Cisco 7940, 7941, 7960, 7961 and 7970 phone by holding down "#" as it powers up (or resets), at which point you then dial 123456789*0#. This is useful for many types of recovery, especially when the phone is so disabled that it cannot enter Network Configuration to reset to factory default.
Comments
333De-bricking
1) Reboot it, and hold down # as it's booting.
2) Screen will say "reset key detected". Type 123456789*0#.
3) It said "Do you want to save network config". I selected no.
4) Make sure you've got a DHCP server that's serving the tftp address via option 150, and has your usual config / firmware.
5) Voila! It works again.
333Re: Cisco 7960G Truly locked
333Re: Cisco 7960G Truly locked
After I have rest power cycle the phone and i have setting the tftp32 for DHCP server whit this option:
IP pool starting address: 10.0.0.2
Size of pool: 2
Boot file:
WINS/DNS server: 0.0.0.0
Default Router: 0.0.0.0
Domain name:
Additional option: 150 / (null)
allocate at
11/18 22:36 10.0.0.2 (cisco Phone) Mac: 00.:0f ecc ecc
my log server:
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0F:8F:28:DA:B0 18/11 22:24:50.017
Client requested address 0.68.101.80 18/11 22:24:50.018
DHCP: proposed address 10.0.0.2 18/11 22:24:51.535
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0F:8F:28:DA:B0 18/11 22:25:34.706
Client requested address 0.68.101.80 18/11 22:25:34.708
DHCP: proposed address 10.0.0.2 18/11 22:25:36.219
Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:0F:8F:28:DA:B0 18/11 22:25:37.705
Client requested address 0.68.101.80 18/11 22:25:37.707
DHCP: proposed address 10.0.0.2 18/11 22:25:39.218
What is the problem ???
333Bricked Phone
Any ideas?
333
I found when it was accessing the TFTP server apparently the really old SIP firmware were requesting 79XX.TXT. I modified the 79XX.TXT file to point to the 7960 SCCP firmware.
Note that I went from old SIP to a recent SCCP firmware using the Genband M6 softswitch.
333Bricked as well...
I was wondering if you had made any progress regarding the 'Protocol Application Invalid' message that Seth was getting upon resetting his phone. I am getting the same message as well. The phone does throw out "what appears" to be CDP packets...
03:26:23.896911 00:13:7f:38:b3:de > 01:00:0c:cc:cc:cc, 802.3, length 130: LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0x03, CDPv2, ttl: 180s, checksum: 692 (unverified), length 108
Device-ID (0x01), length: 15 bytes: 'SEP00137F38B3DE'
Address (0x02), length: 13 bytes: IPv4 (1) 192.168.200.5
Port-ID (0x03), length: 6 bytes: 'Port 1'
Capability (0x04), length: 4 bytes: (0x00000010): L3 capable
Version String (0x05), length: 12 bytes:
P00308000100
Platform (0x06), length: 19 bytes: 'Cisco IP Phone 7940'
Duplex (0x0b), length: 1 byte: full
power consumption (0x10), length: 2 bytes: 6.30W
0x0000: 0100 0ccc cccc 0013 7f38 b3de 0074 aaaa .........8...t..
0x0010: 0300 000c 2000 02b4 2402 0001 0013 5345 ........$.....SE
0x0020: 5030 3031 3337 4633 3842 3344 4500 0200 P00137F38B3DE...
0x0030: 1100 0000 0101 01cc 0004 c0a8 c805 0003 ................
0x0040: 000a 506f 7274 2031 0004 0008 0000 0010 ..Port.1........
0x0050: 0005 0010 5030 3033 3038 3030 3031 3030 ....P00308000100
0x0060: 0006 0017 4369 7363 6f20 4950 2050 686f ....Cisco.IP.Pho
0x0070: 6e65 2037 3934 3000 0b00 0501 0010 0006 ne.7940.........
0x0080: 189c
However the catch 22 is that DST_MAC of 01:00:0C:CC:CC:CC is -802-CDP (Cisco Discovery Protocol) AND ****VTP (Virtual Trunking Protocol) ****
The phone becomes bricked on 'Factory Reset' because its 'out of the box' configuration is designed for use with a CISCO switch with CISCO call manager and CISCO blah blah blah. Cisco has a work around for it for their equipment posted here: http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_tech_note09186a008055c1fe.shtml I'm currently in the process of researching this more. Not all of us can afford a $3k Catalyst 3550 PoE switch. Any other input would be very helpful...
333Re: Brick
I know it's not the answer you're looking for as you're now stuck with a dead phone, which sucks. I was just sitting here trying to think of a good resource for you, and got fed up and had to vent. :/
I may be able to help with some more information, though. How did you determine it's sending CDP packets, and can you tell where it's trying to send them?
333Brick
3337961 default.61 file missing
Need those files in DHCP or FTP so it can find them.Thanks
333Fixed mine
I upgraded from 6.3 to 7.5