Запись в application client log
Для хранения данных о текущем состоянии, в устройствах SCSI / SAS доступны различные log pages, пытаюсь записать в application client log - page 0xF с помощью sg_logs из пакета sg3_utils.
Ман гласит:
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,83,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
-
–in=- что будет считываться со стандартного ввода, аргументы вводятся через пробел
-
aa bb cc dd - данные для записи, при этом размер от 1 до 252 байт роли не играет
Получаю ошибку:
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
В log select cdb вроде всё правильно записывается, если ориентироваться на 125 страницу доки documents.westerndigital.com
Гугление и чтение документации T10 пока что понимания не дали…