Цитата(PriBoris @ May 7 2008, 21:16)

Если я в течение этого времени отзываюсь NAKами по OUT и по IN, то Windows переклинивает. Т.е. вылезает букет ошибок и как результат винда сбрасывает USB-функцию.
Вообще это странно. Вы уверены? Тут вроде только на IN NAKи приходится слать. А что такое винда запрашивает в том CBW, на который вы NAKи на OUT шлёте? Я давным-давно такое делал, поэтому не уверен, но у меня вроде 5 секунд NAKи на IN до ошибки слались.
Цитата(PriBoris @ May 7 2008, 21:16)

Что делать ? Поддерживается ли в MassStorage/SCSI какое-нибудь отложенное чтение ? Или как-то подругому можно решить проблему ?
Заранее спасибо.
Можно винде слать CSW с ошибкой, а на следующий REQUEST SENSE послать, что ошибка CRC была "ID CRC ERROR" - SenseKey=3, ASC=0x10, ASCQ=0. В этом случае точно ДОЛГО тот-же READ(10) шлётся. В смысле с теми-же параметрами. Проверял. Из-за этого даже новую флешку, у которой CRC в 0м секторе не совпадает, отформатировать невозможно.
А м.б. логичнее что-то типа "LOGICAL DRIVE NOT READY - BECOMING READY" послать (SenseKey=2, ASC=4, ASCQ=1). Или ещё что-нибудь - попробуйте.
Встречный вопрос. А как вы с кэширование боретесь? Или вам только 1 раз прочитать нужно, а потом ничего не меняется? Или способ как винду заставить перечитать знаете? Тогда этим способом (борьбы с кэшированием) поделитесь пожалуйста.