Remote ndis compatible device driver windows 7
Asked by:
Question
I have an own developed WinCE 5.2 target connected to my Windows XP PC via the USB cable using RNDIS. It has been running for several years. Now I need to support connection to WIndows 7 x64 bits PC as well.
When plugging in the USB cable from my device to my Win7-PC it appears in Device Manager as a Network Adaptor «Generic RNDIS (XR ITS)».
When doing «Update driver software» using Old.inf file, it fails with the message:
Windows was unable to install your Generic RNDIS (XR ITS)
Windows could not find driver software for your device.
So then I tried to use the » Remote NDIS INF Template » located at http://msdn.microsoft.com/en-us/library/ff570620(v=VS.85).aspx to create a New.inf file. The only thing done to the template in the first place was replacing the VID_xxxx/PID_yyyy with my own. When doing «Update driver software» in Windows 7 using this new driver, it failed with the message:
Windows encountered a problem installing the driver software for your device
Windows found driver software for your device but encountered an error while attempting to install it.
Remote NDIS based Device
The rquired line was not found in the INF. I have tied to add different stuff from my Old.inf file to see if I can come around this without success. I have no idea what might be the problem and need some help. Is there a way to run .inf in some kind of debug to see what is the problem?
All replies
Did you fix the RNDIS in windows 7?. If not , please use the following inf file. This inf is working for me.
;
; Remote NDIS template device setup file
; Copyright (c) Microsoft Corporation
;
; This is the template for the INF installation script
; for the RNDIS-over-USB host driver.
; This INF works for Windows XP SP2, Windows XP x64,
; Windows Server 2003 SP1 x86, x64, and ia64, and
; Windows Vista x86 and x64.
; This INF will work with Windows XP, Windows XP SP1,
; and Windows 2003 after applying specific hotfixes.
Signature = «$Windows NT$»
Class = Net
ClassGUID = <4d36e972-e325-11ce-bfc1-08002be10318>
Provider = %Microsoft%
DriverVer=06/21/2006,6.1.7600.16385
;CatalogFile = device.cat [Manufacturer]
%Microsoft% = RndisDevices,NTx86,NTamd64,NTia64
; Decoration for x86 architecture
[RndisDevices.NTx86]
;when MSID is used for RNDIS Ethernet devices over USB transport
%RndisDevice% = RNDIS.NT.6.0, USB\MS_COMP_RNDIS&MS_SUBCOMP_5162001
;when CompatID is used for RNDIS Ethernet devices over USB transport
%RndisDevice% = RNDIS.NT.6.0, USB\Class_EF&SubClass_04&Prot_01
; Decoration for x64 architecture
[RndisDevices.NTamd64]
;when MSID is used for RNDIS Ethernet devices over USB transport
%RndisDevice% = RNDIS.NT.6.0, USB\MS_COMP_RNDIS&MS_SUBCOMP_5162001
;when CompatID is used for RNDIS Ethernet devices over USB transport
%RndisDevice% = RNDIS.NT.6.0, USB\Class_EF&SubClass_04&Prot_01
; Decoration for ia64 architecture
[RndisDevices.NTia64]
;when MSID is used for RNDIS Ethernet devices over USB transport
%RndisDevice% = RNDIS.NT.6.0, USB\MS_COMP_RNDIS&MS_SUBCOMP_5162001
;when CompatID is used for RNDIS Ethernet devices over USB transport
%RndisDevice% = RNDIS.NT.6.0, USB\Class_EF&SubClass_04&Prot_01
;@@@ This is the common setting for setup
[ControlFlags]
ExcludeFromSelect=*
; DDInstall section
; References the in-build Netrndis.inf
[RNDIS.NT.6.0]
Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
BusType = 15
; NEVER REMOVE THE FOLLOWING REFERENCE FOR NETRNDIS.INF
include = netrndis.inf
needs = usbrndis6.ndi
AddReg = Rndis_AddReg_Vista
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD.
*MediaType = 0 ; NdisMediumNative802_3
*PhysicalMediaType = 14 ; NdisPhysicalMedium802_3
; DDInstal.Services section
[RNDIS.NT.6.0.Services]
include = netrndis.inf
needs = usbrndis6.ndi.Services
; Optional registry settings. You can modify as needed.
[RNDIS_AddReg_Vista]
HKR, NDI\params\VistaProperty, ParamDesc, 0, %Vista_Property%
HKR, NDI\params\VistaProperty, type, 0, «edit»
HKR, NDI\params\VistaProperty, LimitText, 0, «12»
HKR, NDI\params\VistaProperty, UpperCase, 0, «1»
HKR, NDI\params\VistaProperty, default, 0, » »
HKR, NDI\params\VistaProperty, optional, 0, «1»
; No sys copyfiles — the sys files are already in-build
; (part of the operating system).
; Modify these strings for your device as needed.
[Strings]
Microsoft = «Microsoft Corporation»
RndisDevice = «Remote NDIS Compatible Device»
Vista_Property = «Optional Vista Property»
Remote ndis compatible device driver windows 7
Драйвера устройств обычно скрываются в менеджере устройств как только устройство отключится или подаст команду на скрытие (несмотря на то, что они по прежнему установлены в системе). Очень часто «одноименные» драйвера конфликтуют из-за несоответствия версий и пр.
Методика очистки списка не используемых устройств: (Уже многими опробовано и даёт хорошие результаты когда ничего уже не помогает «увидеть» работоспособное «устройство».
0. Отключите от компьютера все внешние USB-устройства.
1. Создайте переменную окружения с именем DEVMGR_SHOW_NONPRESENT_DEVICES со значением равным 1.
Для этого: 1.1. Щелкните правой кнопкой на значке «Мой компьютер» (My Computer) и выберите пункт «Свойства» (Properties).
1.2. В открывшемся диалоговом окне перейдите к вкладке «Дополнительно» (Advanced) и нажмите на кнопку «Переменные среды» (Environment Variables).
1.3. На расположенной в верхней части диалогового окна панели «Переменные среды» нажмите на кнопку «Создать» (New).
1.4. В поле «Имя переменной» наберите (лучше скопируйте отсюда) DEVMGR_SHOW_NONPRESENT_DEVICES, а в поле «Значение переменной» введите 1.
1.5. Два раза подряд нажмите на кнопку «OK».)
Созданная переменная окружения разрешит менеджеру устройств показывать все установленные в системе драйвера устройств (как скрытых, так и всех, когда-либо подключавшихся к компьютеру).
2. Вызовите менеджер/диспетчер устройств:
3. Щелкните правой кнопкой на значке «Мой компьютер» (My Computer), выберите пункт «Свойства» (Properties) и перейдите к вкладке «Оборудование» (Manage).
4. Нажмите на кнопку «Диспетчер устройств» (Device Manager), раскройте меню «Вид» (View) и выберите команду «Показать скрытые устройства» (Show Hidden Devices).
5. Начинайте «зачистку» системы от «хлама»:
5.1 Раздел «Дисковые устройства» Каждый раз, когда вы подключаете новую флешку, ставится новый драйвер. Каждый раз, когда вы подключаете ту же флешку, но к другому порту USB, ставится новый драйвер. Драйвера всех в настоящее время отключенных сменных носителей в этом разделе можно смело удалить — они сами поставятся заново при подключении флешек и прочих USB-носителей. Среди этих скрытых и неиспользуемых драйверов будет и драйвер «Вашего устройства» (возможно «неудачный» и не один). Он должен называться «Ваше устройство» USB Device, но он не всегда определяется правильно и поэтому имя может быть другое. Смело удаляйте всё, что относится к «Вашему устройству» в этом разделе. При первом же подключении «Вашего устройства» новый драйвер от текущего установится сам или попросит Вас его установить.
5.2 Раздел «Другие устройства» Здесь можно удалить все СКРЫТЫЕ (серенькие) устройства — это все ваши неудачные попытки поставить «что-то». Они вам точно не нужны.
5.3 Раздел «Тома запоминающих устройств» Здесь можно удалить СКРЫТЫЕ (серенькие) «тома запоминающих устройств» -это «буквы» ваших флешек -они вам не нужны, т.к. присвоятся заново при подключении флешки..
5.4 Раздел «Контроллеры универсальной последовательной шины USB»: Здесь можно удалить все СКРЫТЫЕ (серенькие) устройства: «Ваше устройство» Device USB Driver, Запоминающее устройство для USB, Неизвестное устройство и другие.
5.5 Перезагрузите компьютер.
6. После всех этих удалений попробуйте заново подключить «ваше устройство». Он должен обнаружиться как новое устройство и Windows установит к нему драйвера или вы их установите сами ( на некоторых устройствах нужно устанавливать драйвера без подключения по USB, т.е. подключать после установки драйвера).
6.1 Перезагрузите компьютер.
Обычно такая процедура устраняет все проблемы в конфликтных драйверах «вашего устройства».
7. спасибо за предоставленную информацию Alex_1959, :yes2:
Обычно решение проблемы, прямо или косвенно, отражено в шапке.
Overview of Remote NDIS (RNDIS)
Remote NDIS (RNDIS) eliminates the need for hardware vendors to write an NDIS miniport device driver for a network device attached to the USB bus. Remote NDIS accomplishes this by defining a bus-independent message set and a description of how this message set operates over the USB bus. Because this Remote NDIS interface is standardized, one set of host drivers can support any number of networking devices attached to the USB bus. This significantly reduces the development burden on device manufacturers, improves the overall stability of the system because no new drivers are required, and improves the end-user experience because there are no drivers to install to support a new USB bus-connected network device. Currently Microsoft Windows provides support for Remote NDIS over USB.
The following figure shows the replacement of the device manufacturer’s NDIS miniport with the combination of a Remote NDIS miniport driver and a USB transport driver. The device manufacturer can therefore concentrate on device implementation and not have to develop a Windows NDIS device driver.
Microsoft provides an NDIS miniport driver, Rndismp.sys, which implements the Remote NDIS message set and communicates with generic bus transport drivers, which in turn communicate with the appropriate bus driver. This NDIS miniport driver is implemented and maintained by Microsoft and is distributed as part of Windows.
The following Remote NDIS message set mirrors the semantics of the NDIS miniport driver interface:
Initializing, resetting, and halting device operation
Transmitting and receiving networking data packets
Setting and querying device operational parameters
Indicating media link status and monitoring device status
Microsoft also provides a USB bus transport driver that implements a mechanism for carrying the Remote NDIS messages across the USB bus. This driver transports standardized Remote NDIS messages between the Remote NDIS miniport driver and the bus-specific driver, such as USB. The bus-specific drivers are also required to map any bus-specific requirements, such as power management, into standardized Remote NDIS messages. The transport driver for USB 1.1 and 2.0 is implemented and maintained by Microsoft and distributed as part of Windows.
This structure allows a single device driver to be used for any Remote NDIS device for which there is a bus-specific transport layer. In addition, only one bus transport layer is required for all network devices on a specific bus.
This section includes the following additional topics: