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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Адаптер USB to Ethernet
Genadi Zawidowsk...
сообщение Jan 10 2017, 11:17
Сообщение #16


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

Группа: Участник
Сообщений: 1 483
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Да это странности USBLyzer-а.
Ендпоинты конфигурируются... ПРосто с нестартующим устройством до них (кроме нулевого) не доходит дело.

...

Забил все строковые дескрипторы для ясности нулями.
ПОведение не поменялось - нестартующий единственный CDC EEM и нормально работающие остальные варианты.
Даже такой как непоставившийся драйвер CDC-ECM и работающий при этом CDC-EEM. Непоказывающийся MAC в ECM это тоже глюк USBLYZER


Прикрепленные файлы
Прикрепленный файл  EEM.pdf ( 316.8 килобайт ) Кол-во скачиваний: 22
Прикрепленный файл  2xCDC_ACM_1xCDC_EEM.pdf ( 396.18 килобайт ) Кол-во скачиваний: 18
Прикрепленный файл  eem_ecm.pdf ( 361.76 килобайт ) Кол-во скачиваний: 13
 
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Jan 10 2017, 11:38
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 273
Регистрация: 24-02-09
Пользователь №: 45 309



Может VID или PID поменять? Например те VID и PID которые есть, вызывают драйвер, которому единственное устройство EEM не нравится... Попробуйте заменить их, чтоб винда заново драйвер для устройства поставила.
Или, если не менять VID/PID - удалить драйвер комбинированного устройства, и попробовать поставить с теми-же VID/PID устройство единственное. Может винда чего напишет новое.

А если нет, то я тоже склоняюсь к тому, чтобы посмотреть дескрипторы от рабочего устройства.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jan 10 2017, 11:41
Сообщение #18


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

Группа: Участник
Сообщений: 1 483
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Менять vid/pid пробовал... Но это и не нужно - драйвер нашелся, в диагностике написано что запустить не может.
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Jan 10 2017, 18:45
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 273
Регистрация: 24-02-09
Пользователь №: 45 309



Попробуйте в "Device Descriptor" для единственного устройства, в полях Class, Subclass, Protocol, поставить значения:
02, 06, 00
02, 06, 01
02, 00, 00
02, 00, 01
Вдруг какое-то заработает.

02, 06, 00 предлагают для ECM на MSDN https://msdn.microsoft.com/en-us/library/wi...7(v=vs.85).aspx

02, 00, 00 на каких-то сайтах про ECM https://sourceforge.net/p/contiki/mailman/message/25268923/
https://www.xmos.com/download/private/AN001...2.0.2rc1%29.pdf
Но если EEM работает на дескрипторах ECM, то можно значит пробовать и с другими настройками ECM что-то подбирать для EEM.

xx, xx, 01 это мой вариант для сохранения "Interface Association Descriptor", который вроде бы и не влияет, но вдруг.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jan 10 2017, 18:51
Сообщение #20


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

Группа: Участник
Сообщений: 1 483
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



EEM работает на дескрипторах EEM. Не ECM. Если я получу устройство ECM (которое хоть и без драйвера, но опознается корректно - в device manager соответствующее composite device появляется, в отличии от EEM одиночного) - что толку? Тем более, что дескриптор EEM сильно от ECM отличается - в ECM два интерфейса, например вместо одного у EEM. В той строке на которую я сослался в своих исходниках, видно все функции, которые могут поддерживаться в enumerate.

Сообщение отредактировал Genadi Zawidowski - Jan 10 2017, 18:53
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Jan 10 2017, 19:15
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 273
Регистрация: 24-02-09
Пользователь №: 45 309



Цитата(Genadi Zawidowski @ Jan 10 2017, 21:51) *
EEM работает на дескрипторах EEM. Не ECM.

Согласен. Но поскольку вы используете Class, SubClass от ECM для EEM (0xef, 02) - значит можно для EEM попробовать и другие допустимые для ECM значения Class, SubClass. По моему логично.
Цитата(Genadi Zawidowski @ Jan 10 2017, 21:51) *
дескриптор EEM сильно от ECM отличается - в ECM два интерфейса, например вместо одного у EEM.

Согласен полностью. Но т.к. работающие комбинированные интерфейсы начинаются с Class 0xef (miscellaneous), и в принципе так и должно быть, раз "замешано" несколько устройств, то может быть для единственного EEM нужен простой Class?

Пока ищутся оригинальные дескрипторы EEM, можно попробовать подобрать свои варианты laughing.gif (если они хоть как-то логически обоснованы)
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jan 10 2017, 19:20
Сообщение #22


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

Группа: Участник
Сообщений: 1 483
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



0xef, 02, 0x01 - это означает, что информация о классах берется не из device descriptor, а устройство составное, в нем много разных функций может быть... Эти значения и для аудио и для компортов...

Цитата
может быть для единственного EEM нужен простой Class

А почему он не нужен для единственного компорта (было), аудиоустройства, ECM наконец?

В аттачменте документ с картинками про составные устройства.

Прикрепленные файлы
Прикрепленный файл  iadclasscode_r10.pdf ( 51.22 килобайт ) Кол-во скачиваний: 14
 
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Jan 10 2017, 19:32
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 273
Регистрация: 24-02-09
Пользователь №: 45 309



Цитата(Genadi Zawidowski @ Jan 10 2017, 22:20) *
А почему он не нужен для единственного компорта (было), аудиоустройства, ECM наконец?

На сайте MSDN если (я правильно понял), как раз для ECM и предлагается 02, 06, 00. Если конечно ECM и ENCM это одно и то же.

Вот ещё вариант. В этот раз точно для EEM http://www.usb.org/developers/docs/devclas...s/CDC_EEM10.pdf
стр.13-14, Class, SubClass, Protocol: 02, 0x0C, 07
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jan 10 2017, 19:34
Сообщение #24


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

Группа: Участник
Сообщений: 1 483
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Класс/подкласс и протокол в случае составного устройства берутся оттуда, где им и положено быть - или из interface association descriptor каждой функции или из interface descriptor функции с одним интерфейсом (вольный пересказ документа).
Жаль, что DiMonster последний раз был тут
Цитата
Последнее посещение: 11th November 2016 - 22:37


Цитата
Вот ещё вариант. В этот раз точно для EEM http://www.usb.org/developers/docs/devclas...s/CDC_EEM10.pdf
стр.13-14, Class, SubClass, Protocol: 02, 0x0C, 07

А я какой еще мог использовать, как не этот?


Сообщение отредактировал Genadi Zawidowski - Jan 10 2017, 19:38
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Jan 10 2017, 19:47
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 273
Регистрация: 24-02-09
Пользователь №: 45 309



Цитата(Genadi Zawidowski @ Jan 10 2017, 22:34) *
Класс/подкласс и протокол в случае составного устройства берутся оттуда, где им и положено быть - или из interface association descriptor каждой функции или из interface descriptor функции с одним интерфейсом (вольный пересказ документа).

Да. Но вы же делаете из составного устройства простое, в случае с единственным EEM. Наверное для него нужен и дескриптор простого устройства (хотя бы Device Descriptor). Почему бы нет?
Для простых устройств можно указывать Class, Subclass, Protocol прямо в "Device Descriptor".
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jan 10 2017, 20:34
Сообщение #26


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

Группа: Участник
Сообщений: 1 483
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата
Но вы же делаете из составного устройства простое, в случае с единственным EEM

Нет, это составное устройство с одной функцией. Работает со всеми типами, что я проверял, кроме EEM.
У составного и "простого" разные форматы device descriptor для начала.
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Jan 10 2017, 20:54
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 273
Регистрация: 24-02-09
Пользователь №: 45 309



Я не видел дескриптора EEM "в глаза", и могу только гадать что там должно быть. В даташите от USB.org написано, что эти значения можно применять не только для "Interface Descriptor", но и для "Device Descriptor".
Если 02, 0С, 07 можно поставить прямо в "Device Descriptor", значит возможна и такая конфигурация.
Потому и предложил это рассмотреть.

Но если дело точно не в дескрипторах, тогда я пока ничего больше предложить не могу.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jan 10 2017, 21:23
Сообщение #28


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

Группа: Участник
Сообщений: 1 483
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Вот такие тоже не работают...
Цитата
Если 02, 0С, 07 можно поставить прямо в "Device Descriptor", значит возможна и такая конфигурация

zzz1.pdf именно такой случай.

Сообщение отредактировал Genadi Zawidowski - Jan 10 2017, 21:26
Прикрепленные файлы
Прикрепленный файл  zzz.pdf ( 316.48 килобайт ) Кол-во скачиваний: 11
Прикрепленный файл  zzz1.pdf ( 316.5 килобайт ) Кол-во скачиваний: 10
 
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jan 11 2017, 01:28
Сообщение #29


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

Группа: Участник
Сообщений: 1 483
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Применил тяжелую артиллерию...
На другом процессоре (Renesas RZA1L) на USB HS интерфейсе одиночный CDC EEM нормально опознался!
Однако, соответствующее USB composite device в дереве device manager-а не появилось...
При этом, на USB FS так же с ошибкой о неудачном запуске.
Если добавлялись иные функции, так же нормально работает и на FS и на HS.

ps: в endpoint дескрипторах с типом bulk поле bInterval не игнорируется, а имеет вполне конкретное назначение.

Сообщение отредактировал Genadi Zawidowski - Jan 11 2017, 01:39
Прикрепленные файлы
Прикрепленный файл  USB_CDC_EEM_HS_working.pdf ( 320.28 килобайт ) Кол-во скачиваний: 14
 
Go to the top of the page
 
+Quote Post
romanetz
сообщение Jan 11 2017, 03:26
Сообщение #30





Группа: Участник
Сообщений: 8
Регистрация: 1-06-15
Пользователь №: 86 958



Под линуксом что UAC+ECM, что EEM отдельно опознается нормально. Десятки нет и не будет. Под семеркой - код 28, "нет драйвера".
Пробовал покупную сетевуху на ASIX..178 - она вообще vendor defined class. Драйвер подгрузился автоматом из интернета. Может быть, рабочий дескриптор EEM на симках/смарткартах можно увидеть?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th May 2017 - 07:42
Рейтинг@Mail.ru


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