I just read an email from BSD Weekly that seems to have shed some light on a recent issue I've seen a number of times. Recall that I've mentioned something about
Introducing FreeBSD’s fwget(8) for Firmware Management: The article discusses the fwget(8) tool in FreeBSD, introduced to manage firmware for hardware components like WiFi and GPU. The author encountered WiFi issues after upgrading to FreeBSD 14.3-RELEASE, discovering that the Intel Wi-Fi 6 AX201 required firmware not included by default. Running fwget(8) automatically detected and installed the missing iwlwifi-QuZ-a0-hr-b0-77.ucode firmware, restoring WiFi functionality. The tool scans hardware devices, identifies missing firmware, and installs necessary packages (e.g., wifi-firmware-iwlwifi-kmod-22000). The author notes the lack of official documentation in the FreeBSD Handbook, though a bug report (#286402) addresses this gap.
Obviously this intrigued me, so I tested to see more about it.
root@ichigo:~ # man fwget FWGET(8) FreeBSD System Manager's Manual FWGET(8) NAME fwget – install firmware packages for the running system SYNOPSIS fwget [-n] [-v] [subsystem] DESCRIPTION The fwget utility can be used to detect and install firmware packages for devices present on a running system. The options are as follows: -n Dry run, only show needed packages -v Be more verbose subsystem Hardware subsystem(s), default is all supported subsystems. Space separated hardware subsystems, accepts pci and usb SEE ALSO firmware(9) HISTORY The fwget utility first appeared in FreeBSD 14.0. AUTHORS The fwget utility and this manual page were written by Emmanuel Vadotfor Beckhoff Automation GmbH & Co. KG. CAVEATS This utility currently only supports the pci(4) and usb(4) subsystems. FreeBSD 15.0-ALPHA5 July 7, 2025 FWGET(8) root@ichigo:~ # fwget -n -v Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel Trying to match device 0x8125 in class network and vendor realtek with pci_network_realtek Trying to match device 0x15d8 in class video and vendor amd with pci_video_amd Needed firmware packages: 'gpu-firmware-amd-kmod-picasso' root@ichigo:~ #
It seems that all I need to do now, is actually use
root@ichigo:~ # fwget -v Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel Trying to match device 0x8125 in class network and vendor realtek with pci_network_realtek Trying to match device 0x15d8 in class video and vendor amd with pci_video_amd Needed firmware packages: 'gpu-firmware-amd-kmod-picasso' root@ichigo:~ # ls /boot/firmware/ iwm3160fw iwm3168fw iwm7260fw iwm7265Dfw iwm7265fw iwm8000C iwm8265fw iwm9000fw iwm9260fw root@ichigo:~ # fwget -v pci Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel Trying to match device 0x8125 in class network and vendor realtek with pci_network_realtek Trying to match device 0x15d8 in class video and vendor amd with pci_video_amd Needed firmware packages: 'gpu-firmware-amd-kmod-picasso' The most recent versions of packages are already installed root@ichigo:~ # ls -l /boot/firmware/ total 7970 -rw-r--r-- 1 root wheel 918268 Sep 10 21:38 iwm3160fw -rw-r--r-- 1 root wheel 1028032 Sep 10 21:38 iwm3168fw -rw-r--r-- 1 root wheel 1049340 Sep 10 21:38 iwm7260fw -rw-r--r-- 1 root wheel 1028316 Sep 10 21:38 iwm7265Dfw -rw-r--r-- 1 root wheel 1180412 Sep 10 21:38 iwm7265fw -rw-r--r-- 1 root wheel 2120860 Sep 10 21:38 iwm8000C -rw-r--r-- 1 root wheel 1811984 Sep 10 21:38 iwm8265fw -rw-r--r-- 1 root wheel 2678284 Sep 10 21:38 iwm9000fw -rw-r--r-- 1 root wheel 2678092 Sep 10 21:38 iwm9260fw root@ichigo:~ #
I seem to be rather horrible at this, I should have checked what was at
I guess the next thing to do is reboot and see what happens. Will my amdgpu work, work better, or will I have more work myself to fix things yet again?
How rarely things are easy. When I rebooted somehow graphics was broken again. This likely was a hidden change that was discovered only due to things in memory being unloaded. I don't know for certain what caused it. Among various things I did while graphics was failing for me, was to erase the contents of
However, after a lot of round and round effort, I now know that sometimes the firmware I hope to install is ignored. If I use
What becomes interesting in a very head-scratching way, is if
I can verify that it does install it (just as Vermaden had in his post), in an odd location, and I note the date difference as well, which means it was most recent.
# ls -l /usr/local/share/licenses | grep firmware drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-arcturus-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-banks-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-beige-goby-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-bonaire-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-carrizo-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-amd-kmod-cyan-skillfish2-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-1-4-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-1-5-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-1-6-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-2-0-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-2-1-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-amd-kmod-dimgrey-cavefish-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-fiji-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-10-3-6-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-10-3-7-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-0-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-1-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-2-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-3-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-4-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-amd-kmod-green-sardine-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-hainan-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-hawaii-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-kabini-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-kaveri-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-mullins-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-navi10-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-navi12-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-navi14-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-amd-kmod-navy-flounder-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-oland-20230625.1500066_2drwxr-xr-x 2 root wheel 5 Oct 22 16:44 gpu-firmware-amd-kmod-picasso-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-pitcairn-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-polaris10-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-polaris11-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-polaris12-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-psp-13-0-0-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-psp-13-0-10-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-psp-13-0-11-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-psp-13-0-4-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-psp-13-0-5-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-psp-13-0-7-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-psp-13-0-8-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-raven-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-raven2-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-renoir-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-5-2-6-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-5-2-7-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-6-0-0-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-6-0-1-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-6-0-2-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-6-0-3-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-si58-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-amd-kmod-sienna-cichlid-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-smu-13-0-0-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-smu-13-0-10-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-smu-13-0-7-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-stoney-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-tahiti-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:58 gpu-firmware-amd-kmod-tonga-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-topaz-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-amd-kmod-vangogh-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-vcn-3-1-2-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-vcn-4-0-0-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-vcn-4-0-2-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 23:00 gpu-firmware-amd-kmod-vcn-4-0-4-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-vega10-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-vega12-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-vega20-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-vegam-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-verde-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:59 gpu-firmware-amd-kmod-yellow-carp-20230625.1500066_2 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-alderlake-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-broxton-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-cannonlake-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-dg1-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-dg2-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-elkhartlake-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-geminilake-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-icelake-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-kabylake-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-rocketlake-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-skylake-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:57 gpu-firmware-intel-kmod-tigerlake-20230625.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-aruba-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-barts-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-bonaire-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-btc-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-caicos-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-cayman-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-cedar-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-cypress-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-hainan-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-hawaii-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-juniper-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-kabini-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-kaveri-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-mullins-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-oland-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-palm-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-pitcairn-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-r100-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:55 gpu-firmware-radeon-kmod-r200-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-r300-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-r420-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-r520-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-r600-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-r700-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-redwood-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rs600-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rs690-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rs780-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv610-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv620-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv630-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv635-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv670-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv710-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv730-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv740-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv770-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-sumo-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-sumo2-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-tahiti-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-turks-20220511.1500066 drwxr-xr-x 2 root wheel 5 Oct 21 22:56 gpu-firmware-radeon-kmod-verde-20220511.1500066 #
What seems likely is that the gpu-firmware-amdgpu-kmod files for picasso were somehow missing. Each time I am forced to spend time solving these software riddles, it usually ends up teaching me something that I hopefully remember for next time. If all else fails, I do have these blog posts as reference in the future. As an overview though, for my graphics to function, I need the gpu-firmware-amdgpu-kmod picasso files, drm-kmod, and in
One thing
No comments:
Post a Comment