Nextrp [CPP] RU + Many GEOs Игра на карте России | NEXTRP

Получить название поставщика SCSI

c linux scsi

1450 просмотра

6 ответа

90 Репутация автора

Как я могу получить название поставщика устройства SCSI на linux & c?

Автор: RzCoDer Источник Размещён: 14.12.2010 04:03

Ответы (6)


2 плюса

62104 Репутация автора

Вы можете просмотреть файлы / sys, если знаете идентификатор устройства / шины, также проверьте lsscsi .

  -> cat /sys/bus/scsi/devices/target13:0:0/13:0:0:0/vendor 
Marvell
Автор: OneOfOne Размещён: 14.12.2010 04:12

1 плюс

27104 Репутация автора

Решение

Вы можете использовать libudev, чтобы найти устройства SCSI и прочитать атрибут vendor (не проверено):

struct udev *context = udev_new();
struct udev_enumerate *enumerator = udev_enumerate_new(context);
udev_enumerate_add_match_subsystem(enumerator, "scsi");
udev_enumerate_scan_devices(enumerator);
struct udev_list_entry *scsi_devices = udev_enumerate_get_list_entry(enumerator);
struct udev_list_entry *current = 0;
udev_list_entry_foreach(current, scsi_devices) {
    struct udev_device *device = udev_device_new_from_syspath(
            context, udev_list_entry_get_name(current));
    const char *vendor = udev_device_get_sysattr_value(device, "vendor");
    printf("%s\n", vendor);
}
Автор: lunaryorn Размещён: 14.12.2010 04:21

2 плюса

381 Репутация автора

(1) открыть устройство SCSI. (2) Отправить команду SCSI "запрос" по ioctl. затем вы можете получить имя поставщика из возвращенных данных.

Автор: Hardy Feng Размещён: 20.10.2011 04:38

2 плюса

83 Репутация автора

Пакет sg3_utils содержит утилиты, которые отправляют команды SCSI на устройства.

Как только мы установим sg3_utils, запустите команду sg_inq на интересующем вас устройстве.

Например: #sg_inq / dev / sda

Приведенная выше команда выполнит стандартный запрос SCSI на устройстве и предоставит имя поставщика и другие сведения.

Автор: arun_vj Размещён: 29.10.2012 09:18

1 плюс

705 Репутация автора

Ссылаясь на команды SCSI SPC-3 document & sg3_utils, я могу предложить вам следующее:

1) Выполнить команду: sg_inq -p 0x00 / dev / your_device_name

Это даст вам поддерживаемые страницы вашего устройства.

2) Если приведенная выше команда отображает 0x83 как одну из поддерживаемых страниц, введите команду:

sudo sg_inq -p 0x83 / dev / your_device_name

Это отобразит информацию о поставщике.

PS -> your_device_name например sr1, sda1

Пожалуйста, используйте эту ссылку, чтобы получить скрипт для получения такого типа информации:

http://a-saurabh.blogspot.in/2014/06/sometimes-we-want-to-query-about-our.html

Автор: a.saurabh Размещён: 06.03.2014 02:17

0 плюса

1 Репутация автора

Вы можете использовать запрос scsi с помощью таких инструментов, как sg3_utils или просто найти его в sys / bus / scsi / devices / xxxxx

Автор: Diors Размещён: 01.04.2019 02:15
Вопросы из категории :
32x32