Есть девайс с усб хостом, который работает с флешками.
Все было ОК пока не начали появляться флешки с технологией U3. Они на компе показываются двумя устройствами CD и флешкой.
Часть таких флешек работает в девайсе, а часть нет.
Оказалось что код хоста не выбирает нужный логический юнит после запроса GetMaxLUN, а вместо этого работает всегда с 0-м.
Для проверки, я сделал возврат запроса INQUIRY для юнита 0 и 1. меняя поле bCBWLUN в CBW.
И получаю что ответ на INQUIRY для обоих номеров юнита абсолютно одинаковый.
Для рабочих флешек PERIPHERAL DEVICE TYPE = 0 в обоих юнитах,
для не рабочих там 5 тоде для обоих.
Подскажите как мне правильно для такого вида флешек правильно выделить именно флешевый девайс и работать с ним?