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/

