5000+ Posts? I Should OWN This Site!
Join Date: Jun 2007
Another GREAT breakthrough in Windows Mobile networking: BT PAN server w/ MS BT stack
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.
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.)
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.
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.