Solved pkg refuses to upgrade firmware packages to 15 version

After upgrading 14.3 to 15 using freebsd-update, my system refused to boot due to a panic when loading the amdgpu driver.

After investigating and discussing it with people on the discord, I noticed that none of the firmware packages had been upgraded properly. They still have the 140300 version suffix.

pkg upgrade -f does nothing at this point, but if I remove and then install a specific firmware package, the correct version is installed.

Doing this for the AMD GPU firmware of the flavor needed solves the kernel panic at boot.

Example with a different firmware package, same symptoms showing the problem:

 
I noticed that none of the firmware packages had been upgraded properly. They still have the 140300 version suffix.
I think they don't have to be in sync with the kernel like kernel modules. They are just firmwares with no special link with the host OS. Are your kmods in sync with the kernel? That's really important.

Looking with pkg search, it appears that gpu-firmwares are tagged 1500068 on the latest repo.

Try to pkg delete kmod related packages and reinstall them. I do this systematically for OS upgrade with the FreeBSD-ports-kmods repos, because pkg upgrade tends to not upgrade these specific packages.
 
Thanks, I've solved it locally as described in the post, but figured I'd let others know in case someone else runs into the issue. And just in case it was an actual bug with pkg.
 
I wonder if I have not well read your post or if you have edited it. In all cases, I doubt that the firmware is so important. I repeat, it's just code that is not compiled under FreeBSD but just copied from upstream.

I saw that deinstalling a firmware also removing drm-kmod. Wasn't that the real problem?
You needed to reinstall it?
 
I wonder if I have not well read your post or if you have edited it. In all cases, I doubt that the firmware is so important. I repeat, it's just code that is not compiled under FreeBSD but just copied from upstream.

I saw that deinstalling a firmware also removing drm-kmod. Wasn't that the real problem?
You needed to reinstall it?
I thought I was fairly clear: the system wouldn't boot, due to an error in the amdgpu driver. After replacing the firmware package with the version ending in 1500068, the system booted.

I have verified this by going back and forth between the different firmware packages. I don't know what the actual difference is.

I have since making the post replaced all the packages that were wrong.
 
I thought I was fairly clear: the system wouldn't boot, due to an error in the amdgpu driver. After replacing the firmware package with the version ending in 1500068, the system booted.

I have verified this by going back and forth between the different firmware packages. I don't know what the actual difference is.

I have since making the post replaced all the packages that were wrong.
Hey, thank you, this helps me as well. I have upgraded and rolled back twice trying different methods. I didn't think to check the version of driver being installed. 👍
 
I didn't see that sort of firmwares contain kmods. I'm yet pretty sure I left them as this when you needed to recompile the drivers at each minor version. That said, the firmwares versions are the same between 14.3 and 15.0. The problem is maybe because it's a major upgrade.

So, I think that each kmod is responsible for loading the firmware (*.bin) into the hardware with the help of the kernel API. So, it maybe incompatible from different major versions. It makes sense.
 
Back
Top