Hi all!
I want to read/write to GSM modem port. How can I do this? Or how can I found out port address?
Thanks in advance.
Do you mean Comm1: or Comm2: etc ?
If Yes, then you can not talk to the GSM modem that way. I agree that would of made things easy, but unfortunately you have to use Tapi.
Have a look at my reply lower down this forum about 'Naive Tapi Question' you need to do something very similar but open the line for data instead of voice. You then get a file handle which you can read and write like a disk file handle.
Related
Here's an example of measurement GPRS using ril and some instructions posted by benclewett.
As I am a newbie in eVC (and in VC too), my code is very poor, but It works!
Does somebody has a better example or a dll made with it?
Thanks!
Hi,
Interesting - what does this do?
Does it measure data transferred (which is what i'm looking for!).
Where did you get it?
Thanks!
--ian
Hi,
I can't seem to unrar it - all the files seem to fail - has anyone else tried it?
--ian
Works for me, using WinRAR 3.41
Hi,
Ah, ok - thanks.
Have you tried the code then?
Does it work?
What's it do?
--ian
Haven't tried the code, since I don't use GPRS. I didn't choose a data plan when I bought the phone, and Cingular charges more than I want to pay for data.
I'm programming on a program that uses cell broadcast messages to determine your position. (http://gknavigation.de) - It was a project at "youth research" this year.
It is based on an idea of W.Back...
Now I want to get rid of a external gsm phone at the position determination, because the new Pocket PC Phone Edition have a integrated radio functionality.
I've written a small terminal-prog. for the XDA (http://gknavigation.de/beta.htm), which let's you sent modem-command into the gsm and recieve replies.
On the XDA2 it is working well until the line "AT command interpreter ready" is displayed on the terminal. After that common AT-commands like "AT+CBC" won't work any longer, and result with an "ERROR".
The line (and the errors as result) seems to apear after a few seconds the port is open.
I think I have opened the port and initialized the shared use of the gsm serial communication well. :?
Check out that Sourcecode please:
The .DLL-file-project, which is written in C++ and opens/closes the port:
http://mcflown.net/eVC/XDAcom_func/
The visual basic project, which is for reading and writing operations, and user interface:
http://mcflown.net/eVB/XDAterm/
Greeting and sorry for the hopfully not thaaat bad englisch!
F. Wetzel[/url]
Hasn't really nobody any suggestions?
:?
Florian
Summary
Hi,
Just wanted to let you know that I will have alook and see what I can do
for you.
Have you got a break down of what you are trying to achieve
Click to expand...
Click to collapse
A summ ups are written in German, sorry!
But i will try to describe it briefly:
My prog recieves the messages of the cell broadcast channel 221 by a mobile
phone connected via any inteface. (Bluetooth, IrDA, RS-232)
In Germany this channel contents data about the position and sending
direction of the mobile (fix installed) stations. With some (or many) tricks
i'm able to determinate your own own position up to a 50 meters. (in best
case - depending on the number of installed stations)
This is drawn on a map.
The prog is running under PPC and PC, but the PC version is less
interesting, because the PPC is more portable.
Newerdays, the PPCs have a integrated GSM radio module, so that it should be
possible to recieve those CB-messages vie the internal modem.
By that the users of XDA/MDA/... in Germany would get an alternative to GPS
for navigation/orientation without buying new hardware!
Lateron this prog is perhaps compatible with Tomtom. - I'm checking how to
do it!
Greeting, and thanks in advance!
Florian
hey xda internal access
Hey man i must say i respect you , you have done great work !!!
I am currently working on xda2 as university project and i need to access internal modem of xda ... so might need ur help ... i would wanna help u too and i probly will ... just letting u know i'll try a bit on ur prob and get back to ya ...
any advice ou can give me to access the internal modem ??
great job ! talk soon
On the XDA2 it is working well until the line "AT command interpreter ready" is displayed on the terminal. After that common AT-commands like "AT+CBC" won't work any longer, and result with an "ERROR". Crying or Very sad
The line (and the errors as result) seems to apear after a few seconds the port is open.
I think I have opened the port and initialized the shared use of the gsm serial communication well. Confused
Check out that Sourcecode please:
Click to expand...
Click to collapse
after read your source, i think:
- set Sleep time between each other AT commands > 100ms for response time of GSM modem
- try to close the com port and re-open it before sending another AT-command.
- try to use only RIL port or COM2, don't open them and use them at the same time.
hey i read through the code its good but i dont see how u get "AT Interpreter Ready" in the VB app ... i looked hard !!! can anyone enlighten me ??
I guess "AT Interpreter Ready" is the answer from device.
AT Interpreter Ready is sent by device after radio resets itself. You should never see this reply.
ok - when i get "AT interpreter Ready" from my terminal it allows me to send an AT commands, so in a way i'm guessing that i should get it -
Indeed it happens when the GSM resets does anyone have more explanations on how it appears ???
i get "AT interpreter Ready", too.
Compile
Could someone compile the DLL and EXE and post them here in one zip? Would save me having to install Visual Studio !
Everyone who talk about getting the cell id and lac must also know this
TinyGPS software, and i am one of them.
Unfortunately, i haven't successfully get the cell id and lac.
Though i read a lot topics in this forum and a lot articles that i find by using
google, all of my tries are failur.
So i decided to find out why TinyGPS work well on my smartphone while
my program even can not open com:2 port.
Then i find that after you installed TinyGPS, it will also install a file named
tinygps.dll which is actully a serial port driver, and it will also change your
default com:2 driver to this tinygps.dll by modify your registry key. I think
that is why after you install TinyGPS you have to restart your smartphone,
because the new registry setting have to take affect.
So i wonder if i can write a serial port driver just like tinygps.dll. But i only
develop applicationes for smartphone before , not the hardware driver.
I think this will not be a easy task, and i am here calling for help.
Did anybody know how to write a drive for com:2 (gsm modem)?
or at least someone is interested in writing one with me?
BTW:can someone send me a copy of serial2.dll which xda used as the
com:2 driver, maybe i can replace my original one with serial2.dll , and
find if my program can open com:2 port then.
my email : [email protected]
MSN:[email protected]
Thanks a lot.
Hi everybody.
I just wonder how I can estabilish a remote connection between my pocket pc a nd the desktop pc, for video and camera capture still image.
Shall I have to use Winsocket or there is another way, maybe using Activesync manager?
Thank you very much in advance.
Visit www.ateksoft.com
Did you mean with an existing app or by code?
In the first case you should follow Chatty's suggestion and look at CoolCamera.
If you want to write something of your own, communication method depends on who initiates the connection.
If it is the device than winsock is the way to go, but if it is the PC you should look in to CeRapiInvoke function which allows you to extend activesync functionality with your own DLLs.
There is an option for block and stream data transfer with CeRapiInvoke and your custom functions.
levenum said:
Did you mean with an existing app or by code?
In the first case you should follow Chatty's suggestion and look at CoolCamera.
If you want to write something of your own, communication method depends on who initiates the connection.
If it is the device than winsock is the way to go, but if it is the PC you should look in to CeRapiInvoke function which allows you to extend activesync functionality with your own DLLs.
There is an option for block and stream data transfer with CeRapiInvoke and your custom functions.
Click to expand...
Click to collapse
Exactly: I would like to implement it by my own.
I don't know exactly if the communication should begin from ppc or pc: there could be both scenarious.
Thank you very much for your suggestions.
Another (perhaps stupid) question: in WM5 is there a way to host a WCF service (webservice), like in WInfx 3.0? Perhaps exists a Compact Winfx3.0? I should stop my imagination ... ;-)
Hi. I am writing a freeware social networking application based on location services ( http://www.fightersoft.ro/mts/index.htm ). Although many devices are supported, it seems that the HTC TyTN isn't. To that end I acquired one and now I am on the quest on getting the cellid in my application.
The approach that should of worked was the COM port. However, no matter what COM port I open, I get a create file error. I am guessing that maybe the internal modem uses a weird port name such as COM550 or other letters instead of COM. I know that another way of getting the cellid is by using ril.dll (or even getting the handle to the gsm modem com port). However, in WM5 this is not documented at all on msdn.com - BUT for WM6 there is documentation.
Firstly, I want to ask anyone if they have extra information about this issue and secondly if by upgrading to WM6, the using the COM port approach works from the box (usually COM9)?
hi, I tryed many programs, which have actually support for cellid information, but no one work on herm, no matter if it was WM5 or WM6. on all phones, I had before it worked correctly... phone alarm also have this functionality, but shown only something like 00-00...
This is so frustrating. Every mobile device with GSM capabilities has a GSM modem insinde. That modem SHOULD be accesible from the OS by the means of COM ports. My guess is that this port is hidden or under a different name than the rest of the HTC devices where it resides on COM9.
CommMgrPro shows Cell Id and Location Area Code correctly on TyNT
I started this thread in the hopes that people will contribute with ideas towards getting this task done. Can you reveal any technical information on how you get the cellid information?
stargatesg1 said:
I started this thread in the hopes that people will contribute with ideas towards getting this task done. Can you reveal any technical information on how you get the cellid information?
Click to expand...
Click to collapse
Sure. Ril.dll gives you access to this information and works properly in WM5-WM6. And technically is easier than manager serial drivers......
Documentation isnt included in WM5 so it isnt "official" but realky It is included. The only problem for "not official" issue is you wont get support from microsoft....
Ask me what you want...
stargatesg1, if you have searched the forum, you'd already have the answer. For instance, this thread:
http://forum.xda-developers.com/showthread.php?t=280476&highlight=cellid
has a reference to RIL API. And I do remember I told you this some months ago in your another thread...
Here it is:
http://forum.xda-developers.com/showpost.php?p=1040464&postcount=27
It was at October 26 last year!
Basically I only need the cellid and the lac. I found that msdn.com offers documentation for ril.dll for WM6. This also works for WM5?
From what I learned from msdn.com is that I should do a ril.initialize first and then I should get the cell info using a fuction that I can't remember right now. Is this approach correct?
Lurker0, I know about this approach (I have mentioned it in my first post) however, I need more information because c++ native is not my primary envoirement for developing. That's why I kept searching for a way of getting the lac-cid from com ports so that I could do it directly from managed code.
stargatesg1 said:
Basically I only need the cellid and the lac. I found that msdn.com offers documentation for ril.dll for WM6. This also works for WM5?
From what I learned from msdn.com is that I should do a ril.initialize first and then I should get the cell info using a fuction that I can't remember right now. Is this approach correct?
Click to expand...
Click to collapse
Exactly. I downloaded Platform builder to have includes and libraries.
1) Initialize Ril
2.a) Request Position explicitally using a RIL_gettowerinfo
2.b) When you initializa Ril you can pass a callback to be notified upon location changes....
Did you read the source code for RIL interface that I pointed you to?
danielherrero, I see. Regarding the callback function is not neccessary in my app - the user or the app set on auto mode searches for changes in location. Thank you very much for your info.
Lurker0, yes I did, but like I said, I am not a very experienced c++ programmer and I need some documentation to get me started. I am also very greatful for your help and I am sure that I will use information from rilclass.cpp.
Thank you both, I will post back with the results as soon as I will have any.
Good luck
Hi StargateSG,
Did you succeeded in getting MTS working on Tytn?
Rgds
I had to leave the country on a business trip. I'll get back in a few days and I will start working on the problem.
danielherrero said:
CommMgrPro shows Cell Id and Location Area Code correctly on TyNT
Click to expand...
Click to collapse
Does nothing on the Blue Angel.