Chris De Herrera's Windows CE Website

About
Discuss.Pocket PC FAQ Forum

Add Pocket PC FAQ to your Favorites
RSS    RSS Feeds
Wiki    Lost?
Custom Search
Subscribe    Print
Miscellaneous
Table of Contents
Mobile Format
News

[an error occurred while processing this directive]


 
Pocket PC Magazine Best Site

Website Awards
Website Updates

By Chris De Herrera 
Copyright 1998-2007
 All Rights Reserved
A member of the Talksites Family of Websites

Windows and Windows CE are trademarks of Microsoft
Corporation
and are used
under license from owner.
CEWindows.NET is not
associated with Microsoft 
Corporation.

All Trademarks are owned
by their respective companies.

Protocols FAQ
By Chris De Herrera, Copyright 1998-2002
 Version 1.09  Revised 9/6/2002

[an error occurred while processing this directive]

Introduction

Windows CE PC Companions (including the Pocket PC,  Pocket PC 2002 and Windows Mobile 2003 as well as the SmartPhone) support TCP/IP as well as NetBIOS over TCP/IP.  Microsoft has done a good job explaining the TCP/IP protocol implementation in their Windows CE Communications Whitepaper. These services include PPP, SLIP, RAS, HTTP as well as DNS lookups and WINS resolution.  The current version of Windows CE (through 3.0) and the Pocket PC 2000 does not support PPTP or VPN connections.  VPN support has been added to the Pocket PC 2002 though. For a visual diagram of connections see the ActiveSync Configurations.

This FAQ focuses on the implementation of NetBIOS over TCP/IP, host name resolution, and the default IP addresses used by ActiveSync.

NetBIOS over TCP/IP Node Types

NetBIOS over TCP/IP has been implemented in the Handheld PC, Handheld PC, Professional Edition, Palm-size PC, and Pocket PC to support access to the desktop using Windows CE Services 2.x or ActiveSync 3.x and serial, IrDA, RAS/Modem, 802.11b and Ethernet connections.

Microsoft has implemented a B-Node for the Handheld PC when a WINS server is not designated in the connection.  ActiveSync does not use this implementation to find a host so you must enter a setting for a WINS server in order to connect to a desktop.  The Pocket PC 2002 works a little differently than prior releases when you use ActiveSync to connect to your desktop via Ethernet, 802.11b or modem.  As part of your initial synchronization, the Pocket PC 2002 stores the desktop's IP address. So you can sync without entering the desktop's IP address as the WINS server.  This will prevent you from synchronizing if your desktop's IP address changes.
Note:  This is not an enhanced B-Node which supports an LMHOSTS file should a broadcast fail.

Once you have entered a setting for a WINS server (this address can be a true WINS server or another PC with NetBIOS), the Handheld PC acts as a P-Node where all communications are point to point to the WINS server or the communications fail.  This results in the inability for the PC Companion to find other hosts in different domains even though you may specify them explicitly.

NetBIOS Name Resolution for ActiveSync

Windows CE implements NetBIOS Name Resolution for ActiveSync as follows:

  1. If no WINS server or DNS address has been configured, ActiveSync will not find the host.

  2. If a WINS server address has been configured, ActiveSync will request the appropriate IP Address resolution from the host,  If the destination host is registered in the WINS server, the WINS server returns the appropriate IP address.  If the destination host is not registered in the WINS server, the look up will fail.

  3. If a DNS server address has been configured, ActiveSync will attempt to resolve the hosts name to the appropriate IP address. If the host PC is registered with the DNS, ActiveSync will receive the IP address of the host.  If it is not registered, the DNS lookup will fail.   Future conversations from the host PC to the Handheld PC require that the Handheld PCs host name be registered in the DNS.  This is somewhat limiting since a user may wish to dial-up and gain access to ActiveSync after being registered in the DNS with a specific IP address which is appropriate for Ethernet.  Note:  The Handheld PC TCP/IP implementation does not include support for a HOSTS file in lieu of a DNS.

NetBIOS Name Resolution for the Network Client

Windows CE implements NetBIOS Name Resolution for the Network Client as follows:

  1. If no WINS server address has been configured, the Network Client will broadcast a request for the server.  You can access servers that are not registered in the WINS server.

  2. If a WINS server address has been configured, Network Client will request the appropriate IP Address resolution from the host,  If the destination host is registered in the WINS server, the WINS server returns the appropriate IP address.  If the destination host is not registered in the WINS server, the look up will fail.

NetBIOS is not a routable protocol (i.e.: it will not go through routers without special configuration) so you must configure all equipment to bridge these packets as appropriate. Be careful!  NetBIOS broadcasts can affect a WAN networks performance.

DNS Name Resolution

The Handheld PC, Pocket PC and Palm-size PC support standard DNS name resolution for TCP/IP hosts.  However there is no support for using a HOSTS file in lieu of resolving a host name using a DNS.

Preset TCP/IP Addresses

Microsoft has implemented all communications with ActiveSync as follows:

Windows 95/98/ME

  1. All USB, serial,  IrDA and modem connections use 192.168.55.100 for the Desktop PC.  The PC Companion PC uses 192.168.55.101 with a subnet address of 255.255.255.0.

  2. There is no preset IP address for Ethernet connections.

Windows NT

  1. All serial and modem connections use 192.168.55.100 for the Desktop PC .  The PC Companion uses 192.168.55.101 with a subnet address of 255.255.255.0.

  2. There is no preset IP address for RAS connections

  3. There is no preset IP address for Ethernet connections

Windows 2000/XP

  1. All USB, serial, IrDA connections use 192.168.55.100 for the Desktop PC.  The PC Companion uses 192.168.55.101 with a subnet address of 255.255.255.0.

  2. There is no preset IP address for RAS connections

  3. There is no preset IP address for Ethernet connections

In all cases, be careful not to introduce network conflicts due to duplicate IP addresses.  This is very easy if IP Forwarding has been enabled in Windows NT, 2000 or XP.  There is no similar option for Windows 95/98/ME.  Windows 95 requires the Dial-Up Networking upgrade v1.2b to be installed in order to allow modem connections.    Also you need to make sure that any of the above IP addresses are listed in your LAT.  Microsoft has a knowledge base article that describes how to do this.

Known TCP/IP Ports

ActiveSync uses the following ports (per Microsoft KB article) with descriptions I have added based on looking at the conversation between the Pocket PC and the PC::

Port Usage
990 RAPI Requests
999 Time Server
5678 Synchronization Information
5679 Heartbeat

These ports are used (per Microsoft KB article) to communicate with your PC Companion. It also uses the NetBIOS TCP and UDP ports 137 (naming service), 138 (NetBIOS datagram service) and 139 (NetBIOS session service) to communicate with your PC Companion. If you use a DNS it will use port 53 for name resolution.

WINS Naming Issues

By default, Microsoft has named the devices Handheld_PC, Pocket_PC and Palm-size_PC.  All of these names contain invalid characters for naming a WINS device. The names can only be from 1 to 15 characters, a leading character in the range 'a'-'z' or 'A'-'Z', and the rest of the characters in the range 'a'-'z', 'A'-'Z', '0'-'9', or '-'.  I recommend that all users rename their device prior to synchronizing or using them on a network to guarantee compatibility.

Conclusion

I hope that this will help others in understanding what Windows CE does and does not do with NetBIOS and TCP/IP.  This information is based on reviewing the information provided by Microsoft in Windows CE Services 2.x and ActiveSync 3.x as well as testing.  The WINS information is based solely on testing.

Pocket PC Protocol Summary - A list of all supported protocols.

[an error occurred while processing this directive]

Return to Chris De Herrera's Windows CE Website