NVME USB drives Realtek RTL9210/RTL9220 Firmware Version 1.xx
- GarryMoveOut
-
Offline
- Newbie
-
Enregistré
- Posts: 1
- Thanks: 0
Replied by GarryMoveOut on topic NVME USB drives Realtek RTL9210/RTL9220 Firmware Version 1.xx
Posted 6 months 1 week ago #2450
Recently I bought this Ugreen NVME M2 USB adapter, model CM578.
Oryginal dump:
I successfully updated RTL9210 firmware to 1.32.87.082923 but I still have problem with this enclosure.
When I connect it to my PC to USB 3.2 gen 2 I get max 425MB/s parrel read. I tried with USB A and USB C cable from enclosure set. I don't have other cables or PC to test it more.
On Raspberry Pi 5 I've got worse problems. Before update enclosure was disconnecting during heavy IO operations from docker containers. Synthethic fio doesn't cause problems. After update things are even wores. Even disk is idle, enclosure keeps disconnecting and connecting. I've tried active hubs, connecting to USB 2.0 with no success.
Oryginal dump:
Warning: Spoiler!
Code:
**************************************************************Device : [Port2] : Realtek RTL9210 #0**************************************************************U2PHY : n/aU3PHY : n/aVID : 0x0bdaPID : 0x9210MANUFACTURE : "Ugreen"PRODUCT : "Ugreen Storage Device"SERIAL : "XXXXXXXXXXXX"SCSI_PRODUCT : "n/a"SCSI_VENDOR : "n/a"USB_SELF_PWR : n/aDISK_HOTPLUG : 0x01LED : 0x01PINMUX1 : 0x00000000PINMUX2 : 0x00000000U2_MAXPWR : 0xfaU3_MAXPWR : 0x70ASPMDIS : 0x00PCIE_REFCLK : n/aDISK_IPS_THRES : 0x0fSWR_1_2V : n/aEN_UPS : n/aPD : n/aCUSTOMIZED_LED : n/aSUSPEND_LED_OFF : n/aFORCE_USB_SPEED : n/aFORCE_PCIE_SPEED : n/aEN_U1U2 : n/aFORCE_USB_QUIRK : 0x00000080FORCE_PCIE_QUIRK : n/aFAN : n/aDIS_SHOW_EMPTY_DISK : 0x01FORCE_SATA_NORMAL_DMA : 0x01UART_DBG_PIN : 0x05FINGER_PRINT_EN : n/aRM_INTERNAL_RD : n/aHS_AUTO_SWITCH : n/aUART_BAUD_RATE : n/aCUSTOMIZED_DISK_IDENTIFY : n/aHW_LED_CFG : n/aCDROM_CFG : n/aSUPPORT_HID : n/aLATE_INIT_DISK : n/aSCSI_WP_PIN : n/aSD_MMC_TYPE : n/aFORCE_PORT_TYPE : n/aBCDDEVICE : n/aSUSPEND_DISK_OFF : n/aSCSI_WB_PIN : n/aCUSTOMIZED_FEATURE : n/aPERIPH_API : n/aRAID_CFG : n/a Boot Mode : FlashFW Ver : 1.29.38FW Build Date : 2022.04.25IC Pkg Type : PCIEUUID : n/a Disconn_ForceUSB2 : false
I successfully updated RTL9210 firmware to 1.32.87.082923 but I still have problem with this enclosure.
When I connect it to my PC to USB 3.2 gen 2 I get max 425MB/s parrel read. I tried with USB A and USB C cable from enclosure set. I don't have other cables or PC to test it more.
On Raspberry Pi 5 I've got worse problems. Before update enclosure was disconnecting during heavy IO operations from docker containers. Synthethic fio doesn't cause problems. After update things are even wores. Even disk is idle, enclosure keeps disconnecting and connecting. I've tried active hubs, connecting to USB 2.0 with no success.
Last Edit:6 months 1 week ago
by GarryMoveOut
Last edit: 6 months 1 week ago by GarryMoveOut. Reason: Formating
Please Log in or Create an account to join the conversation.
Replied by admin on topic NVME USB drives Realtek RTL9210/RTL9220 Firmware Version 1.xx
Posted 6 months 1 week ago #2451
Hi,
The throughput problem may be due to poor management of the SSD by the RTL9210 controller, try the latest firmware for the SSD if available and if the problem persists, try with another USB 3.2 cable
The throughput problem may be due to poor management of the SSD by the RTL9210 controller, try the latest firmware for the SSD if available and if the problem persists, try with another USB 3.2 cable
Configuration
Asus Z790 Pro Art, Intel Cpu I7 14700K, Memoires 32Go Corsair DDR5 (6000Mhz CL30), Water-cooling Thermaright, nVidia Geforce RTX3060, Alimentation Asus ROG 850W, Samsung SSD 990 Pro, SSD980 Pro, Clavier Roccat Vulkan , Souris Asus, Boitier NZXT H6, HP Creative SB Kratos Free Fibre 10Gb Cable CAT8/7, Switch 10/5/2.5Gbps, Casque Philips Fedelis.
by admin
Please Log in or Create an account to join the conversation.
Replied by ax, dx on topic NVME USB drives Realtek RTL9210/RTL9220 Firmware Version 1.xx
Posted 6 months 1 week ago #2452
a little about firmware rtl92XX
As you see we a have two files. UTNVME - userspace code. UTGDFW - bootloader (aka GoldenFirmware).
All files have a same structure:
Header
Param
Main code
Here is example github.com/lolyinseo/RTL92XX . Two files: UTNVME_A_v1.29.12.011122.bin and ImHex project( github.com/WerWolv/ImHex/releases ).
Download both and open project with ImHex for more info
In flash.
x0 - x3FFF empty space
x4000 - userspace code header (from UTNVME)
x4800 - you config
compare width
01 - param id (U2PHY)
02 F4 9B E0 E1 - param value
02 - param id (U3PHY)
02 D4 09 00 D5 00 80 - param value
etc ..
xc700 - bootloader header
x13000 - bootloader main code
x20000 - userspace main code
no CRC for whole flash, only for maincode block, bootloader block. So you can build your own dump for flashing the chip if you dont have a backup.
If you have additional information, especially utilities for Linux, please share
As you see we a have two files. UTNVME - userspace code. UTGDFW - bootloader (aka GoldenFirmware).
All files have a same structure:
Header
Param
Main code
Here is example github.com/lolyinseo/RTL92XX . Two files: UTNVME_A_v1.29.12.011122.bin and ImHex project( github.com/WerWolv/ImHex/releases ).
Download both and open project with ImHex for more info
In flash.
x0 - x3FFF empty space
x4000 - userspace code header (from UTNVME)
x4800 - you config
Code:
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00004800 01 02 F4 9B E0 E1 02 02 D4 09 00 D5 00 80 03 DA ô›àá Ô Õ € Ú
00004810 0B 04 10 92 06 10 03 52 00 65 00 61 00 6C 00 74 ’ R e a l t
00004820 00 65 00 6B 00 05 18 03 52 00 54 00 4C 00 39 00 e k R T L 9
00004830 32 00 31 00 30 00 41 00 2D 00 56 00 41 00 07 20 2 1 0 A - V A
00004840 03 46 00 57 00 31 00 2E 00 32 00 39 00 2E 00 31 F W 1 . 2 9 . 1
00004850 00 32 00 2E 00 30 00 31 00 31 00 31 00 32 00 08 2 . 0 1 1 1 2
00004860 00 09 01 0A 00 00 07 00 0B 00 00 00 00 0F FA 12 ú
00004870 70 13 00 15 01 21 01 23 05 25 01 00 00 00 00 00 p ! # %
compare width
Code:
U2PHY : 02 f4 9b e0 e1
U3PHY : 02 d4 09 00 d5 00 80
VID : 0x0bda
PID : 0x9210
MANUFACTURE : "Realtek"
PRODUCT : "RTL9210A-VA"
SERIAL : "FW1.29.12.01112"
SCSI_PRODUCT : "n/a"
SCSI_VENDOR : "n/a"
DISK_HOTPLUG : 0x00
LED : 0x01
PINMUX1 : 0x00070000
PINMUX2 : 0x00000000
U2_MAXPWR : 0xfa
U3_MAXPWR : 0x70
ASPMDIS : 0x00
PCIE_REFCLK : n/a
DISK_IPS_THRES : 0x01
SWR_1_2V : n/a
EN_UPS : n/a
PD : n/a
CUSTOMIZED_LED : n/a
SUSPEND_LED_OFF : n/a
FORCE_USB_SPEED : n/a
FORCE_PCIE_SPEED : n/a
EN_U1U2 : n/a
FORCE_USB_QUIRK : n/a
FORCE_PCIE_QUIRK : n/a
FAN : n/a
DIS_SHOW_EMPTY_DISK : 0x01
FORCE_SATA_NORMAL_DMA : n/a
UART_DBG_PIN : 0x05
FINGER_PRINT_EN : n/a
RM_INTERNAL_RD : 0x01
HS_AUTO_SWITCH : n/a
UART_BAUD_RATE : n/a
CUSTOMIZED_DISK_IDENTIFY : n/a
HW_LED_CFG : n/a
CDROM_CFG : n/a
SUPPORT_HID : n/a
LATE_INIT_DISK : n/a
SCSI_WP_PIN : n/a
SD_MMC_TYPE : n/a
FORCE_PORT_TYPE : n/a
BCDDEVICE : n/a
SUSPEND_DISK_OFF : n/a
SCSI_WB_PIN : n/a
CUSTOMIZED_FEATURE : n/a
01 - param id (U2PHY)
02 F4 9B E0 E1 - param value
02 - param id (U3PHY)
02 D4 09 00 D5 00 80 - param value
etc ..
xc700 - bootloader header
x13000 - bootloader main code
x20000 - userspace main code
no CRC for whole flash, only for maincode block, bootloader block. So you can build your own dump for flashing the chip if you dont have a backup.
If you have additional information, especially utilities for Linux, please share
by ax, dx
Please Log in or Create an account to join the conversation.
Replied by ersds on topic NVME USB drives Realtek RTL9210/RTL9220 Firmware Version 1.xx
Posted 6 months 1 week ago #2455
Hello my frieds.
I apologize for my terrible English.
I'm going to summarize as much as possible what I messed up.
I went to update the firmware on my orico case and put the wrong firmware in, freezing at 14% and failing, but I tried to put in more wrong firmware later, which loaded up to 100%, but left my case unusable.
(First I made a mistake when putting GD A. Then I ended up seeing that all the firmware I was trying was for a model that wasn't dual protocol)
I tried to reset the firmware causing a short in the EPROM, with VCC + CS#, but the LED doesn't even light up or blink when I do this.
When researching the EPROM (SPI UC25HQ40), I saw that it does not have a hardware reset pin. ( www.ucuntech.com/uploads/20220324/3f2b6d...2fd7954a127893e8.pdf )
SSD Case: Orico Dual Protocol SSD Enclosure (10Gbps) M.2 NVMe and NGFF(SATA)
RTL9210B
Current Situation: SSD appears with zero capacity. Not bootable by the manager. Cannot create partitions using cmd.
I apologize for my terrible English.
I'm going to summarize as much as possible what I messed up.
I went to update the firmware on my orico case and put the wrong firmware in, freezing at 14% and failing, but I tried to put in more wrong firmware later, which loaded up to 100%, but left my case unusable.
(First I made a mistake when putting GD A. Then I ended up seeing that all the firmware I was trying was for a model that wasn't dual protocol)
I tried to reset the firmware causing a short in the EPROM, with VCC + CS#, but the LED doesn't even light up or blink when I do this.
When researching the EPROM (SPI UC25HQ40), I saw that it does not have a hardware reset pin. ( www.ucuntech.com/uploads/20220324/3f2b6d...2fd7954a127893e8.pdf )
SSD Case: Orico Dual Protocol SSD Enclosure (10Gbps) M.2 NVMe and NGFF(SATA)
RTL9210B
Current Situation: SSD appears with zero capacity. Not bootable by the manager. Cannot create partitions using cmd.
by ersds
Please Log in or Create an account to join the conversation.
Replied by done_pt on topic NVME USB drives Realtek RTL9210/RTL9220 Firmware Version 1.xx
Posted 6 months 1 week ago #2469
Like a fool, I did not do a dump before updating... help?
My chip is the RTL9210 l5CF8ER GNO5B, so I assume it's the A chip, not the B but all the latest firmware updaters I've tried don't let me select the B version .bins.
Updating with the B bins did fix my issues with WD SN770 NVME's on Mac but I messed up the LED behavior, editing the config settings like:
LED = 0x1 - Does not turn off the LED, it doesn't seem to do anything. Ideally, I'd want the LED to turn off when idle and on when working, but just always on and blinking when working is fine too I guess.
I also tried LED = 0x2 / 0x3
and
RM_INTERNAL_RD = 0x1
SUSPEND_LED_OFF = 0x1
The LED is still always on even when ejected.
I must be missing something obvious.
My chip is the RTL9210 l5CF8ER GNO5B, so I assume it's the A chip, not the B but all the latest firmware updaters I've tried don't let me select the B version .bins.
Updating with the B bins did fix my issues with WD SN770 NVME's on Mac but I messed up the LED behavior, editing the config settings like:
LED = 0x1 - Does not turn off the LED, it doesn't seem to do anything. Ideally, I'd want the LED to turn off when idle and on when working, but just always on and blinking when working is fine too I guess.
I also tried LED = 0x2 / 0x3
and
RM_INTERNAL_RD = 0x1
SUSPEND_LED_OFF = 0x1
The LED is still always on even when ejected.
I must be missing something obvious.
by done_pt
Please Log in or Create an account to join the conversation.
Time to create page: 0.154 seconds