Git Product home page Git Product logo

Comments (10)

jraats avatar jraats commented on July 20, 2024 1

If I can help you with additional information like modem firmware version ect. Don't hesitate to ask. It is strange that my modem is behaving odd.

from ubxlib.

RobMeades avatar RobMeades commented on July 20, 2024

Hi, and sorry about this. The change in the loop limit was just an optimisation but what I can't understand is why we don't see the same problem here. Which module type are you using? I guess that in your case the module must be returning a +CGACT: 0 before the "wanted" +CGACT: 1?

from ubxlib.

jraats avatar jraats commented on July 20, 2024

Hi,
Hereby the logging with AT commands:

AT+COPS?

+COPS: 0,0,"NL KPN",7

OK
AT+CGATT?

+CGATT: 1

OK
AT+CGACT?

+CGACT: 0,0

+CGACT: 1,1

+CGACT: 2,0

OK
AT+CGACT=1,1

OK
AT+CGACT?

+CGACT: 0,0

+CGACT: 1,1

+CGACT: 2,0

OK
AT+CGACT=1,1

OK
AT+CGACT?

+CGACT: 0,0

+CGACT: 1,1

+CGACT: 2,0

OK
AT+CGACT=1,1

OK
AT+CGACT?

+CGACT: 0,0

+CGACT: 1,1

+CGACT: 2,0

OK
AT+CGACT=1,1

OK
AT+CGACT?

+CGACT: 0,0

+CGACT: 1,1

+CGACT: 2,0

OK
AT+CGACT=1,1

OK
U_CELL_NET: unable to activate a PDP context, is APN "mobileinternet.tele2.se" correct?

As you can see the AT+CGACT? replies with 3 different PDP statusses and only the first one (+CGACT: 0,0) is processed.
The first +CGACT: 0,0 -> not activated
The second one +CGACT: 1,1 -> activated
The tirth one +CGACT: 2,0 -> not activated.

I'm using the SARA-R510M8S-00B modem.

from ubxlib.

RobMeades avatar RobMeades commented on July 20, 2024

Fascinating: not a behaviour we see here, must be network dependent. Fix (as you have proposed, remove the optimisation) is under test.

from ubxlib.

philwareublox avatar philwareublox commented on July 20, 2024

Hi,

Can I ask what MNO Profile you are using?
+CGACT will return the same number of PDP Contexts defines, which can be queries by +CGDCONT?

The number and values depend on the MNO Profile.

The PDP Contexts which are defined per MNO profile are listed in the AT manual Appendix.

Would be interesting to know if the profile you have selected/using has the correct number of +CGACT responses expected.

Phil.

from ubxlib.

jraats avatar jraats commented on July 20, 2024

I'm currently using MNO profile 90. I used profile 100 (europe), but I needed to support Taiwan, so I switched to 90 (Global).
Do you want me to test with different profiles? Which kind of profiles do you want me to test? I'm living in the Netherlands so all europe profiles are fine for testing.

from ubxlib.

philwareublox avatar philwareublox commented on July 20, 2024

Thanks. Global Profile 90 should only have one PDP Context defined. Could you show the AT log of the "+CGDCONT?" query?
I suspect this is showing up three contexts, but the profile shows only one.

Can you confirm what firmware your R510M8S-00B module has? v2.xx?

Also if you try to set MNO Profile 100, and then go back to MNO Profile 90, do you still see the three contexts?

from ubxlib.

RobMeades avatar RobMeades commented on July 20, 2024

@jraats: fix in commit ed77521.

from ubxlib.

syedqaisar avatar syedqaisar commented on July 20, 2024

Hi RobMeades, After updating the ubxlib to the latest version (master) I'm unable to activate the PDP context. The problem is that the library doesn't read the actual status (the PDP context is in fact activated).

The problem is created in commit ac08677 were the +CGACT status is not fully read.

The old implementation was:

uAtClientLockExtend(atHandle);
uAtClientTimeoutSet(atHandle,
					pInstance->pModule->responseMaxWaitMs);
uAtClientCommandStart(atHandle, "AT+CGACT?");
uAtClientCommandStop(atHandle);
ours = false;
for (size_t y = 0; (y < U_CELL_NET_MAX_NUM_CONTEXTS) && !ours; y++) {
	uAtClientResponseStart(atHandle, "+CGACT:");
	// Check if this is our context ID
	if (uAtClientReadInt(atHandle) == contextId) {
		ours = true;
		// If it is, 1 means activated
		activated = (uAtClientReadInt(atHandle) == 1);
	}
}
uAtClientResponseStop(atHandle);

which requests the CGACT status and reads for U_CELL_NET_MAX_NUM_CONTEXTS times the status.

The new implementation is:

uAtClientLockExtend(atHandle);
uAtClientTimeoutSet(atHandle,
					pInstance->pModule->responseMaxWaitMs);
uAtClientCommandStart(atHandle, "AT+CGACT?");
uAtClientCommandStop(atHandle);
ours = false;
for (size_t y = 0; (y < maxNumContexts) && !ours; y++) {
	uAtClientResponseStart(atHandle, "+CGACT:");
	// Check if this is our context ID
	if (uAtClientReadInt(atHandle) == contextId) {
		ours = true;
		// If it is, 1 means activated
		activated = (uAtClientReadInt(atHandle) == 1);
	}
}
uAtClientResponseStop(atHandle);

which requests the CGACT status and reads for maxNumContexts (=1) times the status.

The PDP context to activate is 1, but the for loop will stop after processing the first response and (wrongly) returning that the PDP context is not activated.

After changing

for (size_t y = 0; (y < maxNumContexts) && !ours; y++) {

from

for (size_t y = 0; (y < maxNumContexts) && !ours; y++) {

to

for (size_t y = 0; (y < U_CELL_NET_MAX_NUM_CONTEXTS) && !ours; y++) {

everything is working as intended.

Can you look at this bug and apply a fix for this?

Thanks in advance.

Hello jraat.
i am using Ublox Sara r422 for cellular through tcp. and i want to ubxlib but i am unable to use it, can you help me.
thank you.

from ubxlib.

RobMeades avatar RobMeades commented on July 20, 2024

@jraats: I am going to close this one now as I think we are done: please feel free to re-open it (or open a new issue) if there is more to discuss.

from ubxlib.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.