这是一个曲折的过程,我不确定能否解决,逐步记录
我在 edge_cloud_infra
采用 raspberry_pi
组件集群,想采用我之前购买的 samsung_pm9a1
来作为USB外接存储,以解决默认TF卡读写缓慢问题,同时扩大存储空间。
我在淘宝上搜索找到了 JEYI佳翼领航员M.2移动硬盘盒U盘直插式
:
- 无需外接USB线,看起来比较整齐和美观 (之前我使用过西部数据的SSD移动硬盘,但是通过USB软连接线连接总觉得不美观)
- 支持NVMe和SATA双协议
主控芯片是RTL9210B
我遇到一个异常问题,当 samsung_pm9a1
安装到 佳翼M.2硬盘盒
中,插入到电脑上,没有任何反应。虽然U盘的电源指示灯是亮起(绿色),但是操作系统日志没有显示检测到任何USB设备。同时使用 fdisk -l
也看不到新增磁盘。
这个问题可能是 三星PM9A1
兼容问题:
- 我替换测试了其他
三星PM9A1
,也都无法检测到USB磁盘,就好像设备根本不存在一样 - 但是使用了古旧的
三星PM871A
(SATA接口,非NVMe)是能够识别和正常使用的
Nvme to usb using Realtek RTL9210B and SMART status issue 提到了 Realtek RTL9210B 的NVMe存储SMART支持问题,其中一些检测命令可以借鉴使用
- SMART检测:
samsung_pm9a1_rtl9210b/smartctl_test
输出显示
samsung_pm9a1_rtl9210b/smartctl_test_output
- 然后尝试检测SMART,发现报错,显示不支持SCSI指令
samsung_pm9a1_rtl9210b/smartctl_sntrealtek
输出报错
samsung_pm9a1_rtl9210b/smartctl_sntrealtek_output
根据 REALTEK官网资料: RTL9210B-CG 可以看到:
- Realtek RTL9210B-CG 是USB桥接器,将USB设备与PCIe控制器和SATA控制器相结合
- 通过M.2机械的PEDET接口,RTL9210B-CG可以自动切换USB-to-PCIe模式或USB-to-SATA模式
- RTL9210B-CG 支持 USB 3.1 GEN2(超高速),兼容 USB 3.1 GEN1(超高速)、USB 高速和全速
- 海量存储事务支持仅批量传输 (BOT) 和 USB 连接 SCSI 协议 (UASP)
- 对于USB,提供高达10Gbps 的带宽
- USB 转 PCIe 模式下,RTL9210B-CG 支持 PCIe Gen3 x2 提供高达 16Gbps 的带宽 ; 向后兼容 PCIe Gen2/Gen1
- 为了进一步降低功耗,RTL9210B-CG 支持链路电源管理(PCIe L1.Off 和 L1.Snooze)、PCI MSI(消息信号中断)和 MSI-X
- USB 转 SATA 模式下,RTL9210B-CG 支持 Gen3 速度的 SATA 主机 ; 6Gbps 的带宽,向后兼容 SATA Gen2/Gen1
Note
由于官方资料仅显示 RTL9210B-CG 支持 PCIe 3 ,而 三星 PM9A1 是一款 PCIe 4接口 NMVe ,所以推测可能存在不兼容问题