BuraphaLinux Server wrote:
Hello,
I have had a hard time determining if /dev/sda is SCSI or SATA
from my boot scripts. It matters for smartd which needs an added
parameter -d sat in the configuration file for SATA drives. Finally I
came up with this, but I wonder if there is a better way? It appears
that
vendor is "ATA " (5 trailing spaces) for SATA. If the kernel is
ever fixed to show proper vendor information (Maxtor, Seagate,
whatever) then how can I know if /dev/sda is SCSI or SATA from a bash
script? When flaming me, please also include the proper solution.
Thanks.
#! /bin/bash
drive="sda"
vendor=$(</sys/block/${drive}/device/vendor)
if [[ "${vendor}" = "ATA " ]]
then
printf "SATA\n"
else
printf "SCSI\n"
fi
exit 0
libata follows the SAT standard for ATA device identification as a SCSI
device, which specifies the vendor is always supposed to be ATA.
Checking for vendor ATA is likely safe then, though if it's not you
can't assume it's going to be SCSI as it could also be USB, IEEE1394, etc.
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]