[General Topics] Menneisyys:
I’ve elaborated on the approach of WM5 AKU3 / WM6 when it comes to internet sharing and dial-up (modem) functionality via Bluetooth (BT). In there, I’ve told the Microsoft folks to decouple at least the server (Network Access Point, NAP) functionality of their BT PAN (Personal Area Network) implementation so that you can connect to a Windows Mobile phone running the MS BT stack even when it doesn’t have an active (mobile) net connection. Again, as with the other hacks of late (true DUN and true Wi-Fi access hack) it was hackers and programmers that implemented this; namely, XDA-Developers user mrpotter, in THIS thread.

The hack is really useful if you need BT PAN functionality. And, you will need it in several scenarios – for example, remote controlling a media player on your desktop PC; remotely accessing its desktop; playing multiplayer games; chatting, speaking over Bluetooth etc. Now that the BT PAN functionality is decoupled from the Internet dial-up access, you can use it on phones that don’t have the latter (because they don’t have a phone card inside, you haven’t subscribed to a cellular Internet plan or don’t want to use any to keep costs down), which is pretty much similar to the case of the Widcomm BT stack. (The Widcomm BT stack has always been vastly superior to the MS one but, alas, almost all current models contain the latter and there are pretty few models that you can “hack” the Widcomm BT stack on.

Compatibility

It’s compatible with all WM6 MS Smartphone (WM Standard) and Pocket PC Phone Edition (WM Professional) devices. It seems it is NOT compatible with WM5 AKU3 devices (that is, late WM5 devices with already Internet Sharing on them). It’s not compatible with non-phone Pocket PC’s either.

Installation, Usage, Hacks

Just download the wm6btpan.exe file from the home XDA-Dev thread (EXE file mirrored HERE), put it anywhere on your phone and start it. After this, any BT PAN-capable client will be able to connect to it, assuming you’ve configured them to receive static IP’s until you reset your phone. (Note that you’ll be able to connect to it even when it’s suspended.)

Doing the latter (that is, giving clients static IP’s) isn’t very complicated. I only explain this for Widcomm-based Pocket PC clients. On post-WM2003 ones (that is, WM2003SE / WM5 / WM6),

Go to Settings / Connections / Network Cards (on WM2003, Settings / Connections / Connections / Advanced / Network Card and, on the latest WM5 AKU3 / WM6 versions, Wi-Fi instead of Network Cards) and click the item in the list that has the word “PAN” in it (WM2003 iPAQ 2210 screenshot, WM5 HP iPAQ hx4700 screenshot). Now, select the “Use specific IP address” radio button and fill in the “IP address” field with an address; for example, 192.168.0.2 or 192.168.0.3. (iPAQ 2210 screenshot). Click the second row (Subnet mask); it’ll be auto-filled as in here (h2210) and here (hx4700). Now, you can connect to your phone.

Note that, should you want to connect more than two devices together (for example, in order to play mass BT PAN-compliant multiplayer games like Great Gold Rush), you will also need to set HKEY_LOCAL_MACHINE\ Comm\BTPAN1\ Parms\ MaxConnections to a higher value; for example, 10. I’ve provided a registry import file accessible HERE for your convenience. I’ve tested the reliability and speed of the BT PAN networks using multiple connections (via Great Gold Rush); encountered no problems, neither with the HTC Wizard (running mfrazzz’s XDA Mobile 6 Release 3) nor the HTC Universal (running WM6) acting as the server for two Widcomm BT PAN clients (the hx4700 and the h2210).

BT PAN client functionality

There are some posts (for example, HERE) asking whether the Registry hacks listed in THIS Registry import file would be sufficient for the phone to be able to connect to PAN networks as clients. The answer is, unfortunately, no. (A quick warning: the above-linked post contains a ServiceId, which might be different in your device (so was in mine). Should you overwrite your original one, you won’t be able to connect to your PAN service any more – that is, only import the file I’ve provided, NOT the one in the linked post.)

Restrictions

Let me present you a list of the restrictions as a summary and quick recap:

there are no dynamic client IP’s, as opposed to the case of using Internet Sharing (which does use DHCP on the server side). That is, if a client connects to a MS BT stack-based BT PAN server, the client must be explicitly defined to use a static IP address. Fortunately, this is a one-time configuration only, requires few taps and has no effect on other ways of connections (as the different network adapters have entirely separate and disjunct IP configurations).

it can only be run on PPC PE and Smartphone devices – no phoneless but MS BT stack-based models like the Dell Axim x51v (or the x50v with the WM5 upgrade) are supported. (Time to install the Widcomm BT stack hack if you haven’t already done so.)

it seems it’s only compatible with WM6 – it refused to start on my official, non-cooked (!) T-Mobile WM5 AKU3.3 Wizard. With mfrazzz’s XDA Mobile 6 Release 3, it worked flawlessly.

Final words

It’s just great! If you’ve ever wanted to use BT PAN, now you can – assuming the other device(s) you try to connect to (all) have BT PAN client capabilities.