SCSI应用程序客户端日志页面-如何写入?

问题描述

正如我从《 SCSI命令参考手册》中了解到的那样,许多scsi设备都为自定义日志保留了一个位置。这是页面0xF-应用程序客户端日志页面。因此,我正在寻找一种将数据写入该区域的方法

我一开始尝试使用sg_logs命令,但没有成功。我不确定在这种情况下是什么问题-我给该命令提供了错误的标志,或者我发送的消息不正确。 sg_logs的手册页说:

The Application Client log page has 64 log parameters with parameters codes 0 to 63.
Each can hold 252 bytes of user binary data. That 252 bytes (or less) of user data,with
a 4 byte prefix (for a total of 256 bytes) can be provided with the --in=FN option. A
typical prefix would be '0,n,83,fc'. The "n" is the parameter code in hex so the last log
parameter would be '0,3f,fc'. That log parameter Could be read back at some later
time with '--page=0xf --filter=0x<n>'.

我给出了以下命令:

sg_logs --in=- --page=0xf --select /dev/sda -s -vvv
0 0 83 fc aa bb cc dd

其中aa bb cc dd是我要写入日志页面内容

在收到此请求后,我得到以下信息,但不知道如何查找问题所在:

open /dev/sda with flags=0x802
    inquiry cdb: 12 00 00 00 24 00
      duration=0 ms
    HGST      HUH721212AL5204   C3D0
    log select cdb: 4c 01 4f 00 00 00 00 00 08 00
    log select parameter list
00 00 83 fc aa bb cc dd
      duration=2 ms
log select:
Descriptor format,current; Sense key: Illegal Request
Additional sense: Invalid field in cdb
  Descriptor type: Sense key specific: Field pointer:
        Error in Command: byte 2 bit 5
  Descriptor type: Field replaceable unit code: 0x0
  Descriptor type: vendor specific [0x80]
    f8 23
 Raw sense data (in hex):
        72 05 24 00 00 00 00 10  02 06 00 00 cd 00 02 00
        03 02 00 00 80 02 f8 23

似乎我确实必须深入了解scsi设备如何通信以及cdb的构造方式,但是我尝试用作指南的《 SCSI命令参考手册》似乎以一种非常一般的方式假定了所有内容。不知道在哪里可以找到我的问题的解决方案。

非常感谢您提供有关此问题的任何信息。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...