Я пытаюсь реплицировать sg_inq через sg_raw
Это используемая команда:
inq_cmd: = exe c .Command ("sg_raw", "-r", "512 "," / dev / sg0 "," 12 00 00 00 60 00 ")
stdoutStderr, err: = read_cmd.CombinedOutput ()
if err != nil {
log.Fatal(err)
}
fmt.Printf ("% s \ n ", stdoutStderr)
Результатом после выполнения будет Inq КОМАНДА: состояние выхода 1 Неверный байт команды '12 00 00 00 60 00 '
Запросить КОМАНДУ: 28.05.2020 19:42 : 48 статус выхода 1
статус выхода 1 Недействительный байт команды '12 00 00 00 60 00 'Использование: sg_raw [ОПЦИЯ] * УСТРОЙСТВО CDB0 CDB1 ... Опции: -b, --binary Дамп данных в двоичном формате form, даже при записи в stdout -h, --help Показать это сообщение и выйти -i, --infile = IFILE Прочитать данные для отправки из IFILE (по умолчанию: stdin) -k, --skip = LEN Пропустить первые байты LEN при чтении данных для отправки -n, --nosense Не отображать смысловую информацию -o, --outfile = OFILE Записать двоичные данные в OFILE (def: шестнадцатеричный дамп в стандартный вывод) -r, --request = RLEN Запросить до RLEN байтов данных (d ata-in) -R, --readonly Открыть УСТРОЙСТВО только для чтения (по умолчанию: чтение-запись) -s, --send = SLEN Отправить SLEN байтов данных (выход данных) -t, --timeout = SE C Тайм-аут в секундах (по умолчанию: 20) -v, --verbose Увеличить подробность -V, --version Показать информацию о версии и выйти
Можно указать от 6 до 256 командных байтов (по две шестнадцатеричных цифры каждый) и будут отправлены на УСТРОЙСТВО. По умолчанию длины RLEN и SLEN являются десятичными. Принимаются двунаправленные команды.
Простой пример: выполнить ЗАПРОС на / dev / sg0: sg_raw -r 1k / dev / sg0 12 00 00 00 60 00
Что не так в команде? Было бы здорово помочь! Заранее спасибо!