Skip to content

Instantly share code, notes, and snippets.

@wmbutler
Last active November 22, 2024 15:11
Show Gist options
  • Save wmbutler/6d26390d919da22ccdb80ad47ca27e78 to your computer and use it in GitHub Desktop.
Save wmbutler/6d26390d919da22ccdb80ad47ca27e78 to your computer and use it in GitHub Desktop.
A guide for updating the firmware for a Yealink CP960 used for Zoom Room Meetings

Upgrading the Yealink CP960

After the big Zoom 5.0 upgrade, I discovered that my yealink phones were not working as expected. Yealink's documentation sucks on the matter. There are a couple of issues with their documentation:

  • The first set of instructions says to login to the phone by getting the IP address and opening a web browser to that IP. https://xxx.xxx.xxx.xxx. My phones had the web access disabled.

If the phone is managed by Zoom:

  1. Login to your Zoom account as an admin
  2. ADMIN -> Company Info -> Desk Phone
  3. Set Web Interface to on

Create a Provisioning Template

  • ADMIN -> Company Info -> Account Settings -> Desk Phone -> Provision Template -> Add
#Firmware URL:
static.firmware.url = https://<full url to rom>/CP960-73.30.0.36.rom
  • I saved the template as CP960 Zoom Room so I'd know where to apply it.
  • ADMIN -> Users & Rooms -> Common Area Phones
  • Add the phone by MAC address if it's not already listed
  • Be sure to add your provision template you just created near the bottom where it says "Bind"
  • Click Provision

At this point the phone ended up in a firmware download loop. It seemed to be getting the 73.30.0.36.rom from my Provisioning Template above but then immediately restarting and downloading Zoom's 73.83.3.13. My running theory based on this is that Zoom has not updated their default image for the CP960. Here is a quote from Yealink providing evidence to my assertion:

Hi Bill, The instructions on ZOOM’s page is not right, should be 73.30.0.36(latest Zoom version), now that your 2 phones are stuck >like that, I suggest delete the Server URL from your phone, and upgrade the firmware manually and see what happens.

I have a call scheduled with Zoom today to review this. I think my biggest concern with Chris' statement is that if I remove the zoom provisioning URL, this could affect future upgrades and phone integration.

Past Issues (likely resolved if you follow the instructions above.)

This did not ultimately solve the problem though because the phone would then go through a 2 or 3 cycle of reboots during which it would set it's web access back to off. Somehow, I was able to connect in between a cycle to get to the menu, however on my phone, there was no Upgrade menu. After contactin yealink, they indicated that this must have been some restricted firmware. They suggested I do the following:

  1. Download this baseline firmware and copy it to a USB key.
  2. Rename the file to CP960.rom
  3. Insert the USB key
  4. Plug the CP960 into power.
  5. After it boots up, hold the center round button for 15 seconds. The unit will ask to reset itself to Factory Settings. Confirm this dialog.
  6. After a reboot, the unit will find the file and update the firmware.

After the firmware update, you will need to re-enable the web server since the default is to be disabled. You can then access the unit via a web browser.

  1. I clicked the button to clear the contents of the SD card.
  2. I then located the firmware file: 73.30.0.36 and the firmware update ran through downloading and installing.

The phone then rebooted itself and started downloading the old firmware again. I have no idea where is was downloading it from. When it finished, it had re-installed 73.83.3.13. I'm still working with Yealink to resolve this but after repeated requests for documentation, I still have not received a procedure that works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment