You are not logged in.
Does anyone know of a published list where I can check what the latest microcode version is for a particular AMD processor?
I see that Gentoo has a (very) incomplete list [1] with a "Latest microcode" column but my processor (Ryzen 2500u) isn't listed there.
I have amd-ucode installed and included in /boot/loader/entries/arch.conf (for systemd-boot).
Based on journalctl output, the microcode is *not* being updated on boot, perhaps because the UEFI firmware has already loaded the latest version, but I'd just like to verify that.
Sep 19 14:17:36 dark-knight kernel: microcode: CPU0: patch_level=0x08101016
Sep 19 14:17:36 dark-knight kernel: microcode: CPU1: patch_level=0x08101016
Sep 19 14:17:36 dark-knight kernel: microcode: CPU2: patch_level=0x08101016
Sep 19 14:17:36 dark-knight kernel: microcode: CPU3: patch_level=0x08101016
Sep 19 14:17:36 dark-knight kernel: microcode: CPU4: patch_level=0x08101016
Sep 19 14:17:36 dark-knight kernel: microcode: CPU5: patch_level=0x08101016
Sep 19 14:17:36 dark-knight kernel: microcode: CPU6: patch_level=0x08101016
Sep 19 14:17:36 dark-knight kernel: microcode: CPU7: patch_level=0x08101016
Sep 19 14:17:36 dark-knight kernel: microcode: Microcode Update Driver: v2.2.
[1] https://wiki.gentoo.org/wiki/Ryzen#Hardware
Last edited by jlindgren (2022-09-19 18:34:12)
Offline
https://git.kernel.org/pub/scm/linux/ke … ode/README leads to https://github.com/AMDESE/amd_ucode_info which should™ list what the current contents are.
Offline
If I understand (which I apparently don't), I am to run:
./amd_ucode_info.py /boot/amd-ucode.img
What I get is:
Microcode patches in /boot/amd-ucode.img:
ERROR: Missing magic number at beginning of container
How is this supposed to be done?
Offline
I think I got a little farther than @ratcheer but I still feel like I'm missing something.
/proc/cpuinfo says I have:
processor : 0
vendor_id : AuthenticAMD
cpu family : 23
model : 17
model name : AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx
stepping : 0
microcode : 0x8101016
I'm assuming CPU family 23 is decimal and thus the file I want to decode is /lib/firmware/amd-ucode/microcode_amd_fam17h.bin (there is no ...fam23h.bin).
$ xzdec /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.xz > microcode_amd_fam17h.bin
$ ./amd_ucode_info.py microcode_amd_fam17h.bin
Microcode patches in microcode_amd_fam17h.bin:
Family=0x17 Model=0x08 Stepping=0x02: Patch=0x0800820d Length=3200 bytes
Family=0x17 Model=0x01 Stepping=0x02: Patch=0x0800126e Length=3200 bytes
Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301055 Length=3200 bytes
Is it possible that there were only 3 processors in family 23d/17h that ever received microcode updates? And my 2500u is not one of them?
The Git history for microcode_amd_fam17h.bin [1] shows only 5 revisions, and the file is <10 kB.
I'm used to CPU microcode updates being more frequent/routine -- maybe my expectations are skewed by being more used to Intel?
Offline
https://bbs.archlinux.org/viewtopic.php?id=257298 discussed if microcode for mobile Ryzen APUs is missing from the ucode bundle.
https://bbs.archlinux.org/viewtopic.php … 9#p1964289 found the ucode bundle will only be updated for security issues.
Edit:
Family=0x17 Model=0x08 Stepping=0x02
See https://en.wikichip.org/wiki/amd/cpuid
Family=0x17 Model=0x01 Stepping=0x02
See https://en.wikichip.org/wiki/amd/cpuid
Family=0x17 Model=0x31 Stepping=0x00
AMD Ryzen Threadripper PRO 39XX
Last edited by loqs (2022-09-20 00:36:13)
Offline
Thanks @loqs. It sounds like amd-ucode is not really useful for Ryzen mobile (or at least 2500u) then, and we need to rely on vendor BIOS/UEFI updates for new microcode.
I installed such an update (via Windows dual-boot) from HP a month or so back. Annoyingly it disabled/overwrote systemd-boot's EFI entry and made Arch temporarily unbootable.
But at least it seems the microcode has been updated via that route, since 0x08101016 is newer than what the 2500u system in the other thread [1] had.
Offline
I guess one question remains -- does AMD publish any list of what microcode versions are available?
Or is that information available only to OEMs, and we just have to wait and see what they provide?
Offline