Ao olhar para a saída de sudo strace hdparm -I /dev/sdb
no Linux, parece que o hdparm está obtendo o número de série do dispositivo usando este ioctl:
ioctl(3, SG_IO, {interface_id='S', dxfer_direction=SG_DXFER_FROM_DEV, cmd_len=16, cmdp="\x85\x08\x0e\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x40\xec\x00", mx_sb_len=32, iovec_count=0, dxfer_len=512, timeout=15000, flags=0, dxferp="...", , status=0, masked_status=0, msg_status=0, sb_len_wr=0, sbp="", host_status=0, driver_status=0, resid=0, duration=8, info=0}) = 0
Aqui SG_IO
é 0x2285, \x08
parece ser SG_ATA_PROTO_NON_DATA
e \xec
parece ser ATA_OP_IDENTIFY
.
A saída do hdparm é assim:
ATA device, with non-removable media
Model Number: SAMSUNG HD203WI
Serial Number: S27..........4
Como posso obter as mesmas informações de /sys
? Isso é possível?
Já experimentei sudo cat /sys/block/sdb/device/model
, mas imprime 2115
, que é o modelo do adaptador SATA USB que estou usando, e estou interessado no modelo de disco e no número de série.