I'm re-posting something from redleg/Memory Sieve regarding HP firmware upgrades. In their case, it was a matter of not being able to install the latest firmware package. However, in my case I wanted to force the reinstall of the same firmware. This trick came in enormously useful and likely saved me from having to buy a new printer. I suspect this would likely work to downgrade firmware as well.

To start with, my HP Officejet 6500A All-in-one was behaving the way all-in-ones usually do. For some reason when I went to scan a document today, it simply wouldn't work. It would hang for forever, and then whatever program I was using to scan would simply crash. HP's "Print and Scan Doctor" would display communicating up to about 99%, and then hang. Trying to scan via the HP print client (whatever they actually name it) would result in a message that my 6500 could not be found (despite very clear indications it was working).

Basically, it was like half my printer was there and working (such as it is), and half wasn't. I tried swapping USB cables, USB ports, trying wireless, reinstalling drivers, uninstalling and reinstalling HP utilities, resetting to factory settings, and witchcraft complete with odd runes and black candles. Finally I reached the point of a firmware reinstall.

The problem is that if the firmware you have is already at the newest version, it's going to be greyed out, you can't check the checkbox, and it won't let you update.

Thankfully redleg found a way to force a firmware upgrade (or presumably, downgrade?): https://www.memorysieve.co.uk/2015/10/update-firmware-hp-officejet-6500a-plus.html

First, share your printer:

Next, extract the firmware:

Take the executable file that HP gives you when you want to update firmware, in my case OJ6500_E710n-z_R1621A.exe and uncompress it (7zip works fine). Dive into the files that you have, and you should find a .ful file, it was one directory deep for me and named chianti_pp_usr_hf_CIP1FN1621AR_update_from_1023B_signed.ful

Rename this file to something easy (just for convenience) like 6500a.ful and open a command prompt in this directory. Hint, holding shift+right click will bring up an open command prompt here option (or open powershell on newer windows, and then you can type cmd). You can also type CMD in the file explorer navigation bar.

Send the firmware to the printer

Wait a few:

Strangely, my printer said "printing", hung for a few minutes, gave an error and said to restart, and then worked perfect again! No more scanner issues. In fact, the print quality was much better (maybe just a fluke, but my blue works again!).

This sends the file as a binary transfer direct to the printer and  forces the update. You should see the printer go into an update mode and  restart. Takes a few minutes for it to complete