Что такое cdc Ethernet

Обновлено: 21.11.2024

Этот форум перенесен в раздел вопросов и ответов Майкрософт. Посетите Microsoft Q&A, чтобы публиковать новые вопросы.

Отвечает:

Вопрос

Насколько я понимаю, Windows 7 поддерживает USB CDC Ethernet Networking Control Model (ENCM) или ECM.

Я пытаюсь найти, как создать файл INF для этого драйвера. У меня есть простая настройка микроконтроллера для USB CDC ethernet, но я пытаюсь понять, как написать для этого файл .inf. Есть предложения? Отправная точка?

Ответы

Согласно спецификации USBCDC, класс CDC равен 2, подкласс ENCM – 6, а протокол – 0, что дает следующее:

USB\Class_02&SubClass_06&Prot_00 или USB\Class_02&SubClass_06

Я этим не пользовался и не уверен, что даже в Win7 есть поддержка ENCM, но если да, то должно работать.

Дайте мне знать, если это сработает

Спасибо за информацию. Поскольку мы просмотрели файл inf и обнаружили, что провайдером является Microsoft, мы просто хотим перепроверить, используете ли вы имя поставщика как Microsoft, так как это не разрешено.

Wintest Consultancy and Services Электронная почта: help@wintestlogo.com Эта публикация предоставляется «КАК ЕСТЬ», без каких-либо гарантий и не дает никаких прав.

Все ответы

Согласно спецификации USBCDC, класс CDC равен 2, подкласс ENCM – 6, а протокол – 0, что дает следующее:

USB\Class_02&SubClass_06&Prot_00 или USB\Class_02&SubClass_06

Я этим не пользовался и не уверен, что даже в Win7 есть поддержка ENCM, но если да, то должно работать.

Дайте мне знать, если это сработает

Это взято из веб-ссылки"

Совместимые идентификаторы этой модели элементов управления совпадают в INF-файле, предоставленном Microsoft. Если операционная система не находит соответствия для одного из идентификаторов оборудования в INF-файле, предоставленном поставщиком, система автоматически загружает собственный драйвер мини-порта NDIS для управления набором интерфейсов.

Но нужен ли мне файл INF? или есть "приблизительное" руководство по его запуску? т.е. GUID класса и т.д.?

Да, это означает, что Windows должна работать с устройством ENCM при отсутствии драйвера, предоставляемого поставщиком, поэтому не используйте код класса в файле .INF. Если ваше устройство отвечает как устройство ENCM, система должна загрузить драйвер Windows CDC ENCM. Вы можете переопределить драйвер Windows, указав VID и PID устройства в файле .INF

У меня есть устройство ENCM как часть составного драйвера. Составной драйвер может выполнять и другие функции, не связанные с сетью. Функция ENCM находится на двух интерфейсах. Согласно веб-сайту MSDN, Windows 2008 может справиться с этим, но функциональность CDC не включена по умолчанию. Однако составное устройство автоматически перечисляется, а драйвер устанавливается с помощью поставляемого Windows файла USB.inf.

Как переопределить ОС и заставить мое составное устройство включить CDC? Я попытался установить свой собственный INF-файл для составного драйвера, но либо мой INF-файл неверен, либо мне не хватает какой-то информации. Я добавил соответствующие разделы INF для включения CDC в соответствии с веб-сайтом MSDN. Мое составное устройство возвращает 0, 0, 0 для класса, подкласса и протокола в дескрипторе устройства?

Заранее благодарим за любую помощь, которую вы можете предложить.

как выглядит ваш INF (разместите его)? с каким идентификатором оборудования вы сопоставляетесь? пока он не будет подписан WHQL, вам нужно будет вручную установить драйвер поверх встроенного. посмотрите журналы установки (на какой ОС вы пытаетесь это сделать?), чтобы понять, почему ваш INF не был выбран. г -- Эта публикация предоставляется "КАК ЕСТЬ" без каких-либо гарантий и прав.

Помимо Gadget Zero (используемого в основном для тестирования и разработки драйверов для оборудования USB-контроллера), существуют и другие драйверы гаджетов.

Существует драйвер гаджета ethernet, реализующий одну из наиболее полезных моделей Communications Device Class (CDC). Один из стандартов совместимости кабельных модемов даже определяет использование этой модели Ethernet как один из двух обязательных вариантов. Гаджеты, использующие этот код, воспринимают USB-хост как Ethernet-адаптер. Он обеспечивает доступ к сети, в которой ЦП гаджета является одним хостом, который легко может быть мостом, маршрутизацией или брандмауэром для доступа к другим сетям. Поскольку некоторые аппаратные средства не могут полностью реализовать требования CDC Ethernet, этот драйвер также реализует подмножество CDC Ethernet «только хорошие детали». (Это подмножество не объявляет себя CDC Ethernet, чтобы не создавать проблем.)

Поддержка протокола Microsoft RNDIS была предоставлена ​​компаниями Pengutronix и Auerswald GmbH. Это похоже на CDC Ethernet, но работает на оборудовании с небольшим количеством USB (но меньше, чем подмножество CDC). Однако его главная заслуга в том, что он может напрямую подключаться к последним версиям Windows с помощью драйверов, которые поставляются и поддерживаются Microsoft, что значительно упрощает сетевое взаимодействие с Windows.

Существует также поддержка драйверов гаджетов пользовательского режима с использованием gadgetfs .Это обеспечивает API пользовательского режима, который представляет каждую конечную точку как один файловый дескриптор. Ввод-вывод осуществляется с помощью обычных вызовов read() и read(). Знакомые инструменты, такие как GDB и pthreads, можно использовать для разработки и отладки драйверов пользовательского режима, так что, как только появится надежный драйвер контроллера, многие приложения для него не потребуют нового программного обеспечения режима ядра. Доступна поддержка асинхронного ввода-вывода (AIO) в Linux 2.6, поэтому программное обеспечение пользовательского режима может выполнять потоковую передачу данных лишь с немного большими накладными расходами, чем драйвер ядра.

Существует драйвер класса USB Mass Storage, который предоставляет другое решение для взаимодействия с такими системами, как MS-Windows и MacOS. Этот драйвер Mass Storage использует файл или блочное устройство в качестве резервного хранилища для диска, как и драйвер цикла. USB-хост использует версии BBB, CB или CBI спецификации класса запоминающих устройств, используя прозрачные команды SCSI для доступа к данным из резервного хранилища.

Есть драйвер "последовательной линии", полезный для работы в стиле TTY через USB. Последняя версия этого драйвера поддерживает работу в стиле CDC ACM, например USB-модем, и поэтому на большинстве аппаратных средств он может легко взаимодействовать с MS-Windows. Одним интересным применением этого драйвера является загрузочная прошивка (например, BIOS), которая иногда может использовать эту модель с очень маленькими системами без реальных последовательных линий.

Ожидается, что поддержка других типов гаджетов будет развиваться и добавляться со временем по мере развития этой платформы драйверов.

Протокол ECM (модель управления сетью Ethernet) используется для обмена данными Ethernet-кадра между устройством и хостом. Устройство, совместимое с CDC ECM, представляет себя в качестве виртуального сетевого адаптера для операционной системы хоста. Сетевому адаптеру назначается MAC-адрес и IP-адрес.

Общий вариант использования устройства CDC ECM – адаптер Ethernet типа "точка-точка" для подключения к локальной/беспроводной локальной сети.

Драйвер CDC ECM является компонентом линейки продуктов DriverCore. DriverCore предлагает стандартные коммуникационные драйверы для ПК, позволяющие производителям устройств использовать различные собственные коммуникационные интерфейсы через USB для различных операционных систем и платформ.

DriverCore ECM предоставляет интерфейс управления с устройством для облегчения необходимых запросов управления сетью и USB-устройствами (например, перечисление, фильтры управления питанием, инкапсулированные команды).

Попросите специалиста по продукту связаться с вами!
Расскажите нам больше о своем проекте, и мы будем рады предоставить вам бесплатную консультацию и помощь в снижении расходов на вашего водителя!
Закажите бесплатную консультацию по проекту!

  • Несколько USB-устройств CDC ECM на отдельных физических USB-устройствах.
  • Запросы на управление устройствами
  • Композитные USB-устройства с несколькими функциями CDC ECM
  • Получение/установка идентификаторов объектов NDIS (OID)
  • NDIS 5.0/5.1 и NDIS 6.0
  • Загрузите наш бесплатный обзор DriverCore Management, чтобы понять коммерческие проблемы, операционные процессы и провести полный анализ рентабельности инвестиций.
  • Для получения дополнительной информации и цен заполните форму запроса информации.
  • Высококачественный стандартный USB-драйвер CDC ECM
  • Решение «под ключ»: значительно сокращает время и затраты на разработку.
  • Аппаратно-программно-независимое решение
  • Интуитивно понятный API на языке C
  • Доступно в формате исходного кода или двоичного объекта
  • Модульный драйвер
  • Высокая пропускная способность
  • Кроссплатформенная совместимость с поддерживаемыми операционными системами
  • Обширная документация
  • Всесторонняя техническая поддержка

Если вам также необходимо добавить поддержку USB для встроенных продуктов, ознакомьтесь со встроенными USB-стеками Jungo Connectivity, которые поддерживают возможности Host/Device/OTG.

Помимо Gadget Zero (используемого в основном для тестирования и разработки драйверов для оборудования USB-контроллера), существуют и другие драйверы гаджетов.

Существует драйвер гаджета ethernet, реализующий одну из наиболее полезных моделей Communications Device Class (CDC). Один из стандартов совместимости кабельных модемов даже определяет использование этой модели Ethernet как один из двух обязательных вариантов. Гаджеты, использующие этот код, воспринимают USB-хост как Ethernet-адаптер. Он обеспечивает доступ к сети, в которой ЦП гаджета является одним хостом, который легко может быть мостом, маршрутизацией или брандмауэром для доступа к другим сетям. Поскольку некоторые аппаратные средства не могут полностью реализовать требования CDC Ethernet, этот драйвер также реализует подмножество CDC Ethernet «только хорошие детали». (Это подмножество не объявляет себя CDC Ethernet, чтобы не создавать проблем.)

Поддержка протокола Microsoft RNDIS была предоставлена ​​компаниями Pengutronix и Auerswald GmbH. Это похоже на CDC Ethernet, но работает на оборудовании с небольшим количеством USB (но меньше, чем подмножество CDC).Однако его главная заслуга в том, что он может напрямую подключаться к последним версиям Windows с помощью драйверов, которые поставляются и поддерживаются Microsoft, что значительно упрощает сетевое взаимодействие с Windows.

Существует также поддержка драйверов гаджетов пользовательского режима с использованием gadgetfs . Это обеспечивает API пользовательского режима, который представляет каждую конечную точку как один файловый дескриптор. Ввод-вывод осуществляется с помощью обычных вызовов read() и read(). Знакомые инструменты, такие как GDB и pthreads, можно использовать для разработки и отладки драйверов пользовательского режима, так что, как только появится надежный драйвер контроллера, многие приложения для него не потребуют нового программного обеспечения режима ядра. Доступна поддержка асинхронного ввода-вывода (AIO) в Linux 2.6, поэтому программное обеспечение пользовательского режима может выполнять потоковую передачу данных лишь с немного большими накладными расходами, чем драйвер ядра.

Существует драйвер класса USB Mass Storage, который предоставляет другое решение для взаимодействия с такими системами, как MS-Windows и MacOS. Этот драйвер Mass Storage использует файл или блочное устройство в качестве резервного хранилища для диска, как и драйвер цикла. USB-хост использует версии BBB, CB или CBI спецификации класса запоминающих устройств, используя прозрачные команды SCSI для доступа к данным из резервного хранилища.

Есть драйвер "последовательной линии", полезный для работы в стиле TTY через USB. Последняя версия этого драйвера поддерживает работу в стиле CDC ACM, например USB-модем, и поэтому на большинстве аппаратных средств он может легко взаимодействовать с MS-Windows. Одним интересным применением этого драйвера является загрузочная прошивка (например, BIOS), которая иногда может использовать эту модель с очень маленькими системами без реальных последовательных линий.

Ожидается, что поддержка других типов гаджетов будет развиваться и добавляться со временем по мере развития этой платформы драйверов.

Читайте также: