|
Два фнукциональных устройства в одном физическом |
|
|
|
Jan 22 2009, 15:28
|
Группа: Новичок
Сообщений: 9
Регистрация: 11-11-08
Пользователь №: 41 539

|
Как сделать так чтобы одно физ.устройство было видно виндой в виде двух, к примеру как HID устройство и mass-storage, я пытаюсь сделать в прошивке устройства два интерфейса один типа класс mass-staorage, другое класс HID. Получится ли такое? Т.е теоретически предполагается что винда подключит к моему устройству два драйвера - Custom HID и mass-storage.
Вообщем работает ли Винда с одним физустройством но с разными его интерфейсами???
Вроде каждый отдельный драйвер дейвацса сам должен считывать дескрипторы интерфейса и смотря их структуру с ним работать, и другому драйверу не свой интерфейс он не отдаст?!
Вообщем если кто-то что-то понял прошу ответить?
|
|
|
|
|
 |
Ответов
|
Nov 9 2009, 09:07
|

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

|
Простите за офтоп. Не понял куда обратится, поэтому подниму более менее подходящую тему. Есть композитное устройство на базе at9: Mass Storage + Generic(свой драйвер написан). Как корректно заблокировать mass storage внутри устройства до появления сигнала на другом интерфейсе? Спасибо!
--------------------
© korbian
|
|
|
|
|
Nov 9 2009, 19:05
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806

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

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

|
Цитата(Седой @ Nov 9 2009, 22:05)  Что вы понимаете под термином "заблокировать"? "Заблокировать" появление диска в системе до определенного момента(события на втором интерфейсе). Сейчас всегда возвращаю ошибку из "железа" на SCSI-комманды чтения и записи от хоста, диск в системе присутствует, но операции чтения\записи для него не проходят. Возможно есть более элегантное решение?
--------------------
© korbian
|
|
|
|
|
Nov 10 2009, 07:53
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806

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

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

|
Цитата(Седой @ Nov 10 2009, 10:53)  Делайте реэнумерацию. Когда нужен mass storage - устройство должно содержать его интерфейс, когда не нужен - интерфейса нет. Но будут тонкости - система должна видеть это как два разных устройства. Как я понял, вы предлагаете модифицировать дескриптор устройства на лету? НО второй\специализированный интерфейс должен быть доступен ВСЕГДА, а первый (mass storage) должен "отлочить" диск только по сигналу на втором. на этот интерфейс предполагается посадить стандартный драйвер Windows usbstor.sys.
--------------------
© korbian
|
|
|
|
|
Nov 10 2009, 10:51
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806

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

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

|
Цитата(Седой @ Nov 10 2009, 13:51)  "Отлочить" и "прилочить" должен второй (управляющий) интерфейс, который должен быть доступен ВСЕГДА. Посмотрите спецификацию DFU 1.1 - как раз так и сделано. спасибо, посмотрю! Цитата(korbian @ Nov 10 2009, 14:05)  спасибо, посмотрю! глянул одним глазом!  сразу возник вопрос, если придется перепрошивать устройство много раз за один сеанс работы (одно подключение к компьютеру) не исчерпаю ли я резерв по перепрошивки внутренней флеш микроконтроллера? то есть в каких пределах обычно находится этот параметр(количество перезаписей внутренней флеш)?
--------------------
© korbian
|
|
|
|
|
Nov 12 2009, 13:07
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806

|
Цитата(galjoen @ Nov 10 2009, 16:58)  korbian, а если ваше устройство как хаб описать? И уже к нему, с точки зрения ОС, подключается/отключается всё, что угодно. В принципе возможно, только одно но ... обычный USB блок в известных мне микроконтроллерах не позволит вам это сделать - "подключать/отключать всё что угодно" Цитата(korbian @ Nov 10 2009, 16:15)  глянул одним глазом!  сразу возник вопрос, если придется перепрошивать устройство много раз за один сеанс работы ... А это ещё зачем?
|
|
|
|
|
Nov 13 2009, 09:32
|

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

|
Цитата(Седой @ Nov 12 2009, 16:07)  А это ещё зачем? ну как зачем. в исходном состоянии одна прошивка, после определенного события заливается другая или я что то неправильно понял?
--------------------
© korbian
|
|
|
|
|
Nov 13 2009, 12:44
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806

|
Цитата(korbian @ Nov 13 2009, 14:32)  ну как зачем. в исходном состоянии одна прошивка, после определенного события заливается другая или я что то неправильно понял? Совершенно не нужно перепрограммировать контроллер для того, чтобы провести реэнумерацию с другим набором дескрипторов и логикой обработки USB пакетов.
|
|
|
|
|
Nov 13 2009, 12:53
|

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

|
Цитата(Седой @ Nov 13 2009, 15:44)  провести реэнумерацию с другим набором дескрипторов и логикой обработки USB пакетов. а где почитать про это?
--------------------
© korbian
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|