2006-09-11 18:08:24

by Michael Tokarev

[permalink] [raw]
Subject: Vendor field with USB, [SP]ATA etc-attached disks

With current SATA, PATA and at least some USB disks,
Linux reports Vendor: $subsystem, instead of the actual
vendor of the drive, like this:

scsi1 : ata_piix
Vendor: ATA Model: ST3808110AS Rev: n/a
Type: Direct-Access ANSI SCSI revision: 05

This should be Vendor: Seagate, not ATA (Note also the lack
of "Revision" field). The same for PATA disk:

scsi0 : pata_via
Vendor: ATA Model: ST3120026A Rev: 3.76
Type: Direct-Access ANSI SCSI revision: 05

The same is shown in /sys/block/$DEV/device/vendor.

Can it be changed to show real vendor, instead of the subsystem name?

Thanks.

/mjt


2006-09-11 19:34:10

by Jeff Garzik

[permalink] [raw]
Subject: Re: Vendor field with USB, [SP]ATA etc-attached disks

Michael Tokarev wrote:
> With current SATA, PATA and at least some USB disks,
> Linux reports Vendor: $subsystem, instead of the actual
> vendor of the drive, like this:
>
> scsi1 : ata_piix
> Vendor: ATA Model: ST3808110AS Rev: n/a
> Type: Direct-Access ANSI SCSI revision: 05
>
> This should be Vendor: Seagate, not ATA (Note also the lack
> of "Revision" field). The same for PATA disk:
>
> scsi0 : pata_via
> Vendor: ATA Model: ST3120026A Rev: 3.76
> Type: Direct-Access ANSI SCSI revision: 05
>
> The same is shown in /sys/block/$DEV/device/vendor.
>
> Can it be changed to show real vendor, instead of the subsystem name?

No. Two reasons:

* ATA doesn't export the vendor separate from the model, and in some
cases (Seagate) it isn't present at all, anywhere.
* "ATA" vendor string is the standardized value to put in that field,
according to the SCSI T10 specifications.

Jeff



2006-09-13 01:19:32

by Tejun Heo

[permalink] [raw]
Subject: Re: Vendor field with USB, [SP]ATA etc-attached disks

Jeff Garzik wrote:
> Michael Tokarev wrote:
>> With current SATA, PATA and at least some USB disks,
>> Linux reports Vendor: $subsystem, instead of the actual
>> vendor of the drive, like this:
>>
>> scsi1 : ata_piix
>> Vendor: ATA Model: ST3808110AS Rev: n/a
>> Type: Direct-Access ANSI SCSI revision: 05
>>
>> This should be Vendor: Seagate, not ATA (Note also the lack
>> of "Revision" field). The same for PATA disk:
>>
>> scsi0 : pata_via
>> Vendor: ATA Model: ST3120026A Rev: 3.76
>> Type: Direct-Access ANSI SCSI revision: 05
>>
>> The same is shown in /sys/block/$DEV/device/vendor.
>>
>> Can it be changed to show real vendor, instead of the subsystem name?
>
> No. Two reasons:
>
> * ATA doesn't export the vendor separate from the model, and in some
> cases (Seagate) it isn't present at all, anywhere.
> * "ATA" vendor string is the standardized value to put in that field,
> according to the SCSI T10 specifications.

To add a small detail. The reason it's printed that way is because
libata (the new ATA driver) emulates SCSI device at the moment, so it
has to fake SCSI vendor ID and model string, which BTW is shorter than
ATA string and thus truncated in some cases. The vendor ID "ATA" is
defined in SAT (SCSI ATA translation) standard, IIRC.

For the time being, we'll have to live with boilerplate ATA vendor and
truncated vendor ID. There are plans to make libata independent from
SCSI which should solve the problem but it will take quite some time.

--
tejun

2006-09-13 01:23:05

by Jeff Garzik

[permalink] [raw]
Subject: Re: Vendor field with USB, [SP]ATA etc-attached disks

Tejun Heo wrote:
> For the time being, we'll have to live with boilerplate ATA vendor and
> truncated vendor ID. There are plans to make libata independent from

Truncated model ID, I presume you mean.


> SCSI which should solve the problem but it will take quite some time.

Since ATA does not distinguish between vendor and model, you can't
really solve the problem. Two high volume disk vendors don't bother to
put a vendor name in the model string at all.

Jeff



2006-09-13 01:28:51

by Tejun Heo

[permalink] [raw]
Subject: Re: Vendor field with USB, [SP]ATA etc-attached disks

Jeff Garzik wrote:
> Tejun Heo wrote:
>> For the time being, we'll have to live with boilerplate ATA vendor and
>> truncated vendor ID. There are plans to make libata independent from
>
> Truncated model ID, I presume you mean.

Yeap.

>> SCSI which should solve the problem but it will take quite some time.
>
> Since ATA does not distinguish between vendor and model, you can't
> really solve the problem. Two high volume disk vendors don't bother to
> put a vendor name in the model string at all.

I meant by being solved "not printing emulated SCSI stuff including
vendor ID while printing model ID fully and other ATA stuff".

--
tejun