There are many posts regarding the USB RNDIS subject and even regarding
the "code 10", but I'm not able to find conclusive answers. I would
like to take the opportunity to summarize in one post all my questions
regarding this subject.
My device is based on a Samsung S3C2412 (ARM926) and the OS is Windows
CE5.0.
1) Is the USB Function RNDIS Client driver available (operational) in
WinCE 5.0 or is it a Windows Mobile feature?
What I have read is that RNDIS support is available in WinCE 5.0 and
what it more comes with Mobile is the addressing solution (I don't know
what exactly means) and the plug-in to talk to ActiveSync.
2) Are there any special requirements for the USB function driver PDD?
The S3C2412 USB PDD works with the serial function client driver but
is this enough for RNDIS?
3) What are the required networking catalog features?
My understanding that the minimum is:
- NDIS
- TCP/IP
- Winsock
4) What are the necessary registry settings?
My understanding is the following:
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
"DefaultClientDriver"=- ; erase previous default
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
"DefaultClientDriver"="RNDIS"
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\RNDIS]
"UseActiveSyncIds"=dword:1
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\RNDIS]
"Dll"="rndisfn.dll"
"FriendlyName"="Rndis"
"idVendor"=dword:045E
"Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change
idVendor)"
"idProduct"=dword:0301
"Product"="Generic RNDIS (PROTOTYPE--Remember to change idVendor)"
"bcdDevice"=dword:0
[HKEY_LOCAL_MACHINE\Comm\RndisMini]
"DisplayName"="Microsoft RNDIS Miniport Driver"
[HKEY_LOCAL_MACHINE\Comm\RndisMini\Linkage]
"Route"=multi_sz:"RNDISMINI1"
[HKEY_LOCAL_MACHINE\Comm\RNDISMINI1]
"DisplayName"="Microsoft RNDIS Miniport Driver"
[HKEY_LOCAL_MACHINE\Comm\RNDISMINI1\Parms]
"BusNumber"=dword:0
"BusType"=dword:0
"Interrupt"=dword:0
"IOAddress"=dword:0
[HKEY_LOCAL_MACHINE\Comm\RNDISMINI1\Parms\TcpIp]
"EnableDHCP"=dword:0
"DefaultGateway"=""
"UseZeroBroadcast"=dword:0
"IpAddress"="0.0.0.0" << Setup IP address and subnet mask
"Subnetmask"="0.0.0.0"
5) May I connect to the main network using USB RNDIS?
My understanding is that it is necessary to bridge the main connection
with the RNDIS connection in the host PC in order to access to the main
network.
6) Would be possible application debugging without ActiveSync using the
TCP/IP transport on USB RNDIS? In this case, what would be the
necessary features and steps?
Thank you very much,
MV
The problem is that the error could be caused by any number of
problems.
> My device is based on a Samsung S3C2412 (ARM926) and the OS is Windows
> CE5.0.
>
>
> 1) Is the USB Function RNDIS Client driver available (operational) in
> WinCE 5.0 or is it a Windows Mobile feature?
It's supported in CE5, yes.
>
> What I have read is that RNDIS support is available in WinCE 5.0 and
> what it more comes with Mobile is the addressing solution (I don't know
> what exactly means) and the plug-in to talk to ActiveSync.
AFAIK WM5 just adds some additional functionality around the
RNDIS/ActiveSync concept so that AS can give the device a valid IP
address etc.
> 2) Are there any special requirements for the USB function driver PDD?
>
> The S3C2412 USB PDD works with the serial function client driver but
> is this enough for RNDIS?
No, not really. It must implement decent support for in/out/interrupt
endpoints, that's all.
> 3) What are the required networking catalog features?
>
> My understanding that the minimum is:
>
> - NDIS
> - TCP/IP
> - Winsock
Basically, yes. It should bring in all the other stuff it depends on
when you add it to the image.
Pretty much yes.
>
>
> 5) May I connect to the main network using USB RNDIS?
>
> My understanding is that it is necessary to bridge the main connection
> with the RNDIS connection in the host PC in order to access to the main
> network.
Yes, you need to bridge the connection if you're to access the main
network. The easiest way is probably to enable dhcp on the device and
let the domain dhcp server -if one exist on your domain- provide the IP
through the bridge.
Henrik Viklund
http://www.addlogic.se
>
>
> 6) Would be possible application debugging without ActiveSync using the
> TCP/IP transport on USB RNDIS? In this case, what would be the
> necessary features and steps?
Yes, application debugging should be no problem at all (I'm using it as
we speak, in fact). For eVC you use manual server (cemgrc.exe), and for
VS2005 you use conmanclient2/cmaccept. However, for platform debugging
you need a special kitl rndis driver.
MV