I've also discovered that the scsi address is not consistent. Sometimes it will be zero indexed, other times 1 indexed. This changes each reboot (about 15% zero index, 85% 1 indexed).
I'm trying to find out what the negotiated speed is on a SATA port. dmesg reports the negotiated speed, but I'm hoping to find it somewhere in /sys or /proc (or some other tool). Scraping dmesg is a messy process as I'm starting with a block device. I would have to trace the block device to the scsi address and translate that to an ata address.Here's the scsi and block device info from dmesg:scsi 7:0:0:0: Direct-Access ATA WDC WD1600AAJS-2 01.0 PQ: 0 ANSI: 5sd 7:0:0:0: [sdd] 312581808 512-byte logical blocks: (160 GB/149 GiB)sd 7:0:0:0: [sdd] Write Protect is offsd 7:0:0:0: [sdd] Mode Sense: 00 3a 00 00sd 7:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUAsd 7:0:0:0: [sdd] Attached SCSI disksd 7:0:0:0: Attached scsi generic sg3 type 0Here's the corresponding ata info from dmesg:ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 370)ata7.00: ATA-8: WDC WD1600AAJS-22L7A0, 01.03E01, max UDMA/133ata7.00: 312581808 sectors, multi 0: LBA48 NCQ (depth 31/32), AAata7.00: configured for UDMA/133
Finding the SATA link speed in dmesg would be much cleaner than scraping dmesg. Does anyone know where I might find that?Also, for a SAS HBA, the link speed is not reported to dmesg. Does anyone know how to find the link speed for a SAS drive?Thanks,Peter