【问题标题】:Get vendor name of SCSI获取 SCSI 的供应商名称
【发布时间】:2010-12-14 16:03:18
【问题描述】:

如何在 linux & c 上获取 SCSI 设备的供应商名称?

【问题讨论】:

    标签: c linux scsi


    【解决方案1】:

    如果您知道设备/总线 ID,可以查看读取 /sys 文件,同时检查 lsscsi

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

    【讨论】:

      【解决方案2】:

      (1) 打开 SCSI 设备。 (2)通过ioctl发送SCSI命令“inquiry”。 然后您可以从返回的数据中获取供应商名称。

      【讨论】:

        【解决方案3】:

        sg3_utils 软件包包含向设备发送 SCSI 命令的实用程序。

        我们安装好 sg3_utils 后,在您感兴趣的设备上运行 sg_inq 命令。

        例如:#sg_inq /dev/sda

        上述命令将在设备上运行标准 SCSI 查询并提供供应商名称和其他详细信息。

        【讨论】:

          【解决方案4】:

          您可以使用libudev 查找 SCSI 设备并读取供应商属性(未经测试):

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

          【讨论】:

            【解决方案5】:

            参考 SCSI SPC-3 文档和 sg3_utils 命令,我可以建议您遵循:

            1) 发出命令:sg_inq -p 0x00 /dev/your_device_name

            这将为您的设备提供支持的页面。

            2) 如果上述命令显示 0x83 作为支持的页面之一,则发出命令:

            sudo sg_inq -p 0x83 /dev/your_device_name

            这将显示供应商信息。

            P.S -> your_device_name 例如sr1, sda1

            请使用此链接获取获取这些类型信息的脚本:

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

            【讨论】:

              【解决方案6】:

              您可以通过 sg3_utils 等工具使用 scsi 查询,也可以在 sys/bus/scsi/devices/xxxxx 下找到它

              【讨论】:

                猜你喜欢
                • 2018-03-20
                • 1970-01-01
                • 2011-10-26
                • 1970-01-01
                • 1970-01-01
                • 2013-04-20
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多