Terra-Master D4-300 or other enclosures that use ASM1074(hub)/ASM1153(sata bridge) chipset such as Syba SY-ENC50119. Unlike most multi-bay enclosures that have an internal sata port multiplier (and typically use Jmicron chipset that cannot pass through serial number in that configuration) the ASM1074/ASM1153 appears as a USB 3.0 hub with multiple sata bridges attached to it (which is exactly what it is, ASM1074 can be used as a USB hub without any hard drives at all.) Interestingly at least on the Terra-Master the usb-sata bridges identify to the usb controller as 1.5TB Toshiba drives with unique serial numbers per bay, but the hdparm -I and udevadm -info are correct for each drive and use the driveās serial number rather than the bridgeās.
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
|__ Port 2: Dev 37, If 0, Class=Hub, Driver=hub/4p, 5000M
ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub
|__ Port 1: Dev 38, If 0, Class=Mass Storage, Driver=uas, 5000M
ID 0480:a006 Toshiba America Inc External Disk 1.5TB
|__ Port 2: Dev 40, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
ID 0480:a006 Toshiba America Inc External Disk 1.5TB
|__ Port 3: Dev 41, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
ID 0480:a006 Toshiba America Inc External Disk 1.5TB
|__ Port 4: Dev 39, If 0, Class=Mass Storage, Driver=uas, 5000M
ID 0480:a006 Toshiba America Inc External Disk 1.5TB
Bus 002 Device 038: ID 0480:a006 Toshiba America Inc External Disk 1.5TB
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x0480 Toshiba America Inc
idProduct 0xa006 External Disk 1.5TB
bcdDevice 1.00
iManufacturer 2 TDAS
iProduct 3 TerraMaster
iSerial 1 20220817607E
bNumConfigurations 1
P: /devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2.4/2-2.4:1.0/host6/target6:0:0/6:0:0:0/block/sdc
N: sdc
L: 0
S: disk/by-path/pci-0000:00:14.0-usb-0:2.4:1.0-scsi-0:0:0:0
S: disk/by-id/wwn-0x5000c500e3ab40c0
S: disk/by-id/ata-ST8000DM004-2CX188_ZR12YT1N
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2.4/2-2.4:1.0/host6/target6:0:0/6:0:0:0/block/sdc
E: DEVNAME=/dev/sdc
E: DEVTYPE=disk
E: DISKSEQ=57
E: MAJOR=8
E: MINOR=32
E: SUBSYSTEM=block
E: USEC_INITIALIZED=653913118648
E: ID_ATA=1
E: ID_TYPE=disk
E: ID_BUS=ata
E: ID_MODEL=ST8000DM004-2CX188
E: ID_MODEL_ENC=ST8000DM004-2CX188\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
E: ID_REVISION=0001
E: ID_SERIAL=ST8000DM004-2CX188_ZR12YT1N
E: ID_SERIAL_SHORT=ZR12YT1N
E: ID_ATA_WRITE_CACHE=1
E: ID_ATA_WRITE_CACHE_ENABLED=1
E: ID_ATA_FEATURE_SET_HPA=1
E: ID_ATA_FEATURE_SET_HPA_ENABLED=1
E: ID_ATA_FEATURE_SET_PM=1
E: ID_ATA_FEATURE_SET_PM_ENABLED=1
E: ID_ATA_FEATURE_SET_SECURITY=1
E: ID_ATA_FEATURE_SET_SECURITY_ENABLED=0
E: ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=66518
E: ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN=66518
E: ID_ATA_FEATURE_SET_SMART=1
E: ID_ATA_FEATURE_SET_SMART_ENABLED=1
E: ID_ATA_FEATURE_SET_PUIS=1
E: ID_ATA_FEATURE_SET_PUIS_ENABLED=0
E: ID_ATA_DOWNLOAD_MICROCODE=1
E: ID_ATA_SATA=1
E: ID_ATA_SATA_SIGNAL_RATE_GEN2=1
E: ID_ATA_SATA_SIGNAL_RATE_GEN1=1
E: ID_ATA_ROTATION_RATE_RPM=5425
E: ID_WWN=0x5000c500e3ab40c0
E: ID_WWN_WITH_EXTENSION=0x5000c500e3ab40c0
E: ID_PATH=pci-0000:00:14.0-usb-0:2.4:1.0-scsi-0:0:0:0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_4_1_0-scsi-0_0_0_0
E: DEVLINKS=/dev/disk/by-path/pci-0000:00:14.0-usb-0:2.4:1.0-scsi-0:0:0:0 /dev/disk/by-id/wwn-0x5000c500e3ab40c0 /dev/disk/by-id/ata-ST8000DM004-2CX188_ZR12YT1N
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:
Note that if like me you are passing through the drive through proxmox/kvm in scsiblock=1 mode to a Rockstor VM, you will need to update the udev rules for Rockstor as otherwise it will only read the udev attributes from the UAS bridge, rather than those from the disk itself and the bridge attributes donāt seem to pass through properly by default and youāll have the same issues with drives sharing the same seral/wwn as with a enclosure that messes up the SN info. On the host this doesnāt happen as udev knows the drive is connected via USB, but the passthrough makes it look like a native scsi disk. I just copied /usr/lib/udev/rules.d/60-persistent-storage.rules to /etc/udev/rules.d/ and added to the ATA section the below line so any vendor==TDAS* devices are identified using ata_id instead of scsi_id:
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="TDAS*", IMPORT{program}="ata_id --export $devnode"
Of course youāll want to add -d sat as the smartctl option for SMART to work (probably not necessary running bare metal though.)
Hope this helps someone, I had originally tried re-flashing one of the Jmicron based enclosures but ultimately gave up on that as a dead end. The D4-300 is a pretty nice box too, nice toolless drive caddies and what appears to be pretty good cooling. I think they have a 5 bay using the same chipset, but it has some RAID stuff built that might cause issues, not sure how that is implemented with the hub/bridge architecture. Mind I just barely got this working, donāt know about reliability/performance in this configuration yet, so try this at your own risk.