工具与软件:
嗨、团队:
我想将原始 ATA 命令发送到 SSD、我可以使用直通吗?
我知道支持 SCSI 直通、并已尝试通过 SCSI (智能读取日志、识别设备等)发送命令、但无法正常工作。
此致、
柳
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Nicholaus、您好!
客户回答如下。
请您确认一下吗?
由于我们尚未指定任何特定的协议、因此我们假定通过 SCSI 使用 SCSI ATA 转换(SAT)。
这是尝试发送 Identify device 命令的结果。
CDB 设置如下所示
unsigned char cdb[16]={0xEC、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00};
获得了针对错误信息的以下响应。
"ATA 命令失败、检测数据:70 00 05 00 00 00 0A 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
此致、
柳
你好 Ryu、
我遇到 E2E 问题、确认它在其他设置中可以正常工作。 我正在查看此命令信息、并了解导致错误的原因。
(7) TUSB9261修改"Identify Device"命令的响应-接口论坛-接口- TI E2E 支持论坛
此致、
Nicholaus
您能告诉我 SSD 的具体型号吗?
另外、请说明设置。
正在使用什么操作系统? 使用什么软件来发送 USB 命令? TUSB9261使用的是什么操作系统驱动程序?
看起来客户正在创建定制软件来向 TUSB9261发送 USB 命令。 通常、操作系统驱动程序会处理这些类型的命令。 是否可能存在错误?
CDB 命令的长度应该是问题中所述的16个字节。
unsigned char cdb[16]={0xEC、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00};[/QUOT]我不知道该0xEC 操作码。 我认为这是一个特定于供应商的命令、我不确定 TUSB9261是否能解释它。 此 CDB 命令的用途是什么?
16字节 ATA 直通操作码为0x85。
此致、
Nicholaus
Nicholaus、您好!
请告诉我一点。
TUSB9261是否支持 feature=00h?
我问这个问题是因为有一个命令导致了超时错误。
该命令的信息如下。
协议:PIO 数据输出
功能:00h
命令:81h
命令文本
sg_raw -s 512?i Exam1.bin /dev/sda a1 2a 25 00 00 00 00 00 00 81 00 00
情况是、当只有图元在同一协议和命令中获取另一个值(例如51h)时、命令会成功。
成功的命令语句
sg_raw -s 512?i Exam2.bin /dev/sda a1 2a 25 51 00 00 00 00 00 00 81 00 00
此致、
柳
你好 Ryu、
A1 2a 25 51 00 00 00 00 00 00 81 00 00[/报价]SCSI 操作码:A1H - ATA 直通(12字节)。
我感到惊讶的是、这似乎与传递的字节数量无关。 您是否检查过字节数是否与问题有关?
查看代码后、我认为 TUSB9261将支持任何直通命令。 您是否有方法在使用和不使用 TUSB9261的 Linux 机器上测试 SSD? 运行这样的比较测试有助于缩小根本原因的范围。
此致、
Nicholaus