Pregunta

¿Cómo puedo obtener el nombre del proveedor del dispositivo SCSI en Linux & C?

¿Fue útil?

Solución

Se puede usar libudev para encontrar dispositivos SCSI y leer el atributo de proveedor (no probado):

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);
}

Otros consejos

Se podría buscar en la lectura de archivos / sys si se conoce el ID de dispositivo / bus, compruebe también lsscsi .

  -> cat /sys/bus/scsi/devices/target13:0:0/13:0:0:0/vendor 
Marvell

(1) dispositivo SCSI abierta. (2) Enviar SCSI comando "consulta" por ioctl. entonces se puede obtener el nombre del proveedor de los datos devueltos.

El paquete contiene utilidades sg3_utils que envían comandos SCSI a los dispositivos.

Una vez que hemos instalado sg3_utils, sg_inq orden de marcha del dispositivo que está interesado.

Por ejemplo: #sg_inq / dev / sda

El comando anterior se ejecutará consulta SCSI estándar en el dispositivo y proporcionar el nombre del proveedor y otros detalles.

En referencia a los comandos SCSI SPC-3 documento y sg3_utils puedo sugerir lo siguiente:

1) Emisión de comandos: sg_inq -p 0x00 / dev / your_device_name

Esto le dará a usted apoyó páginas por su dispositivo.

2) Si por encima de 0x83 comando muestra como uno de la página con el apoyo de comandos ejecuta:

sudo sg_inq -p 0x83 / dev / your_device_name

Esto mostrará la información del proveedor.

P.S -> your_device_name por ejemplo SR1, sda1

Por favor use este enlace para obtener guión para conseguir este tipo de información:

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

Puede utilizar SCSI consulta por herramientas como sg3_utils o simplemente encontrarlo bajo sys / bus / SCSI / dispositivos / xxxxx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top