In the file smartie/scsi/windows.py at line 100, you are testing for success of a scsi command by accepting a scsi_status value of 0 or 2 as succeeded. However I think this should just check for a scsi_status value of 0 for success.
A value of 2 usually means "something went wrong, check the sense data for more info".
So in these cases the sense data is usually populated.
I found this webpage that lists the various values for scsi_status.
It's annoying that these values are not documated clearly on microsoft API related websites :P
https://dosbox-x.com/doxygen/html/scsidefs_8h_source.html
In the file
smartie/scsi/windows.pyat line 100, you are testing for success of a scsi command by accepting a scsi_status value of 0 or 2 as succeeded. However I think this should just check for a scsi_status value of 0 for success.A value of 2 usually means "something went wrong, check the sense data for more info".
So in these cases the sense data is usually populated.
I found this webpage that lists the various values for scsi_status.
It's annoying that these values are not documated clearly on microsoft API related websites :P
https://dosbox-x.com/doxygen/html/scsidefs_8h_source.html