M.2 nvme expansion bd

Thanks I overwrote the firmware that was shipped with my NVMe board with AS_PCIE_210527_81_3A_00.bin which has “fixed” the incorrect driver issue. It appears there is an unknown number of boards (I’ve got 2 now, from different suppliers) which have been flashed with the wrong firmware, which causes the boards to underperform. I’m in discussion with Argon40 about this.

If SMART information works on Windows but not Linux, then I suspect the SMART issue is down to smartmon tools, and you need to raise a bug there: GitHub - smartmontools/smartmontools: Official read only mirror of the smartmontools project SVN there is already one relating to a different ASMedia chip. Of course, it could be a Linux Kernel driver issue too, but if it works on Windows I think it rules out the hardware and firmware.

So today I was busy and I got the SMART information out of the device.
The first thing I messed up last time was the idproduct which was 2364 instead of 2362, which I corrected. The problem is that nvme support for ASM2362 was only added in smarmontools 7.3 and higher… Debian bullseye is still stuck on 7.2 which does not support it. So either you go bookworm or you can do some trickery - I manage to stay on bullseye. The steps I took to achieve it were the following:
I have openmediavault installed on a raspbian os.

prepare some dependencies

sudo apt-get install autoconf automake debhelper-compat libcap-ng-dev libselinux1-dev libsystemd-dev devscripts -y

remove the old smartmontools

sudo dpkg -r --force-depends smartmontools

get the newer version

dget https://deb.debian.org/debian/pool/main/s/smartmontools/smartmontools_7.3-1.dsc

create directory and exctract package into it

dpkg-source -x smartmontools_7.3-1.dsc

go to new directory

cd smartmontools-7.3/

build it

sudo dpkg-buildpackage -rfakeroot -b

go back

cd ..

add the built packages

sudo dpkg -i smartmontools_7.3-1_armhf.deb
sudo dpkg -i smartmontools-dbgsym_7.3-1_armhf.deb 

verify everything’s ok

sudo apt-get update && sudo apt-get upgrade
sudo smartctl -V

there should be nothing broken and you should see version 7.3
then to get the smart info do

sudo smartctl -a /dev/sda

for good measure devscripts can be removed, as it’s not needed

sudo apt-get remove devscripts

et voila

So to sum up if we want smart the official way I guess we need to wait until bookworm gets released… :frowning:
Anyway, now I am trying to get the openmediavault to work… I noticed that it is identifying my disk as sat and sudo smartctl -a /dev/sda -d sat will throw an error. There is a new type for asmedia - sudo smartctl -a /dev/sda -d sntasmedia which works for me. However, I cannot seem to yet figure out how to modify the openmedivault to use proper commands.

2 Likes

So I guess my question now is do I wait for Argon40 to come up with a solution or is me updating the firmware the way to go. I am not sure how to do that so would need some instructions. Thanks for pursuing this matter.

I’d hold out for now. It’s the Chinese New Year holiday so unfortunately there is going to be a bit of a delay.

The good news is using the drive with the wrong firmware still works and is still a lot faster than a micro sd card and updating the firmware doesn’t impact what’s stored on your disk. So once we know how they plan to handle resolving this issue (new firmware or replacement boards (if they aren’t allowed to release the firmware and flashing tools)) then it should be straightforward to get a boost in performance when we have a solution.

If you checkout my updated blog post you’ll see the performance gain we hopefully will get to see.

For the openmediavault smart information I have created a github issue. Feel free to follow along or join the conversation. I’ll report back if there’s any breakthrough. The command line smart info is working fine for now.

So status and temperature readings are working in OMV now.


Hopefully, the fix is implemented in the next release. If you don’t want to wait you can follow these steps to get the prebuilt version with the fix. For the fix to work it is important that your chip is showing id 174c:2362 as the fix was hardcoded for these values - see implementation. This means that anyone with a current software implementation in the nvme expansion board from argon40 will need to update the firmware version and specify the correct ASM2362 chip in the flashing tool (see my first comment or head to the @martinrowan 's blog.

Anyway, it would still be preferable if argon40 released an official software release or point to one.

@martinrowan If you are already in touch with argon40, it would make sense to suggest that the new firmware shall have the correct ID of 174c:2362 and not the old one 174c:55aa. If they put something else then the current fix in OMV would not be working.

to find out your current id use command lsusb -tv
E.g.

$ lsusb -tv
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
        ID 174c:2362 ASMedia Technology Inc. 

cheers!

@kulho It appears that the boards that shipped what Argon40 believe is the correct firmware aren’t using the correct vid, 174c is registered to ASMedia, however, according to this twitter user the “working” board he has came with vid: 199d pid: 2362. 199d I don’t believe they should be using, however, if Argon40 go back to using that rather than a further change would be required in openmediavault to handle the configuration they’ve gone with.

That seems a bit awkward. Well then I hope they will be reasonable and use the correct IDs, because it is already problematic to keep track of which chips are not buggy and what are their capabilities.

Wish I’d spotted this thread before going on to purchase NVMe Exp board…and NVMe SSD here in the UK.
Device fails to find the drive…so I’m in a pickle now.
Can anyone help…ideally with step by step instructions …please??

Argon Forty have released updated firmware and instructions. Please find details in my latest post: https://www.martinrowan.co.uk/2023/02/argon-one-nvme-board-fixed/

Thanks for getting this issue resolved. I have performed the fix and here is the before and after results.
results argon nvme adapter bd
before
RandRead: 14855 - RandWrite: 20747 - Read: 19520 - Write: 18083
after
RandRead: 20588 - RandWrite: 27315 - Read: 28261 - Write: 24174

Many thanks for this…am working on it right now! :slight_smile:

Hhmmm…followed instruction…nothing happened…nether PASS nor FAIL.
Where might that leave me please??

Is your board listed in the table at the bottom of the flashing tool. Maybe share a screenshot?

There’s the rub…the table didn’t populate for me!

It won’t populate if it doesn’t detect the drive. What make/model of NVMe drive have you got installed?

Thanks for getting back…would be nice to get to the bottom of this!
It’s a new…out of the packet… (un-formatted??) Kingston NV2 1TB SSD M.2-2280 PCIe Gen4 x4 NVMe

If you run Windows Disk Management, does it even show the disk?
If not, then worth checking the cable you’re using to ensure it’s a proper USB 3.0 cable, or if have a way of checking the drive is ok in another enclosure or computer.

Currently connecting using the ‘U’ connector supplied…and a USB3.0 extension cable,
Can’t get it to show (then format!) in Windows disk management.
Picking up a male to male USB3.0 cable tomorrow…that might help?
Heard some comments that the U connectors aren’t reliable!!?

It occurs that I never got around to replying on this thread!
Established that VID is 174C and PID is 55AA (in Win11 disk properties)…so returned board to supplier. Received replacement board with exactly same values…and Asmedia ‘fix’ doesn’t work with this board either! (table doesn’t populate with existing values, neither does ‘run’ produce any result)
Looks like this board will aso be returned!