Yealink Phone Firmware Not Updating Since Upgrade to V20

NJohnson

Premier Customer
Joined
Jan 30, 2021
Messages
28
Reaction score
13
As the title of this thread suggests, I can no longer update Yealink phone firmware from the admin console since upgrading to V20. You can click the "Upgrade" link on the phone page in the 3CX admin console, and it says it's going to update it, gives you the pop-up message "The phone will disconnect during the firmware update. This will take about 5 minutes", but it never updates. This worked perfectly in V18 and never had any kind of issue with it. We have 2 models of phones we use, Polycom VVX311 and Yealink SIP-T66U and it seems that the Polycom phones will actually update most of the time and the Yealink phones never update. This is but one of the several issues I have with V20, but those are not as big as not being able to upgrade firmware. Anyone have any advice?
 
As the title of this thread suggests, I can no longer update Yealink phone firmware from the admin console since upgrading to V20. You can click the "Upgrade" link on the phone page in the 3CX admin console, and it says it's going to update it, gives you the pop-up message "The phone will disconnect during the firmware update. This will take about 5 minutes", but it never updates. This worked perfectly in V18 and never had any kind of issue with it. We have 2 models of phones we use, Polycom VVX311 and Yealink SIP-T66U and it seems that the Polycom phones will actually update most of the time and the Yealink phones never update. This is but one of the several issues I have with V20, but those are not as big as not being able to upgrade firmware. Anyone have any advice?
What connection method are you using for the phones? SBC, Local or Stun?
 
They are local.
 
A few things to check

1. V20 now requires split DNS for local installs. If you don't have this in place, the phones will not be able to reach the PBX and it will cause provisioning to fail (firmware upgrade relies on provisioning). So change a BLF or two, does it reprovision? If not then this is the first issue you must resolve. https://www.3cx.com/blog/releases/split-dns-on-prem/


2. Login to one of the phones and observe the provisioning URL (Settings > Auto Provision > Server URL). Then look at the provisioning URL in your Admin console for the same phone under the extension IP Phone page. Do they match perfectly or has the port changed at the end of the FQDN? If the port has changed when you moved to V20 then it means that while the phones continue to work fine, they will no longer provision or upgrade. You will have to paste the new URL into each phone or factory reset then reprovision it from scratch.

3. Yealink phones will refuse to upgrade to the latest version we offer if they happen to have a sufficiently older version. If this is the case, you will have to contact the manufacturer, get the in-between versions installed and then finally upgrade to the latest we support. First check 1 & 2 before this, since provisioning must be confirmed working.
 
Manipulating a BLF works as expected. I've been using split DNS for years, so I know that's good. The Yealink phones that won't update all have firmware 108.86.0.70 on them and the Yealink phones on my other 3CX server at one of our other locations that hasn't been upgraded to V20 yet will upgrade from version 108.86.0.70 to version 108.86.0.93 with no problem, so that rules out the firmware being too old. This has to be an issue with V20 itself or something didn't go right when this instance got upgraded to V20.
 
Please check the following then:

- Send the upgrade to a phone
- In the phones page, find the device and click the 3 dots, and selecting "Config"
- Click inside the config window and Ctrl+F to search firmware.url

This will show you the URL that the system generates for the phone to fetch the file from. If you see the URL ending in T4XU-108.86.0.93.rom for example and you can use the URL in your browser to download the file then there is nothing wrong from the 3CX side.

The URL should appear in this form:

https://myserver.3cx.com/provisioning/ajgl904hko/firmware/yealink/T4XU-108.86.0.93.rom
 
Yeah, the config file has the correct info. It doesn't make sense why this was working 3 weeks ago prior to the upgrade to V20 but now it's not. Nothing but the upgrade has changed in that environment. New phones provision correctly, BLF updates are seen immediately on the phones, so why is firmware updating the only thing not working (in regards to the phones themselves)? Is there a log file I can look at to maybe see why it's not failing?
 
Is there a log file I can look at to maybe see why it's not failing?
You will have to contact Yealink to help you troubleshoot the phone logs.

Meanwhile you could try this:

1. Delete one of the phones from the extension, the factory reset it.

2. Once it's back to the idle screen, go to the PnP page and assign it. It should automatically provision within a few seconds and reboot if all goes well.

3. Once it has provisioned and rebooted, try to upgrade it now and let us know. When you send the upgrade command the Yealink MWI red led will flash and the phone should reboot into a firmware upgrade screen.

However, if the URL in the config is already correct and the file is downloadable, there isn't much more you can look at from the 3CX side. of things. The Yealink phone logs may reveal more if you wanna go down that path. I can also confirm that on a local V20 with split DNS I have successfully upgraded Yealink phones.

Important Note: we never had 108.86.0.70 on 3CX. So I am not able to say whether this version had any issues that we did not come across. I therefore assume these phones were added on 3CX using that version to begin with. For best practices we always recommend you manually install our firmware before assigning the phone to 3CX for the first time (since it's tested and confirmed to upgrade from the previous supported release to the next one).

Happy troubleshooting!
 
I had the same issue until i found out what my issue was. When I installed version 20 and when it asked me for port numbers, I did not change the HTTP to 5000, but kept it at 80 because I wasn't 100% sure if it was set to 5000 or not. So, because I did that, I was unable to upgrade firmware from the console because the provisioning link was different. New phones provisioned just fine, but current ones, while still working, couldn't upgrade firmware.

So, I had to log into each phone individually (about a few hundred of them), and update the URL to https and update the port from 5000 to 5001. Once I did that, I was able to upgrade the firmware from the admin console again.
 
Yup, it's the reason i mentioned it in my first post just to confirm. But OP said that the phones do reprovision when the BLFs are changed, so that confirms the provisioning URL is correct already. My last suggestion will also make sure there is nothing else stored in the phone that could prevent it from doing what it should as this would be a clean config. Beyond that they will need to upgrade them manually to the version we support, and they should be able to accept the next release after that since we do test for that.
 
I was specifically asking if there were any logs on the 3CX side that would help troubleshoot firmware upgrades, not on the phone side. We also have another location that we've upgraded from V18 to V20 and firmware upgrades are working fine there so I know there's not a flaw in V20, but something with this specific upgrade is definitely wonky. Yes, I am using ports 5000/5001. The IP address and FQDN has not changed either.
 
You can set logs to verbose, and check the management console log searching with the rom file name. It will mainly show events if the phone attempts to HTTP GET the file and if it completed. You should rely more on the phone logs in my opinion, that would give more insight than our log in this particular scenario.
 
I looked at the local logs on the phone but couldn't find anything that helped identify the issue. I downloaded the latest firmware from Yealink and updated it manually. It's not ideal but there's only 12 phones at that location that need to be updated. Also, I won't know if this is a temporary issue until new firmware comes out. I'll try and remember to update this thread when that time comes. I appreciate everyone helping!
 
I downloaded the latest firmware from Yealink and updated it manually.

Why though? You will again end up on an untested version, meaning you are in a similar situation as now.

We have partnership with Yealink where they test their firmware for interoperability with 3CX, and we host the firmware here: https://www.3cx.com/docs/phone-firmwares/

By the way your initial post says Yealink SIP-T66U which is not a supported model. Was this a typo (perhaps you meant T46U)?
 
My apologies, yeah I meant SIP-T46U. Once I manually updated them with the latest firmware from Yealink 108.86.0.90, I was able to then step them up to the latest one from 3CX 108.86.0.93.
 
  • Love
Reactions: JohnS_3CX
Excellent news! I think you should be fine from here onward :)
 
Appreciate your help!
 
  • Like
Reactions: JohnS_3CX
Oh and one last thing to keep in mind, if you use a custom FQDN and certs, you gotta make sure the entire cert chain is complete and that the CA producing the certs is one that the specific phones and firmware support. Yealink has a knowledge base entry that lets you know what CA are built in from the factory. If your CA is not included you will have to manually upload the root cert to the phones so they can recognize your PBX certs.

Otherwise phones will be unable to provision (or reprovision after the first time) due to TLS errors since we enforce strict security via the templates.
 
I'm having this problem too. My config for non hotdesk phones has a firmware URL as follows:
#######################################################################################
## Configure the access URL of firmware ##
#######################################################################################
#Before using this parameter, you should store the desired firmware to the provisioning server.

firmware.url = https://pbx.[mydomain].com.au/provisioning/xxxxxxxxxxxx/firmware/yealink/

I am interested in how the 3CX system should calculate this URL, whether there is an issue with the system downloading the ROM files, or whether it is just not setting up the URL correctly in the config.
 
Last edited by a moderator:
I'm having this problem too. My config for non hotdesk phones has a firmware URL as follows:
#######################################################################################
## Configure the access URL of firmware ##
#######################################################################################
#Before using this parameter, you should store the desired firmware to the provisioning server.

firmware.url = https://pbx.[mydomain].com.au/provisioning/xxxxxxxxxxxx/firmware/yealink/

I am interested in how the 3CX system should calculate this URL, whether there is an issue with the system downloading the ROM files, or whether it is just not setting up the URL correctly in the config.
it does appear that there are files in the yealink folder (we're on Windows)
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 18/11/2024 9:36 PM 347008 patchT54W(T57W,T53W,T53,T53C,T54,T57)-96.86.0.23.rom
-a--- 18/11/2024 9:36 PM 29228320 T4XS-66.84.0.35.rom
-a--- 18/11/2024 9:36 PM 29208656 T4XS-66.84.0.95.rom
-a--- 18/11/2024 9:36 PM 25559152 T4XS-66.85.0.5.rom
-a--- 18/11/2024 9:37 PM 23192144 T4XS-66.86.0.15.rom
-a--- 18/11/2024 9:36 PM 23180704 T4XS-66.86.0.5.rom
-a--- 18/11/2024 9:36 PM 36793152 T4XU-108.86.0.20.rom
-a--- 18/11/2024 9:36 PM 39492992 T4XU-108.86.0.77.rom
-a--- 18/11/2024 9:38 PM 48067392 T4XU-108.86.0.93.rom
-a--- 18/11/2024 9:36 PM 42373888 T54W(T57W,T53W,T53,T53C,T54,T57)-96.86.0.23.rom
-a--- 18/11/2024 9:36 PM 33026048 T5XW-96.85.0.5.rom
-a--- 18/11/2024 9:36 PM 45812896 T5XW-96.86.0.71.rom
-a--- 18/11/2024 9:37 PM 45811712 T5XW-96.86.0.72.rom
-a--- 18/11/2024 9:37 PM 47048128 T5XW-96.86.0.74.rom
-a--- 18/11/2024 9:37 PM 47213184 T5XW-96.86.0.76.rom
-a--- 18/11/2024 9:37 PM 47237264 T5XW-96.86.0.77.rom
-a--- 18/11/2024 9:39 PM 47230560 T5XW-96.86.0.81.rom
 

Forum statistics

Threads
111,875
Messages
589,508
Members
164,723
Latest member
aman-pandey