I'm developing a USB-based mass storage device. Control is via SCSI commands.
One of the LUNs of this device is "hidden", all commands (except INQUIRY and REQUEST SENSE) return COMMAND FAILED (1). REQUEST SENSE returns NOT READY (MEDIUM NOT PRESENT).
Despite this, Windows repeatedly sends READ CAPACITY. In addition to returning COMMAND FAILED, I've tried returning COMMAND PASSED (0) with all zero data. But that causes Windows to stop sending any further commands at all, and the device enumeration stalls.
What is the proper response to these requests?