Porting soft from HTC Universal to Apache - Windows Mobile Development and Hacking General

Hi all, I'm a newbie to HTC PPC's, and I've got to port a soft initially written for the HTC Universal on a HTC Apache. This soft provides a few non real-time services like chat and presence, and real-time applications like VoIP and legacy calls. I don't want to change anything to those applications, just make them work in a CDMA network context. The soft uses the windows mobile connection manager component to identify which connection to use, so I guess I will be forced to modify this part to enable CDMA connections. But I've no idea if there will be any major compatibility problem between those two devices for my soft, because for example of changes in the windows mobile API supported in the HTC Apache. I would be glad if someone could help me to identify the risks that exists in this attempt of porting.
Thanks a lot,
Antoine

How deep down to the hardware dos your app go?
Generally windows connection manager and windows sockets completely obscure the actual details of the cellular network so it should make no difference what so ever for the program if it is working with GSM, CDMA or WiFi.
If you are using RIL to actually send commands to the modem that would be a different story.
Unfortunately I have very little knowledge with this but my suggestion would be looking up CDMA mode commands in google as a start.

Normally, the soft only relies on the windows mobile connection manager API for connections, and the TAPI for calls. In fact, I was asking myself about the impacts on the display of my HMI on this new device or the codec issues...

Related

direct GSM access?

I am particularly interested in the wizard, however on a fundamental level WM will most likely operate the same across most models in respect to this issue (or at least that is the theory).
I realize that most GSM boards have processors on them which do things like channel syncing (which is fairly time sensitive since its tdma&fdma), a5, gsm framing, and all that. You more or less connect a sim, speaker and mic, and treat the gsm rf board as a black box.
I am hoping that somewhere someone has unearthed something that allows more direct control over the gsm board on these phones. I am aware of engineering mode, however that is not quite what I wanted.
I would like to be able to at the very least set the call parameters before a call goes out. For example, lets say that I want to disable A5, sinec there are 3 standard levels one being no encryption, and the tower and the phone negotiate and agree upon the highest common, something in the phone somewhere has to say that it supports encryption.
I am just uncertain if all that is burried away in a 'black box' somewhere and its not a software problem from within WM.
If anyone has any ideas I would greatly appreciate it, even if they are pointers to research material that may help me out a bit.
On WinMobile GSM part is isolated from the windows part, like in normal PCs modem hardware is isolated from mainboard. GSM part has its own CPU, RAM, ROM, operating system, and communicates with Windows via COM-port (or USB port in Universal). For example Universal has Qualcomm MSM6250 chip with some proprietary OS. HTC Himalaya had a different chip (I don't remember it now), and OS was based on nucleus RTOS. Anextek SP200 communicator had Siemens MC45 modem inside.
GSM hardware is a black box for WinMobile OS. MS specifies only some recomendations for OEMs, and controlling encryption is not among them. You can control it if GSM vendor supports some AT command, or some other proprietary method (maybe via dev_specific RIL command).
In the case of Universal, its GSM can be controlled from a PC with the usual Qualcomm diagnostic software (QXDM, QPST, etc), when you setup the device as a pass-through bridge between PC and GSM module. But I don't know any methods of doing the same from inside WinMobile.
mamaich said:
GSM hardware is a black box for WinMobile OS.
...
You can control it if GSM vendor supports some AT command, or some other proprietary method (maybe via dev_specific RIL command).
In the case of Universal, its GSM can be controlled from a PC with the usual Qualcomm diagnostic software (QXDM, QPST, etc), when you setup the device as a pass-through bridge between PC and GSM module. But I don't know any methods of doing the same from inside WinMobile.
Click to expand...
Click to collapse
That is what I was afraid of. Most of the GSM radio boards (or individual chips) are set up to act that way, and since its faster and cheaper I really dont know of anyone that hasnt done that in any phone that was made in the last few years.
At any rate, is there any documentation that discusses how to locate which com port or other method is used to access the GSM device within a wizard (or any other htc model, odds are many of them are similar, if not identical with this subcomponent).
Are there any known AT commands? my first project is to write something similar to the gsm engineer mode program, obtaining BTS information. I am unsure if this is obtained only via AT commands or if its something more involved, but welcome any information on this.
Found what appears the be half the answer at http://wiki.xda-developers.com/index.php?pagename=RIL While that gives me access to the radio for some stuff (location data app that can work with gsmloc.org for example) it does not appear to enable me to set any parameters for a new call.
So if anyone knows of any tricks that would help say for example disable a5 crypto (on a per call basis idealy) or something similar to the setup of a call I would still appreciate hearing about that.
I know that Typhoon ( spv c500 / i-mate sp3 /Dopod 565) memory block with gsm info data. I am trying to find it in Magican - but no results. I dont know how Typhoon place this info in mem.

HELP: How can I debug radio?

Using AP3.0 I seem to have a very unique problem as I can not find any references to it, so I would like to debug the radio or at least look at what is going on between the cell company(fido) and the phone. I have 10+ years of c/c++.
The problem is that the phone is not connecting 50% of all calls in or out. If I dial out, after 3 seconds it hangs up. Inbound calls are fw to vm.
How would I go about producing a log file to begin with?
Thanks
The thread below is for an application built into most WM phones (but not the Athena) which shows the cellular engineering data coming from the celluar radio. Unfortunately most of the functions only appear to work for a very short time before they lock up, which is probably why the application wasn't included in our Athenas. However, it does demonstrate that its possible to interface with the radio - if you can find the documentation that tells you how. Works great on my wife's Tilt.
If you manage to write a similar program that works on our phones, please post it!
http://forum.xda-developers.com/showthread.php?t=431971

Mobile video chat possible ! and other things ...

hello
first, I use skype on my hermes 200 adsl connection via a USB or EDGE connection in both cases I had not heard the voice of my interloccuteurs (voice cuts) while they are listening
will become of the weakness of my connection or there a reason?
also, I install skype mobile beta lite (for symbian s60 v.2) on a Nokia N72 to communicate with my hermes 200 but I have not the icon of the call, and in the category of aid on I said that "the call will be possible after the upgrade skype when it will be available in your country"
could I have the icon of the call before skype lite mobile beta is available in my country knowing that they have not yet?
else, the audio chat it was possible between two windows mobile user?
Finally, set apart the MIDs (see here) http://www.intel.com/products/mid/devices.htm , are there other mobile devices capable of video chat skype? if not, they are the other software can do without 3G or wifi, personally I know 5: vochat, octro, tivi, imichat (under symbian), and microsoft portrait
and another that I could not operate: tabletmedia, of whether someone else could get it to tell me how?
videochat mobile
an other at:
www.vzochat.com
Did you manage to get Skype working ok without it crashing out? The last time I tried Sykpe, I had to use Skype v2.2.020 - all the versions after that just crash and quit when I tried to use them to make calls etc.
The problem with the Hermes is that Skype almost completely maxes out the phone's CPU - you are going to struggle to have a decent conversation over Skype even using your ADSL connection.

SIP Stack in Android

Yesterday I flashed GINGERBREAD-DS-Beta-20110716 on my 32B to experiment with inbuilt Sip stack and would like to say to would be users that this application in a rooted rom works wonderful. Both over WiFi and 3G. However it does have some limitations like not being able to choose any ports under 1000. ie I would prefer port 443 TCP. Having said that, most users will use port 5060!
All in all, it is very functional and usable. The battery will be consumed more if you tick for receiving calls but consumption is sip server dependent.
I am using it with VoXaLoT with 5 registration.
Note that new HTC android handsets like Desire and Incredible have this feature but limited to making calls over WiFi only.

Android mechanism for detecting/overriding detection of use of 3G or Wifi

Hi
Problem: Some apps e.g. Absolute Radio (UK), on detection of a mobile/cellular connection, restrict services/quality. If they detect an active Wifi connection then the services/quality are unrestricted. HSPA is perfectly fast to support it, so it's a restriction I want to overcome.
So I want to be able to report to the app that the phone is using wifi when it's actually using cellular.
There's many other apps and reasons to spoof/fool/fake the cellular/wifi state.
Has anyone got ideas on:
a) Is there a method of setting/overriding the reported state? - the SDK mentions the TelephonyManager and WifiInfo classes to read the states but not a way to change it.
b) Is there any development already on an app/cyanogenmod to solve this? I can see some ideas around the webs involving iptables or decompilation of specific apps but they are not general solutions.

Categories

Resources