There is firmware, proper. The firmware image, which you do not need to change.
Then there is firmware suite. 01.xx.xx. This firmware suite is different between versions of X/IPE and it is stored as a jam file, and in MPLAB X the jam file is further zipped in a JAR file in the PK3 folder.
The PK3 will come with a certain JAM/FW suite preinstalled, which is most certainly not up to date with your version of X. Even recently shipped PK3's are coming with 01.29.xx, and 01.34.11 was the firmware suite with the two year old X/IPE 2.26. 01.40.xx is the most recent one in the latest X/IPE (AFAIK).
And there are some conflicts where if the fw suite on the PK3 and IPE/X do not match, the autoupdate between device families will repeatedly fail. You plug the device in, hit connect, it downloads new firmware, but it is broken. Each time you do that, it repeats this fail all over again. Is it absolute horseshit that this isn't explained in some easily accessed document or even Microchip PK3 forum sticky/FAQ? Yes, I think it is complete and utter horseshit.
There is a way to manually download the firmware suite if the autodownload fails. You cannot do it in IPE. I don't know how to do this in X. But you can definitely do it in 8. I use 8 and IPE, but not X. So this is one really stupid sounding way to do it. And it goes like this....
So I had to find the PICKIT3.JAR (something like that) file in the PK3 folder in X. Unzip it with WinZip to extract the more recent PK3FW_01.xx.xx.jam file. And then put that in my MPLAB 8 PK3 folder (where there already resided an older version). In 8, you select PK3, then settings > config> manual download, which opens the PK3 folder and you select the FW suite to install. X must have an analogous manual method... Or maybe not. The strange thing is on the Microchip forums no one seems to explicitly mention this, and more than a couple people have resorted to using 8 in order to get their PK3 updated, similar to the way I have explained it. It would be even more horseshit if there is not a way to do this in X.BTW, the standalone PK3 app takes a completely unique firmware suite, all its own. I believe you manually switch the suite when changing between PK3 standalone and IPE/X/8. So if you wish to continue using standalone, you might just want to buy a second PK3 to avoid some hassle.
Seems like if you dig deep enough, you may possibly find this information on the Microchip forum. Every few years, someone takes the time to explain it. And then the thread drifts off into the abyss, to confound new PK3 users, all over again.
Once I got my PK3's to do what I needed, I stopped updating X. I hope that the newer FW suites remain backward compatible with 8. I'm using FW suite 01.34.11 with IPE 2.26, and this works fine on my IDE 8.9. Until I find some official documentation on this issue, I am actively avoiding making any changes. It took me 20 hours to figure out this steaming pile.
O create a random project in MPLAB 8.92, force a firmware update in the debugger settings, choosing the latest 8.92 pickit 3 firmware (.JAM file), then close MPLAB 8.92. Open up MPLAB X IDE/IPE, allowing it to update the firmware, then try it.*
Howardlong solution same, except 1. You don't need to do the fake project. You can just manually download as I showed. 2. the FW suite in your version of 8.9 PK3 folder is NOT the latest one and not the same as with any recent version of X. (8.92 comes with 01.29.xx, and that has been superceeded many times). It might work by changing the firmware on your pickit to a more recent version that can bridge the gap, so to speak, allowing the autoupdate in X to succeed (eventually; it may take as many as 3-4 connections/fails before the update totally completes, and I suspect there could still be some bugs in the process). The definitive solution appears to be the way I stated. When you do that, it will work first time in IPE/X.