Opened 3 years ago

Closed 3 years ago

Last modified 5 months ago

#1479 closed enhancement (worksforme)

Add support for Realtek RTL9210B USB to SATA bridge

Reported by: David Owned by:
Priority: minor Milestone:
Component: all Version: 7.2
Keywords: realtek nvme ata Cc:

Description

I just bought a Sabrent USB adapter containing the RTL9210B which supports both NVME and SATA M.2 disks. I have a SATA disk installed but I can´t read any smart data. Would it be possible to add support for this chipset? I saw another ticket, 1315, asking for added support, but then for the chipset without B, which seems only NVME.
I now get (when using smartctl -d scsi -a /dev/sdb):

smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.11.16-1-default] (SUSE RPM)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               Sabrent
Product:              
Revision:             1.00
Compliance:           SPC-4
User Capacity:        1.000.204.886.016 bytes [1,00 TB]
Logical block size:   512 bytes
Physical block size:  4096 bytes
LB provisioning type: not reported [LBPME=1, LBPRZ=0]
Rotation Rate:        Solid State Device
Logical Unit id:      0x3001237923792379
Serial number:        0000000000000000
Device type:          disk
Local Time is:        Wed Apr 28 17:46:12 2021 CEST
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Disabled or Not Supported

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
Current Drive Temperature:     0 C
Drive Trip Temperature:        0 C

Error Counter logging not supported

Device does not support Self Test logging

If I execute: smartctl -d test -a /dev/sdb I get:

/dev/sdb [USB NVMe Realtek]: Device of type 'sntrealtek' [NVMe] detected
/dev/sdb [USB NVMe Realtek]: Device of type 'sntrealtek' [NVMe] opened

Thanks in advance.

Change History (8)

comment:1 by Christian Franke, 3 years ago

Keywords: realtek nvme ata added
Milestone: undecided

Please try smartctl -d sat -i /dev/sdb.

comment:2 by David, 3 years ago

Resolution: worksforme
Status: newclosed
smartctl -d sat -i /dev/sdb

Yes, that works! Wow! I had been trying many types, must have skipped this one. Thanks a lot.

Ps. I changed it to worksforme, if that´s ok

comment:3 by Christian Franke, 3 years ago

Milestone: undecided

Yes, worksforme is OK.

Most regular (non-NVMe) USB -> SATA bridges support the vendor independent SCSI/ATA Translation (SAT) ATA pass-through command. It is good that the RTL9210B also supports this if a SATA M.2 SSD is connected.

comment:4 by Christian Franke, 3 years ago

Does the RTL9210B behave sane if -d sntrealtek (or no -d option) is used and a SATA SSD is connected?

Also applies to the opposite case: If -d sat is used and a NVMe SSD is connected?

Smartctl should print ... scsi error unsupported field in scsi command or similar. This should not trigger any device hangs or disconnects.

A sane behavior would allow to implement auto-detection of the device type. Option -d sat would be no longer needed then.

comment:5 by David, 3 years ago

With the SATA disk:

smartctl -d sntrealtek -a /dev/sdb
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.12.0-1-default] (SUSE RPM)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

Read NVMe Identify Controller failed: scsi error unsupported scsi opcode

I don´t have a NVMe SSD so can´t test

Btw, lsusb shows "ID 0bda:9210 Realtek Semiconductor Corp. RTL9210 M.2 NVME Adapter"
which is the same as the RTL9210 as I saw in the ticket 1315

in reply to:  3 comment:6 by David, 3 years ago

Replying to Christian Franke:

Yes, worksforme is OK.

Most regular (non-NVMe) USB -> SATA bridges support the vendor independent SCSI/ATA Translation (SAT) ATA pass-through command. It is good that the RTL9210B also supports this if a SATA M.2 SSD is connected.

Good to know. I have another USB SSD, from Crucial, the X8, but I don´t know what kind of drive is in it, except for the size, and haven´t been able to get a smart read out except some basic knowledge when using -d scsi. Is there a way to get to the smart data? It is enabled and Crucial´s windows software can read it ok, but I would like to get the info in Linux.

comment:7 by Christian Franke, 3 years ago

See the USB wiki page for possible -d options. The specs of the Crucial X8 suggest that it might use a USB -> NVMe (instead of SATA) bridge internally. As this is outside the scope of this ticket, feel free to create a new ticket of you could provide further information.

in reply to:  4 comment:8 by Jens, 5 months ago

I have an USB adapter from Ugreen (CM559) with the same chip, and tested it with both NVMe and SATA SSDs.

Replying to Christian Franke:

Does the RTL9210B behave sane if -d sntrealtek (or no -d option) is used and a SATA SSD is connected?

# smartctl --all /dev/sda
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.5.0-4-amd64] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

Read NVMe Identify Controller failed: scsi error unsupported scsi opcode

(Same result with -d sntrealtek)

Also applies to the opposite case: If -d sat is used and a NVMe SSD is connected?

# smartctl -d sat -i /dev/sda
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.5.0-4-amd64] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     INTEL SSDPEKNU512GZ
Serial Number:    XXXXXXXXXXXXXXXX
Firmware Version: 002C
Device is:        Not in smartctl database 7.3/5533
ATA Version is:   [No Information Found]
Local Time is:    Sat Nov 25 00:50:23 2023 UTC
SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 82-83 don't show if SMART supported.
SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 85-87 don't show if SMART is enabled.
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

I didn't try with -T permissive.

Smartctl should print ... scsi error unsupported field in scsi command or similar. This should not trigger any device hangs or disconnects.

The error with a SATA SSD looks similar to me. I did not observe any device hangs or disconnects with either SSD.

A sane behavior would allow to implement auto-detection of the device type. Option -d sat would be no longer needed then.

That would be lovely. Please let me know if you need further information.

Edit: Same results with build 1810 from builds.smartmontools.org.

Last edited 5 months ago by Jens (previous) (diff)
Note: See TracTickets for help on using tickets.