6 # print 'ERROR: Please install py_sg (easy_install py_sg)'
9 def get_hd_serial_num(device):
13 returns hard drive serial number for a device; requires read permissions.
15 fd = os.open(device, os.O_RDONLY)
18 # \x12: INQUIRY CMD; \x01: EVPD bit set to 1; \x80: Unit Serial Number page
19 # See http://en.wikipedia.org/wiki/SCSI_Inquiry_Command for helpful chart
20 # ##: # byte buffer for returned data
21 data = py_sg.read(fd, "\x12\x01\x80", 32)
23 # Remove extra \x00's, and split remaining data into two chunks,
24 # the 2nd of which is the serial number
25 return data.strip('\x00').split()[1]