|
Есть желание сделать TCP/IP over USB, Порекомендуйте стартовую точку для реализации RNDIS |
|
|
|
 |
Ответов
|
Feb 17 2009, 10:02
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
RNDIS по сути транспортирует Ethernet пакеты Нафик устройствам такой оверхед? Делаете на USB виртуальный COM порт и присоединяетесь по PPP способом Direct Cable Connection. Оверхед будет меньше. Цитата(VslavX @ Feb 17 2009, 11:45)  На данный момент в устройствах для обмена с "внешним миром" есть целых три протокола - один для RS-232/485, один для USB, и один для etehrnet. Так уж "исторически" получилось  . В итоге появилось осознанное желание оставить только TCP/IP, а "несетевые" интерфейсы перевести на "пакетный режим" - IP. Для RS-232 скорее всего будет SLIP и/или PPP, для RS-485 - пока нет ясности, а вот для шины USB некая компания Microsoft предлагает RNDIS - драйверы в Windows имеются готовые, осталось "уговорить принцессу" написать свой firmware. Поиск по форуму и в Сети ничего толкового не дал, может быть уважаемый All чего полезного посоветует в качестве отправной точки? Платформа без разницы - интересует лишь пример реализации - "just for reference"
|
|
|
|
|
Feb 17 2009, 10:27
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(AlexandrY @ Feb 17 2009, 12:02)  RNDIS по сути транспортирует Ethernet пакеты Нафик устройствам такой оверхед? Делаете на USB виртуальный COM порт и присоединяетесь по PPP способом Direct Cable Connection. Оверхед будет меньше. Тоже вариант. Но разницу между фреймами PPP/802.3 не считаю принципиальной, судя по описанию RNDIS от MS - ничего там сильно оверхедного нет. Все равно в устройстве есть полный сетевой стек - осталось только интерфейсы нужные дописать - а это 10-15% от всей уже проделанной работы. Впрочем, PPP будет имплементироваться "по-любому" - для модемов/RS-232, поэтому без проблем можно будет попробовать и на CDC. Еще виртуальный COM на USB не особо хочется из-за проблем в "штатных" драйверах Windows. Да, в XP SP(какой-то) вроде уже получше с usbser.sys стало, но у нас есть клиенты и на 98SE/2000 (есть и на 95/DOS, но им USB "даже не сниться"). RNDIS же в действии видел - мой КПК по USB так подключается. На мой взгляд - вполне элегантное решение, для пользователя все просто - подключил шнурок и получил сетевое соединение автоматически. Еще недавно был на семинаре Telit - там тоже плату подключали по USB, на плате был Linux c RNDIS-клиентом, и кажется, даже u-boot работал по сетке через USB.
|
|
|
|
|
Feb 17 2009, 16:29
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Сочувствую. Выж не клиент, а разработчик. PPP через виртуальный COM также автоматом включается как и RNDIS. Надо только incoming connection в винде поставить на прослушивание. Эта фишка в виндах по моему с версии 3.11 идет. Только RNDIS по USB ой как сложно вам будет снифить, не в пример PPP по COM порту. Цитата(VslavX @ Feb 17 2009, 12:27)  RNDIS же в действии видел - мой КПК по USB так подключается. На мой взгляд - вполне элегантное решение, для пользователя все просто - подключил шнурок и получил сетевое соединение автоматически. Еще недавно был на семинаре Telit - там тоже плату подключали по USB, на плате был Linux c RNDIS-клиентом, и кажется, даже u-boot работал по сетке через USB.
|
|
|
|
|
Feb 17 2009, 17:44
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(AlexandrY @ Feb 17 2009, 18:29)  Сочувствую. Спасибо  . Только сочувствие не требуется, скорее наоборот - это ж интересно - заимплементить весчь типа RNDIS. Цитата(AlexandrY @ Feb 17 2009, 18:29)  Только RNDIS по USB ой как сложно вам будет снифить, не в пример PPP по COM порту. То есть? "Сверху" на PC RNDIS пакеты нормально возьмутся ethereal (aka wireshark) (работает по NDIS), "снизу" на USB - софтовым сниффером типа USBlyser. С этими обоими снифферами уже много работал - особых проблем не вижу. Потенциальная проблема может быть в неполноте спецификации RNDIS от MS - но там драйверы крошечные, и к ним символы в pdb выложены. Собственно имеется некоторый опыт и с самим NDIS (приходилось работать в команде по написанию firewalls), поэтому все "непонятки" можно будет выяснить при помощи IDA. Еще большой плюс RNDIS (по сравнению с текущим используемым WinUSB), что он работает начиная от Win98.
|
|
|
|
Сообщений в этой теме
VslavX Есть желание сделать TCP/IP over USB Feb 17 2009, 09:45    AlexandrY Вижу вы уверены, что сокращения вам еще долго не г... Feb 17 2009, 20:00     VslavX Цитата(AlexandrY @ Feb 17 2009, 22:00) Ви... Feb 17 2009, 22:30      AlexandrY Так на что собираетесь портировать RNDIS? Процессо... Feb 18 2009, 18:15       VslavX Цитата(AlexandrY @ Feb 18 2009, 20:15) Та... Feb 18 2009, 21:53 Rst7 Кстати, я так понимаю, RNDIS сам по себе поднимает... Feb 17 2009, 11:58 Concorde Я писал. В общем, реализация приема/передачи Ether... Feb 21 2009, 00:22 Дмитрий Мазунин Уважаемый Concorde, прошу Вас ответить на вопрос -... Feb 25 2009, 09:11 Concorde Цитата(Дмитрий Мазунин @ Feb 25 2009, 12... Feb 25 2009, 16:06  AlexandrY А вы уверены что делали RNDIS и что вы сами его де... Feb 25 2009, 21:29   VslavX Цитата(AlexandrY @ Feb 25 2009, 23:29) А ... Feb 25 2009, 22:08   Concorde Цитата(AlexandrY @ Feb 26 2009, 00:29) А ... Feb 25 2009, 23:37 DiMonstr У меня вопрос конкретно по Remote NDIS.
Ваяю обра... Feb 6 2010, 18:45 VslavX Цитата(DiMonstr @ Feb 6 2010, 20:45) REMO... Feb 6 2010, 21:51  DiMonstr Цитата(VslavX @ Feb 7 2010, 00:51) Э-э-э-... Feb 8 2010, 09:18   VslavX Шина USB работает в формате little-endian, это зна... Feb 8 2010, 12:56    DiMonstr Цитата(VslavX @ Feb 8 2010, 15:56) Шина U... Feb 8 2010, 17:26 DiMonstr Вопрос.
FX2LP настроен на режим Slave FIFO.
Внешни... Feb 24 2010, 08:55 knk Добрый день!
Сейчас занимаюсь такой-же задачей... Sep 23 2012, 14:05 knk Добрый день!
С REMOTE_NDIS_INITIALIZE_CMPLT вр... Sep 25 2012, 14:04
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|