реклама на сайте
подробности

 
 
> Mass Storage (Bulk Only) с несколькими LUN [solved], Винда видит только LUN=0 и не видит остальных
brag
сообщение Mar 23 2011, 13:56
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 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 устройствах...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
brag
сообщение Mar 23 2011, 19:01
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Пересмотрел все от начала до Get Max Lun ничего не нагожу, что бы винде не нравилось. даже ответил на Get Descriptor DEVICE QUALIFIER (по спецификации надо Stall возвращать для Full Speed устройств) и всеравно ничего

Еще у меня используется 1 двонаправленный Endpoint, а в этих девайсах In и Out под разными номерами. Nо и не в этом дело.

А дело в том, что у меня серийный номер(тот,который в iSerialNumber в Device Descriptor) состоял не из 12 символовsm.gif получается, если серийник форматный - винда видит все LUNы, иначе только первый sm.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01354 секунд с 7
ELECTRONIX ©2004-2016