Log in

View Full Version : Another long-awaited breakthrough: dial-up Internet Sharing over Wi-Fi!


Menneisyys
09-27-2007, 03:38 PM
Anyone having read my tutorial (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1415&more=1&c=1&tb=1&pb=1) on the new Internet Sharing utility in Windows Mobile 5 AKU3 and later versions (including, of course, WM6) knows that it’s not possible to use a Windows Mobile device as a GPRS / EDGE / UMTS / HSDPA etc. cellular modem via Wi-Fi, Bluetooth DUN or, with some exceptions, even infrared, “only” over BT PAN and USB. This means a lot of devices can’t connect to the Net if they don’t support either BT PAN (or USB with desktop Windows operating systems). While the BT DUN hack published (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2121&more=1&c=1&tb=1&pb=1) some months ago certainly helped the situation (allowing for connections via the far more widely supported, “traditional” Bluetooth DUN), it still didn’t let for using the Windows Mobile Phone Edition (“Professional” in WM6 parlance) device as a modem with clients connecting via Wi-Fi.

XDA-Developers hacker fluxist has just published a tutorial (http://forum.xda-developers.com/showthread.php?t=332360) on his latest finding, which, at last, allows for accessing the Net using a Windows Mobile device via Wi-Fi.

I've thoroughly expanded (also with screenshots) the tutorial and tested it with some other Pocket PC's. The results are as follows:

Start Programs / Internet Sharing. Enable the sharing for Bluetooth PAN (NOT USB!) using Connect (left softkey). If you’re prompted for enabling Bluetooth visibility, close the dialog box as usual by pressing OK.

Start editing the Registry with a registry editor and change HKLM\Comm\ ConnectionSharing\ PrivateInterface (which is, by default, "BTPAN1") to the internal name of your Wi-Fi adapter. It’s "TIACXWLN1" with most models.

If it’s not the case (for example, with the HTC Wizard, which uses TNETWLN1 instead), make sure you search for the same string in the Registry as in Settings / Connections / Wi-Fi. For example, it’s “SDIO WLAN Wireless Adapter” on the Wizard and “tiacxwln Compatible Wireless Ethernet” on the Universal. Search for this string; the second occurrence (it’s slightly different from the first: first, it has a suffix “1” after the registry key name and also has a "Wireless" value) will be something like this:

On the Wizard:

[HKEY_LOCAL_MACHINE\Comm\TNETWLN1]
"DisplayName"="SDIO WLAN Wireless Adapter"
"Group"="NDIS"
"ImagePath"="tnetwln.dll"
"Wireless"=dword:00000001

On the Universal:

[HKEY_LOCAL_MACHINE\Comm\tiacxwln1]
"DisplayName"="tiacxwln Compatible Wireless Ethernet Driver"
"Group"="NDIS"
"ImagePath"="tiacxwln.dll"
"Wireless"=dword:00000001

Here, all you need to do is looking up the name of the subkey, which is [HKEY_LOCAL_MACHINE\Comm\TNETWLN1] with the first and [HKEY_LOCAL_MACHINE\Comm\tiacxwln1] with the second case. Of this, you’ll only need the last subkey name component; that is, TNETWLN1 and tiacxwln1, respectively.

Note that I’ve made two registry import files available, should you want to be able to quickly change the Registry values, without the need for manually editing the Registry every time you start the Internet Sharing applet. THIS (http://www.winmobiletech.com/092007WiFiDialup/wizardimport1.reg) is for the Wizard and THIS (http://www.winmobiletech.com/092007WiFiDialup/univimport.reg) for the Universal, TyTN / Hermes and several other models. To make your life easier, just put it in the file system of your Pocket PC and click it after starting and connecting Internet Sharing so that it’s automatically imported. Should you need a RegEdit 5-compliant Registry Editor for your handheld, I recommend Resco File Explorer (see THIS (http://www.pocketpcmag.com/blogs/menneisyys/UltimateRoundupOfRegistryEditors.asp) for more info).

To make your life even easier, put the shortcut to the Registry import file straight on your Today screen as is explained for example in THIS (http://www.firstloox.org//forums/showpost.php?p=28896&postcount=2) article. Then, you won't even need to fire up a file explorer tool to find the registry import file - you just go to the Today screen after starting and connecting Internet Sharing, click the registry import file and all is set.

Go to Settings / Connections / Wi-Fi and select the Network Adapters tab (it’s the default and only visible one when the Wi-Fi unit is disabled). Click the name of the Wi-Fi card (“IEEE 802.11b/g Compatible Wi-Fi” on the HTC TyTN / Hermes, “SDIO WLAN Wireless Adapter” on the Wizard and “tiacxwln Compatible Wireless Ethernet” on the Universal). Enable “Use specific IP address” and enter the IP address 192.168.1.1 into the first field (“IP address”). When you click the second row (“Subnet mask”), it’ll auto-fill 255.255.255.0. Just keep it at that. This is shown in the following screenshot:

http://www.winmobiletech.com/092007WiFiDialup/DirectIPGiven.png

From now on, you go on as with adding a p2p network (see THIS (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=588&more=1) for my earlier article if interested – reading it is not needed for completing this tutorial): click “Add new…” on the Wireless tab:

http://www.winmobiletech.com/092007WiFiDialup/AddNewNetwork.png

Enter a network name (it can be anything; in here, it’s “WRadhoc”) and make sure you check in “This is a device-to-device (ad-hoc) connection”:

http://www.winmobiletech.com/092007WiFiDialup/AddNewNetwork2.png

After clicking Next, you can set up whether you need encryption or not. If not, just set “Data encryption” to “Disabled” as can be seen in the following screenshot:

http://www.winmobiletech.com/092007WiFiDialup/AddNewNetwork3.png

Note that you can use both WPA and WEP for encryption. I don’t discuss setting this up as only one client will be able to connect to your Windows Mobile device at a time – while it’s connected, there surely won’t be other clients connected to it. And, after you’ve ended your Net session, when you close Internet Sharing and/or disable Wi-Fi, no one will be able to connect any more either. That is, it's MUCH safer than traditional access points without any kind of encryption.

Finally, in the list of the available connections, tap-and-hold the just added network and select “Connect” from the context menu:

http://www.winmobiletech.com/092007WiFiDialup/AddNewNetwork4.png

Now, you’re ready to connect: just fire up your client and search for nearby networks, making sure you’re not only looking for access points, but also peer-to-peer (ad-hoc) networks. This (looking for both types of network) is the default with both desktop Windows Wi-Fi clients and those of Windows Mobile; other platforms might be needed to be manually instructed to list available ad-hoc connections too.

Your new ad-hoc network will be discovered; tap-and-hold the connection and select “Connect” in the context menu. Press Next on the next few dialogs that come up. After some seconds, the networks will connect.

Problems:
The connection was pretty slow with my Universal. The Wizard was even worse: the Wi-Fi connection continuously dis- and, then, reconnected, making for example Web browsing even slower. In these cases, assuming you ONLY want to access the Web (and not want to run, say, Instant Messaging clients on the client), you might still want to prefer my proxy server running on the modem.

As for example Hermes users reported far better results, it might be possible the speed depends on the actual modem used.

You MUST re-edit the Registry (preferably import one of the Registry scripts I’ve provided before) each time you press the Connect button in Internet Sharing. The sole reason for this is that, by default, Internet Sharing sets back the Registry to BT PAN when it’s connected.

Currently, there’s no solution to this problem. Hope fluxist will be able to hack the DLL file so that it doesn’t overwrite the Registry every time you initiate a connection (see THIS (http://forum.xda-developers.com/showpost.php?p=1540988&postcount=15) for more info if interested).

The hack doesn't work on the MS Smartphone platform - for example, on the HTC Vox / s710, which also has Wi-Fi. That is, you can't use MS Smartphones as Wi-Fi modems.

Menneisyys
10-02-2007, 01:59 PM
UPDATE (10/02/2007): There is a tutorial HERE (http://forum.xda-developers.com/showpost.php?p=1552580&postcount=51) explaining how you can get rid of disconnection problems with some models. It also lets for not having to manually import the Registry script and is, therefore, recommended even for people that otherwise have no disconnection problems.

Also, there is a CAB file HERE (http://forum.xda-developers.com/showpost.php?p=1551737&postcount=19) (to be on the safe side, I’ve mirrored it HERE (http://www.winmobiletech.com/sekalaiset/WLANIpManager_Setup.CAB)), which makes it possible to fill in the IP addresses on MS Smartphone (Windows Mobile Standard) devices as well. That is, with this tool, you can use MS Smartphone models having Wi-Fi support like the HTC Dash / s620 and Vox / s710. The original poster reported success with the HTC Dash / s620. With the Vox, I haven’t managed to make internet sharing work, but you may have better luck.

After installing and starting the application, you’ll need to select your Wi-Fi networking device (as can be seen in the following screenshot, it’s “TNETW12511” on the HTC Vox; if your model has the default TIACXWLN1, then, no such dialog will be presented):

http://www.winmobiletech.com/092007WiFiDialup/SPDUNviaWiFiSetup1.png

You’ll, then, need to select Options / Add Profile; there, just fill in the two numbers, making sure you also give the profile a name so that it is saved and becomes selectable:

http://www.winmobiletech.com/092007WiFiDialup/SPDUNviaWiFiSetup2.png

After this, you can already select the new profile:

http://www.winmobiletech.com/092007WiFiDialup/SPDUNviaWiFiSetup3.png

And restart the device as prompted:

http://www.winmobiletech.com/092007WiFiDialup/SPDUNviaWiFiSetup4.png

After this, do exactly the same as on the Pocket PC: start Internet Sharing, press the left softkey and, then, import the registry so that Internet Sharing uses your Wi-Fi unit.

Menneisyys
10-21-2007, 09:26 AM
UPDATE (10/21/2007): In the meantime, a hacked DLL has been released (see the original thread (http://forum.xda-developers.com/showthread.php?t=332360) for more info; note that the tutorial below suffices if you don’t want to read that much). All you need to do is to download THIS (http://www.winmobiletech.com/sekalaiset/WiFiInternetShare.zip) file, unzip it to anywhere on your phone (can also be a storage card) and create a link file to intshrui.exe in \Windows\Start Menu\Programs. This will make it possible to have two copies of Internet Sharing on your device: the original for BT PAN-based and a hacked one for Wi-Fi based sharing. This also means you’ll be able to use both the BT PAN- and the Wi-Fi-based sharing on your handset.

Note that the hacked DLL file itself is HERE (http://www.winmobiletech.com/sekalaiset/intshare.zip); as you can’t just “shadow” the original ROM file in \Windows with it, you’ll only want to use it if you’re a ROM cooker yourself and want to put a cooked version in your ROM. .

It worked wonderfully between my HTC Universal and Nokia N95; I used the shared connection for hours in this setup. The latter (S60 v3 FP1, ROM version 11.x; as it’s the latest-and-greatest in the Nokia line, this also means Symbian phones generally need to rely on Wi-Fi-based sharing when accessing the Net via an external modem) doesn’t support either BT DUN or BT PAN but it does support Wi-Fi P2P connections; therefore, you must use the latter to connect to the Web if, for some reason, you can’t or don’t want to use the built-in phone because, for example,
it’s locked to another network
you want to access the cellular net where there’s not much signal, while you can you can place the WM device to a spot where there is; then, you might want to prefer an external modem in this setup
or, you just don’t want to swap SIM cards between your Windows Mobile device and client (in this case, the N95) all the time
I haven’t had any speed problems. I, on the other hand, did encounter disconnections every 5...20 minutes; however, it didn’t really annoy me because, on the WM device, I just clicked Connect again and the N95 started to see the Net again. (This behavior, should you encounter the same, will pretty much annoy you if you want lengthier net access sessions.)
Note that the DLL has the Wi-Fi card name (TIACXWLN1) wired-in; this means it will NOT work on models using other Wi-Fi card names (for example, the HTC Wizard).

Menneisyys
11-22-2007, 05:53 PM
UPDATE (11/21/2007): In the meantime, the hack has been GREATLY enhanced and automatized. See XDA-Dev forum member TalynOne’s excellent tutorial and tools HERE (http://forum.xda-developers.com/showthread.php?t=341398).