Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

USB Function RNDIS Client Driver in WinCE 5.0

141 views
Skip to first unread message

MV

unread,
Sep 15, 2006, 3:55:50 AM9/15/06
to

My objective is to provide networking capabilities to a device that
does not have an ethernet port, but it has an USB function port
connected to a host PC. For this purpose, I'm trying to setup the
WinCE5.0 provided USB Function RNDIS client driver but without sucess
yet. The host PC detects the RNDIS connection but after some time I get
a dialog box saying that that "This device cannot
start (code 10)".

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

Henrik Viklund

unread,
Sep 15, 2006, 4:43:54 AM9/15/06
to
MV wrote:
> My objective is to provide networking capabilities to a device that
> does not have an ethernet port, but it has an USB function port
> connected to a host PC. For this purpose, I'm trying to setup the
> WinCE5.0 provided USB Function RNDIS client driver but without sucess
> yet. The host PC detects the RNDIS connection but after some time I get
> a dialog box saying that that "This device cannot
> start (code 10)".
>
> 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.

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

unread,
Sep 28, 2006, 2:28:24 AM9/28/06
to
The problem was a limitation in the S3C2412 USB PDD driver, which
initially only supported the serial function client driver. Now,
Samsung has released a new BSP that includes support for the three
function clients drivers (serial, rndis, and storage). I tested the
RNDIS functionality for general purpose networking and for application
debugging using VS2005 and everything runs fine.

MV

MV

unread,
Sep 28, 2006, 2:28:29 AM9/28/06
to
0 new messages