Wednesday, 9 April 2014

How to Update Firmware in the Cisco SPA301 IP Phone

I can't think of a time when I purchased a new VoIP ATA or IP-Phone that didn't need to be upgraded to the latest firmware version.  When you purchase a new VoIP adapter, expect and plan to upgrade the firmware version before proceeding to configuring your phone with your favorite BYOD VoIP provider.

I just purchased my new SPA301 in April, 2014.  As of this date, the latest firmware available for download on Cisco's web site is version 7.5.5, which was released in June, 2013.  However, my new phone came with FW version 7.5.2 installed, which was released almost two years ago in July, 2012.  It definitely needs an upgrade.

In the following procedures, I will explain how to download and install the latest firmware version into your Cisco SPA301 IP-Phone.

My procedures outlined here may be lengthier than many people will encounter.  In my case, I must upgrade to version 7.5.2b before I can upgrade to the current latest version 7.5.5 (at time of writing).

Preliminary Preparations

Make Sure The SPA301 Is Ready For The Upgrade
  • Connect an Ethernet cable between the SPA301 and your NAT-Router LAN port, or a network switch which is connected to the same LAN as your PC that you will use to upload the firmware to the phone.  For this procedure, do not use a wireless connection, which is deemed to be unreliable for firmware upgrades.
  • Power-up the SPA301 by plugging its power adapter into an AC power outlet.
  • Perform a Factory Reset on the SPA301 before proceeding with the upgrade. (optional) While, the factory reset is not mandatory, I like to do this myself (especially on a new unit) just to make sure the upgrade goes smoothly.  (If nothing else.... it's good practice.)

What Firmware Version Is Currently Running In the SPA301?
Using the SPA301 built-in IVR system, check the currently installed firmware version as follows:
  • Lift the phone's handset; then press the * key four (4) times.   e.g.:  " * * * * "
  • Dial in the IVR code 150, followed by the # key.  e.g.:   150#
  • You will hear the IVR talk back the firmware version of your phone.
  • Hang-up the phone.

Cautionary Note:
If you are running firmware versions prior to version 7.5.2b, you must first upgrade to version 7.5.2b, then upgrade again to the latest version.  So, in this case, it is a 2-step process.  This is exactly what I have to do myself, because the version on my new phone is version 7.5.2 (not 7.5.2b).   Also, when downloading firmware, always read the associated firmware Release Notes before performing any upgrade.

Check For and Download Latest Firmware From Cisco
Using a PC that will be located on the same LAN as your SPA301, download the firmware from Cisco's website download page.  (It can be a challenge finding the right web navigation path)
  • Download the zip file to a folder on your PC that will be running the update procedure.
  • Unzip the file in preparation for the upgrade.

What Is The IP Address Assigned To The SPA301?
Check the IP Address assigned to the SPA301 by your NAT-Router.  You can do this using the phones IVR system as follows:
  • Lift the phone's handset.
  • Press the * key four (4) times.  e.g.:   " **** "
  • Dial in the IVR code 110 followed by the # key.  e.g.:   " 110# "
  • You will hear the IVR talk back the IP address assigned to your phone.
  • Remember this address; you will need to know it as part of the upgrade procedure.

Starting The Firmware Upgrade Procedure

Updating to FW Version 7.5.2b
  • From the Ethernet connected PC,  navigate to the firmware download folder.
  • Ensure the firmware file is unzipped.
  • Start the executable program by double clicking on the .exe file.  (or right-click and select Open)
    In my initial case, the file name is:  spa50x-30x-7-5-2b.exe
  • Follow the program prompts.
Below, I illustrate the series of interactive pop-up screens that need to be acknowledged and allowed.

Many people may initially be greeted by a Security Warning pop-up.  Shame on Cisco for not digitally signing their code.  Anyway, in this case I need to click on the Run button to continue.

The next window is basically posting a warning message informing you that if this isn't your personally owned "unlocked" phone, it may not be a good idea to proceed with this procedure.   Click the "Continue" button if all is well.

This next window is where you must enter the local LAN IP address of your SPA301 phone.
The "Your IP Address" box is the IP address of your PC running the update program.  For things to run smoothly, both your PC and the VoIP phone being upgraded must be located on the same LAN subnet.


If you did not perform a factory reset as recommended at the beginning of this procedure, and if your phone has an Administrator Password set, then you will likely see the following Login Window pop-up requesting your admin password:


Once you have entered the IP address of the SPA301, and if required, you entered the correct Admin Password, then a Confirmation window will pop-up summarizing the action which will take place.  In this example, I am upgrading from version 7.5.2 to 7.5.2b on the SPA301.  Click the "Upgrade" button to continue.

At this point, Windows Firewall may interject blocking the file transaction between the PC and the IP-Phone.  Once again, I can see that Windows Firewall is making note that Cisco's program is not properly digitally signed.  But, what can I do but click the Allow button.  After all, if I can't trust Cisco, who can I trust...?  (The correct answer is probably..... nobody.... but, what choice do we have...)

Note:  I'm using Windows 7 for this upgrade procedure.

Now, this is where I have run into trouble on occasion.  And, you may too.

The window "Waiting For Firmware Download Request From SPA" indicates a problem with the communications exchange between the PC and the phone.  Essentially, the whole procedure is stuck waiting for a response exchange between the two devices....

My best guess is that this was caused by Windows Firewall interceding and interrupting the process.  Even though I told Windows Firewall to ALLOW, the procedure is now "stuck".   My solution was to click the CANCEL button.  In which case, you will be greeted with the Upgrade Failed message box. Click OK to this message box to complete the abort.

OK, if this happens to you, not to fret.  Just start the whole procedure all over again by running the firmware upgrade executable file again.  This time, if you are as lucky as I was, the Windows Firewall warning did not block the procedure as before.  I presume because this time it remembered I previously told it that this file has my permission to run.

If all goes well at this point and Windows Firewall or your Anti-Virus program doesn't intercede, the Firmware Uploading procedure will proceed without incident (fingers crossed).

The upgrade data transfer may take a few minutes to complete....
Heed the warning message and do not interrupt the upgrade procedure until you get the Success message.

While the upgrade is in progress, you should see the phone's status light blink orange.  Near the end of the procedure, you may then see it briefly flash red and then green.  In any case, wait for the pop-up window stating:  Upgrade Success.  Then click OK to finish.

Normally, this would successfully complete the firmware upgrade cycle.  However, in my case, this was step one of two because of Cisco's requirement to upgrade to version 7.5.2b before upgrading to a higher version.  So, now I will repeat the above procedure.  But, this time I will be upgrading from 7.5.2b to 7.5.5.

Updating to FW Version 7.5.5
  • From your Ethernet connected PC, navigate to the firmware download folder.
  • Ensure the firmware file is unzipped.
  • Start the executable program by double clicking on the .exe file.  (or right-click and select Open)
    In my current case, the file name is:  spa50x-30x-7-5-5.exe
  • Follow the program prompts.
Below, I illustrate the series of interactive pop-up screens that you will need to acknowledge and allow.

Because, this time I am running a different upgrade file, Windows 7 is once again asking for my approval to run this "unsigned" application.  Once again, shame on Cisco for not signing their software.  Click RUN to proceed.

The usual Warning:

Again, enter the IP address assigned to the SPA301.

Observe Confirmation that this time we are upgrading to version 7.5.5.

Once again, Windows Firewall intercedes.   Once again, Allow Access.

If Windows Firewall once again causes the procedure to stall, Cancel out of the window and restart the procedure again.

I am using Norton Antivirus on my system.  Norton AV seems to not interfere with this process.  However, different Antivirus programs may act differently.  So, be aware if problems arise.


Once we get past all the Windows and AntiVirus bottlenecks, the firmware upgrade program should proceed with uploading data to the phone:

Then, it switches from Upload to Update mode.

Once the update procedure completes, the phone will reboot and you may see the following dialog box indicating that the update utility is attempting to reconnect to the SPA301 and confirm the successful upgrade.

After all is said and done.... fingers crossed..... you will see the Upgrade Success pop-up.

Once you click on OK, you are done!

After completing the upgrade procedure, and if you did a factory reset, remember to log into the phone web configuration utility and set the phone's Admin Password  once again to a secure value, as part of a good security practice.

Now it's time to reconfigure the phone with your favorite BYOD VoIP provider.

Good luck, and I hope all goes well at your end.

Upgrade/Downgrade Notes:
While testing the upgrade procedures, I needed to downgrade the firmware back to 7.5.2b a couple times just to review and confirm the process.  Please note that when downgrading the firmware to an earlier version, you may get the Failed Upgrade - Version Not Matching error message at the end of the procedure.  I think this message, at least in my case, is a bug.  When I check the phone firmware version after the downgrade, the phones IVR and the its web interface tell me that the firmware has been downgraded to 7.5.2b correctly, as I attempted.

As well, after the downgrade mentioned above, when I run the firmware upgrade for the 2nd time from 7.5.2b back up to 7.5.5, I get the same Failed Upgrade error message at the end.  But, again, when I check the IVR and the web interface, it tells me the firmware has in fact upgraded correctly to the correct version of 7.5.5.  So, I'm not sure what is going on here but I think it may well be another software bug on Cisco's part.

More of my articles about the Cisco SPA301: