0

Linux&cでSCSIデバイスのベンダー名を取得するにはどうすればよいですか?

4

6 に答える 6

3

デバイス/バスIDがわかっている場合は、/ sysファイルの読み取りを調べることができます。また、lsscsiも確認してください。

  -> cat /sys/bus/scsi/devices/target13:0:0/13:0:0:0/vendor 
Marvell
于 2010-12-14T16:12:34.830 に答える
3

(1)SCSIデバイスを開きます。(2)ioctlによるSCSIコマンド「inquiry」を送信します。次に、返されたデータからベンダー名を取得できます。

于 2011-10-20T04:38:41.767 に答える
2

sg3_utilsパッケージには、SCSIコマンドをデバイスに送信するユーティリティが含まれています。

sg3_utilsをインストールしたら、目的のデバイスでsg_inqコマンドを実行します。

例:#sg_inq / dev / sda

上記のコマンドは、デバイスで標準のSCSI照会を実行し、ベンダー名とその他の詳細を提供します。

于 2012-10-29T09:18:42.680 に答える
1

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);
}
于 2010-12-14T16:21:05.270 に答える
1

SCSI SPC-3ドキュメントとsg3_utilsコマンドを参照して、次のことをお勧めします。

1)コマンドを発行します:sg_inq -p 0x00 / dev / your_device_name

これにより、デバイスでサポートされているページが表示されます。

2)上記のコマンドでサポートされているページの1つとして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

于 2014-03-06T14:17:28.853 に答える
0

sg3_utilsなどのツールによるscsi照会を使用するか、sys / bus / scsi / devices/xxxxxの下で見つけることができます。

于 2019-04-01T02:15:23.357 に答える