le_mdc_startSession() Get Connection failure

Hi,
I’m having an issue with ATT (WP7603 R10) device where it’s good the first time I call le_mdc_startSession() and it connects just fine. But if/when I lose connection, I try to reconnect and it does, but then immediately (or very quickly) disconnects. In the logs I see disconnect reason 2D, which is CALL_END_CAUSE_USER_CALL_ORIG_DURING_GPS. I currently am not using GPS. Additionally, all subsequent calls fail with the same error. Is there a way to shut off GPS, or is that the real problem? I don’t see this problem with the WP7601. In this version, I can only use le_mdc_GetPlatformSpecificDisconnectionCode(), the Ext versions apparently are not available in R10 and R12…

Evets

you can try if cm tool has the same problem:
connect: cm data connect &
disconnect: cm data connect -1

Oh, forgot to mention that. It does not have the same problem. Is there something that needs to be done that clears something?

The api used is not the same.
You can see the code of cm tool here:

I remember looking at this a long time ago. I don’t think this is R10 code though.

This is the latest code, you can download the r10 code in here:
https://source.sierrawireless.com/resources/airprime/software/wp76xx/wp76xx-firmware-release-10,-d-,1-components/#sthash.d8ZLsKhu.dpbs

So, looking at the code for R10, it’s using the same le_mdc_startSession() call that I am.

If you don’t see problem in cm tool, probably the problem is come from your code.

Btw, you can also try the modemdemo sample applicaton which using le_data API and see if you still see the issue.

cm call is actually a large script that is being run before, then calls the binary cm (which only calls the le_mdc_startSession()) and then adds routing and other things after the modem call.

Just to be clear, this ONLY happens with AT&T. It works fine with Verizon (WP7601) and T-Mobile (WP7603).

The cm case isn’t the same since the binary is called via a script. If I restart my app, it works fine as well, so it’s not apples to apples comparison. Just the act of calling the le_mdc_startSession() a second time within the same application, does this. If I start the session outside the app using the cm, it works fine when I call it a second time while my app is running, since it comes back as already started. I’m simulating a failure by turning off the radio using the cm app, but it works the same way if it’s lost connection from no signal.

you can also try the modemdemo sample applicaton which using le_data API and see if you still see the issue

OK, I discovered what the problem was. If you re-set the APN, it will disconnect, even if it’s the correct APN. As I said, it connects and then disconnects as soon as it leaves the state change handler for the connection and only after the first initial connection which works fine. Don’t re-set the APN, and it doesn’t do this. Again, this is only on ATT.