I'm fairly certain this is a simple app to build, but I've got some questions I'm hoping some folks in the forum here can help me with!
Basically, I need an app that can toggle the roaming settings for my device.
The Reason:
In a nutshell, I work in a poor reception area where I need to roam on another network to get good coverage.
On the Titan (CDMA device), I get very poor battery life and dropped calls when it keeps trying to switch back to the barely visible home network. I can help keep the signal and save battery while I'm at work if I first set the service to "roaming only" when I'm there.
Problem is, switching from "automatic" and "roaming only" and back again is a very tedious process, buried under many menus and clicks.
To illustrate, I have to click Start, settings, phone, services, roaming, get settings, roaming only. Why it takes so many clicks and menus is a mystery to me, but that's the only way I've seen to do this. Even worse, some of these clicks take a couple of seconds to register before going on to the next screen, which makes this whole process take a few moments each time.
The Object:
I'd like to have an app that will toggle these settings so that all those menus and clicks aren't necessary. Then, one could even map this app to a hardware button for the ultimate ease of use!
The problem is that I don't know how to write a program that accesses that kind of internal phone information. Is this sort of stuff (roaming, forwarding, etc) even available to a developer?
Does anyone have any reference resources or tips/opinions they could share with me?
Thanks!
:bump: no one?
I dont think there is much that can be done in this regard programmatically..I'd look around a bit, but dont keep much hopes..
the best possible solution for u would be to use mortscript (free), which can simmulate all those clicks and menus, and will surely provide u the same effect..
mortscript is quite easy to pickup even if u r a non-programmer and if u have had even the most basic classes of any programming language then it'll be a breeze for u..
I think you want to look at RIL_SetRoamingMode and RIL_GetRoamingMode.
There are three options:
Value Description
RIL_ROAMMODE_HOMEONLY
The user is restricted to the home network. The user does not roam.
RIL_ROAMMODE_AUTOMATICA
Network defined. The effect of this setting is carrier dependent.
RIL_ROAMMODE_AUTOMATICB
Network defined. The effect of this setting is carrier dependent.
AUTOMATICA or AUTOMATICB may be the roam only setting as defined by Sprint, I would set the phone to roaming only then call RIL_GetRoamingMode and see what the return value is.
There may be other ways to do this, this is just the first I've found and I'm at work so I can't test this out.
Dishe has a CDMA device. I dunno whether the same RIL functions are there for CDMA as well as GSM. So far I've seen hdr files and dlls for gsm ril's only, but that might be cuz I never looked around for CDMA ones
shantzg001 said:
Dishe has a CDMA device. I dunno whether the same RIL functions are there for CDMA as well as GSM. So far I've seen hdr files and dlls for gsm ril's only, but that might be cuz I never looked around for CDMA ones
Click to expand...
Click to collapse
http://msdn2.microsoft.com/en-us/library/aa919907.aspx
"This function retrieves the CDMA roaming mode."
cool, I'm actually away for the weekend now (responding from my device), but thanks for all the helpful responses!
vinny75, I'm going to look into that when I get back and report back what I see.
Until I'm able to determine what changes internally when roaming settings are toggled, I guess I'll have to settle with something like MortScript as shantzg001 suggested for now.
MortScript is a great automation tool, I've never really played with it before! However I'd still rather have a standalone app that can determine which state is currently active, and toggle it.
In other words, with mortscript, I need to have 2 apps- a "roaming only" app, and then a "automatic" app. Ideally, I'd want one program that could detect the current setting, and switch to the other. This way, it could be mapped to a button, etc...
But I'll have to settle with what I have for now. Unless I'm missing something, you can't have mortscript toggle something that detailed, can you?
I'm new, still figuring out how to calculate x,y for mouse clicks...
Any suggestions would be welcome!
I take it those functions didn't work?
looks like its for embedded CE, and not for Windows Mobile...
I could play with it some more, but in the mean time a simple script might be my only option...
Dishe said:
looks like its for embedded CE, and not for Windows Mobile...
I could play with it some more, but in the mean time a simple script might be my only option...
Click to expand...
Click to collapse
Well you could always have mortscript alternate the mode it changes to by writing to a file "Roaming" or "Not Roaming" or something to that effect so the most you would have to do is click the button twice instead of once yes?
Hey guys, I wanted to start a thread where all of the few developers that the DVP has can come together and develop for the DVP in a joint-effort, starting with understanding the EM app.
There have been recent changes to the EM app with the new firmware and Mango, so I was hoping to create neutral ground where we can lay out all of the uses of the EM app and how to exploit them for the greater good.
So first of all the basics:
To get the EM app, dial ##634#
There are 3 basic options when you get to the EM App:
Phone Information
System Information
MMS Settings
There isn't much to be done with the Phone and System information, as they are there for pure informational purposes, but something can be done with the MMS Settings
MMS Settings: Here you can edit your MMS settings, including the APN, username, password, Authentication Type, (For Data) and then your actual MMS Settings such as Name, APN, MMSC, MMS Proxy, MMS Port, Username, Password, and Auth Type
Not much developing can be done with these 3 options, but if you tap the blank space below the options and then use the physical keyboard to type "qwertyuiop" without quotes, you get additional options:
RD Test (Password: *#6336#)
MMI Test
MMI Test (Chinese)
FCQ Test
Protocol
Service Center
OOB (Password)
The RD Test brings up a slew of options:
Audio Loop -tests the audio (earphones required)
Backlight- tests the backlight (turn on and off by touching)
BT (Bluetooth) - Displays BT address, the test mode, TX Power Test, and BQB Certification.
Camera- tests camera by taking a picture
Compass-not sure how this works...
FM Radio- tests the radio (needs earphones plugged in)
Gap- measure 4 blocks and enter the measurements
GPS- Turn off location services and test the GPS
Isolated Storage Speed- test the speed of storage
Keypad- push all of the buttons to get back to main menu
LCD (AMOLED)- Test the LCD
LED- Turn on the screen, keypad, and the camera flashlight
Power Cycle- Test one power cycle (I don't know what it means?"
Power Management- Displays statistics of the battery
Recorder- Records audio to test the microphone
RF Power Forward- Displays the bands of your phone, and WCDMA information
Touch Pad- Brings up a menu to test the touch screen
Sensors-calibrate the Light Sensor, Proximity Sensor, and the Accelerometer
SD Card- the status of your SD card, the size, and the OS disk size
Sim Card-Says if your sim card is inserted
Sim Lock - Displays the Lock Code for your sim card...
Slider- tells you that your slider is open or closed
Vibrator-vibrates your phone
Video Music- tests music and video
Wifi-Brings up the Wifi menu, displays MAC address (other options unknown)
About EM- doesn't work(?) Says the page isn't ready yet.
Man Machine Interface Test (MMI) runs a series of tests on your phone, it runs through all the tests in the RD test.
The Function Quality Check Test (FQC Test): Its in Chinese
Protocol requires a password
Service Center, which allows tethering
OOB, requires password.
So, my goal is to have a mutual discussion ground in which we can exploit this EM app to its fullest, and maybe unlock some hidden features of the phone!
This won't help much, but is it normal to have the MMS Settings app show up in the app list? It's been there since I got it a few days ago, and I haven't even dialed ##634#. Also, in the app list, it's titled "Connection Settings", but it identifies itself as MMS Settings in the app itself and has all of the options you mentioned.
ElijahHouck said:
This won't help much, but is it normal to have the MMS Settings app show up in the app list? It's been there since I got it a few days ago, and I haven't even dialed ##634#. Also, in the app list, it's titled "Connection Settings", but it identifies itself as MMS Settings in the app itself and has all of the options you mentioned.
Click to expand...
Click to collapse
Yes, with the new FW 212, its bundled as a seperate App with new purchases.
I dont know if this has been found by anyone yet, but when you press 'protocol' and type in *#6336# it takes you to another menu with three options,
active feature- seems to contain all the options to control the radio frequencies such as wcdma, gsm, bands, save efs log, and reset all..
when i clicked on 'fixed in bands' it seems to give you an option to check which frequencies you would like to use, theres four boxes with four of the regular gsm frequencies, 850,900,1800,1900, but five different wcdma options, I IMT 2000, II PCS 1900, then IV 1700, V 850, and VIII 900..
TMO-stands for tmobile, brings up a longer list of other controls and status screens for the radio and other things that deal with tmobile network..
RILDRV Log Capture- not sure what this one is about but gives you three capture options- capture at function level, capture at info level, and capture at error level, then two buttons that say Capture and unCapture...
curious stuff.. I havent played around with it much yet other than that..
16gb NoDo with 212 firmware
Service Center, which allows tethering
Click to expand...
Click to collapse
Which isn't working in Mango Beta, hopefully works in RTM?
Monkyyy said:
Which isn't working in Mango Beta, hopefully works in RTM?
Click to expand...
Click to collapse
Some people have been reporting that it works with Beta 2, and the RTM(?)
Also, with regards to this thread, I know that the DVP has no developer base behind it like the other devices, so I thought that looking into Dell's own app for its phones would help, and as a joint effort we might find a way into the DVP itself.
Also, I think some notable DVP-goers (such as notebookgrail and domineus) have already tried this, but what if ths thread could help us, or even work in our favor?
the major difficulty in the em.xap is tantamount
primarily the registry editor does work; but it only creates new keys - no modification of keys. Secondly, the interop capabilities has been rendered useless post nodo. So we have a unique situation as far as hacking the dvp
gauravr88 said:
I dont know if this has been found by anyone yet, but when you press 'protocol' and type in *#6336# it takes you to another menu with three options,
active feature- seems to contain all the options to control the radio frequencies such as wcdma, gsm, bands, save efs log, and reset all..
when i clicked on 'fixed in bands' it seems to give you an option to check which frequencies you would like to use, theres four boxes with four of the regular gsm frequencies, 850,900,1800,1900, but five different wcdma options, I IMT 2000, II PCS 1900, then IV 1700, V 850, and VIII 900..
TMO-stands for tmobile, brings up a longer list of other controls and status screens for the radio and other things that deal with tmobile network..
RILDRV Log Capture- not sure what this one is about but gives you three capture options- capture at function level, capture at info level, and capture at error level, then two buttons that say Capture and unCapture...
curious stuff.. I havent played around with it much yet other than that..
16gb NoDo with 212 firmware
Click to expand...
Click to collapse
Its been there since the DVP started.
The bands stuff is basically writing a flag to a file in the Isolated Storage of the EM App. Once you close the app, its state is gone. It doesn't really change bands in the Hardware as we thought to be.
The TMO options is useful if you are into AT Command. I had played with it a lot..But scary stuff. Its basically taking to the Radio Modem.
RILDRV Log Capture - haven't played with it. But looking at the code doesn't give much info.
Curious, why is there a dedicated section to T-Mobile when all of the phones aren't being used with T-Mobile?
Thunder_47 said:
Curious, why is there a dedicated section to T-Mobile when all of the phones aren't being used with T-Mobile?
Click to expand...
Click to collapse
Originally DVP was a TMO exclusive. May be they just left it there in the FW. I don't have a ATT DVP. Do they have the same TMO menu?
Is there anyway that we can use the EM app to change certain things such as IMEI (illegal) or find a way to bypass the upsell page when using Web2Go or T-Zones?
Basically, I want to use DVP with my grandfathered plan.
I don't believe that dell gave tmobile and att every single DVP IMEI out. There must be a low level security on each device that halts you from using web2go/tzones for working. I am trying to find that solution.
I am on tmobile USA with a grandfatherd web2go plan.
I originally ordered a t-mo DVP and found out it wont work on web2go/tzones.
I then bought the unlocked ATT DVP and unfortunately, it STILL doesnt work on web2go/tzones- knowing that I will only have edge speeds. I returned that device, BTW.
Any tips guys?
One thing I noticed: If the DVP chokes on loading up a webpage (via Low tower signal, etc), it will actually bring up the real webpage- somehow bypassing the upsell page.
But if you have full bars, the signal catches on, and you are redirected/forced to pay for an internet plan before you can use the grandfathered plan on the DVP.
I don't think this is possible, the IMEI is hardlined into your phone, changing it (if even possible) would probably cause your phone to be unrecognized by the T Mobile network.
The sad truth with this phone is that there will never be developer support for it like there is for HTC or other devices. Without a way to write to the registry or fix the broken interop service there is simply no way. This is something that the engineers (or their outsourced, contracted employees) at Dell would need to fix. And that won't happen because they won't waste time on an old phone, they'll just launch a new one.
Arcarsenal said:
The sad truth with this phone is that there will never be developer support for it like there is for HTC or other devices. Without a way to write to the registry or fix the broken interop service there is simply no way. This is something that the engineers (or their outsourced, contracted employees) at Dell would need to fix. And that won't happen because they won't waste time on an old phone, they'll just launch a new one.
Click to expand...
Click to collapse
No need to be pessimistic now, I'm sure if we all came together and explored all of the options (starting this this native app) we could eventually get to the promised land
Thunder_47 said:
No need to be pessimistic now, I'm sure if we all came together and explored all of the options (starting this this native app) we could eventually get to the promised land
Click to expand...
Click to collapse
I agree. Lets at lest keep open dialogue. You never know who may get there hands on a DVP...
haha, there's a difference between pessimism and reality. Take a look at the code of the unpacked EM.xap. Everything you'd need for your "native app" would be contained in there, including a way to modify the registry since EM and OurCOM.dll is the software layer that interfaces with the hardware at a limited level. There are people much more versed in the technical details of Windows Phone and the actual code of the EM app that can explain the uphill battle you face much better than I can.
But, any real progress needs to come from Dell themselves first, not the community. Their EM app is literally not completed. And, we know how Dell has responded thus far.
Not trying to be rude or anything, that's just how I see things and the situation with Dell.
edit: in an effort to keep people motivated here is a nice write up (part 1 of 3) about what is possible on a Venue Pro with Nodo: http://dennisdel.com/?p=840
keep in mind that things are now different if you're running Mango.
The line between realism and pessimism is a fine one. However, much in the way that Dell works, little progress fan be made on our side of the equation. But, that doesn't stop us from improving our phones using the tools that we have. Time spent whining about the things we can't do while the HTC guys are having super fun is time wasted.
Sent from my Venue Pro using XDA Windows Phone 7 App
Arcarsenal said:
edit: in an effort to keep people motivated here is a nice write up (part 1 of 3) about what is possible on a Venue Pro with Nodo: http://dennisdel.com/?p=840
keep in mind that things are now different if you're running Mango.
Click to expand...
Click to collapse
That's the same code as in the EM app. OurCOM.dll is nothing more than a gateway to the actual Driver DLL's. I did do some decompiling (PE Explorer and IDA tools) of the OurCOM.dll a while back and found that no code actually exists in it. It just invokes the actual Driver dll's which inturn communicates with dll's MS provides with the core OS. Dell themselves, didn't fully bake the EM app. Halfway along they left the development due to MS advising them not to expose the core features (like regedit,etc). I am not that familiar with C, but if someone has strong knowledge, we can try to work out some movement.
Here is some food for thought info to get someone going deep.
There is a file called QEMDriver.dll which is the actual driver file that does the majority of the gateway work in the EM app. Upon inspecting that file in IDA, i found that the core function resides in Coredll.dll (a MS OS file) and ril.dll (MS OS file for modem, calls, etc).
What i also found was(most people knew) if we crack open a way to provision the phone with the proper rights, anything is possible. MS even has article detailing how to provision certain rights,etc OTA. I tried all and failed.
If anyone wants, i can post the files that i referred and links to the provisioning.
I have seen all over the windows phone development forum that some HTC drivers work with the DVP, as far as tethering goes, can we extend this to other functions?