Acho que você pode obter o que deseja cruzando a saída de lshw -c disk e este comando, udevadm info -q all -n <device> .
Por exemplo
Meu /dev/sda device mostra a seguinte saída para lshw :
$ sudo lshw -c disk
*-disk
description: ATA Disk
product: ST9500420AS
vendor: Seagate
physical id: 0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: 0003
serial: 5XA1A2CZ
size: 465GiB (500GB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 signature=ebc57757
Se eu interrogar o mesmo dispositivo usando devadm , posso descobrir o que é DEVPATH :
$ sudo udevadm info -q all -n /dev/sda | grep DEVPATH
E: DEVPATH=/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
Esta string tem todas as informações que você está procurando em relação a este dispositivo. O endereço PCI, "0000:00:1f.2" , juntamente com o endereço SCSI, "0:0:0:0" . O endereço SCSI é o dado na 6ª posição se você quebrar esses dados nas barras ("/").