Adata firmware update not seeing S70 Blade (NVME)

Digital Viper-X-

[H]F Junkie
Joined
Dec 9, 2000
Messages
15,116
Hello hello.
I picked up an s70 Blade 2TB drive, installed Adatas SSD toolbox, it suggested a firmware update... which is just an executable file. I ran it and it does not see the drive. Windows can see and use the drive without issue.

Windows 11
X570 Dark Hero

Drive is in the primary NVME slot (CPU one)
Any ideas ?
 
Sure you look for the right SSD firmware exe? There is a S70 Blade and a S70 non Blade.
 
Back in the day I would always do the firmware on SSDs but I've not really bothered the past few years. The main reason as stated above is that the update/toolbox utilities are mostly buggy and useless. I have had several drives that would just not do the updates through the apps (yes connected with SATA/M.2 etc. not USB). So yeah I gave up bothering.

You know the drill, app states and shows the drive you have connected and the firmware to update. You hit UPDATE

"No such Drive Detected!"

FFS!
 
Running the FW exe update as Admin? It also might not let you update a live boot drive, especially a Win11 one. Did you read the release notes of the FW update to see if it mentions any special instructions?
 
Recently, I purchased the Adata Gammix S70B (Blade) 1TB model, installed it on my Asus TUF Gaming X570 Plus (WiFi), which has be updated with the current FW from Asus (at the time 4403). I was going to format the disk with Linux, but to my surprise the drive doesn't appear nor is detected by Gparted, it was detected in the kernel with lspci it appears as:
Code:
01:00.0 Non-Volatile memory controller: ADATA Technology Co., Ltd. Device 5370 (rev 01)
It isn't detect with any other disk software tools or hardware info tools such as inxi or fdisk which lead me to search on this issue.

I saw a post in another Linux group that said this was corrected by using the Adata SSD Toolbox which downloads the Firmware Flash Updater. Unfortunately, there were no other details, but I went forward to attempt the flash, thus I had to install Windows 10 in order to use this Adata FFU, so I went ahead and did it.

Now the Adata SSD Toolbox did launch and did detect the Gammix S70B firmware version 3.2.F.2A, but the FFU (Firmware Flash Updater) does not detect it (yes even with, 'Run as Administrator') and the drop-down box also appears empty. I have opened a support ticket with Adata, and hopefully, they will be able to provide a firmware update method, otherwise may have to return the NVME drive.

AdataFWUpdate_32F66.PNG


This was also interesting when I booted up the Linux ISO and checked the dmesg log:

Code:
sudo dmesg | grep nvme
[    0.000000] Command line: BOOT_IMAGE=/arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ROSL_202207 nvme_load=yes cow_spacesize=16G i915.modeset=1 radeon.modeset=1 nouveau.modeset=0 nvidia-drm.modeset=1 module_blacklist=nouveau initrd=/arch/boot/intel-ucode.img,/arch/boot/amd-ucode.img,/arch/boot/x86_64/initramfs-linux.img
[    0.027713] Kernel command line: BOOT_IMAGE=/arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ROSL_202207 nvme_load=yes cow_spacesize=16G i915.modeset=1 radeon.modeset=1 nouveau.modeset=0 nvidia-drm.modeset=1 module_blacklist=nouveau initrd=/arch/boot/intel-ucode.img,/arch/boot/amd-ucode.img,/arch/boot/x86_64/initramfs-linux.img
[    0.027788] Unknown kernel command line parameters "BOOT_IMAGE=/arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ROSL_202207 nvme_load=yes cow_spacesize=16G", will be passed to user space.
[    0.941968]     nvme_load=yes
[    4.907149] nvme nvme0: pci function 0000:01:00.0
[    4.912042] nvme nvme0: Invalid MNAN value 0
[    4.912130] nvme nvme0: Removing after probe failure status: -22
[    4.960013] workqueue: WQ_MEM_RECLAIM nvme-wq:nvme_remove_dead_ctrl_work [nvme] is flushing !WQ_MEM_RECLAIM events:flush_cpu_slab
[    4.960025] Modules linked in: crc32_pclmul crc32c_intel aesni_intel nvme realtek crypto_simd mdio_devres cryptd xhci_pci nvme_core libphy xhci_pci_renesas wmi vmw_vsock_vmci_transport vsock vmxnet3 vmwgfx drm_ttm_helper ttm vmw_pvscsi vmw_vmci virtio_net net_failover failover virtio_pci virtio_pci_legacy_dev virtio_pci_modern_dev virtio_blk
[    4.960035] Workqueue: nvme-wq nvme_remove_dead_ctrl_work [nvme]
[    4.960065]  nvme_pci_free_ctrl+0x49/0x90 [nvme f36678f7d3e47489d3bddc0b856416a990a351ce]
[    4.960068]  nvme_free_ctrl+0x1bd/0x2c0 [nvme_core fee8f353cea774cb87e1b8ec498ecd40e9e89610]

Update: I think what I will try next is to boot with a Windows 10 PE or Gandalf's Win 10 ISO and try to update the firmware from there. I'll report back my results.

Next update: I used Window 10 PE and attempted to update the FW, but again the drive is only detected in Adata SSD Toolbox, and not with the Adata Firmware Flash Updater.
The Adata support is horrible and unhelpful, they said "There can only be 2 reasons that wouldn't allow the drive to be updated with newer firmware. The first would be physical errors being reported by the drive, and it was suggested to run 'chkdisk'. The other reason is that there is no newer update available for the drive." I had already ran the extended Drive Diagnostics (physical scan) in the Adata SSD Toolbox and it didn't report any errors. If there wasn't any update available, I would not have been able to download the FW that appears in Adata SSD Toolbox. The support person basically punted and said to open a RMA to get the drive replaced. :banghead:

I really love the speed of this drive, but if it's not able to work under Linux, then I think i'm just going to return it. But, before I do anything either RMA or return it, i'm going to try with a USB M.2 NVME enclosure and see if it will be recognized that way.
 
Last edited:
I am having the same issue. In my case I have 2 XPG Gammix S70 drives in my new computer build but only one is recognized by most of my Linux installs.

Strangely, I have Ubuntu Server 20.04 installed and it sees both drives, but Kubuntu 22.04 does not. I get the exact same dmesg output as you and the exact same results when trying to update the firmware. The one that won't work is the 3.2.F.2A and again - same as you - the Toolbox program offers the download but the .66 firmware installer doesn't see either drive. Also strange is the second drive has 3.2.F.46 firmware version but the Toolbox doesn't suggest updating it.

Anyway - if you have any success PLEASE post back here. I will do the same. I'm kicking myself for not sticking to Samsung drives as I have in the past.
 
I too am having the exact same issue with my 2TB Adata drive, did anyone figure this out?
 
OK, I'm using KDEneon (Ubuntu based) and current kernel version is 6.2.0-32-generic

I am able to "see" this drive if I use this boot parameter:

nvme_core.multipath=0

I have seen "=n" or "=N" in other places, but "=0" worked for me so I didn't try the others. Also,it booted a bit faster. Turning this off disables the MNAN check and thus the drive is now available.

At this point I have no idea what multipath does or if I need it, but I'm going to soldier on and see how it goes.
 
Last edited:
I attempted to research it but didn't find much in the way of what the heck multipath actually does or if I need/want it. Seems to not be installed by default in KDEneon but Suse and RedHat talk about it. They often referred to ""nvme over fibre" so I suspect it's a tool for much higher end systems than a home desktop PC, although it appears I have the ability to enable it. The way they described it makes it seem like a native NVME version of LVM. Identical NVME drives can be logically attached via multipath and then accessed as a single device. If I have gleaned this correctly, I don't need the ability.

A bit more research into the drives reveals this on the drive firmware that worked with multipath enabled in the kernel:
fr : 3.2.F.46
cmic : 0
[3:3] : 0 ANA not supported
[2:2] : 0 PCI
[1:1] : 0 Single Controller
[0:0] : 0 Single Port

while the drive that only worked with multipath disabled showed this:
fr : 3.2.F.2A
cmic : 0x4d
[7:4] : 0x4 Reserved
[3:3] : 0x1 ANA supported
[2:2] : 0x1 SR-IOV
[1:1] : 0 Single Controller
[0:0] : 0x1 Multi Port

So it seems that the source of the problem is indeed the firmware version ( "fr" in the above ), but in an opposite way. As long as multipath was enabled, the drive with multipath in the firmware did NOT work. Once multipath was turned off, they both worked.

Also worth noting, I have two other NVME drives (Samsung) also do not have multipath enable in their firmware. They worked no problem.

My conclusions:
  • Multipath is not needed in my (or likely most if not all) home user PCs and seems to be an enterprise level functionality.
  • Sometime after kernel 5.4 they enabled multipath in the kernel and thus this issue revealed itself.
  • The nvme drive firmware should not have multipath enabled if the device doesn't actually support it
  • (Opinion) This will probably work itself out over time as most Linux issues seem to do.
Final note: I suspect this isn't an issue with Win10 because it doesn't have multipath support by default like the latest Linux kernels do.
 
Last edited:
I HAVE TO SAY . . . Your work on this has saved my year.

I don't even know how i found your answer from all over the clouds, but it was meant to be.

I have been fighting the last year to get Linux OS of ANY description based on Kernel 5.1 / 5.4 to see my second nvme in ROG 370 motherboard.

Since i got this motherboard and desktop i had absolutely no big issues that weren't self-inflicted due to a huge learning curve for me. I am totally self taught over 15 years of almost-exclusively Linux, but never really delved deeply into CLI.

I have lurked in the forums of every major / minor distribution trying resolve why O S would see nvme0 but not nvme1. Switch drives, flip results. In other words, it was not due to SSD PRODUCER Driver issues ( they are mostly of no help, Adata,. etc ). Rather it was due to the position in the motherboard. First nvme always seen, 2nd, not.


I have two nvme0 and 1 each 1 tb only for OS partitions to test LInux distros in Quatro Boot. All the backup and storage for everything i need until i die.

I was venting my fury in r/archlinux hoping someone might be able to guide me. In doing so i tihinnk i unleashed the ghosts.

Here you are. . . OceanLover.. . bearing an explanation that actually made sense. i COULD NOT sleep until i gave it one last shot.


I was so enraged at the prospects of this never being resolved, after 6 months of trying -- but i tried to harness it with a constructive re-framing of the search to include torvald and a MORE-DETAILED set of terms on nvme drives; . .

At 2 a.m i FOUND THE ANSWER - HERE.

Drives have several Identifications. Some are not necessary, but the OS looks for them nonethess.

Giving the boot parameter the permission to NOT look for a particular kind identification that does not exist to begin with renders all drives visible. How clever of you to figure this out.


In my case, [ invalid Mnam = 0 ]

stops the boot from seeing the drive.

Including this in the boot parameter at the grub line, following the drive-kernel recognitions,

nvme_core.multipath=0


FIXED it.

What is the lesson here ? That the forums are a very powerful way to resolve Linus / Linux issues. These people really care about solving problems. And now i will revert to join here just to tell you so.

You never know WHO you might be helping.

I am in your debt. I am a 72 year old who has no years to waste any more.

I can only encourage you to spread the word on this. I will. Because dual nvme's ( and 3 , an 4 ) on a single board are only a matter of time before they becme commonplace.

And it seems that Linus Torvalds is just too far behind the curve when it comes to this stuff. It SHOULD have been fixed in the 6.0 .. . . but no.

Anyway, oshunluvr, enjoy the ocean.

I live in New Orleans, which USED to have the greatest seafood in the world in our Gulf, before The BP Spill. We will never quite recover.

Thanks again.

Andrew [email protected]
[email protected]

I do music and design:

https://chromaetshetics.com
 
...In my case, [ invalid Mnam = 0 ]
stops the boot from seeing the drive.
Including this in the boot parameter at the grub line, following the drive-kernel recognitions,
nvme_core.multipath=0

FIXED it.

What is the lesson here ? That the forums are a very powerful way to resolve Linus / Linux issues. These people really care about solving problems. And now i will revert to join here just to tell you so.
You never know WHO you might be helping.
I am in your debt. I am a 72 year old who has no years to waste any more.
I can only encourage you to spread the word on this. I will. Because dual nvme's ( and 3 , an 4 ) on a single board are only a matter of time before they becme commonplace.
And it seems that Linus Torvalds is just too far behind the curve when it comes to this stuff. It SHOULD have been fixed in the 6.0 .. . . but no.
I very glad you found this post - nearly a year later - and it helped you. I am 62 and have been using Linux since 1996ish (Mandrake KDE1 installed from 3.5" floppies).

IMO, this isn't so much a Linux problem as it is a new hardware design problem. I feel the NVME technology is still in it's infancy and in this case, multipath is a functionality that is not often (or ever) enabled in the home user / desktop environment. Clearly here, Adata's horrible retail consumer support is the root of the issue. IMO the secondary cause is a new and as of yet poorly documented technology being enabled in the kernel before the feature set was fully revealed to consumer level users.

The immediate solution - and one of the many benefits of Linux - is that we have the power to simply and easily switch off functionality without rebuilding kernels like we did in the old days. I can't even imagine what one would have to go through to fix something like this using Windows 10/11.
 
Back
Top