detect device flight mode - Windows Mobile Development and Hacking General

How can I detect if the device has flight mode turned on?
On phone devices it means radio is off.
On wifi devices it would mean wifi is turned off.
Thanks in advance,

Flightmode on means NO Radio.
Ie.: NO GSM, NO Bluetooth, NO WiFi.
On Himalaya there is a cross in that title-bar where normally the GSM signal strenth is shown. Also taping the GSM signal strength indicator shows whether or not youre in flight mode.

Take a look at the lineSetEquipmentState & lineGetEquipmentState in the SDK.

lineGetEquipmentState fails with LINEERR_OPERATIONFAILED
My application need to know if device has flight mode turned on (radio is shut down). The ExTAPI API, lineGetEquipmentState, works well for other PocketPc phone devices but fails frequently on XDAs and M1000.
lineGetEquipmentState frequently fails with 80000048 (LINEERR_OPERATIONFAILED)
Pseudo code looks like
1, initialize with lineInitializeEx
2. negotiate version with lineNegotiateAPIVersion for each line device
3. look for phone device by calling lineGetDevCaps and then checking media mode for the line device is LINEMEDIAMODE_INTERACTIVEVOICE
4. negotiate extension version with lineNegotiateExtVersion
5. open line with lineOpen
6. get radio state with lineGetEquipmentState
7. close line with lineClose
8. shut it down with lineShutdown
Step 6 frequently fails with 8000048 (LINEERR_OPERATIONFAILED)
Any idea, clue why it fails.
Your response is highly appreciated

Flight mode on Wifi devices
For non phone devices having wifi,
I tried looking for wifi line device by calling lineGetDevCaps and then checking media mode for LINEMEDIAMODE_DATAMODEM
Here all the line devices have this media mode.
Now when I call lineGetEquipmentState, it fails with LINEERR_OPERATIONUNAVAIL
I am still not sure how to detect flight mode is turned on on the wifi devices.

i´m using lineSetEquipmentState & lineGetEquipmentState on T-Mobil´s MDA 1, MDA 2 and MDA 3. Everything is working fine(On more then 40.000 Clients).
When you want to check FlightMode on MDA 3 for you WIFI Card you should use NDIS.

What do you mean by us NDIS?
I get the same errors on MDA III devices.

Yes, because you are using TAPI.
TAPI means Telephony Application Programming Interface and is not interessting when you would like to check WIFI.
NDIS means Network Driver Interface Specification and that is what you need.
Take a look at MSDN or the SDK.

Thanks

I have zero knowledge about NDIS, can you please give me starting pointers - relevant APIs.

Depands on what you would like to do.
Take a look at the NDIS faq.
http://www.ndis.com/faq/default.htm

I just want to check if the flight mode is turned on.

Related

detect device radio state (flight mode)

My application needs to know if device has flight mode turned on (radio is shut down). The ExTAPI API, lineGetEquipmentState, works well for other PocketPc phone devices but fails frequently on M1000.
lineGetEquipmentState frequently fails with 80000048 (LINEERR_OPERATIONFAILED)
I have attached code snippet.
Pseudo code looks like
1, initialize with lineInitializeEx
2. look for phone device by calling lineGetDevCaps and then checking media mode for the line device is LINEMEDIAMODE_INTERACTIVEVOICE
3. negotiate version with lineNegotiateAPIVersion
4. negotiate extension version with lineNegotiateExtVersion
5. open line with lineOpen
6. get radio state with lineGetEquipmentState
7. close line with lineClose
8. shut it down with lineShutdown
Step 6 frequently fails with 8000048 (LINEERR_OPERATIONFAILED)
Any idea, clue why it fails.
Your response is highly appreciated

Phone and Bluetooth

Is it possible to turn off the phone, but stay with bluetooth turn on&
you can, just switch the flight mode on (click on network indicator on the top bar and select "turn on flight mode")
Like this, phone function will be powered off, but pda and it's utilities won't.
Bluetooth will also be turned off in flight mode, all wireless communication will be
sorry to disagree but i just made the test now and with FLIGHT MODE ON my bluetooth still works.
What happens is when you turn on the flight mode the bluetooth will be disconnected, but if you turn the bluetooth on it will remain on and working.
Well then your phone must be faulty because in a flight no wireless communication is supposed to take place and when i did what you said my phone turned the bluetooth off and said "Turn off flight mode first".
In a flight any Ghz Band Communicatioin (GSM/GPRS/Bt/WiFi) Could disrupt comunications between Flight and Tower so all that has to be turned off in a flight.........
georgexoasi said:
Well then your phone must be faulty because in a flight no wireless communication is supposed to take place and when i did what you said my phone turned the bluetooth off and said "Turn off flight mode first".
In a flight any Ghz Band Communicatioin (GSM/GPRS/Bt/WiFi) Could disrupt comunications between Flight and Tower so all that has to be turned off in a flight.........
Click to expand...
Click to collapse
@georgexoasi I don't disagree on your point about DSM/GPRS/WiFi because it interfere with radionic-link. Bluetooth don't because it uses not such a high impedance radio transmition to work. Although some flight companies ask not to use any kind of radio transmitions, most of flight companies allow bluetooth because it does not interfeer with radio communications and they are not able to detect if you use it or not during the flight. Also notice that bluetooth operate on 2.4GHz frequency (it's and unlicensed frequency, usually used for garage doors openers, microwave ovens, and things like that), were is no way to interfeer with plaine-tower communications that use much higher frequencies.
Still you say that your phone is able to operate BT in flight mode? That has never happened in any phone that has flight mode that i have used viz. 6630,P800,P900,P910i,I-Mate, O2-Mini. None support it. if u go to offline/flight mode all radios go off
Yes i tested again with Qtek S100 and the BT works with Flight Mode ON.
Later I can try with Nokia 9500 Communicator to see what happens.
I agree with georgexoasi. You cannot use Bluetooth when Flight mode is enabled. Maybe you did a REG tweak but normally it won't work
@georgexoasi
Did you try to do it or are you only saying that enabling Bluetooth doesn't work while in flymode? For me it makes sense to allow this to the user since people might want to use Bluetooth without using the phone (as like a normal PDA). The only possibility to turn off the phone is to go into flymode (without using any extra software). That doesn't always mean you're currently flying. On my Magician, you can go into flight mode and turn the Bluetooth radio back on. Maybe it depends on the ROM version you use.
@coelhoapm
Bluetooth don't because it uses not such a high impedance radio transmition to work
Click to expand...
Click to collapse
What are you talking about? The impedance is given by the medium (air) and can't be changed. What you mean might be the low power that is used for transmitting bluetooth signals. That indeed counts since it only can slightly interfere with the onboard electronics. But, to be honest, do you really think all people always turn off their phones on all flights. It doesn't seem that modern planes have trouble with this, which is good :shock: .
Ofcourse i tried it it is not possible
In flight mode, when I press the BT icon I get a warning: "Please switch off flight mode first!". When I switch off flight mode, BT switches ON automatically. It's weird that some device allow it. Never had a phone that allows BT in flight mode either!
I just contacted Portuguese Airforce and BT are generally allowed when flying. The criterium of allowing or not depends on the flight company.
By the way... A friend has a BlueAngel and I asked him to test this... and BT on blueangel also work when flight mode is on...
Well.keep saying it if it makes you feel better......
Adios i gues i've said what has to be and believing or not is upto u.
Ok, enough of the arguing!!! 8)
To settle this, I have a XDAIIi / Alpine and my bluetooth does NOT work when flight mode is enabled.
Coelhoapm post pictures of your today screen with flight mode enabled and the bluetooth icon showing that it is actually ON.
I actually want it to work, so is there any REG Hacks that can enable this to work, if anyone knows please post.
Cheers,
LydiaChris
flight mode
Hi i just tried flight mode then re-enabling bluetooth it left the phone switched off but said yurn on flight mode again at top of screen.
Mda2(Himalaya) 8)
Hope this helps
@georgexoasi & lydiachris
Attached the picture of my screen with Bluetooth and Flightmode enabled. I guess it's due to my old Firmware which is the first that was released (1.01 or something). This looks like a real drawback of the newer firmwares (where as I'm still looking for their advantages ...).
Enough said!!!
Sorry about that
VERY nice today screen background, where did you get it from!?!?!?
Nothing to feel sorry about. As i said, it might be due to different ROM versions. I prefer it the way it's done on my ROM actually, because I can use all combinations, especially I could use my Magician as normal PPC even when the SIM card is inserted.
Concerning your question about the background: It belongs to an extended theme for SPB Pocket Plus, called Spb Black Ext. You can download it from their site I think. I am only using the system icons for battery, light etc. from another theme because they are smaller.
hello, worse that everything you said, I tried to enable bluetooth and Wireless and both are working in flight mode.
I think is a bug from rom 1.40.0 of Qtek 9090
Regards
Marcus

Entering flight mode - best practices (RIL / TAPI etc)

Hi,
I am attempting to develop a program which must have good control over the state of the built in GPRS or CDMA unit of a Windows Mobile 2003 PDA device.
One requirement is to be able to enter “flight mode” on demand (when the user selects a menu option). The user can not select the connection manager notification and manually select the “enter flight mode” link as this is a fully locked down application (the user does not have access to it). Hence I am looking for ways to programmatically enter/leave/query the status of flight mode.
At present we are using Connection Manager to deal with connection management and RIL to deal with entering/leaving flight mode. In previous versions we used TAPI (the lineGetEquipmentState and lineSetEquipmentState functions) to enter/leave flight mode.
Both approaches (using RIL or TAPI) are causing us grief, mainly due to having to support numerous PDA devices from numerous OEMs.
How have other people approached entering a device into flight mode via code? I am interested in suggestions on the following issues we have having with various techniques, and wondering if anyone has a solution which works well across a wide range of devices (we support various Symbol, Intermec, HTC, HHP, and Panasonic devices to name a few).
Our current issues are as follows:
If using TAPI to enter flight mode:
On some devices such as the Intermec 760 after using lineSetEquipmentState to enter LINEEQUIPSTATE_MINIMUM, querying the state via lineGetEquipmentState only returns the error LINEERR_OPERATIONFAILED. Entering full power mode again means lineGetEquipmentState starts returning proper values again. However you can’t assume that lineGetEquipmentState returning LINERR_OPERATIONFAILED means being in flight mode as periodically some devices are returning this even while in full power mode (i.e. call it 5 times, three might return LINEERR_OPERATIONFAILED and the other two will return valid results).
Alternatively I have tried using the lineGetLineDevStatus function and checking flags within the returned dwDevStatusFlags field. For instance LINEDEVSTATUSFLAGS_CONNECTED or, LINEDEVSTATUSFLAGS_INSERVICE. Again in testing this on numerous devices (eg. Xda IIi and Intermec 760 for instance) both the connect and inservice fields appear to be constantly set, even if in a GPRS based devices there is no SIM card present.
If using RIL to enter flight mode:
We have also tried accessing RIL (using information from http://www.xda-developers.com/ was very helpful in using this “undocumented” API), via calling RIL_SetEquipmentState(RIL_EQSTATE_MINIMUM) and listening for RIL_NOTIFY_RADIOEQUIPMENTSTATECHANGED notifications to tell us when the radio enters/leaves various power states. The problem with this approach is that on some devices (in certain cases) we appear to never get a notification indicating that we have returned to FULL power mode, instead we get RIL_EQSTATE_UNKNOWN being constantly returned.
On one device using the RIL interface even appears to lock up the device (followed by a soft reset a couple of minutes later) while we attempt to enter flight mode by calling, RIL_Hangup, RIL_UnregisterFromNetwork and RIL_SetEquipmentState in that sequence.
I’m open to suggestions on how to enter flight mode via code. Does Microsoft provide an API to do this across all devices in a consistent manor? I guess from previous similar experiences that is wishing too much.
At present I am somewhat dubious about using the RIL interface to enter flight mode while also using Connection Manager at the same time to maintain a connection. At present before attempting to enter flight mode I’m calling ConnMgrReleaseConnection in order to try to tidy up Connection Manager’s state as much as possible, but is it possible that Connection Manager is still getting confused by me going in underneath it (via RIL) and “pulling the carpet out from underneath it”?
Thanks,
Christopher Fairbairn

Powersave & Wifi

Dear all,
I'm wondering about Wifi telephony on the QTEK 9100.
It works fairly well with various software soutions. However, the phone has to stay "fully on" (except backlight) in order for th Wifi connection to remain up. This alters battery life severely.
I'm wondering if it is possible to have the Wifi connection stay up during power save mode, with some kind of "Wake on WLAN" event that would wake up the phone so that IP phone software can process incoming data.
Some of it already happens for GSM. I'm wondering whether the GSM part is "fully independant" (like on a different processor), or if it's handled by the main processor. In the later case, it may be possible to achieve something similar with Wifi telephony.
Thanks in advance for any hint.
so there is no way having WIFI enabled and lettign the pda go to sleep mode / power save mode ??
is there an APP that leaves power save mode off if the WIFI is enabled, so only the screen goes of light, and the pda stays on ?
P.
nbougues said:
Some of it already happens for GSM. I'm wondering whether the GSM part is "fully independant" (like on a different processor), or if it's handled by the main processor. In the later case, it may be possible to achieve something similar with Wifi telephony.
Click to expand...
Click to collapse
It's fully independent. It's very cleverly written; this is why, for example, listening to incoming IMAP IDLE or Push Mail callbacks don't require the CPU at all.
yes i got that part on my own, thats why the GPRS connection stays on... but still there should be a registry somewhere to prevent device to go to sleep if WIFI conneciton is made..
tried all the powermode stuff in regisrty, nothn worked... out of clue...
papizdono said:
yes i got that part on my own, thats why the GPRS connection stays on... but still there should be a registry somewhere to prevent device to go to sleep if WIFI conneciton is made..
tried all the powermode stuff in regisrty, nothn worked... out of clue...
Click to expand...
Click to collapse
I don't think you can do this - the WI-Fi module is completely independent of the radio module. Furthermore, you'll constantly need a LOT of power to keep the Wi-Fi connection up, as opposed to GSM/GPRS, where handshaking is only done during roaming to another cell and/or every (AFAIK) 10-20 minutes. Otherwise, the PDA doesn't trasmit anything, a sopposed to the Wi-Fi case.
That is, it seem sit's impossible to do any long-term Wi-Fi "listening" in the current Wi-Fi / PPC architecture.
papizdono said:
yes i got that part on my own, thats why the GPRS connection stays on... but still there should be a registry somewhere to prevent device to go to sleep if WIFI conneciton is made..
tried all the powermode stuff in regisrty, nothn worked... out of clue...
Click to expand...
Click to collapse
I don't think you can do this - the WI-Fi module is completely independent of the radio module. Furthermore, you'll constantly need a LOT of power to keep the Wi-Fi connection up, as opposed to GSM/GPRS, where handshaking is only done during roaming to another cell and/or every (AFAIK) 10-20 minutes. Otherwise, the PDA doesn't trasmit anything, a sopposed to the Wi-Fi case.
That is, it seem sit's impossible to do any long-term Wi-Fi "listening" in the current Wi-Fi / PPC architecture.
all i need is a tool that disables POWERSAVE mode if WIFI connections is made, or even if WIFI is enabled...
that would do all the work....
anyone ?
i think the closest thing is in phm powertoys (http://www.phm.lu/products/PocketPC/PowerToys/)
the screensaver option... what it does is turn off your touchscreen like in "sleep" mode but if u use this you might want to disable the power save option cause while u have screensaver on its still gonna count down n shut off ur ppc hope this helps!

Need Help with Phone Radio Toggling and No Network Connection

Hi. I have been trying various programs such as PocketZenPhone (version 4.5.1), Tweakster with VJVolubilis, and PPC Profiles to create scheduled phone profiles on my 8125. With each program, I have run into the same problem. When the program toggles the phone radio back on from flight mode, it will not connect to the AT&T network. If I use the CommManager or the tray icon available from BatteryStatus, toggling the phone radio will result in connection with the network.
I'm thinking this might be a Wizard issue or a WM5 issue. Is there something I can do to help these programs connect to the network automatically rather than just turning on the phone radio (ie a registry hack that would automatically connect to the network when the phone radio is on)? Thanks.
Not the smoothest meathod, or most practical depending on where you are, but how about wi-fi? Either a card, or better yet built in. I remember reading that some devices actually turn the phone radio off when utilizing wi-fi, but it can be done manually easily!!!
I don't utilize my wifi often. When I do, the wifi doesn't affect the phone radio. I'm looking for automated phone setting based on time to shut down the phone radio and bluetooth at night while keeping my phone on standby then to go back to previous setting in the morning.
I'm guessing this is more of a Wizard issue since others who have used the program haven't had the same problem. The question is why toggling the phone radio would result in no network connection while using the CommManager that came with the phone would result in network connection.
Another problem I came up with is now my phone will not give an audible ring. When I set my phone at level 4 for the ringer, it sets back to zero when someone calls. I think it is the setting I left it in when I uninstalled the program. I'm not sure.
Any thoughts or help? Thanks.
Update to the second problem that I mentioned. I reinstalled PPC Profiles Pro and reset my phone setttings and it solved the problem. Unfortunately, I still have the phone radio toggling problem.

Categories

Resources