Question *STABLE* NVMe - USB Adapter?

cyberjedi

Junior Member
Apr 4, 2010
23
13
81
I'm looking to buy a *RELIABLE* NVME-USB external adapter, that doesn't disconnect randomly, can keep up the close to 1GB/s speed.
So far all adapter's reviews contain frighteningly high % of reports of malfunction, random disconnects, sub-par speeds, falling to even under USB 2.0 speeds, etc.
There are 3 main chipsets in the market: JMicron JMS583, Asmedia ASM2362, and Realtek RTL9210 (no product has surfaced with the latter yet, so no REAL reviews, experiences yet UPDATE: it is on the market already).
Also ASUS has a new product, ROG Strix Arion, but there isn't enough feedback about it yet, and I mean real life feedback not just being able to run a few benchmarks, but real stress test to see if the device (adapter) can keep it up, without disconnecting or slowing down hard.
I would really appreciate any feedback from those who have GOOD experiences during stress-tests, like tons of random 4k writes with a stable speed, cloning 100's of GB-s at a stable high speed close to 1GB/s.
I know SSD's very well, so please stick to the point and don't start to educate me on how their speed falls after some writes, etc. I'm aware and this is NOT the point.
You can help if you can point me to a STABLE and RELIABLE NVMe-USB-C adapter that WORKS as expected.
Thank you in advance!
 
Last edited:

fantom3l

Junior Member
Mar 22, 2020
15
32
91
For those interested i have uploaded RTL9210 firmware v1.20.12 from 12.02.2020 + v1.18.1 from 28.10.2019 and upgraders for x86 and x64 ( read the note inside) along with examples of configuration for upgrade from different devices.
You can find thepackage HERE .
Used already on 2 devices i have and i did not brick mine. As you will see in configuration you can change name of your device+ stanbytime .... + a lot more.Just edit the config as you wish, if not use the generic one.
Also for JMS583 i have uploaded all firmwares i could find during time HERE including the latest 0208 with different configurations for standby time including the no standby one.
 
Last edited:
  • Like
Reactions: kaefers

Shonky

Junior Member
Aug 14, 2020
5
4
51
Why are you all messing with the nvram you dont know the exact variables used at the factory and all 99% of people need to do is update the base firmware

In my case i took a backup of the complete firmware with the factory nvram before i started messing around

I have an AXE 512GB SSD (480 GB TLC Dramless) its a turnkey sollution built by Phison and id's as Phison PU31
Its a Phison PS5013-E13 PCIe 4x Nvme Drive with a JMS583

Mine came with JMS583 Firmware 195.02.00.04

I presume the important part is 02.00.04 and the 195 is just some custom revision for phison e.g. a custom 00.02.00.04
I updated it to 00.02.00.09

There are two ways to do it without Changing the nvram

1) Use the JM2033X FW Update Utility ticking RD Version and unitcking Include NVRAM (you can also use this to backup your complete JMS583 firmware with nvram vars)
or
2) Use JMMassProd_v1_16_15_12 and setting EnEEPROMUpdate=0 in the ini this way it only updates the firmware and nothing else

There are so many downsides to changing the nvram var's that its just not worth it

NVME Passthrough doesnt work so you cant access the smart data or the NVME drive firmware etc for flashing/dumping nand info
you have to go chasing down everything for the JMMassProd.ini
VenderID=13FE
ProductID=2570
StringA=Phison PU31
StringB=PU31
StringC=Phison
String3=MYSERIAL

Now im sure i could get NVME Passthrough working with a setting in the ini
but im not going to get every var 100% the same

I really advise anyone doing this to take a complete backup of the firmware with the nvram
and only flash the firmware without messing with your nvram


Internals 1.jpgInternals 2.jpgInternals 3.jpgInternals 4.jpgInternals 5.jpg
 
  • Like
Reactions: 7alken

BrallyO

Junior Member
Feb 22, 2020
21
10
51
I managed to figure out how to reset the SCSI_ fields for the rtl9210 firmware update flash tool. it might be possible to do this with the mini flash tool that is distributed by some vendors, but the most recent version hides what is needed.

Under Settings on the application pulldown menu, there are two options, named "Update Serial" and "Update Parallel".

Parallel updating was the default and that's what I had been using. This reads and merges the existing device config to the new/changed config fields, but it won't reset data fields. If there are previous settings, they will not be set to defaults if not declared or set to null.

To set things back to defaults, change this to Update Serial, and it goes across the flash device config block and wipes everything except what was explicitly in the new config file/settings.
 
Last edited:

TQD1996

Junior Member
Apr 11, 2022
2
1
6
Hello, I just want to share my experience about JMicron JMS583 firmware update process.
1. Download 2 zip files from this link here and unpack: https://drive.google.com/drive/folders/1Wu4Dq9hvC6qB9b7kjN-8s7N3LVwv4OZd
2. Open unpacked folder of the file "jms583_20.05.00.01(station-drivers.com).zip", add ".bin" extension to the file "JMS583_FW_20_05_00_01" (become "JMS583_FW_20_05_00_01.bin").
3. Edit the file "JMMassProd.ini" in folder "JMMassProd_v1_16_15_12", on the line "FwFileName=", replace path with the path to "JMS583_FW_20_05_00_01.bin" file (full path).
4. Plug in the adapter and launch "JMMassProd_v1_16_15_12.exe". You may have to wait about 1-2 mins for the software to detect the adapter (click on "Refresh" if not show, I plugged it in an USB3.0 port).
5. When the adapter show, click on "Start". The process may stuck on 5%, you just have to be patient. I waited for about 15-20 mins, my was still stuck at 5%, then I unplugged the adapter, later I plugged it back and the FW version is now "20.05.00.01".
Be careful, update the firmware at your own risk! Hope you success :)
 
  • Like
Reactions: Krevety

waterboyd

Junior Member
Nov 30, 2019
5
14
51
got realtek 2weeks ago but bad luck I accidentally dropped PCB while remove. port type-c soldering cracked I need some mobile phone repair shop help.
but I do some test before accident happen. The RTL9210 read transfer rate for data 4K slightly lower than ASM2362, both are working 10gbps stable no random disconnect.
2019-12-16-16-59-50-Window.png

2019-12-16-17-13-24-Window.png

20191216-162640.jpg
 

eddieobscurant

Junior Member
Oct 19, 2015
15
5
81
If you guys need the latest firmware for jmicron or realtek here they are from jeyi link
They should probably work with other brands with the same controllers but you try it at your own risk.
I have the jeyi i9 (jms583) and it upgrades to fw 0208
I downloaded the one with 5minutes (there was no delay though)
 

Surgeon100

Junior Member
Apr 3, 2020
5
1
6
Just an update regarding the Ugreen (ASM2362 chip) enclosure.
It has been 100% stable during the last two days. No disconnections or interruptions. I had the drive working for 10 hours straight, downloading and gaming, without a hiccup.
The bechmark results are lower than before (around 720mb/s read and 900mb/s write vs 970mb/s read and 990mb/s write on CrystalDisk). However, when transfering files, it seems quicker at 700ish mb/s vs 650ish mb/s with the JMS583 based SSK enclosure.
 

BrallyO

Junior Member
Feb 22, 2020
21
10
51
I'm declaring my RTL9210 stable. Everything where the multiple JMicron adapters I tested failed is working great on the RTL9210, and it runs super cool. On the JMIcrons I was able to hit thermal throttling on multiple SSDs, even with all the thermal pads applied.

For example, the hottest SSD I have is a 500GB Samsung EVO 960 that starts throttling at 70C, which was easy to hit with sustained reads/writes on the JMicron adapters. On the RTL9210 I can't get it over 36C with ambient at 27C. Basically it runs +5C ambient and about +10C at full-throttle after 5-minutes. The difference is crazy.

I can't talk too much about performance because I don't really care as long as it's decent. I did run Crystalmark once and it looked similar to the other bencharks I've seen: The JMicrons are better in a few places and the Realtek is better in others but they are pretty similar and seem mostly limited by the USB port.

I ran tests on both Windows and Linux on multiple computers, including booting and upgrading the OS from the drive itself, even with a USB extension cable that should be causing some power loss, the drive just works every time.
 

waterboyd

Junior Member
Nov 30, 2019
5
14
51
Hi I'm back....
4 months my usage environment
ASM2362 the best stable.
RTL9210 sometime fault.

If you guys need the latest firmware for jmicron or realtek here they are from jeyi link
They should probably work with other brands with the same controllers but you try it at your own risk.
I have the jeyi i9 (jms583) and it upgrades to fw 0208
I downloaded the one with 5minutes (there was no delay though)

OH MY GOD!!! JEYI firmware fixed my Orico JMS583 ugly bug always run USB2.0 when connect Orico USB Hub 10Gbps.
Well done! Many Thanks!


IMG-20200412-032028.jpg
 

kaefers

Junior Member
Jun 12, 2020
9
7
36
I ordered a total of four btw - just to see if there are any differences and because I could not help myself..
JEYI i9 GTR (RTL9210) - https://www.aliexpress.com/item/33035709205.html ,
JEYI i9 NVME (JMS583) - https://www.aliexpress.com/item/32874418125.html
ORICO M2PJM-C3 (RLT9210) - https://www.aliexpress.com/item/4001137870584.html
Asus Arion (ASM2362) - https://www.asus.com/Optical-Drives-Storage/ROG-STRIX-ARION/

So far I only got the Asus and Orico, still waiting for the JEYI. I also tested out a Sabrent Rocket Nano (JMS583), has some connectivity issues with X570, but main reason I sent it back is because the DRAM-less 2242 m.2 basically sucks.

Once I got all of them together, I will be running some synthetic benchmarks and more importantly imho real-world file transfers to see how they fare.
 
Last edited:

kaefers

Junior Member
Jun 12, 2020
9
7
36
@kaefers
about the failure to update the firmware, could it be that version 1.20.12 (which is also older than the 1.21.10 already present) is simply only for the RTL9210 chipset and therefore not fully compatible with the RTL9210B chipset?
The attached log shows the error related to the different "Pkg Type" ("PCIE" for the 9210 chipset and "PCIE_SATA" for the 9210B). Also the "PCIE_PWRCUT_THRES" which should disable the pcie power after X minutes in idle mode seems to have a different value than the others listed in the various .cfg and .txt files of the "RTL9210_fw1.20.12.7z" package.

I've ordered the same Orico M2PJM-C3 enclosure but I'm afraid I'll have to wait many days before I get it.
From what I see, it seems the 9201 is NVME only, while the 9201B is a separate product that does dual NVME/SATA.

Thanks for your input!
I guess the 9210B is the NVMe/SATA chip and different from 9210 NVMe-only, and not fully compatible. I wrote the seller on AliExpress and Orico, asking nicely for a FW update... let's see.

Also, somehow, I did manage to get a partial update done, got to 15% then failed, but the dump from MPtool now reads as below...

So now I seem to have FW Ver 1.17.4 (I don't know where this is from, there is either 1.20.x or 1.18.x or 4.17.x but I have no 1.17.4 anywhere lol), and it also seems PCIE_PWRCUT_THRES is 0x00, so I should be good - need to test it out still if the enclosure works properly :)

EDIT:
Some images of the Asus and Orico enclosures. Clearly (as usual) the Asus is overdone and it's thermal pad is also not great (this is an old thermal pad, ordered new ones, the orignal Asus one did not allow me to close the lid properly, thermal pad too thick.. I really like the Orico, although the Asus does a better job in terms of thermals, but weighs like 3x as much.

EDIT2: Seems like the Orico enclosure still works, CDM7 about the same as before..
 

Attachments

  • Orico M2PJM-C3 partial_failed update.png
    Orico M2PJM-C3 partial_failed update.png
    52.9 KB · Views: 61
  • 01.jpg
    01.jpg
    713.5 KB · Views: 59
  • 02.jpg
    02.jpg
    668 KB · Views: 49
  • 03.jpg
    03.jpg
    1.1 MB · Views: 54
  • 04.jpg
    04.jpg
    589.1 KB · Views: 52
  • 05.jpg
    05.jpg
    1 MB · Views: 66
Last edited:
  • Like
Reactions: Andalu

kaefers

Junior Member
Jun 12, 2020
9
7
36
I have put the ORICO M2PJM-C3 (RLT9210) and Asus Arion (ASM2362) to the test with a 2TB Samsung 970 Evo Plus, OS Win10Pro, OS drive a Samsung 1TB 970 Pro, Asus X570 C8I.

Aside from the thermal advantage for the Asus, I would go with the smaller and overall very well performing Orico...
 

Attachments

  • 01.jpg
    01.jpg
    221.8 KB · Views: 73
  • 02.jpg
    02.jpg
    245.6 KB · Views: 62
  • 03.jpg
    03.jpg
    186.5 KB · Views: 60
  • 04.jpg
    04.jpg
    180.3 KB · Views: 51
  • 06.jpg
    06.jpg
    116.1 KB · Views: 47
  • 05.jpg
    05.jpg
    160.9 KB · Views: 52

Andalu

Member
Jun 25, 2020
93
68
61
first good news: now the nvme finally goes into stand-by mode after the 5 minutes set even after using Crystaldisk Mark and CrystalDisk Info. Also the resuming from the stand-by mode is OK.

The first two consecutive performance tests (enclosure connected into the USB port n.1 to avoid problems :)) are good as expected for an nvme disk even if the temperature reached 62 degrees already at the end of the second benchmark, but this is not new.
1.Bench on 0209.png 2.Bench on 0209.png
 
Last edited:
Dec 6, 2008
149
24
81
ok so mangaed to update the firmware but using the same JMMassProd.in * since it is for my hid after all , removed the SSD, renamed to JMS583_0209 and redirected to C:\JMS583_0209 * left it there, the default path was a mess. i was greated with a pass pass and FAIL. but it seems it was refering to partition and since i had no SSD inside i guees it was that. disconnected, retested and now it detects on all gen 2 ports and all pcs! moved 50gb with no issues * a bit slower 750 vs 800... but i did it in the port it wasnt working before. also speed is grok.jpgfail.jpgeat. so it worked! * it shows as rev 0209 now * edit lol i left partition an format, lucky me no ssd inside! cheked
 
Last edited:

Charlie22911

Senior member
Mar 19, 2005
614
228
116
I don’t believe the issues are power related. My dual 2.5” bus powered raid enclosure draws more power than this and doesn’t have issues.
Photo attached is power draw while doing crystal disk mark run. Cable is Apple thunderbolt 3, attached to the 10Gbps/thunderbolt 3 port on my Aero 15x.

EDIT:
Attached another image of the aforementioned dual 2.5 enclosure, also running crystal disk mark. My JMS583 enclosure will *not* run at all on this same port. Even though (as you can see from the other image) it draws much lower power (4.13w vs 7.13w).
 

Attachments

  • 47A458D3-F0E9-473A-BE39-88AE82102904.jpeg
    47A458D3-F0E9-473A-BE39-88AE82102904.jpeg
    455.1 KB · Views: 58
  • 6F68E4A8-3B18-4F39-8C9A-841878EDF83B.jpeg
    6F68E4A8-3B18-4F39-8C9A-841878EDF83B.jpeg
    657.3 KB · Views: 53
Last edited:

Andalu

Member
Jun 25, 2020
93
68
61
I decided to stress my JMS583 polycarbonate enclosure (to which I added 3 thermal pads) with the firmware 2.0.9 on the USB3.1 gen.2 port number two of my asus Q370 board and for the first time even after 4 consecutive benchmarks, I didn't recognize any performance degradation even if the temperature reached 71 degrees in the last test. It had never happened before, there was always a loss of performance within the second consecutive test, especially when connected to that specific port:
Image 001.png Image 002.pngImage 003.pngImage 004.png
 

Andalu

Member
Jun 25, 2020
93
68
61
Here my tests with the RTL9210 chipset (only pcb without brand to connect to USB port type 'A', no enclosure):
Image 1.png Image 2.pngImage 3.pngImage 4.png

The standby mode is activated after one minute. No disconnection even if in idle. The safe-remove command does not work properly because its LED is always on (for one minute, then it goes into standby mode).
I'm still waiting for the orico enclosure with the RTL9210B.
 
Jun 10, 2020
149
47
61
I tried to fill missing info and avoid confusion since you mentioned usb gen 3.2 which may just be a marketting trap if advertised as 3.2 but perform same as 3.0 as described above (i.e gen 1) but again it may be gen 2 with 10Gbps Support. So what is important is gen 1 vs gen 2.
 
Jun 10, 2020
149
47
61
Ok regarding jms580 I have Orico firmware 1.05 in case one needs it.

@Andalu helped me unbrick my rom after firmware update which caused my enclosure to fail to boot. A big thanks.

I had my firmware saved using an old utility 2033x posted here. You need to choose fw backup with nvram option. (The other option with no nvram was not working).
check the [ X ] RD Version BOX and [ X ] Including JM5xx NVRAM.

There is a hard. reset procedure on Rom 8 pin chip in case of bricking your device. You need to short pins 1 &8 with tweezers hen connect to usb port for 10 seconds (until you hear a ding) and then let go of the tweezers and reflash.
E3C6DFD0-6465-4DB2-ABA5-358F55C74A2D.png
Same procedure for jms583.

Downside serial mumber has changed.
Original: 152D00580000
New after reflash: DD56419883899

WD BLUE SATA SSD M.2 2280 TEST:
USB 3.1 gen 1 gives: 458Mb/s Read and 454Mb/S write. These are very similar to NVME tests. (no gain was noticed with NVME technology).

USB 3.1 gen 2 Test
554 mb/s/s read, 505mb/s write.

As a comparison my harddisk SSD, best in class I believe, (Samsung 860 EVO SSD SATA III) gives read 562MB/s and write 528MB/S and has very similar benchmarks to the usb 3.1 gen 2 speed but nvme performs at greater than 1000mb/s so have this in mind if your pc supports this.

Here is the JMS580 1.0.5 firmware and app (can backup current firmware too) for JMS580:152D Orico
LINK
This was tested by me but use it with caution and accept the risk in case something goes wrong (use it only after saving your existing firmware with nvram option).

If there is an ini file for flashing for jms580 please share. (I don't think there is one for jms580 but wanted to ask just in case)
 
Last edited:
  • Like
Reactions: aik, moa and Andalu

Andalu

Member
Jun 25, 2020
93
68
61
Lately in this thread you can read some posts containing statements as if they were absolute truths even if they do not come from direct experiences that can be replicated and verified by anyone or for which no reliable source is quoted.

Some of them ("RTL9210 is faster and also supports 10Gbs on USB-A"), seems to be the proof of the non-reading of the whole thread and has already been opportunely rejected by @apoelistasaudi.

About the same statement and another one, perhaps the most interesting in the part concerning the reachable peak (1.212 MB/s vs 1 GB/s) (for the effective lanes no source has been provided until now, although explicitly requested by another user) from the two JMS583 and RTL9210 chipsets, I asked myself: what better opportunity to find a confirmation to this thesis than to use a PCI Express to USB 3.2 Gen.2x2 card (ASM3242 chipset) with a bandwidth of 20GBps?

And that's exactly what I did, using the same samsung 970evo NVMe and a Thunderbolt3 cable for both chipsets.
Here are the results, verifiable and replicable by anyone interested, where a different reality is highlighted:
the JMS583 chipset got better results in almost all the tests performed and I don't see the RTL9210 chipset reach the peak of 1.2 GB/s in any benchmark.

On the left side information and results for the RTL9210 chipset (firmware 1.23.9) and on the right side those related to the JMS583 chipset (revision A0 - firmware 2.0.9):

1. RTL9210 info.png 2. JMS583 info.png

1a. RTL9210 Anvil.png 2a. JMS583 Anvil.png

1b. RTL9210 AS.png 2b. JMS583 AS.png

1c. RTL9210 Atto.png 2c. JMS583 Atto.png

1d. RTL9210 CrystalDiskMark.png 2d. JMS583 CrystalDiskMark.png


P.S.: as already said, I didn't want to intervene anymore, but so approximate information has been reported that I couldn't avoid to do it.
 

Andalu

Member
Jun 25, 2020
93
68
61
@Orbss
I did another test with my RTL9210B enclosure.
Since the stand-by in your configuration file was disabled (DISK_IPS_THRES: n/a) I did the same for mine by setting it to 0x00 (so anyway disabled) and I did a first test with CrystalDiskMark as in the image below where you can see that the RTL9210B is connected to a USB3.0 port working as such:

1. Stand-by off at 11.15 PM.png

then, after leaving the NVMe in idle for about an hour (never entered in sleep mode), I repeated the same benchmark and the enclosure is still detected as connected to the USB3.0 port as shown in the following image:

2. no standby at 00.16.png

As far as I have detected in my system, I can't say that the issue you encountered is related to firmware 1.23.9......or at least not exclusively to it :)
 

razel

Platinum Member
May 14, 2002
2,337
90
101
As I can see, the chipset is JMS576, I read all the section but I could not make it flash the rom...

You answered your own question. The firmware file is for 583 not 576. Forcing it will be a disaster. I recommend returning that 576 based enclosure and moving on to 2nd gen USB-NVME chipsets. The ones I've found so far will tout support for 20Gbps.
 
  • Like
Reactions: Charlie22911

BrallyO

Junior Member
Feb 22, 2020
21
10
51
In case anyone is looking for firmware for the rtl9210b, I found and tested a firmware download package from here:



The latest at this time is 1.23.15.

sha256sum UTHSB_MPtool_Lite_v1.11.3.921.zip
50857271ec9788c58caff57f75b490049df88206992232a85a959a6287d35f73 UTHSB_MPtool_Lite_v1.11.3.921.zip

I am leery of downloading packages like this from random websites but it was uploaded by an admin of the site and the known firmware file hashes matched what I was expecting and it looks legit. I went ahead and flashed these on a regular rtl9201 and rtl9210b and it worked out fine, so I vouch for it.

The package above seems to have OEM/vendor tools which have some neat features, but nothing game-changing for us regular users. I wish Realtek would just make these files available for us techie types.
 
  • Like
Reactions: kennethrc

fantom3l

Junior Member
Mar 22, 2020
15
32
91
As requested RTL9210A firmware 1.29.8A and B and 1.30.21 for B reuploaded and i also added for JMS583 firmware 213 with some modifications done so that name of drive, parameters and stuff are seen by windows programs proper. Inside the package are 2 examples on how the enclosure is seen at eject from windows. Who wants to modify the firmware for it's custom name can do a hex compare , see the name change and do it (see included txt file).

Also as an extra and if you guys are willing to share, i have added also Asmedia and Jmicron firmware dumpers along with some of my tests on my enclosures.

I am looking for ASM2362 firmwares that are generic ones (ending in 00 00) to play with and the only ones i found are very old and on chinese payed websites where i do not have access. So maybe someone is willing to dump some firmwares since it's not distructive and requires only an exe run and drive select.

Code:
RTL9210A and B Reuploaded:
https://disk.yandex.com/d/eIRYQ7-cvJfWng

JMS583 modified firmware 213 to read real drive values.
https://disk.yandex.com/d/lnNYu7PBYpu0bQ

JMS Firmware dumper 0.1a with examples
https://disk.yandex.com/d/ZnfADSHWVIDmAA

Asmedia Firmware dumper with examples
https://disk.yandex.com/d/zZLFx-BhRnpOTg


If you see that you can't download the files, open a free yandex account with three cliks, import the files to your account and then download them from there.