Intro:
I spent AGES trying to figure out how to upgrade the Firmware on a Cisco SPA504G VOIP phone; hopefully this answer will save others countless wasted time.
Cisco heretofore included an .exe with their FW updates to accomplish the process. FW version 7.6.2 however there wasn't any. Nor did the release notes contain any instructions for an alternative upgrade process. Googling only returned (mostly) answers for the upgrade process using the .exe file.
However, I eventually found a link that discussed supplying the FW file via a webserver.
The Process:
Since I have a MacBook and OSX- I'm using Monterrey- includes an Apache webserver, it occurred to me to just use it. However, just adapt the process where appropriate if using a webserver NOT on a MacBook.
MacBook Config:
Open Apache Config: sudo vi /etc/apache2/httpd.conf
Set IP of Webserver: Set Listen
directive toto the IP of your MacBook: Listen 192.168.3.71:80
Copy new FW to Webserver Directory: The path I copied the FW to in OSX Monterrey was /Library/WebServer/Documents
you can do this via the CLI or using the "Go" option in the Finder Menu.
Ensure there's connectivity in any firewalls between your MacBook and the phone: The MacBook's and/or the router's
Here's a link to configuring Apache on your MacBook if you require further guidance
Cisco SPA50X Web Interface Config:
WARNING: Read the FW's release notes to ensure there is no required step-upgrade version you're required to make prior to upgrading to the *CURRENT FW version!
Cisco SPA50X Web Interface Config: Choose "Admin Login" and then click "Advanced" to display the "Provisioning" tab. Once there, in the "Firmware Upgrade" section enter the URL to the FW in your webserver in the field Upgrade Rule
Execute the FW Upgrade: Click Submit All Changes
The browser displays the below feedback and the LED above the screen on the phone will flash red and display a message that the FW is being updated:
The update can take a while and can be nerve wrecking waiting for the phone to rise-up correctly. Do not interrupt it and wait for it to complete.
Troubleshooting:
When my SPA504G rebooted, it hung on "Finding DNS". After the panic subsided, I resolved the issue by setting the DNS to Manual
and set it to 8.8.8.8, after which the phone could then fully rise-up:
What DOESN'T Work: Online Storage
For the sake of completeness, I'll tell you what I tried that didn't work so you don't waste your time covering ground where I've already been:
I thought I'd use an online storage portal to download the file.
I tried supplying the FW file to the phone using a shareable link with Dropbox, gDrive & MS's OneDrive. This doesn't work, don't waste your time.
Conclusion:
Not a complex process once you know how to do it, but the trouble I had was finding out *HOW to do it! Hopefully this will save others wasting a lot of their cycles performing what really shouldn't be a difficult process but which Cisco does make it so with undocumented changes to their established FW upgrade processes.