Доброе время суток! Есть USB FULL SPEED девайс на STM32F105, на нем 2 накопителя и их оба нужно видеть в Винде(2003,XP) (как 2 диска) Вроде все сделал по спецификации (на Get Max Lun возвращаю 1), но обращения идут только к LUN 0 (CBW.LUN=0), и сам по себе диск 0 видится и отлично работает. сколько бы лунов не возвращал в Get Max Lun поведение одинаковое - винда в упор не хочет обеащатся к другим лунам, кроме 0. Есть кардридер, правда HI SPEED, сделал так, чтобы мой девайс отвечал на SCSI команды так же как и он, и результата тоже никакого.. Есть ли у кого-то любой работающий пример Mass Storage с 2 или больше LUN-ами? Вот лог с UsbTrace кардридера [attachment=54656:UTLog.7z] A вот мой [attachment=54657:UTLogME.7z] (Открывать в firefox, explorer загибается) В ридере после Inquiry идет 3 запроса ReadFormatCapacities, затем пошел Inquiry для LUN=1 А на мой девайс после таких же 3х запросов ReadFormatCapacities (с такаими же ответами) идут куча других запросов но все для LUN=0 и ни одного для других лунов... Сомневаюсь, что дело в FullSpeed/HiSpeed или в VID/PID.. Драйвера тоже пробовал сносил, тоже не помогло W интернете тоже ничего не нахожу подобного. с одним диском куча примеров, а с 2+ не могу найти...
Уже и все дескрипторы скопировал (кроме Endpoint, там размер 512 байт у меня 64) и всеравно эффекта нету
А в FreeBSD нормально увиделось 2 диска... Скорее всего винда не умеет видеть несколько LUN-ов у Full Speed устройствах...
|