id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc 293,Incomplete support for fixed format sense data,maciej3,somebody,"File scsiata.cpp contains comments claiming that it supports fixed format response to SCSI request sense command (response code 0x70 and 0x71). Indeed, the implementation of sat_device::ata_pass_through() parses such responses correctly and returns true. However, it does not fill the descriptor buffer (adrp). Function smartcommandhandler() in atacmds.cpp calls sat_device::ata_pass_through() and fails if descriptor values are absent, specifically lba_high and lba_mid. It is not clear to me how this should be fixed: 1. Use a different logic when fixed format is returned (instead of checking lba_high and lba_mid), 2. Or, issue SCSI request sense command with the DESC bit set, which would force the descriptor format. As that may cause problems with older devices, perhaps a parameter should be introduced, settable in drivedb.h. User-visible symptoms of this bug are: 1. smartd refuses to monitor the affected drive, producing an error such as: ""Device: /dev/sdd [SAT], not capable of SMART Health Status check"" 2. smartctl shows SMART info correctly, but with a complaint: ""SMART STATUS RETURN: incomplete response, ATA output registers missing"" This problem was noticed with external USB drive: WD MyPassport 2TB (WDBY8L0020BBL), USB: 1058:0748 ",defect,closed,minor,,all,6.2,invalid,,