Re: nvme controller reset failures on recent -CURRENT

From: Enji Cooper (yaneurabeya) <yaneurabeya_at_gmail.com>
Date: Tue, 27 Oct 2026 19:45:56 UTC
> On Oct 26, 2026, at 9:48 PM, Don Lewis <truckman@FreeBSD.org> wrote:
> 
> On 25 Oct, Warner Losh wrote:
>> On Sun, Oct 25, 2026 at 10:38 PM Don Lewis <truckman@freebsd.org> wrote:
>> 
>>> On 25 Oct, Abdelkader Boudih wrote:
>>>> You are running 002C firmware. Please update to latest .
>>>> 
>>>> You should have nda0: <INTEL SSDPEKNW512G8 **005C** BTNH940617WE512A>
>>> not nda0: <INTEL SSDPEKNW512G8 *002C* BTNH940617WE512A>.
>>>> 
>>>> This looks like a nvme firmware problem.
>>>> 
>>>> Abdelkader
>>> 
>>> Weird ... my browser time out if it tries to use an IPv6 connection to
>>> https://www.solidigm.com/
>>> 
>>> I booted a Linux Live .iso.  Then I was able to download the Linux CLI
>>> version of the Solidigm Storage Tool and upgrade the device firmware.
>>> 
>>> https://www.solidigm.com/us/en/support-page/drivers-downloads/ka-00085.html
>>> 
>>> nda0: <INTEL SSDPEKNW512G8 005C BTNH940617WE512A>
>>> 
>> 
>> Next time, you may be able to just run that tool from FreeBSD. We have good
>> linux compat ioctl which allows passthru commands to work which should allow
>> the program to run (assuming you couldn't extract the image and just use
>> nvmecontrol fwupgrade).
> 
> The tool is a dynamicly linked executable that relies on some system
> libraries.  Maybe a Linux jail would work, but then how to access
> /dev/nvme?
> 
> There are a bunch of firmware files, but it's not obvious what is what:
> FirmwareModules 129%ls
> firmware_module_adp.so <http://firmware_module_adp.so/>	firmware_module_hh.so <http://firmware_module_hh.so/>	firmware_module_nh.so <http://firmware_module_nh.so/>
> firmware_module_cd.so <http://firmware_module_cd.so/>	firmware_module_hhdc.so <http://firmware_module_hhdc.so/>	firmware_module_oem.so <http://firmware_module_oem.so/>
> firmware_module_cpc.so <http://firmware_module_cpc.so/>	firmware_module_kh.so <http://firmware_module_kh.so/>	firmware_module_yv.so <http://firmware_module_yv.so/>
> firmware_module_eh.so <http://firmware_module_eh.so/>	firmware_module_lh.so <http://firmware_module_lh.so/>
> 
> and:
> %file firmware_module_adp.so <http://firmware_module_adp.so/>
> firmware_module_adp.so <http://firmware_module_adp.so/>: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

	If you just use the `sst` command, as documented in the CLI instructions, the rest will probably be handled for you.
	Try using the “Rocky Linux” compat base and the RPM-based install. It might work, but I also suspect there’s a good chance that the tool is written for a much newer version of Rocky Linux than we support in tree (we have the RHEL9 based version, which is a bit long in the tooth).
Cheers,
-Enji