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

 
 
> Два фнукциональных устройства в одном физическом
Vitaliy S.
сообщение Jan 22 2009, 15:28
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 11-11-08
Пользователь №: 41 539



Как сделать так чтобы одно физ.устройство было видно виндой в виде двух, к примеру как HID устройство и mass-storage, я пытаюсь сделать в прошивке устройства два интерфейса один типа класс mass-staorage, другое класс HID. Получится ли такое? Т.е теоретически предполагается что винда подключит к моему устройству два драйвера - Custom HID и mass-storage.

Вообщем работает ли Винда с одним физустройством но с разными его интерфейсами???

Вроде каждый отдельный драйвер дейвацса сам должен считывать дескрипторы интерфейса и смотря их структуру с ним работать, и другому драйверу не свой интерфейс он не отдаст?!

Вообщем если кто-то что-то понял прошу ответить?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DiMonstr
сообщение Mar 19 2009, 08:01
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 26-10-06
Из: Россия, Пенза
Пользователь №: 21 706



А кто-нибудь разрабатывал USB устройство класса CDC Ethernet Emulation Model?
Т.е. это будет USB сетевой адаптер. Нужен совет специалиста, знающего работу с этим классом.
Как это будет выглядеть в Windows, т.е. настройка сетевых параметров? Корректно ли работает стандартный драйвер?
Go to the top of the page
 
+Quote Post
korbian
сообщение Nov 9 2009, 09:07
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Простите за офтоп. Не понял куда обратится, поэтому подниму более менее подходящую тему.
Есть композитное устройство на базе at9: Mass Storage + Generic(свой драйвер написан). Как корректно заблокировать mass storage внутри устройства до появления сигнала на другом интерфейсе? Спасибо!


--------------------
© korbian
Go to the top of the page
 
+Quote Post
Седой
сообщение Nov 9 2009, 19:05
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806



Цитата(korbian @ Nov 9 2009, 14:07) *
...
Как корректно заблокировать mass storage внутри устройства до появления сигнала на другом интерфейсе? Спасибо!

Что вы понимаете под термином "заблокировать"?
Go to the top of the page
 
+Quote Post
korbian
сообщение Nov 10 2009, 06:37
Сообщение #5





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Цитата(Седой @ Nov 9 2009, 22:05) *
Что вы понимаете под термином "заблокировать"?

"Заблокировать" появление диска в системе до определенного момента(события на втором интерфейсе). Сейчас всегда возвращаю ошибку из "железа" на SCSI-комманды чтения и записи от хоста, диск в системе присутствует, но операции чтения\записи для него не проходят. Возможно есть более элегантное решение?


--------------------
© korbian
Go to the top of the page
 
+Quote Post
Седой
сообщение Nov 10 2009, 07:53
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806



Цитата(korbian @ Nov 10 2009, 11:37) *
"Заблокировать" появление диска в системе до определенного момента(события на втором интерфейсе). Сейчас всегда возвращаю ошибку из "железа" на SCSI-комманды чтения и записи от хоста, диск в системе присутствует, но операции чтения\записи для него не проходят. Возможно есть более элегантное решение?

Делайте реэнумерацию. Когда нужен mass storage - устройство должно содержать его интерфейс, когда не нужен - интерфейса нет.
Но будут тонкости - система должна видеть это как два разных устройства.
Go to the top of the page
 
+Quote Post
korbian
сообщение Nov 10 2009, 08:16
Сообщение #7





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Цитата(Седой @ Nov 10 2009, 10:53) *
Делайте реэнумерацию. Когда нужен mass storage - устройство должно содержать его интерфейс, когда не нужен - интерфейса нет.
Но будут тонкости - система должна видеть это как два разных устройства.

Как я понял, вы предлагаете модифицировать дескриптор устройства на лету? НО второй\специализированный интерфейс должен быть доступен ВСЕГДА, а первый (mass storage) должен "отлочить" диск только по сигналу на втором. на этот интерфейс предполагается посадить стандартный драйвер Windows usbstor.sys.


--------------------
© korbian
Go to the top of the page
 
+Quote Post
Седой
сообщение Nov 10 2009, 10:51
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806



Цитата(korbian @ Nov 10 2009, 13:16) *
Как я понял, вы предлагаете модифицировать дескриптор устройства на лету? НО второй\специализированный интерфейс должен быть доступен ВСЕГДА, а первый (mass storage) должен "отлочить" диск только по сигналу на втором. на этот интерфейс предполагается посадить стандартный драйвер Windows usbstor.sys.


"Отлочить" и "прилочить" должен второй (управляющий) интерфейс, который должен быть доступен ВСЕГДА.
Посмотрите спецификацию DFU 1.1 - как раз так и сделано.
Go to the top of the page
 
+Quote Post
korbian
сообщение Nov 10 2009, 11:15
Сообщение #9





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Цитата(Седой @ Nov 10 2009, 13:51) *
"Отлочить" и "прилочить" должен второй (управляющий) интерфейс, который должен быть доступен ВСЕГДА.
Посмотрите спецификацию DFU 1.1 - как раз так и сделано.

спасибо, посмотрю!

Цитата(korbian @ Nov 10 2009, 14:05) *
спасибо, посмотрю!

глянул одним глазом! smile.gif сразу возник вопрос, если придется перепрошивать устройство много раз за один сеанс работы (одно подключение к компьютеру) не исчерпаю ли я резерв по перепрошивки внутренней флеш микроконтроллера? то есть в каких пределах обычно находится этот параметр(количество перезаписей внутренней флеш)?


--------------------
© korbian
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 10 2009, 11:58
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



korbian, а если ваше устройство как хаб описать? И уже к нему, с точки зрения ОС, подключается/отключается всё, что угодно.
Go to the top of the page
 
+Quote Post
Седой
сообщение Nov 12 2009, 13:07
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806



Цитата(galjoen @ Nov 10 2009, 16:58) *
korbian, а если ваше устройство как хаб описать? И уже к нему, с точки зрения ОС, подключается/отключается всё, что угодно.


В принципе возможно, только одно но ... обычный USB блок в известных мне микроконтроллерах не позволит вам это сделать - "подключать/отключать всё что угодно"


Цитата(korbian @ Nov 10 2009, 16:15) *
глянул одним глазом! smile.gif сразу возник вопрос, если придется перепрошивать устройство много раз за один сеанс работы ...

А это ещё зачем?
Go to the top of the page
 
+Quote Post
korbian
сообщение Nov 13 2009, 09:32
Сообщение #12





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Цитата(Седой @ Nov 12 2009, 16:07) *
А это ещё зачем?

ну как зачем. в исходном состоянии одна прошивка, после определенного события заливается другая или я что то неправильно понял?


--------------------
© korbian
Go to the top of the page
 
+Quote Post
Седой
сообщение Nov 13 2009, 12:44
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806



Цитата(korbian @ Nov 13 2009, 14:32) *
ну как зачем. в исходном состоянии одна прошивка, после определенного события заливается другая или я что то неправильно понял?

Совершенно не нужно перепрограммировать контроллер для того, чтобы провести реэнумерацию с другим набором дескрипторов и логикой обработки USB пакетов.
Go to the top of the page
 
+Quote Post
korbian
сообщение Nov 13 2009, 12:53
Сообщение #14





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Цитата(Седой @ Nov 13 2009, 15:44) *
провести реэнумерацию с другим набором дескрипторов и логикой обработки USB пакетов.

а где почитать про это?


--------------------
© korbian
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vitaliy S.   Два фнукциональных устройства в одном физическом   Jan 22 2009, 15:28
- - galjoen   Цитата(Vitaliy S. @ Jan 22 2009, 18:28) К...   Jan 23 2009, 12:07
- - Седой   Цитата(Vitaliy S. @ Jan 22 2009, 20:28) В...   Jan 23 2009, 13:22
|- - arizona   Пример составного устройства с коменариями на русс...   Jan 26 2009, 15:42
- - Remix   Сорри за небольшой оффтоп (модератор, пни, плз, ес...   Feb 11 2009, 08:38
|- - Седой   А что это за функция DoCallUSBD? Если новичок в д...   Feb 11 2009, 13:45
- - Remix   DoCallUSBD - по мотивам того же Агурова - функция ...   Feb 11 2009, 16:06
|- - Седой   Цитата(Remix @ Feb 11 2009, 21:06) DoCall...   Feb 11 2009, 16:48
- - Remix   Цитата(Седой @ Feb 11 2009, 18:48) Нижний...   Feb 12 2009, 07:07
|- - Седой   IAD должен быть один на 2 интерфейса СDC.   Feb 12 2009, 18:51
|- - Remix   Цитата(Седой @ Feb 12 2009, 20:51) IAD до...   Mar 8 2009, 09:55
|- - korbian   Цитата(galjoen @ Nov 10 2009, 14:58) korb...   Nov 10 2009, 12:28
|- - galjoen   Цитата(Седой @ Nov 12 2009, 16:07) В прин...   Nov 12 2009, 13:31
- - DiMonstr   А поддерживается составное USB устройство, к приме...   Nov 18 2009, 14:34
|- - galjoen   MassStorage, в т.ч. и в составном устройстве, биос...   Nov 18 2009, 18:39
|- - DiMonstr   Цитата(galjoen @ Nov 18 2009, 21:39) В би...   Nov 19 2009, 09:23
|- - DiMonstr   Цитата(galjoen @ Nov 18 2009, 21:39) ...П...   Nov 20 2009, 14:17
|- - galjoen   Цитата(DiMonstr @ Nov 20 2009, 17:17) Хоч...   Nov 23 2009, 11:55
- - korbian   DiMonstr, а что за софт дескриптор устройства в та...   Nov 21 2009, 06:01
|- - DiMonstr   Цитата(korbian @ Nov 21 2009, 09:01) Да ...   Nov 22 2009, 09:22
|- - korbian   Цитата(DiMonstr @ Nov 22 2009, 12:22) Да ...   Nov 22 2009, 09:41
|- - DiMonstr   Цитата(korbian @ Nov 22 2009, 12:41) а сс...   Nov 23 2009, 11:31
- - DiMonstr   Для класса устройства Mass Storage Device описанно...   Nov 25 2009, 13:04
|- - galjoen   Цитата(DiMonstr @ Nov 25 2009, 16:04) Для...   Nov 26 2009, 11:34
- - aal   2 DiMonstr Ну и чем опыты закончились?   Jan 15 2010, 10:19
|- - DiMonstr   Цитата(aal @ Jan 15 2010, 13:19) 2 DiMons...   Feb 5 2010, 12:03
|- - DiMonstr   Цитата(aal @ Jan 15 2010, 14:19) 2 DiMons...   Nov 4 2010, 16:05
- - KIM   народ, а кто нить писал композитное устройство на ...   Aug 4 2010, 20:30
|- - KIM   Цитата(KIM @ Aug 5 2010, 00:30) CY7c16013...   Aug 5 2010, 05:09
|- - galjoen   Цитата(KIM @ Aug 5 2010, 00:30) CY7c16013...   Aug 5 2010, 08:45
|- - KIM   Цитата(galjoen @ Aug 5 2010, 12:45) Чтобы...   Aug 5 2010, 15:22
|- - galjoen   Цитата(KIM @ Aug 5 2010, 19:22) Для моего...   Aug 5 2010, 16:00
|- - KIM   Цитата(galjoen @ Aug 5 2010, 20:00) Так ч...   Aug 5 2010, 19:03
- - Alexey Belyaev   Привет! А можно я тоже задам вопрос? Я пытаю...   Aug 27 2010, 12:43
- - kan35   А случаем на STM32 никто ничего подобного не встре...   Sep 10 2011, 20:52


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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 05:32
Рейтинг@Mail.ru


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