NDIS IM Drivers, WM5/6, and WLANs, TyTn - Windows Mobile Development and Hacking General

If this is posted to the wrong place please forgive, I am working on an NDIS intermediate miniport driver on WM5/6. Our driver works on all CE platforms ( and all other windows platforms ) and installs and works on WM5 and 6 *EXCEPT* form some strange behavior around WLAN connections.
When we are installed w/ a WLAN, when the machine powers up, or soft boots, or suspend/resumes, the default SSID attempts to connect. Instead of auto-connecting, the 'tower icon' never connects, instead eventually a second 'tower icon' comes up and I get two 'tower' icons connecting. Neither ever connect.
If I manually go into 'network cards' and press 'connect', the SSID will connect and authenticate, and the network works, and the IM works and sees all traffic.
Micro$hit refuses to support anything, and HTC is no better.
If you guys are smart enough the reverse engineer the entire OS, does anyone have any idea what is going on here? Any ideas would be great.
What about an alternative comm manager that would work around this? I wrote a wzc application to try and duplicate the behavior when I manually press connect in comm manager, but it just seems to replicate the 'auto connect' behavior w/ two 'tower icons'
Does anyone know what is happening?
Does anyone have an application that can work around this?
Can anyone write an application for $$$$ to work around this?
Help me please
-Seth

How works Your application which duplicate comm manager behavior?
Did You try functions in ossvcs.dll?

I did not write my own comm manager, this is the standard comm manager, I am relying on the default WM6 one.
I wrote an app using the WZC calls based on WZCTOOL in the CE6 sdk, and when I put the key, and enc type in it will successfully connect to the access point. With my IM installed, however, this WZC app will re-produce the problem described before exactly. Somehow the default windows comm manager can still successfully connect manually... how does it do this, what calls does it use, I need to know how. Can anyone write this? The code in wzctool will not do it ( I don't think, possibly I have bone stuck in my head ).
I don't know ossvcs, please elaborate on how/what functions I might be interested in.
As an aside, does anyone want to try our shim on one of your custom kernels. I am necessarily running on a standard WM6 kernel, if someone would test and see if this problem exists on custom kernels that would be swell. I cannot modify the kernel on this one and only device I have.

Here is the good description for functions in osvcss.dll
http://www.teksoftco.com/articles/article 007/radiodevices.htm
HTH

I tried out the ossvcs sample application, and it caused the same behavior I see with the WZC stuff or when trying to 'auto connect' after a reset. That is, the access point never connects. Manually I can still connect by going into comm mgr, editing the access point, pressing cancel, then connect, and instant connection. What api call is this app using at that point?

It's verry strange behavior.
One tip from other side - did You try call SetDevicePower fo Wifi Driver and intermediate driver?

no special handling
I will look into SetDevicePoPower, but I think NDIS should be handling power events... Any further info on SetDevicePoPower or anything else would be great.
Oh yeah, in case I didn't say so before, you guys *ROCK*! Keep up the good work, and if I ever solve this problem I will be sure to 'let on'.
Does anyone out there in the wide world have an Ndis Intermeidate Miniport driver akin to PASSTHRU working for 802.11xxx on a TyTn ( WM5 or 6 )?

Yes NDIS handling power events, but by using api setdevicepower You can explicitly on/off wifi connection
Please try to write small apllication which turn wifi on and off.
CEDEVICE_POWER_STATECEDEVICE_POWER_STATE devState = D4; //Full power - constant D0 represents NO power state (OFF)
DevicePowerNotify("<WifiAdapeterName> (qualified - example {8DD679CE-8AB4-43c8-A14A-EA4963FAA715}\xxx1:", devState, POWER_NAME);
SetDevicePower("<WifiAdapeterName> (qualified - example {8DD679CE-8AB4-43c8-A14A-EA4963FAA715}\xxx1:", POWER_NAME, devState);
But Maybe You have still problem if wifi driver is not loaded until comm mgr button is pressed...
.

WiFiFoFum
I just tried the WiFiFoFum application that allows one to power on and off the devices. Is this using the same API? WiFiFoFum did not work, I tried powering on and off my device and the real device in different orders, and it does not work.
I will try you API now...

not smart enough
I don't know enough to understand your example. Where do I get the correct GUIDs from? I assume the xxx1, is the device name instantiation.
What about 'devName' and POWER_NAME. Sorry, bone still stuck in head, ughh.

Guid is typically found on this place
\\\registry\HKLM\System\CurrentControlSet\Control\Power\State\Suspend\
Value is
{98C5250D-C29A-4985-AE5F-AFE5367E5006}\
Device name can be found on registry key HKLM/COMM.
Also device name is displayed in wififoforum.
POWER_NAME is constant - see MSDN.

Related

Wifi problem on universal

I have a strange problem with my universal. I want to know if it is hardware or software related.
Basically what happens is that sometimes after a softreset the wifi doesnt load (driver issue perhaps ?). Even when removing the battery doesnt load the wifi. The sometimes it does load and when i go into the comm manager and switch it on the wifi on it only starts after the 3rd time switching it on.
I have had it with all the unofficial roms available. Any solutions or work around to get this to work like it is suppose to or is it time to return and replace the hardware ?
Thanks beforehand
This is basically what i experience:
How to load PCMCIA driver after device reset?
I'm testing PXA255 device with integrated Texas Instruments ACX100
WiFI card on PCMCIA bus and I'm facing with BIG problem.
After reseting the device the driver for the card (tiacxwln.dll is not
loaded at the boot time), ok...setting by OEM.
There is an application installed in the device by which wifi card can be
turned ON/OFF.
Once I change the power state of the wifi device by built-in application
from "off -> on -> off" after I can use power management functions to set on
and off the card because then the driver is loaded.
I've tried everything to load the driver but I didn't succeded.
1. I've tried
ActivateDevice(L"Drivers\\PCMCIA\\Texas_Instruments-ACX100-EE1D", 0); but no
sucess.
2. I've also tried with ActivateDeviceEx also without sucess. (As I can see,
the driver has valid needed Registry entries for ActivateDeviceEx):
[HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Texas_Instruments-ACX100-EE1D]
"Prefix"="NDS"
"Miniport"="TIACXWLN"
"Dll"="NDIS.DLL"
[HKEY_LOCAL_MACHINE\Comm\TIACXWLN]
"DisplayName"="LOOX WLAN Wireless Adapter"
"Group"="NDIS"
"ImagePath"="tiacxwln.dll"
3. I simply cannot load the driver with Device Manager. Just for tesing I've
tried to load driver "tiacxwln.dll" mannualy with LoadLibrary function and
I've noticed that loading tiacxwln.dll initiated loading of sequence of
other drivers automatically (ndis.dll, bus... etc). But I don't have any
use of that because after that I have to release allocated HANDLEs
to the system. So HOW I can tell to Device Manager to do that thing for me.
What I'm doing wrong!?
4. I don't want to use this registry key to achive the goal:
HKLM\comm\tiacxwln1\parms\ResetOnResume
P.S. After sucessfull turn on with built-in application I notice that new
entry in registry is created:
[HKEY_LOCAL_MACHINE\Drivers\Active\31]
"Hnd"=dword:00544880
"Name"="NDS1:"
"Key"="Drivers\\PCMCIA\\Texas_Instruments-ACX100-EE1D"
"PnpId"="Texas_Instruments-ACX100-EE1D"
"RegenumParms"=hex(7):\
53,63,6b,74,00,50,6e,70,49,64,00,52,65,67,65,6e,75,6d,50,61,72,6d,73,00,00,\
00,00,00,00,00,00
"InterfaceType"=dword:00000008
P.P.S. I'm changing the device's power state to full power on with this pair
of functions and it is working ok but with drivers loaded:
DevicePowerNotify("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\TIACXWLN1", D0,
1);
SetDevicePower("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\TIACXWLN1", 1, D0);
Got it from
http://www.tutorialsall.com/PLATBUILDER/storage-device/
Any ideas on how to get this fixed ?
Any suggestions on this ? my warranty is expiring soon and would like to know if i need to take it back to replace if it is hardware related. Pleaseany comment might help. Currently on helmi wm6 v1.1. Have basically tried all available roms to see if it is rom related.
Thanks for any help !!!

Tether Windows Mobile 6 and Linux WITH USB NOT BT[SOLVED]

SOLVED: USE USB-RNDIS-LITE FROM SYNCE'S WEBSITE
Now that the wmodem app has been pushed out in favor of 'internet sharing', how can we do this? I notice that the wmodem app still exists on my phone ( ppc 6800) but when i tap to open it nothing happens.
I have been playing around, and getting desperate here, since I seem to be the only one interested. They figured out the iphone in a matter of a week or so!
I was thinking maybe it was possible using the iphone technique by setting up a proxy on the phone and doing it via wifi, but the siftware is missing.
The only hope that I have now is to maybe utilize the program 'synce' to accomplish this. Since I heard pdanet tethers through an activesync connection (which is what synce does), maybe it'd be a matter of a few 'route' and 'iptables' commands.
One other note, my phone is recognized as different things depending on what option I have set in 'connections>usb to pc' with 'advanced network functionality' set to off, the ipaq driver gets loaded and this is how i can use synce. With the box checked it shows up as an eethernet rndis device and cdc_ether and rndis_host modules are loaded. however, when i turn on the internet sharing app it gets recognized as a whole different UNKNOWN device. Im thinking a patch to the right mmodules might fix this, and i'm not using the module usb-rndis-lite because it never worked for me, even though i saw a patch for that module that does just that, make the system recognize it as an ethernet device.
Someone else chime in here, I cant be the only linux enthusiast with a cell phone out there. We dont ALL live in the parents basement
I HAD TO EDIT TO SPECIFY I NEED A USB SOLUTION AND NOT BLUETOOTH
watson540 said:
Now that the wmodem app has been pushed out in favor of 'internet sharing', how can we do this? I notice that the wmodem app still exists on my phone ( ppc 6800) but when i tap to open it nothing happens.
I have been playing around, and getting desperate here, since I seem to be the only one interested. They figured out the iphone in a matter of a week or so!
I was thinking maybe it was possible using the iphone technique by setting up a proxy on the phone and doing it via wifi, but the siftware is missing.
The only hope that I have now is to maybe utilize the program 'synce' to accomplish this. Since I heard pdanet tethers through an activesync connection (which is what synce does), maybe it'd be a matter of a few 'route' and 'iptables' commands.
One other note, my phone is recognized as different things depending on what option I have set in 'connections>usb to pc' with 'advanced network functionality' set to off, the ipaq driver gets loaded and this is how i can use synce. With the box checked it shows up as an eethernet rndis device and cdc_ether and rndis_host modules are loaded. however, when i turn on the internet sharing app it gets recognized as a whole different UNKNOWN device. Im thinking a patch to the right mmodules might fix this, and i'm not using the module usb-rndis-lite because it never worked for me, even though i saw a patch for that module that does just that, make the system recognize it as an ethernet device.
Someone else chime in here, I cant be the only linux enthusiast with a cell phone out there. We dont ALL live in the parents basement
Click to expand...
Click to collapse
To quote Sherlock Holmes...."Elementary Watson"...you do a search.
I'll ignore the fact you posted the same thing in multiple places. I'll also ignore the fact you apparently can't be bothered to do a search on "linux internet sharing" and want someone else to do it for you.
http://forum.xda-developers.com/showthread.php?t=319978&highlight=linux
http://forum.xda-developers.com/showthread.php?t=318255&highlight=linux+internet+sharing
http://forum.xda-developers.com/showthread.php?t=324632
sorry to say, i've been googling this for weeks and it has eluded me. but thanks for the links, even though you decided to flame me. I'll check them out and report back if they work or not.
P.S. - I dont deny I also posted thisin the titan forum, I posted it here because obviously it gets more views here and it's not just a titan question.
Now lemme go see if any of your links actually work.. )
FIRST EDIT: Maybe I should have specified I need to do this via USB for 1: bluetooth is slower, when tethering to evdo, and 2: i dont have bluetooth.
My bad for not specifying but maybe you can be less snappy to me now. I imagine all your links are for bluetooth, i only checked out the first on so far, but we'll see. Im gonna edit my first post to say USB
watson540 said:
sorry to say, i've been googling this for weeks and it has eluded me. but thanks for the links, even though you decided to flame me. I'll check them out and report back if they work or not.
P.S. - I dont deny I also posted thisin the titan forum, I posted it here because obviously it gets more views here and it's not just a titan question.
Now lemme go see if any of your links actually work.. )
FIRST EDIT: Maybe I should have specified I need to do this via USB for 1: bluetooth is slower, when tethering to evdo, and 2: i dont have bluetooth.
My bad for not specifying but maybe you can be less snappy to me now. I imagine all your links are for bluetooth, i only checked out the first on so far, but we'll see. Im gonna edit my first post to say USB
Click to expand...
Click to collapse
Good luck with that..to my knowledge the usb drivers to connect to wm6 under linux don't exist because the usb connection is totally different for usb internet sharing than it was for USB dun. WM6 has not been around long enough for many people under linux to fool with it. The only options I can think of off top of my head is to try to force ndiswrapper into using the drivers that come with activesync 4.5 (that's where you'll have to extract the windows drivers) or run vmware or virtualbox which can both pass usb devices to a vm and have the phone be used by XP inside a vm..then set the linux box to use the xp connection as a gateway..a kludgy hack at best.
While the theoretical top speeds of EVDO do outpace bluetooth none of the articles I've read indicated people in real life situations had been able to GET these speeds from their provider. If you can, more power to you. For my use of edge the $5 bluetooth dongle was alot easier.
I also had an idea to use ndiswrapper as well, wasnt real sure of the drivers to use. I was aware of the internet sharing app changing device id's and it not acting as a modem.
But, as you'll see in my first post, the phone is recognized as a usb rndis device. you can see this by looking at the tail of dmesg. It's just that when you start the internet sharing app, the phone changes its device id again. Also as I already stated, there is a patch for the usb-rndis-lite driver that comes with synce, that supposedly makes the box recognize it as an ethernet device while in internet sharing mode, so maybe its a matter of putting some device id's into cdc_ether.ko or corresponding module.
Another idea, would be to somehow get the wmodem app working on the phone itself, as I said it's still there in wm6, it just wont start. I have also seen in the phines registry plenty of reference to the phone acting as a modem so the framework is still there as well, ITs just a matter of getting the wmodem app going! Probably a registry key somewhere. In fact in the WMODEM registry key itself, the one you use to disable NAI, here is a key called WMODEMDUN, but every time i set it to one from the default zero it changes back. I hate to buy a bt adaptor for only this reason when i know there is an existing solution for usb out there, but yeah you're right..wm6 just hasnt been around long enough
So in short, with wm6 the phone emulates a usb rndis ethernet device instead of modem, it actually shows up as eth1 on my box, but when i start the internet sharing app the device id changes to an unknown one.
Also i wanted to add, I have definitely tether with xp and virtualbox easily, been doing that since i got the phone, so to anyine windering it's possible for sure. would be perfect if i could route that back to the host os.
watson540 said:
I also had an idea to use ndiswrapper as well, wasnt real sure of the drivers to use. I was aware of the internet sharing app changing device id's and it not acting as a modem.
But, as you'll see in my first post, the phone is recognized as a usb rndis device. you can see this by looking at the tail of dmesg. It's just that when you start the internet sharing app, the phone changes its device id again. Also as I already stated, there is a patch for the usb-rndis-lite driver that comes with synce, that supposedly makes the box recognize it as an ethernet device while in internet sharing mode, so maybe its a matter of putting some device id's into cdc_ether.ko or corresponding module.
Another idea, would be to somehow get the wmodem app working on the phone itself, as I said it's still there in wm6, it just wont start. I have also seen in the phines registry plenty of reference to the phone acting as a modem so the framework is still there as well, ITs just a matter of getting the wmodem app going! Probably a registry key somewhere. In fact in the WMODEM registry key itself, the one you use to disable NAI, here is a key called WMODEMDUN, but every time i set it to one from the default zero it changes back. I hate to buy a bt adaptor for only this reason when i know there is an existing solution for usb out there, but yeah you're right..wm6 just hasnt been around long enough
So in short, with wm6 the phone emulates a usb rndis ethernet device instead of modem, it actually shows up as eth1 on my box, but when i start the internet sharing app the device id changes to an unknown one.
Also i wanted to add, I have definitely tether with xp and virtualbox easily, been doing that since i got the phone, so to anyine windering it's possible for sure. would be perfect if i could route that back to the host os.
Click to expand...
Click to collapse
You can route it back to the host by running a proxy and/or bridging the interfaces (virtual box.org has instructions on that).
Certain versions of AKU 3.0 and up come with a wmodem app that still has usb and infrared (not bluetooth) in addition to the internet sharing. They may still use the old method and you may be able to use them as a model to get it working on yours. If I remember correctly the NBD wizard rom had both internet sharing and a modem link application like that.
I can tell you this..DON'T try to flash a rom onto your phone using virtualbox.
I might try to route it through virtualbox then, for now. I did try to google that as well but i couldnt think of any defining keywords.
For now, flashing is out of the question,,, because my phone is CID LOCKED? I'm not so sure of the terminology cause i just got into pda's. But I know atm I cant flash anything that isnt signed by htc. Its only a matter of time i'm sure/hope.
In the meantime, hopefully people that are too cheap to buy a bt adaptor such as myself might figure out how to run the wmodem app that exists already on the phone

Internet Sharing over Wifi-Chainfire's WMWifiRouter v0.80 Ooo Pretty (Dec-10-2007)

Note that the NEW thread is at http://forum.xda-developers.com/showthread.php?p=1801986
The topic maintainer (who has done a great job) has been fairly absent recently, which is why the thread has been continued elsewhere. The current topic also includes the information on how to do this all manually, without WMWifiRouter.
(End of Menneisyys' update; original original post follows.)
Breaking News!:
Chainfire has released WMWifiRouter v0.80. An app that automates the launching of Internet Sharing/Registry Changes/WiFi power Cycling/with a new 10 minute timeout fix/process! If you appreciate his work on this or his KaiserTweak application, feel free to donate something to him via PayPal.
IMPORTANT NOTES:
If you use this application, NO hacked .dlls are are needed/used. Ignore my (TalynOne's) tutorial, except for any sections referenced in Chainfire's notes below.
Make sure you have a working version of Internet Sharing installed, and tested, before trying to share it via WiFi.
WMWifiRouter info from ChainFire:
Changelog:
v0.80
Changed interface to use big icons and animations
Added new program icons, still needs some work though
Added option to make the log visible
Added about screen (with new logo)
Added options to create/remove shortcut in your program menu
Added extra registry backup/restore functionality
Added detection for ICS, with the optional error message
v0.76
Made "Unattended mode" the default power saving mode (seems to work for everybody)
Tweaked clean-up code
v0.75
Changed the power tweak with two different power saving modes: "idle" and "unattended". This fixed the power tweak for all users as far as I can tell.
v0.74
Changed the way ICS is launched and forced to connect (hopefully this will end the manual-connect issue once and for all)
Added code to prevent multiple instances
Added an icon
v0.73
Adjustments in power tweak
Adjustments in timings
Added registry tweaks for Sprint users
Put the configurable options in a menu
Added some code that cleans up your registry if the program crashed or you needed to soft-reset
Code cleaned up
v0.7
Added a power tweak
Made start sharing on start configurable (handy for troubleshooting)
Made quit when ICS quits configurable (handy for troubleshooting)
Added option to reconnect data connection when it drops
v0.6
Maintenance update, no new features added. The sole difference is that I rebuilt WMWifiRouter using a different widget set. The executable dropped 14-fold in size from 1.25mb to 93kb. This results in the application loading faster, consuming less storage, as well as less memory when running. This widget set is also lighter on the CPU, though I do not think that will be noticeable.
v0.5
Just a small maintenance update. In short, the app has simple become more responsive / usable:
App should be more responsive and load faster
'Loading' indicator is now used
Screen Toggle is disabled, as with further testing it causes too many problems
v0.4
Back to basics, all 'hacked files' removed. The name of your WiFi interface _should_ no longer matter.
New way to get around the 10 minute time out problem
Screen Toggle function added. Turns the screen off without disconnecting WiFi
WLAN state is recorded on start and restored on exit. So if you had WLAN turned on before you started WMWifiRouter, it will be turned on again after WMWifiRouter is done cleaning up after itself
More beers drank while making this version than during any other version!
The power tweak:
This replaces the old screen toggle. This should tell your device to not turn WiFi off when it goes into standby mode. On my Kaiser (TyTN II) this allows me to put the device into standby mode using the power button while the connection keeps being shared. Obviously this consumes a lot less power. I do not know if this will work on all devices, please let me know. Also note that while it usually works for me, it doesn't _always_ work, so try a few times. Wait for the connections to be established before putting the device into standby.
Upgrading:
Remove any old WMWifiRouter files you have
Follow the installation instructions
Installation:
Download the new zip HERE.
Unpack the zip file on your PC somewhere
Copy the WMWifiRouter.exe files to your mobile device
Usage:
Make sure you have an Ad-Hoc WiFi network configured. If not, follow TalynOne's instructions in the start of this thread.
Run WMWifiRouter.exe
Wait. WMWifiRouter does it's best to start ICS and initiate the connection, but this can take a few seconds. If the "ICS Status" label at the top if the WMWifiRouter screen says "Connected!", all should be well.
Usage Notes:
WMWifiRouter does it's best to launch ICS and initiate the connection, but I have noticed once or twice it didn't actually connect. When this happens, just task-switch to ICS and click "Connect" manually.
As a different hack is now used to prevent the 10-minute timeout problem, no hacked DLL's are used anymore, and your normal ICS tool is used. This does however lead to the ICS program screen saying you should "check your usb-cable" instead of it saying "connected". Don't worry about it
If your phone has a hardware WLAN switch (HTC Mogul), put this in the ON position before starting WMWifiRouter
Sets the IP of your WiFi to 192.168.0.1, which may break operation of regular USB cable Internet Sharing. If you have trouble getting regular USB Internet Sharing to work, read the FAQ titled "Help, when I go back to the non hacked version of Internet Sharing to tether via USB, it no longer works!", in TalynOne's tutorial for a possible fix.
So get testing all!
----------------------------------------------------------------
Now back to the regular tutorial...
Description:
A tutorial on how to share your mobile device's dial-up (GPRS/EDGE/UMTS/HSDPA/EV-DO, etc. cellular) connection over an Ad Hoc WiFi connection.
Starting with Windows Mobile 5 AKU3 Microsoft included an "Internet Sharing" application, for free, that allowed you to share your Internet connection (like the commercial apps PDANet and USBModem). But all of these applications only supported sharing your dial-up connection via a USB cable or Bluetooth PAN/DUN connection. This hacked version lets you share your Internet connection via an Ad Hoc WiFi network. This useful, among other reasons, if you want to share your Internet Connection with a device that doesn't support Bluetooth PAN, or USB Host connectivity, but does support Ad Hoc WiFi networks, such as a Sony PSP or iPod Touch.
Introduction:
To find out how this method differs from fluxist's read the FAQ located below. The tutorial is very verbose, because I think it's better to include too much information, rather than not enough. Expect a good number of edits/updates/corrections to this tutorial because of its length. I'm also hoping to include as much information as possible in the hopes that someone smarter than me can use this information to come up with an even better solution. This tutorial is HTC Mogul centric (since that's what I have), and includes certain notes that only apply to the Mogul (I will specify this in the note itself).
Requirements:
A Windows Mobile device with a working version of the Internet Sharing application (introduced in Windows Mobile 5 AKU3).
The ishare_over_wifi_usb_edition_v0.2.zip archive attached to the bottom of this post.
A hacked "intshare.dll" that's been modified to share you connection via WiFi through the USB selection in the "Internet Sharing" application, for the WiFi radio on your mobile device. Look at FAQ below for a list of included hacked .dlls, and the known mobile devices that they are for.
A client device that supports Ad Hoc WiFi networks.
Setup Summary
Setup an Ad Hoc WiFi connection on your mobile device
Set a static IP address on your WiFi device of "192.168.0.1" with a subnetmask of "255.255.255.0".
Setup an Ad Hoc WiFi connection on your client device
Download/uncompress the contents of ishare_over_wifi_usb_edition_v0.2.zip to a folder on your mobile device (eg. \Program Files\WiFiShare).
Copy the correct hacked "intshare.dll" into the same folder as you created in the above step (so it's in the same folder as "intshrui.exe").
Connect Summary
Make sure the Wifi radio is off.
Run the new "intshrui.exe", make sure USB is selected from the list, and press "Connect" (left softkey).
Turn your Wifi radio on.
Connect with your Ad Hoc client device (Laptop, PSP, etc...) and enjoy the INTARWEB!
Optional Steps
Setup a shortcut to the new "intshrui.exe" from the archive.
Setup a shortcut to the Wi-Fi control panel item.
Setup and create a shortcut to the included Mortscript ("Share&KeepSharingViaUSB.mscr").
Apply the workaround to overcome the 10 minute connection timeout after connecting with the Internet Sharing app.
Sprint HTC Mogul/SERO Notes
It seems Sprint is up to shenanigans in regards to tethering for SERO users. Those of you running Sprint ROMs should navigate to the following registry key "HKEY_LOCAL_MACHINE\Comm\InternetSharing" and delete the string value named "Extension". This will allow you to connect to the Internet via the Internet Sharing app without the dreaded error 67/authentication errors. Previous to this fix, Mogul SERO users would have to connect to the Internet via another method (such as starting Internet Explorer first) before pressing the Connect button in the the Internet Sharing application.
If you're really paranoid (it has been concluded these entries have no meaning when using Internet Sharing), using a registry editor, navigate to the "HKEY_LOCAL_MACHINE\Software\OEM\WModem" key, and set the "CheckProfile", "Multi-NAI" and "WModemDUN" DWORDS to a decimal value of "0".
Optional: Setting up a shortcut to the "Wi-Fi" applet
In this tutorial we will be accessing the "Wi-Fi" applet several times (and possibly every time you connect via Internet Sharing as part of the 10 minute timeout workaround). To prevent having to go to the Start->Settings->"Connections" tab every time you wish to access this applet, we can create a shortcut to this applet, by either:
Manually creating a shortcut link to it ("21#ctlpnl cplmain.cpl,17").
Going to the "Wi-Fi Settings Shortcut" folder in the .zip package and installing the "Network Cards ShortCut.cab".
Setting up an Ad Hoc WiFi connection on your mobile device
Make sure your WiFi radio is on.
Go to Start->Settings->"Connections" tab.
Select "Wi-Fi" applet.
On the "Wireless" tab, select "Add New...".
Pic
Type any network name you would like for your Ad Hoc network (eg. WMobileAdHoc)
Make sure the "This is a device-to-device (ad-hoc) connection" option is checked.
Pic
Select the "Next" button.
On the "Configure Network Authentication" screen, select "Open" for the Authentication type, and "Disabled" for Data Encryption. For the purposes of testing, lets verify the connection works without encryption, if it does, you can modify your Ad Hoc connection properties later to enable the encryption mode of your choice.
Pic
Select the "Next" button.
Select "Finish" on the final screen.
Pic
Configuring a static IP address on your WiFi device
Go to Start->Settings->"Connections" tab.
Select the "Wi-Fi" applet.
On the "Network Adapters" tab, select your WiFi device (for the HTC Mogul this is the item listed as "IEEE 802.11b/g Compatible Wi-Fi Adapter").
Pic
On the "IP Address" tab, select the "Use specific IP address" radio button. For the IP address enter the value "192.168.0.9" with a Subnet mask of "255.255.255.0".
Pic
OK the dialog.
Connecting to your Ad Hoc WiFi connection on your mobile device
Make sure your WiFi radio is on.
Go to Start->Settings->"Connections" tab.
On the "Wireless" tab, to avoid automatically connecting to other infrastructure WiFi networks in the area make sure, under the "Network to access:" section, to select the "Only computer-to-computer" option.
If you only have one Ad Hoc network defined, Windows Mobile should now attempt to automatically connect to it. If you have multiple Ad Hoc networks defined, or to manually connect to your Ad Hoc connection, in the list of the available connections, tap-and-hold the just added network, and select "Connect" from the context menu.
Pic
Setting up/connecting the Ad Hoc WiFi connection on your client device
Since the specific procedure on how to connect to Ad Hoc networks greatly varies from device to device (Windows XP/Vista/Sony PSP/MAC/etc...), it's impractical to document each possible combination. In general 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 desktop Windows Wi-Fi clients, other platforms might be needed to be manually instructed to list available Ad Hoc connections.
Installing the hacked Internet Sharing application
From the attached zip file copy the files "intshrui.exe", "ipnat.dll", and optionally "Share&KeepSharingViaUSB.mscr" to a new folder on your device (eg. \Program Files\WiFiShare).
Copy the hacked "intshare.dll" for your WiFi device from the "hacked_dlls" folder in zip file, into the folder you created in the previous step. Read the FAQ question "Which WiFi radios have you included a hacked intshare.dll" below to figure out which hacked .dll you should use.
Create a shortcut to "intshrui.exe" on your start menu for easy future access.
Connecting & Sharing the Internet via Wifi
At this point you should have already setup your Ad Hoc WiFi connection, and set a static IP address for your WiFi device. If you haven't already, do so now.
Make sure the WiFi radio is off.
Start the new "intshrui.exe" Internet Sharing application.
Make sure "USB" is selected (NOT Bluetooth PAN!)
Press the "Connect" button (left softkey).
Turn the WiFi radio on.
Ignore the fact that the satus displays "Check USB cable connection". This is normal.
Pic
At this point you can connect your client machine to your Ad Hoc network, and it should receive an IP address from the DHCP service running as part of the "Internet Sharing" application. You are now ready to enjoy the glories of the Internet!
Workaround for the 10 minute timeout
You may notice, at least on my device, that "Internet Sharing", at exactly 10 minutes of usage, disconnects from the Internet, while you AdHoc WiFi stays on. This timeout is built into "intshrui.exe". Remember in the previous procedure how the status displayed as "Check USB cable connection", the status line needs to change to "Connected" for the timeout not to occur. This is how:
Make sure "Internet Sharing" is active and connected, but the status message still says "Check USB cable connection".
Pic
Go to Start->Settings->"Connections" tab.
Select the "Wi-Fi" applet.
On the "Network Adapters" tab, select your WiFi device (for the HTC Mogul this is the item listed as "IEEE 802.11b/g Compatible Wi-Fi Adapter").
Pic
At this point we need to change something about the IP configuration that won't matter/affect anything, such as the alternate WINS address. It needs to be different from the current configuration or else the settings won't apply, which is needed for this workaround. On the "Name Servers" tab, select the "Alt Wins" entry and enter an arbitrary, unused, IP address value such as "192.168.0.253".
Pic
OK the dialog.
Go back to the "Internet Sharing" application and the status should now display as "Connected"! The timeout should no be disabled for this connection session.
Pic
I've tested this many times and have been on the Internet for more than 2 hours without a disconnection in this state! If you get disconnected for any other reason you will have to reapply the workaround again. Remember to change the IP address to a different value so that the change applies, alternating between "192.168.0.253" and "192.168.0.254" should work fine. It just needs to be different value from the immediate previous setting. I've tried many different things to get the status to change to "Connected" via other methods, this is the only one I so far found to work.
"Share&KeepSharingViaUSB.mscr" Mortscript
This script is included in the attached .zip file To use this script you must first download and install MortScript from here:
http://www.sto-helit.de/index.php?module=download&action=view&entry=65
or here:
http://www.pocketpcfreewares.com/en/index.php?soft=1448
This is an adaptation of Xiou's Share&KeepSharing script.
It turns off Wifi radio, starts hacked version of Internet Sharing app, connects and turns WiFi radio on. Once one valid connection has been made, reconnects if Internet Sharing enabled status status changes to disabled (ie. a disconnect occurs). Also, keeps device from going into standby mode, to prevent loss of WiFi connectivity.
It's heavily documented so it should be fairly easy to view, modify and understand by looking at it in a text editor.
Troubleshooting/Tips:
My connection seems flaky/slow, how can I fix it?
If you have Bluetooth radio is on, try turning it off. On some devices, such as the HTC Mogul, the antenna for the WiFi and Bluetooth devices are shared, and WiFi performance can be greatly degraded when both are on. I've personally experienced a situation where I've been connected to a regular WiFi network connection, and when transferring files, the transfer speed was terribly slow. Turning off Bluetooth greatly sped up the file transfers.
Don't place your mobile device too close to the device you're connecting to. If the devices are too close your connectivity could get flaky.
Upping the power level of the WiFi device may help (at the sacrifice of battery power drain). On the HTC Mogul this can be done by going to Start->Settings->"Connections" tab and selecting the "Wireless LAN" applet, then on the "Power Mode" tab, slide the Power Save Mode slider all the way to the left.
You stay connected via WiFi, but Internet Sharing gets disconnected every 10 minutes
Make sure you're using the 10 minute disconnect workaround documented above. Also, you can try the included Mortscript (Share&KeepSharingViaUSB.mscr), or better yet, use Chainfire's WMWifiRouter application.
Help, when I go back to the non hacked version of Internet Sharing to tether via USB, it no longer works!
For some reason the IP address of your virtual USB ethernet device gets blanked out sometimes, to fix this:
Go to Start->Settings->Connections Tab->Wi-Fi applet
On the Network Adapters tab, choose "Remote NDIS Host"
Set the IP to 192.168.0.2
Set the Subnet Mask to 255.255.255.0
This doesn't work, what else can I try?
Read the FAQ "My device is not in the list and/or I don't know what the device name for my WiFi device is, how do I find out?" to make sure that a hacked .dll exists for your device and is copied into the same folder as "intshrui.exe". If one doesn't exist you can request one be made by posting in this thread, with the WiFi identifier of your device (please provide the name of your device too). You can also create your own hacked .dll by reading the FAQ "How did you hack intshare.dll?".
Try Chainfire's applicaton, available at the top of the thread HERE
Try fluxist's methods HERE (try the non hacked .dll method first)
FAQ:
How is this different from fluxist's hack?:
It redirects USB instead of Bluetooth for sharing the Internet Connection, and works of an independent copy of intshrui.exe, so none of your original files/functionality gets effected. By redirecting the USB functionlity, instead of Bluetooth, you don't have to deal with the Bluetooth visibility prompt, and your Bluetooth radio doesn't get turned on by the Internet Sharing application. On some devices, such as the HTC Mogul, the antenna for the WiFi and Bluetooth devices are shared, and WiFi performance can be greatly degraded when both are on. I've personally experienced a situation where I've been connected to a regular WiFi network connection, and when transferring files, the transfer speed was terribly slow. Turning off Bluetooth greatly sped up the file transfers. Also the method allows for the 10 minute timeout elimination workaround described above. More information is located in the FAQ "How did you hack intshare.dll?".
Why would I want to share my phone's data connection over WiFi, as opposed to over Blueooth or USB?
There are many reasons, including:
With 3G technologies, such as EVDO, phone data speeds can easily exceed what Bluetooth supports (Bluetooth v1.2 - 1 Mbit/s, Bluetooth v2.0+EDR - 3 MBit/s). This is not counting the overhead taken by the protocol itself.
The ability to share with multiple clients. I tested with my laptop and a Dell Axim X50V connected to the Ad Hoc network, and both were able to use the shared connection on the Windows Mobile device at the same time just fine!
WiFi data communication can be encrypted with industry standard encryption, Bluetooth sharing is not.
WiFi range tends to be typically much longer than most Bluetooth devices.
You may want to share your data connection with a device that does not have Bluetooth PAN or USB Host connectivity, but can connect to Ad Hoc WiFi devices, such as an iPOD Touch.
By using this will I be charged by my phone carrier?:
Generally, this will incur the same charges as using the Internet on your phone. If you have an unlimited data plan, you should be fine. You are responsible for any charges you may incur due to lack of sufficient testing.
Can secure my WiFi connection ?
Sure, when setting up your Ad Hoc connection just enable an encryption method (such as WEP or WPA). Make sure the encryption method you choose is supported on both your Windows Mobile and client device.
Which devices support Ad Hoc networks?
Almost every device that supports normal Wifi networks, including the Sony PSP, Apple iPhone, and Apple iPod Touch.
I have a SmartPhone, how do I set my IP Address?
I don't have a SmartPhone, but luckily PocketPC Expert Menneisyss does, and has found a solution. Since I don't have a SmartPhone I'm going to plagiarize his solution for you here:
Download/install the IP profile Manager CAB file HERE (mirrored it HERE), 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. A 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 WiFi 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):
Pic
You'll then need to select Options / Add Profile; there, just fill in the two numbers (IP:192.168.0.9 / Subnet Mask:255.255.255.0), making sure you also give the profile a name so that it is saved and becomes selectable:
Pic
Then you can select the new profile:
Pic
And restart the device as prompted:
Pic
After restart, follow the exact same procedure as on the Pocket PC.
How did you hack intshare.dll?
I took fluxist's hacked .dlls, and using a HEX editor replaced every instance of the string "RNDISFN1" (which refers to the USB device) with the WiFi identifier. If the string was too long and encroached into the "BTPAN1" string, then I moved the "BTPAN1" string over. I have no idea if this breaks the functionality of using the "Blueooth PAN" entry in the Internet Sharing app for sharing over WiFi, I haven't tested it, and you should never use it regardless. The top three occurrences of the WLAN identifier (TNETW12511 for the Mogul) are related to my USB hack, the last (fourth) occurrence of the WLAN identifier is a left over from fluxist's Bluetooth hack.
This hack is different from a fluxist's registry change .dll hack. In my hacked .dll I replaced EVERY reference to the USB device (RNDISFN1), to the WiFi device in question (TNETW12511 for the Kaiser/Mogul). So if you just perform a registry change with the original version of the intshare.dll, the "Status" messages the "Internet Sharing" app looks for/displays are related to the USB device. In my hacked version, the "Status" messages the app looks for/displays are related to the actual WiFi device. So changing WiFi IP address properties, for the 10 minute workaround, while running the non hacked version will have no effect, because the non hacked .dll version is monitoring the USB device, not the WiFi device.
For which WiFi radios have you included a hacked version of intshare.dll?
TIACXWLN1
-Artemis / HTC P3300
-Pocket Loox 718/720
-Hermes / HTC TyTN / XDA trion / MDA Vario II / VPA Compact III / SPV M3100 / Dopod CHT 9000 / Dopod 838 Pro
-Athena / x7500
TNETW12511
-HTC Titan / Sprint Mogul / Verizon XV6800 / P4000
-HTC TyTN II / Kaiser / AT&T Tilt / 8925 / P4550
-Elf / HTC Touch
-HTC Vox
TNETWLN1
-Universal / Qtek 4040 / XDA-IV / SPV M5000 / MDA-IV / i-mate 2005
-HTC Wizard / Qtek 9100 / i-mate K-JAM / MDA Vario / O2 XDA Mini S / SPV M3000 / Cingular 8125 / T-Mobile MDA / Dopod 838 / VPA compact II
WLAN11g1
-Terralogic Toughnote DA05-M Ruggedised PDA
SWLD25SP1
-E-ten Glofiish X500
-Samsung SGH-i600
GSPI86861
-Sharp EM-ONE
CheetahSDN1
-O2 XDA Flame
CF8385PN1
-O2 Atom LIFE
My device is not in the list and/or I don't know what the device name for my WiFi device is, how do I find out?
Go to Start->Settings->"Connections" tab.
Select the "Wi-Fi" applet.
On the "Network Adapters" tab, make note of the name of your WiFi device (for the HTC Mogul this is the item listed as "IEEE 802.11b/g Compatible Wi-Fi Adapter").
Using a registry editor, search the registry using the name you noted in the previous step. The second occurrence (it's slightly different from the first, it has a suffix "1" after the registry key name, and also has a "Wireless" value) will be something like this:
Code:
[HKEY_LOCAL_MACHINE\Comm\[b]TNETW12511[/b]]
"DisplayName"="IEEE 802.11b/g Compatible Wi-Fi Adapter"
"Group"="NDIS"
"ImagePath"="TNETW1251.dll"
"Wireless"=dword:00000001
Look up the name of the subkey, which is [HKEY_LOCAL_MACHINE\Comm\TNETW12511]. Of this, you’ll only need the last subkey name component (TNETW12511).
Other reading of interest:
Bluetooth specs:
http://en.wikipedia.org/wiki/Bluetooth
Internet sharing description & why Microsoft Mobile team removed Bluetooth DUN:
http://blogs.msdn.com/windowsmobile/archive/2007/04/17/why-did-we-remove-bluetooth-dun.aspx
The new dial-up network model of the WM5 AKU3:
http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1415&more=1&c=1&tb=1&pb=1
A tutorial of setting up and using Wi-Fi peer-to-peer (Ad Hoc) connections between Pocket PC's:
http://www.pocketpcmag.com/blogs/index.php?blog=3&p=588&more=1
Dial-up Networking Through Bluetooth Under WM5 AKU3 / WM6:
http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2121&more=1&c=1&tb=1&pb=1
Unrestricted BT PAN server with the MS BT stack:
http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2230&more=1&c=1&tb=1&pb=1
Links for developers/hackers :
Sample for using Internet Sharing API:
http://groups.google.com/group/micr...4aaa543efc216f/a9c637f89b0575b6?lnk=st&rnum=1
Configurable TCP/IP Configuration Parameters in WinCE 3.0:
http://msdn2.microsoft.com/en-us/library/ms881801.aspx
Controlling the Radio Devices:
http://www.teksoftco.com/articles/article 007/radiodevices.htm
802.11 WLAN WiFi : Power Mini FAQ - Windows CE:
http://blogs.msdn.com/cenet/archive/2006/12/14/802-11-wlan-wifi-power-mini-faq-windows-ce.aspx
WiFi toggling fix:
http://forums.sbsh.net/index.php?showtopic=17139&pid=175405&mode=threaded&start=
New Windows Mobile 6 State and Notifications Broker State Values:
http://www.pluralsight.com/blogs/jimw/archive/2007/04/20/46866.aspx
Internet Connection Sharing for Microsoft Windows CE MSDN documentation:
http://msdn2.microsoft.com/en-us/library/aa924710.aspx
http://msdn2.microsoft.com/en-us/library/ms901927.aspx
http://www.microsoft.com/technet/archive/wce/evaluate/sharece.mspx?mfr=true
Thanks/Credits:
Chainfire - For his awesome WMWifiRouter application.
fluxist - For the original hack!
Menneisyys - For his blogging on the subject.
Xiou's - For his Share&KeepSharing script.
gthing - For the XDA-Developers Hermes Accesspoint Wiki.
luv2chill - Sprint Mogul Internet Sharing Connect Fix. (post by luv2chill).
electronicrice - Multi-NAI disable hacks for the Mogul
Final Thoughts/Notes:
fluxist's tutorial instructs you to set the IP address to 192.168.1.1, I instruct you to set it to 192.168.0.9. This is so it matches up to what I found in "intshare.dll". When I was testing sometimes my laptop would get a 192.168.0.0 network address, even when my mobile device was statically set to a 192.168.1.0 network address.
My expertise is in network/system administration/repair and software development. I can easily create code, but when it comes to hacking someone else's compiled code, I'm a complete novice. The ideal solution is if a one click solution could be written to change the WiFi configuration to Ad Hoc, set a static IP address, connect to the Internet with the Internet sharing app, have it stay with a status of "Connected", and reconnect on loss of connection.
I'm figuring a skilled hacker/cracker should be able to patch "intshrui.exe", where I believe the actual 10 minute time out exists, and get rid of it. When opening this file in a Hex editor, I noticed the strings "HostConnectTimeout" and "CellConnectTimeout" inside.
Another solution would be to figure out the undocumented APIs to build a new Internet Sharing application.
intshare.dll exposes the following exports: InternetSharingEnable, InternetSharingDisable, RegisterForInternetSharingNotifications, and DeregisterForInternetSharingNotifications.
ipnat.dll exposes the following exports: IPNat, LanaUp, NAT_Close, NAT_Deinit, NAT_IOControl, NAT_Init, NAT_Open, NAT_Read, NAT_Seek, NAT_Write, and NatConfigure.
The included "Share&KeepSharingViaUSB.mscr" Mortscript uses vjvolubilis.exe (available at http://www.vijay555.com/?Releases:VJVolubilis) to toggle the Wifi radio off and on, but this app is not compatible with the HTC Mogul. It would be great if someone can suggest a program that would work with Mortscript and the HTC Mogul.
--------------------
Changelog:
v0.2
Added hacked dll for "CheetahSDN1" (O2 XDA Flame)
Added hacked dll for "CF8385PN1" (O2 Atom LIFE)
Changed IP address in hacked intshare.dlls from 192.168.0.1 to 192.168.0.9 to prevent possible conflicts.
Changed "Share&KeepSharingViaUSB" Mortscript.
Added "StopSharingViaUSB" Mortscript.
v0.1
Initial Release
WOW!!
All I can say is Wow. Thank you very much for the effort and time that you put into creating this. I am currently using an Athena and the files and tuturial that you setup work great. Thanks for the work. It makes my Athena just that much better. I will let you know if I run into any problems.
Great, congrats, will frontpage this!
Awesome, thanks.
wow...thanks a million
don't dare read it now, but wow...thanks...speechless
another wow
thanks for all the time and effort you put into this. you definitely went out of your way to make sure this was easily understandable and complete. i applaud you for your hard work.
great tutorial, my only question is when would you use this. When you have a laptop with no wireless card?
Ack, I just realized my poor topic title. No, if you wanted to use Internet Sharing with a USB cable, just use the one built into your Windows Mobile, no hacks needed.
This is for sharing via WiFi, the USB cable doesn't even have to be connected for this hack.
MWillis561, which WiFi Radio does the Athena use (so I can document it)?
We us TIACXWLN1
specv said:
great tutorial, my only question is when would you use this. When you have a laptop with no wireless card?
Click to expand...
Click to collapse
On the contrary. When you have a non-BT PAN-capable client still able to communicate over Wi-Fi P2P networks - for example, a Symbian or a Windows Mobile phone. I've used both (Symbian: NOkia N95; Windows Mobile: a lot of different clients) in this config; they all worked great. Check out my related articles.
This is ideal for anyone with a mac running an older operating system. (i.e. 10.3)
I've spent a few hours to hack together an app that does all these things without needing any of the hack DLL's or scripts (it does all the registry changes at the right times, enable/disable WLAN at the needed times etc).
There's just one thing I can't seem to get around, and that's the 10 minute timeout thing. Just doing things manually, I can't get the 10 minute disconnect workaround to work as described (and if I can't even do that, how am I going to get it to work programmatically? ). My cable stays in 'disconnected' state. Help?
Chainfire said:
I've spent a few hours to hack together an app that does all these things without needing any of the hack DLL's or scripts (it does all the registry changes at the right times, enable/disable WLAN at the needed times etc).
There's just one thing I can't seem to get around, and that's the 10 minute timeout thing. Just doing things manually, I can't get the 10 minute disconnect workaround to work as described (and if I can't even do that, how am I going to get it to work programmatically? ). My cable stays in 'disconnected' state. Help?
Click to expand...
Click to collapse
Try doing it manually WITH the hacked .dll for the Kaiser, see if that helps.
TalynOne said:
Try doing it manually WITH the hacked .dll for the Kaiser, see if that helps.
Click to expand...
Click to collapse
Still no go!
I think I have duplicated what your 10 min fix does though, in my app. I've uploaded it to http://www.jongma.org/WMWifiRouter/WMWifiRouter.zip.
It would be great if you (or someone else) could give it a go and see how (if) it works for you, including the timeout.
Usage is simple, put the EXE on the phone. All you need to have is that ad-hoc connection set up. Run the EXE, it will do some registry modifications, turn of WLAN and start up IS. Put IS on USB and connect, the EXE should turn WiFi back on including the reconfiguration. One note though, once you disconnect in IS you have to really close IS and restart the EXE as well.
Thanks.
Ok, for the Timeout hack to work it has to be running the hacked version of the .dll, you can not simply get away with registry changes. The hacked dll does more than just set the registry. When starting your app stand alone it started the non hacked "Internet Sharing" app, which never applied the Timeout workaround properly. When starting my hacked version first, getting a valid Internet AND AdHoc connection first, and then executing your .exe it worked half the time. It seems your .exe, every other time, set the WiFi adapter to DHCP mode.
Change it so it runs the hacked version, doesn't perform any registry changes on the Internet Sharing Private/Public interface keys (since the hacked .dll already does this), and changes the ALT WINS address to a new value from its current value, make sure you don't set the WiFI adapter to DHCP at any point.
Great job! Looks like we're getting close.
TalynOne said:
Ok, for the Timeout hack to work it has to be running the hacked version of the .dll, you can not simply get away with registry changes. The hacked dll does more than just set the registry. When starting your app stand alone it started the non hacked "Internet Sharing" app, which never applied the Timeout workaround properly. When starting my hacked version first, getting a valid Internet AND AdHoc connection first, and then executing your .exe it worked half the time. It seems your .exe, every other time, set the WiFi adapter to DHCP mode.
Change it so it runs the hacked version, doesn't perform any registry changes on the Internet Sharing Private/Public interface keys (since the hacked .dll already does this), and changes the ALT WINS address to a new value from its current value, make sure you don't set the WiFI adapter to DHCP at any point.
Great job! Looks like we're getting close.
Click to expand...
Click to collapse
Same link. Updated the EXE so that it looks for intshrui in the local folder first. If it finds that it will not perform the ICS registry hacks.
You mention however that the hacked DLL's do more, I thought the only thing changed about it was the interface names? I don't see why that would be of influence (as that can be fixed through reg, as obviously with all the normal files / no hacks, I can use the app and it just works for me).
The changes applied are indeed to the WINS adapter, I do not touch DHCP. Though what you may be seeing is at the moment you disconnect, the app restores the default registry settings for the wireless adaptor, which has DHCP enabled. Furthermore I'm not entirely sure I actually have to change any value. I think the control panel application simply doesn't "apply" if there weren't any changes, force the driver to rebind the adaptor with IOCTL messages like I do now, would probably work with or without modifications.

Frozen Shag control and lost WLAN in vista

Greetings every one
I have searched through the threads to try and find a solution to my problem and I have tried hard and soft restart on Snapvu, F2 and F3 but nothing works
I am having a little trouble with my Shift 9500 running Vista. All was well until about a week ago when I lost WLAN. When I attempted to turn on WLAN in the SHAG Control, SHAG control freezes and vista tells me that the "program is not responding". Sound is also muted.
I do, however, have a network symbol in the notification area that tells me it is not connected, when I ask vista to diagnose the problem it tells me to install a network card and the software. So, I reinstall the Marvell Wi-Fi driver, downloaded from the HTC website, but still no effect and the same thing keeps happening.
Does anyone have any suggestions?
I have the same problem now. Got original preinstalled Vista and even after Hard reset WLAN seems to be turned on in Control Center but the WLAN card is not even seen on hardware list. Got latest Marvell driver installed. It's rather not hardware problem as WLAN used to work before hard reset. Maybe it has to do with Microsoft hot fixes (have automatic updates enabled) but run without SP1. It's driving me crazy when trying to enable WLAN or Bluetooth it takes minutes like you. Any ideas plase? Thanks
aprach said:
I have the same problem now. Got original preinstalled Vista and even after Hard reset WLAN seems to be turned on in Control Center but the WLAN card is not even seen on hardware list. Got latest Marvell driver installed. It's rather not hardware problem as WLAN used to work before hard reset. Maybe it has to do with Microsoft hot fixes (have automatic updates enabled) but run without SP1. It's driving me crazy when trying to enable WLAN or Bluetooth it takes minutes like you. Any ideas plase? Thanks
Click to expand...
Click to collapse
Well just an update, I did hard Vista reset and it helped. got fully functional wlan device, but still don't know what caused that. basically i see preinstalled vista here is damn unstable and never seen so many blue screens before :/
aprach said:
Well just an update, I did hard Vista reset and it helped. got fully functional wlan device, but still don't know what caused that. basically i see preinstalled vista here is damn unstable and never seen so many blue screens before :/
Click to expand...
Click to collapse
I just posted a message earlier about issues I've been having with WiFi now resolved by changing advanced settings in the chip set. Maybe of some use? If you can't even see the Marvell maybe the only choice IS to do a hard restore, or maybe even trying the copying of the sdbus.sys from the XP page into system32/driver and trying again...that's probably what I would do.
I must admit, most of my issues with WiFI started when I updated to the new driver from HTC....downhill from there.
And note their instructions don't tell you in which order to install the WiFi driver - yet all the others are very specific. Maybe that's where it all goes horribly wrong? I did mine last for reference.
FOOFTR said:
And note their instructions don't tell you in which order to install the WiFi driver - yet all the others are very specific. Maybe that's where it all goes horribly wrong? I did mine last for reference.
Click to expand...
Click to collapse
I'd suggest if everything works fine then no need to upgrade and take this risk... i simply ignored new htc drivers )
Hey Fooftr )
How are you? Managed to overwhelm this damn WLAN? I was happy too early. Even though my automatic MS updates were disabled after hard reset and I haven't even touched new htc drivers, my WLAN dissapeared again under Vista after some time.
Have installed latest Marvell sd8686.sys drivers from htc and the only result I got is 'Device manager' indicates WLAN card drivers where loaded but device cannot start (Code: 10). Did simple uninstall and even after reboot Vista finds no WLAN device at all. Did same with SD Host and here it's finem Vista finds it and reinstalls drivers. I'm still patient as really like this ****, I mean shift )
I've also replace sdbus.sys (81KB) file with mine laptop one 87KB but no difference.
The only networking actions I've been doing were related to installation of NDIS drivers together with the first WinMo sync. Maybe this is it? Don't know and wouldn't like to hard reset it again. Also XP is not an option until touchscreen and sdhc support is solved.
Guys any thoughts? Ideas? Does anyone have the same problem with vanishing WLAN device? Again it works after hard reset so it's not a hardware prob imo.
Cheers Shifters ;o)
Silence means either I'm alone with the problem or there are others but no solution found
I did some progress yesterday and GOT MY WLAN working fine now. I've been trying to play with HTC Marvell driver folders content as despite of WLAN setup file there are other toolkits attached by HTC. IT's not ideal and does enable WIFI fine but enables BT as well however BT device cannot find any other devices - later down below about BT.
PLS READ THIS FIRST BEFORE YOU TRY, it's just my observation and may be only my case.
If you guys have the same experience with WLAN device as I do please try to do following, it helped in my case and now have all WLAN and BT enabled and visible in Vista SP1 after sleep/restart, whatever.
1. My Vista config is as follows:
- SP1 installed (eng)
- all updates installed from Microsoft Update
- all HTC drivers installed except Vitakey which I hear on other threads is causing some headaches.
* although I have all above installed I don;t think it;s a prerequisite. You only need latest Marvell drivers from HTC website.
2. Pls note, although latest Marvell WLAN drivers are installed I used to see no devices.
3. I've described what is a behaviour when I install drivers, devices appear for a few seconds on the list and dissapear at the end of installation.
4. So I went to WLAN folder /Wifidrvpatch/TOOLKITS and found HTCMEDIA.INI file with number of commands.
5. At the end of the file you can find three commands related to ECTKit.exe and vcpj_TSinstall.exe
6. What I did yesterday what enabled my devices? Started to launch them to see what will happen.
I launched three application but I'm not sure which one helped, my devices started to apeparing on th list after ECTKit.exe with one of parameters added.
7. Launch Device Manager and expand Network adapters. Right click on desktop 'My computer' and choose 'Manage'. From the list then choose 'Device Manager'. IF you don't see NEtwork adapters on the list it's probably same as in my case. go to next step.
8. Click Start->Run->cmd
change your path (using 'cd' command) to be in marvellwifi/wifidrvpatch/toolkits/tool where ECTKit.exe is located.
Launch ECTKit.exe by typing ECTKit.exe /EnableAllDevice
after that my devices appeared on the list.
As I said I launched three execs this evening. First was vcpj_TSinstall.exe (then clicked on install) but haven't noticed any change, dvices were hidden and shift was not much busy with this exec. Second I launched ECTKit.exe /RestoreAllDevice (Still no devices on the list BUT I've noticed Computer Management tool (the one you've opened to see devices) has indicated under 'System Tools->'EVent Viewer' -> 'Windows Logs' -> 'Security' that one of sys files is not loaded due to hash issue. IT's called CCDEVIO.sys and used to fail EVERYTIME when I tried to install MArvell drivers before (have checked logs history).
As the third command launched was ECTKit.exe /EnableAllDevice and this one helped.
What I suspect in my case CCDEVIO.sys may be causing problems but not sure. For example this sys file is trying to be loaded when I open WindowsMediaPlayer and fails as well so I'm not sure. Anyway that's the only misbehaviour I've noticed related to drivers installation.
Now about BT. It's also enabled. Got access to all functions, etc but there are two problems with BT.
1. My shift cannot find any other BT devices but can be found by my HTC Kaiser with no problems (still with limited number of services shared).
2. BT blue LED under the display flashes all the time now ) Well even if I disable BT Radio device and other BT related it does still blinks ) Well I don;t care anyway at least got it visible and can play further to force it to work. It';s still better than not having it at all.
LAst but not least this trick has not helped to frozen Shift Control Center tool. It freezes if I want to Turn ON/OFF WIFI/BT for coupel of minutes, then indicated device is ON or OFF, I can close it but it does not communicate with devices at all - meaning if I turn my WLAN ON thru control center it's not turning ON. Need to go to Network Adapters window under NEtwork Sharing Center and simply enable it. It's till fine as shagctrl sucks anyway, no brightness can be adjusted and when I try to access Settings, after 10-20 seconds got message 'Get EC firmware version failed' and settings opens (this error was observed even after my Vist agot hard reset some time ago and even after I installed latest EC drivers from HTC site)...
I'm not sure how HTC tests their drivers in testing environment but they probably outsource it to well known business oriented countries )
Sorry for long story but maybe it will help some of you. I'm damn happy got my WIFI working as do not need BT for now
aprach said:
Silence means either I'm alone with the problem or there are others but no solution found
I did some progress yesterday and GOT MY WLAN working fine now. I've been trying to play with HTC Marvell driver folders content as despite of WLAN setup file there are other toolkits attached by HTC. IT's not ideal and does enable WIFI fine but enables BT as well however BT device cannot find any other devices - later down below about BT.
PLS READ THIS FIRST BEFORE YOU TRY, it's just my observation and may be only my case.
If you guys have the same experience with WLAN device as I do please try to do following, it helped in my case and now have all WLAN and BT enabled and visible in Vista SP1 after sleep/restart, whatever.
1. My Vista config is as follows:
- SP1 installed (eng)
- all updates installed from Microsoft Update
- all HTC drivers installed except Vitakey which I hear on other threads is causing some headaches.
* although I have all above installed I don;t think it;s a prerequisite. You only need latest Marvell drivers from HTC website.
2. Pls note, although latest Marvell WLAN drivers are installed I used to see no devices.
3. I've described what is a behaviour when I install drivers, devices appear for a few seconds on the list and dissapear at the end of installation.
4. So I went to WLAN folder /Wifidrvpatch/TOOLKITS and found HTCMEDIA.INI file with number of commands.
5. At the end of the file you can find three commands related to ECTKit.exe and vcpj_TSinstall.exe
6. What I did yesterday what enabled my devices? Started to launch them to see what will happen.
I launched three application but I'm not sure which one helped, my devices started to apeparing on th list after ECTKit.exe with one of parameters added.
7. Launch Device Manager and expand Network adapters. Right click on desktop 'My computer' and choose 'Manage'. From the list then choose 'Device Manager'. IF you don't see NEtwork adapters on the list it's probably same as in my case. go to next step.
8. Click Start->Run->cmd
change your path (using 'cd' command) to be in marvellwifi/wifidrvpatch/toolkits/tool where ECTKit.exe is located.
Launch ECTKit.exe by typing ECTKit.exe /EnableAllDevice
after that my devices appeared on the list.
As I said I launched three execs this evening. First was vcpj_TSinstall.exe (then clicked on install) but haven't noticed any change, dvices were hidden and shift was not much busy with this exec. Second I launched ECTKit.exe /RestoreAllDevice (Still no devices on the list BUT I've noticed Computer Management tool (the one you've opened to see devices) has indicated under 'System Tools->'EVent Viewer' -> 'Windows Logs' -> 'Security' that one of sys files is not loaded due to hash issue. IT's called CCDEVIO.sys and used to fail EVERYTIME when I tried to install MArvell drivers before (have checked logs history).
As the third command launched was ECTKit.exe /EnableAllDevice and this one helped.
What I suspect in my case CCDEVIO.sys may be causing problems but not sure. For example this sys file is trying to be loaded when I open WindowsMediaPlayer and fails as well so I'm not sure. Anyway that's the only misbehaviour I've noticed related to drivers installation.
Now about BT. It's also enabled. Got access to all functions, etc but there are two problems with BT.
1. My shift cannot find any other BT devices but can be found by my HTC Kaiser with no problems (still with limited number of services shared).
2. BT blue LED under the display flashes all the time now ) Well even if I disable BT Radio device and other BT related it does still blinks ) Well I don;t care anyway at least got it visible and can play further to force it to work. It';s still better than not having it at all.
LAst but not least this trick has not helped to frozen Shift Control Center tool. It freezes if I want to Turn ON/OFF WIFI/BT for coupel of minutes, then indicated device is ON or OFF, I can close it but it does not communicate with devices at all - meaning if I turn my WLAN ON thru control center it's not turning ON. Need to go to Network Adapters window under NEtwork Sharing Center and simply enable it. It's till fine as shagctrl sucks anyway, no brightness can be adjusted and when I try to access Settings, after 10-20 seconds got message 'Get EC firmware version failed' and settings opens (this error was observed even after my Vist agot hard reset some time ago and even after I installed latest EC drivers from HTC site)...
I'm not sure how HTC tests their drivers in testing environment but they probably outsource it to well known business oriented countries )
Sorry for long story but maybe it will help some of you. I'm damn happy got my WIFI working as do not need BT for now
Click to expand...
Click to collapse
Hello,
I have a similar issue withe Marvell Wifi adapter.
I restored the system to the manufacturer settings pressing F3 while booting and the problem remains:
If the Shift is powered off or hybernated more than 30 minutes and then powered on, then Wifi works well, the adapter appears in the device manager, and I can power it on or off with HTC comunication administrator (the progran which opens when you push the upper right button).
If, whith Wifi working, I suspend, reboot or power off the shift for less than 30 minutes, the Marvel wifi adaptor dissapears from the device manager, Wifi doesn't work and I can't enable or disable it from the HTC comunication administrator.
I have restored the system to manufacturer settings pressing the F3 button while booting for three times without success.
Anybody knows how to fix that problem or may I send the unit to the SAT?
Thank you very much
henryfabu said:
Hello,
I have a similar issue withe Marvell Wifi adapter.
I restored the system to the manufacturer settings pressing F3 while booting and the problem remains:
If the Shift is powered off or hybernated more than 30 minutes and then powered on, then Wifi works well, the adapter appears in the device manager, and I can power it on or off with HTC comunication administrator (the progran which opens when you push the upper right button).
If, whith Wifi working, I suspend, reboot or power off the shift for less than 30 minutes, the Marvel wifi adaptor dissapears from the device manager, Wifi doesn't work and I can't enable or disable it from the HTC comunication administrator.
I have restored the system to manufacturer settings pressing the F3 button while booting for three times without success.
Anybody knows how to fix that problem or may I send the unit to the SAT?
Thank you very much
Click to expand...
Click to collapse
Hey, seems it's very unstable. Can you imagine I was to early happy with my findings :/ My WIFI appears and dissapears randomly but the behaviour is a bit different from yours. Mine is available even right after reboot (pess than 30 mins). What I do to solve it is when after turning on there is no device on the list I simply launch drivers installation and do not wait till the end. When I see BT/WIFI devices in Computer Management successfully identified (installation still runs) I simply kill the installer thru "Task Manager" without waiting for completion (as every time after completion devices again dissapear). With that I have a control over WIFI. It's a bit annoying but I can rely on that everytime so far.
Keep observing my shift behaviour what potentialy can impact that and even with WinMo synced and 3G working on WinMo side WIFI is still available. Last time it dissapeared after battery removal for 5 minutes max (to insert new SIM card).
BTW, once you have your BT available can you find external devices using BT built-in software? I cannot...
Even with that I damn like the SHIFT and find it very useful.
Will stay in touch

Tilt as a MODEM (NOT DUN!)

I have an AT&T Tilt running Laurentius26's L26KDV12 (Windows Mobile 6.1) and I would like to use the device as a USB modem - NOT for internet connectivity but to connect to remote monitoring devices around the state that have modem's installed in them (for example, from my desktop I have an external 56K modem connected to COM3 - I have several HyperTerminal profiles setup with phone numbers, baud rate, etc.. that I open and my modem "calls" these remote monitoring stations"). I would like to be able to use my laptop and the Tilt (Kaiser) as the modem so I can call into these pieces of equipment while I am traveling.
Any advice - or search tags would be appreciated. I have already searched the forums and did a general Google search but all results turn up how to use the phone as a Internet Connection device - this is NOT to connect to the internet...
Thank you!
Have a search for 'usb_modem.zip' and 'MODEMLINK'. The usb_modem.zip is a driver file for Windows and allows your PC to use your Windows Mobile device as a modem. You also need the MODEMLINK installed on your device which you activate like you do with Internet Sharing. I have MODEMLINK cooked into my ROM and unfortunately don't have a .CAB for it, however I think there is one. It only consists of three files, a shortcut and some registry settings.
I have tested it sucessfully with some dial-up ISPs and it worked fine. When I was initially testing it though I attempted to phone my home line to verify it was dialing out OK and this didn't work. Since it isn't something I use often I haven't pursued this but I think it might have something to do with the 'CSD Line Type' setting in Settings/Connections.
thanks for the information. I did find and download the wmodem software for the phone but when I activate it I get an error message about not being able to access a com port, the cell signal goes dead and I have to reset the phone.
If you have a different version that what I found (5.1.2600.2180) let me know - that may be the difference...
thanks!
mremer said:
thanks for the information. I did find and download the wmodem software for the phone but when I activate it I get an error message about not being able to access a com port, the cell signal goes dead and I have to reset the phone.
If you have a different version that what I found (5.1.2600.2180) let me know - that may be the difference...
thanks!
Click to expand...
Click to collapse
When I launch Modem Link I select 'USB' as the connection, Baud Rate is 'Unused' and Access point name is set to the GPRS APN I have configured (however this is unused I think?). I then hit 'Activate' and ActiveSync disconnects and the 'HTC USB Modem' is then connected to COM4. I can query the modem from the Control Panel applet on my PC like any other modem. I can also open HyperTerminal direct to COM4 and enter 'AT' commands. I just tried dialing my home phone again and this didn't work, however dialing an ISP did.
Andy

Categories

Resources