2010-11-13 6 views
4

Я использую одну плату контроллера, на которой работает Linux. Я хочу связать свое устройство с компьютером (ОС Windows) через USB.Как программировать USB RNDIS?

Я решил использовать класс RNDIS для связи между хостом и устройством. У меня есть драйвер, готовый со стороны устройства (linux). Когда я подключаю свое устройство к хосту Windows, он обнаруживает аппаратное обеспечение как неизвестное устройство RNDIS/CDC. Теперь для разработки драйверов в окнах я использовал «Jungo windriver 10.10». Он сгенерировал файл INF, и мое устройство было успешно обнаружено в системе.

Теперь, как я могу начать общение между хостом и устройством? Я хотел бы упомянуть, что я новичок в программировании и не испытываю опыта программирования на стороне Windows.

Это точно, что я должен будет разработать драйвер приложения на обеих сторонах (Device-Linux и хост-окна)

Может кто-то наставит меня, как я могу продолжить на этом?

Заранее спасибо ....

ответ

0

Как я понимаю, Windows, загрузить Generic USB Client Driver (Jungo Driver) для подключения вас Linux device.So Далее вам нужно будет открыть подключение через конечные точки, возможно, и из массивные конечные точки, данные формата (которые вы отправляете) по этим конечным точкам в формате протокола RNDIS. Вы должны быть уверены, что ваше устройство linux действительно разоблачает интерфейс RNDIS. Для получения помощи я могу посоветовать использовать usb logger. Попробуйте подключить ваше Linux-устройство к Windows или Linux, где вы знаете, что устройство было распознано каким-то драйвером, и там есть соединение, затем делайте журналы о том, что происходит на usb. Похоже, вы начинаете исследовать интерфейс usb, и это разные протоколы. Мне кажется, что лучше начать с некоторых готовых вещей, попытаться найти и узнать, как люди разбирают, понимают и записывают протоколы usb, например, для устройства kinect.

2

Во-первых, RNDIS, как стандартная поставка, доступная только для окон xp, а не для хоста Jungo, но MS.

Во-вторых, вы знаете, какой драйвер у вас есть на стороне устройства? Это целевой стек Jungo RNDIS?

Для обмена данными между хостом и мишенью для RNDIS устройства, попробуйте следующие две ссылки из MS поможет вам понять управления и канал передачи данных, а также EP Установка:

http://207.46.16.248/en-us/library/ee483123(WinEmbedded.60).aspx HTTP: // скачать. microsoft.com/download/B/0/B/B0B199DB-41E6-400F-90CD-C350D0C14A53/%5BMS-RNDIS%5D.pdf

RNDIS использует два канала, один канал управления и один канал данных. Начальная связь начинается с канала управления, тогда данные начинают течь по каналу данных, в котором используются две конечные точки BULK, IN и OUT.

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

0

Есть уже модули, которые могут помочь вам при подключении linux mc к победе на ПК. Попробуйте найти модуль g_file_storage, например, который позволит вам смонтировать образ файловой системы из linux mc, чтобы выиграть pc в качестве файла saperate, на котором вы можете делать форматирование, выход ввода файлов и т. Д. Надеюсь, что вы найдете больше в google ... :) спасибо, AJ

Смежные вопросы