Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование под RNDIS

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

DVader



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Возникла такая задача, нужно работать с некоторым устройством, подключенным через USB к Windows компьютеру, общаясь посредством протокола TCP/IP.
 
После некоторых поисков обнаружил, что за данную функцию в WINDOWS отвечает RNDIS (Remote Network Driver Interface Specification h__p://www.microsoft.com/whdc/device/network/NDIS/rmNDIS.mspx#EBD). Однако все больше он используется для работы с Pocket PC и смартфонами. Существует даже API, но опять же, рассчитанный на Windows CE.
 
Вопрос, Есть ли информация:
- во-первых, о том как должно проектироваться такое устройство, есть ли конкретные спецификации? (я пока нашел перечень сообщений которыми RNDIS обменивается по шине);
- во-вторых, интересуют примеры кода для работы с RNDIS напрямую, без Windows Mobile API (например, проверить выданный IP, пингануть девайс etc.)
- а также все, что может помочь, дабы не писать собственный драйвер.
 

Всего записей: 45 | Зарегистр. 15-02-2006 | Отправлено: 18:37 06-07-2007
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
за данную функцию в WINDOWS отвечает RNDIS  

 
Хочу тебя огорчить, RNDIS отвечает за подключение сетевых устройств по динамическим шинам (например, сетевых карт с usb), а не за управление usb-девайсом по tcp-ip.
 
http://www.microsoft.com/whdc/device/network/NDIS/rmNDIS.mspx

Цитата:
Remote Network Driver Interface Specification (RNDIS) is a specification for network devices on dynamic Plug and Play I/O buses such as universal serial bus (USB) and IEEE 1394 technology.


Всего записей: 947 | Зарегистр. 23-04-2003 | Отправлено: 20:15 09-07-2007
DVader



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dmka
 

Цитата:
Возникла такая задача, нужно работать с некоторым устройством, подключенным через USB к Windows компьютеру, общаясь посредством протокола TCP/IP. После некоторых поисков обнаружил, что за данную функцию в WINDOWS отвечает RNDIS  

 

Цитата:
Хочу тебя огорчить, RNDIS отвечает за подключение сетевых устройств по динамическим шинам  

 
Огорчил Ты меня совсем огорчил Ты ничего не понял
 
Имелось в виду как раз то, что имелось: что управление устройством, подключенным через USB осуществляется с помощью TCP/IP пакетов, за работу с которыми как раз и отвечает RNDIS. Мне казалось, что я дал понять, что мне нужно, и о том, что я знаю, что таки делает RNDIS.
 
Попробую еще раз по слогам.
 
Итак, мне необходима информация о работе с RNDIS напрямую, без использования Windows CE API, т.к. устройство нестандартное и API этот не поддерживает. Т.е. я хочу иметь возможность определить с какими устройствами на данный момент взаимодействует этот драйвер, получить их адреса, и передавать/принимать сообщения.
Микрософты открестились от каких либо примеров софта...
 
Может кто-то писал что-то подобное?

Всего записей: 45 | Зарегистр. 15-02-2006 | Отправлено: 12:51 10-07-2007
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В смысле у тебя есть умная коробка с ОС на борту (устройство по-твоему), которая подключается к PC по USB и ты хочешь установить связь между этой коробкой и PC по tcp-ip over usb. Так? ОС в коробке не WinCE. А что? Linux? Symbian?

Цитата:
Микрософты открестились от каких либо примеров софта...

Чего открестились - есть DDK (aka WDK), есть RNDIS USB Driver Kit - под Win само собой.

Цитата:
мне необходима информация о работе с RNDIS напрямую, без использования Windows CE API

Ну если ты самостоятельно хочешь проимплементить стек tcp-ip поверх ndis поверх usb в своем устройстве, то сам себе злой буратина

Всего записей: 947 | Зарегистр. 23-04-2003 | Отправлено: 15:58 10-07-2007
DVader



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Чего открестились - есть DDK (aka WDK), есть RNDIS USB Driver Kit - под Win само собо

Ага, именно там в FAQ сказано, правда про device firmware - никаких сэмплов.
 
ОС в коробке ARM LINUX.  
 

Цитата:
Ну если ты самостоятельно хочешь проимплементить стек tcp-ip поверх ndis поверх usb в своем устройстве, то сам себе злой буратина  

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

Всего записей: 45 | Зарегистр. 15-02-2006 | Отправлено: 13:12 11-07-2007
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ага, именно там в FAQ сказано, правда про device firmware - никаких сэмплов

Microsoft зарабатывает деньги продажей виндозов, а не писанием фирмварей для конкурирующих платформ. Типа покупай Win CE (оно есть и под ARM) и пользуйся всеми благами
 

Цитата:
ОС в коробке ARM LINUX

дело сложное, но не совсем безнадежное, если отказаться от Windows на PC.  
http://www.ruault.com/Zaurus/ethernet-over-usb-howto.html
Тот Zaurus собсно и есть пример Linux-а на ARM-е
 
Если в устройстве есть mini pci (как в некоторых роутерах), то можно воткнуть туда LAN или WiFi-модуль.

Всего записей: 947 | Зарегистр. 23-04-2003 | Отправлено: 03:30 12-07-2007
DVader



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Цитата:ОС в коробке ARM LINUX  
 
дело сложное, но не совсем безнадежное, если отказаться от Windows на PC.  

 
В том-то и дело, что наша задача совместить девайс мало того, что с Windows, так еще и с Power PC
 
mini PCI там точно нет... =(

Всего записей: 45 | Зарегистр. 15-02-2006 | Отправлено: 13:30 13-07-2007
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еще вариант - использовать с какой-нибудь стороны usb to com (или usb to usb, но с com-подобным протоколом), по крайней мере это будет на порядок проще запрограмить.

Всего записей: 947 | Зарегистр. 23-04-2003 | Отправлено: 20:36 13-07-2007
Evgeny23

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, смотрите тут - может, поможет
 
The GNU/Linux "usbnet" Driver Framework  
http://www.linux-usb.org/usbnet/
 
Linux-USB Gadget API Framework
http://www.linux-usb.org/gadget/index.html
 
Windows XP usbnet
Step by Step instructions for installing usbnet on Windows XP
http://docwiki.gumstix.org/Windows_XP_usbnet
 
USB Networking - Setting up usbnet
http://www.davehylands.com/linux/gumstix/usbnet/
 
USBNet under Linux
http://docwiki.gumstix.org/Setting_up_USBnet

Всего записей: 6 | Зарегистр. 01-11-2003 | Отправлено: 00:12 29-07-2007
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование под RNDIS


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru