In "802.11b Boot Camp," April 2003, http://www.winnetmag.com, InstantDoc ID 38267, I provided an overview of 802.11b wireless Ethernet technology. This month, I build on that discussion by describing what you can achieve when you combine an 802.11b network card with a mobile device such as a Pocket PC. I've spent a considerable amount of time experimenting with this combination and have made some surprising—and potentially useful—discoveries.
Configuring Cards and Devices
So far, I've used two Windows CE—compatible 802.11b cards: Agere Systems' Proxim ORiNOCO Gold PC Card (which Proxim markets) in the larger CardBus size and Symbol Technologies' Symbol Wireless Networker CompactFlash (CF) card. I've used both cards with Compaq's iPAQ 3670 Pocket PC and an appropriate expansion pack, and NEC's MobilePro 780 handheld PC professional (H/PC pro) mini-notebook form-factor device. I performed most operations on my home wireless LAN, which is built around a NETGEAR MR314 four-port wireless router plugged into a DSL line, but I also used a variety of public 802.11b hotspots.
Both Agere and Symbol Technologies supply Windows CE drivers with their cards, although with the ORiNOCO card I had to bypass the default installation program and manually launch setup.exe from the appropriate directory (i.e., \drivers\wince\wince212) on the installation CD-ROM. Both cards use standard Windows CE—compatible setup programs to initially install the driver files on the user's PC. Microsoft ActiveSync then copies these files from the PC to the mobile device during the next synchronization operation.
After I installed the necessary drivers for both cards, I inserted the ORiNOCO card into my mobile device. The iPAQ (with the required PC Card/CardBus expansion pack) and the ORiNOCO card are bulky. However, this combination benefits from an additional battery in the PC Card expansion pack. Upon inserting the card, the mobile device displayed a network settings dialog box, which Figure 1 shows. At this point, I had to determine some settings, such as whether the card would use DHCP or a static IP address (and associated name server addresses).
The drivers for both wireless cards provide a graphical display of signal strength in the icon bar. Double-tapping the signal-strength icon prompted a dialog box that let me associate the device with a particular wireless Access Point (AP) and adjust appropriate settings (e.g., Wired Equivalent Privacy—WEP—standard encryption level and keys, if used). The ORiNOCO card uses configuration profiles to store these settings. I found this approach convenient for situations when I needed to use the device to access public hotspots, which usually require no encryption. I can create a public profile to access these hotspots, and when I return to my home network, I just switch back to a home profile that retains my encryption settings.
After you configure your wireless card, as I've just described for my hardware, you should have access to the Internet (assuming your AP connects to the Internet). To determine whether your Web connection is working, simply open Pocket Internet Explorer (IE) and attempt to connect to any Web site. If your AP doesn't connect to the Internet, you should still have access to intranet sites on the local network.
Enabling other network applications can be more complex. Microsoft doesn't include basic network tools such as Ping, Tracert, or Ipconfig with any current version of Windows CE. Such tools are frequently necessary to get network applications running—even Microsoft's own ActiveSync. Fortunately, several solutions are available. For handheld PCs (H/PCs), Microsoft PowerToys 3.0 for H/PCs provide network utilities, including Handheld PCs IP Address, Host Name Look Up, and Ping. You can download these PowerToys at http://www.microsoft.com/mobile/handheldpc/downloads/powertoys/powtoy30.asp. For Pocket PCs, several third-party options are available, including Cambridge Computer's vxUtil for Windows CE, which includes DNS Audit and Lookup, Finger, Info, a port scanner, Trace Route, Whois, and more. You can download vxUtil for free at http://www.cam.com/vxutil.html. Another suite of tools to consider is Incentive Solutions' IPer. IPer provides several utilities, including adapter information, protocol statistics, Ping, a traffic generator, an SNMP MIB browser, and a TCP port scanner. When you use IPer with an adapter that supports promiscuous mode, the program can also record performance traffic analysis on all packets. IPer is shareware and available for download at http://www.isimus.com/IPer.
ActiveSync Without Wires
After you install basic wireless networking, verify access to the Web, and get your hands on some suitable IP tools, you can set up ActiveSync to exploit the wireless network. Configuring ActiveSync for wireless use is much like configuring ActiveSync for a wired connection, but you need to be aware of one complication that frequently causes problems for wireless users. Computers often contain both wired and wireless network adapters, a configuration known as a multihomed setup. By default, ActiveSync always tries to use the host computer's primary IP address. If this primary address isn't the host computer's wireless address, the ActiveSync application on the mobile device might have trouble locating the host computer over a wireless connection.
Marc Zimmermann offers a workaround for this problem with his Pocket Hosts freeware program, as Figure 2 shows. Pocket Hosts is available for download at http://www.zimac.de/cestuff.htm. This program provides HOSTS file support for Pocket PC and handheld PC 2000 (H/PC 2000) devices, letting you associate a host name and static IP address. After you complete this step, ActiveSync will work over a wireless connection just as it does on a wired connection, with one exception: Wireless ActiveSync connections close themselves automatically after a synchronization event is finished. This response prevents you from using the ActiveSync file browser to move files between the host computer and Windows CE device. Unfortunately, Pocket Hosts doesn't work with earlier H/PC and H/PC pro devices. I've devised a workaround to this problem, but it isn't pretty: Using the pocket registry editor that comes with PowerToys 3.0, you can hack the HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts registry subkey on the H/PC device. From this location, you can hand code hexidecimal values for an IP address, but the values reset themselves whenever you turn off the device.
Besides configuring your wireless device for Web browsing and an ActiveSync connection, you can use Pocket PC File Explorer to easily browse for files over a wireless network connection. Tap the Open menu, then enter the share name you want to browse in the Open Path dialog box. You might have to use Pocket Hosts or hack the registry to associate an IP address with the host name of the server share you want to browse. If security credentials are required, a dialog box will appear into which you can enter your username, password, and domain. Note that you can't open network files by double-tapping them in Pocket PC File Explorer. Instead, you must tap and hold the filename, select Copy from the context menu, then switch to a local folder and select Edit, Paste to create a local copy you can open in the usual manner.
Site Survey, War Driving, and Wireless VoIP
Up to this point, I've discussed fairly conventional wireless applications. Let's look at a few of the unique functions that fully exploit a wireless network. The first of these is performing a site survey, or locating and identifying all wireless APs and networks throughout a defiant location. A less polite term for this activity is "war driving."
One of the more popular site-survey applications is NetStumbler and the Pocket PC version called MiniStumbler, both written by Marius Milner. You can download both applications for free at http://www.netstumbler.com. MiniStumbler's major limitation is that it supports only two wireless network cards: the ORiNOCO PC Card and the Compaq WL110 Wireless PC Card. MiniStumbler doesn't come with an installation program—instead you must use ActiveSync to copy the appropriate executable file directly onto the device. To run MiniStumbler, locate and double-tap ministumbler.exe. MiniStumbler provides an extremely simple UI that displays a color-coded icon, media access control (MAC) address, and Service Set Identifier (SSID) for each AP it detects. MiniStumbler records this information for all APs within range while operating. Figure 3 shows the results of a war drive within a 2-mile radius of my home in suburban Modesto, California. As you can see, I identified more than a dozen APs, only four of which had security enabled, as indicated by the padlock symbol. When you're within range of an AP, the UI uses traditional stoplight colors to indicate signal strength. MiniStumbler also accepts input from common Global Positioning System (GPS) devices; if one is present, the program will record latitude and longitude in addition to the MAC address and SSID.
Corporate IT administrators might find MiniStumbler of use in identifying unsecured APs within an organization. End users can use it to identify public APs for wireless access when they're away from the office. For example, the tmobile SSID in Figure 3 refers to a public AP operated by T-Mobile wireless networks in a local Starbucks café. T-Mobile provides these wireless hotspots at most Starbucks locations throughout the United States. Initially, access is limited to T-Mobile's Web site, at which you can establish an account; after you complete this step, you gain complete access to the Internet. Details about this wireless service are available at http://www.t-mobile.com/hotspot. Many hotels and airports provide similar services, although some of these locations require that you install special drivers that are typically available for only notebook, laptop, or Tablet PCs—not for Pocket PCs or other Windows CE devices. A list of such public APs is available at http://www.80211hotspots.com.
Perhaps the most dramatic example of what you can achieve with the combination of wireless Ethernet and mobile devices is wireless Voice over IP (VoIP). I've experimented with SoftJoys Labs' SJphone, a VoIP application, as Figure 4 shows. SJphone runs on both Windows-based laptop and Tablet PC and Windows CE devices and supports both H.323 and Session Initiation Protocol (SIP) standards. I've used it successfully on my local network, where it interoperates with other VoIP applications, including Microsoft NetMeeting, MSN Messenger, and iConnectHere's PC phone. As of this writing, SJphone doesn't support Network Address Translation (NAT), which is typically necessary for access outside the local network; however, the company expects to offer NAT support by the time you read this. After SoftJoys Labs adds this functionality, I expect to be able to use my iPAQ for wireless VoIP telephony, whether I'm on my home network or sitting in a Starbucks.
Although some special techniques are sometimes necessary, an enormous range of applications are available to exploit the combination of a wireless network and a Pocket PC or other Windows CE—based mobile device. As costs continue to fall and wireless networks become increasingly ubiquitous, these applications will become common and users will begin asking corporate IT staff to support them, so be forewarned.