|
Mass Storage (Bulk Only) с несколькими LUN [solved], Винда видит только LUN=0 и не видит остальных |
|
|
|
Mar 23 2011, 13:56
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
Доброе время суток! Есть 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 устройствах...
|
|
|
|
|
 |
Ответов
(1 - 5)
|
Mar 23 2011, 14:19
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(brag @ Mar 23 2011, 16:56)  Скорее всего винда не умеет видеть несколько LUN-ов у Full Speed устройствах... Я, ради интереса, попробовал на своём самодельном Full Speed MassStorage - всё отлично виделось и работало. А данных то передаваемых в Inquiru в логе почему нет?
|
|
|
|
|
Mar 23 2011, 14:22
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
А можете кусочек кода дать посмотреть? На моем девайсе в Linux/BSD все отлично работает, а на винде отлично работает только первый диск, второго вообще не видно и никаких обращений к нему... вот мой код. там заглушка - везде при обращении к диску возвращается MEDIUM NOT PRESENT [attachment=54670:msc.7z] ну и сам драйвер usb для stm32 [attachment=54671:drv.7z] если мне не поможет, то мож кому пригодится в качестве hello-word ,тк OTG в stm32 слабо документировано и примеров в интернете нету, есть только их большая глючная либа
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|