I’d run the failing commands under ktruss,  one should be able to see the
path it tries to open.


----

On Sat, Sep 19, 2026 at 7:40 AM P Gman <[email protected]> wrote:

> Hello
>
> I'm using NetBSD 11.0
>
> cat /proc/cpuinfo (partial; showing cpu 0 only)
>
> processor       : 0
> vendor_id       : AuthenticAMD
> cpu family      : 23
> model           : 17
> model name      : AMD Ryzen 5 PRO 2400G with Radeon Vega Graphics
>
> cpuctl list:
>
> Num  HwId Unbound LWPs Interrupts Last change              #Intr
> ---- ---- ------------ ---------- ------------------------ -----
> 0    0    online       intr       Fri Sep 18 08:01:29 2026 13
> 1    1    online       intr       Fri Sep 18 08:01:29 2026 1
> 2    2    online       intr       Fri Sep 18 08:01:29 2026 1
> 3    3    online       intr       Fri Sep 18 08:01:29 2026 1
> 4    4    online       intr       Fri Sep 18 08:01:29 2026 1
> 5    5    online       intr       Fri Sep 18 08:01:29 2026 1
> 6    6    online       intr       Fri Sep 18 08:01:29 2026 1
> 7    7    online       intr       Fri Sep 18 08:01:29 2026 1
>
> The microcode was downloaded from the kernel.org git; url provided by
> cpuctl(8)
>
> The firmware was copied before attempting ucode update to:
>
> /libdata/firmware/x86/amd/microcode_amd_fam17h.bin
>
> Here's the command description under cpuctl(8)
>
>      ucode [cpu] [file]
>                This applies the microcode patch to CPUs.  Unless -v was
> given,
>                errors indicating that the microcode already exists on the
> CPU
>                in question are ignored.  If cpu is not specified or -1, all
>                CPUs are updated.  (AMD CPU updates need to update all CPUs
> at
>                once.)  If cpu is -2, the current CPUs are updated.  The
>                default filename is used if no filename is specified.  The
> file
>                pathname containing the ucode updates are searched relative
> to
>                the default firmware path found in sysctl(7)
> hw.firmware.path.
>                The identify command prints the installed version on the
>                specified CPUs.  On success the identify command shows
>                different ucode versions before and after this command.
>
>                Some problems will only be reported in the kernel message
>                buffer, so check dmesg(8) in case of errors.
>
> As mentioned, the file pathname is searched relative to hw.firmware.path:
>
> hw.firmware.path =
>
> /libdata/firmware:/usr/libdata/firmware:/usr/pkg/libdata/firmware:/usr/pkg/libdata
>
> Also, notice that all cpus must be handled together. I'm guessing
> that's where the -1 option comes into play.
>
> So, I tried the following forms:
>
> > doas cpuctl ucode -1 /x86/amd/microcode_amd_fam17h.bin
> > doas cpuctl ucode -1 /libdata/firmware/x86/amd/microcode_amd_fam17h.bin
> > doas cpuctl ucode -1 microcode_amd_fam17h.bin
> > doas cpuctl ucode -1
>
> Each form returns "cpuctl: -1: No such file or directory"
>
> And, just in case the problem is cpu -1, I tried it with cpu 0, and it
> returned:
>
> > doas cpuctl ucode 0 /x86/amd/microcode_amd_fam17h.bin
>
> cpuctl: ucode updates on AMD can only be done on all CPUs at once
> cpuctl: unsupported
>
> I'm hoping it's something extremely obvious, but maybe I'm too tired
> at the moment to see it.
>

Reply via email to