Dial-up managment problem


#1

Hi, me it is necessary to install CSD call on modem and send some information.
I do following:

  1. wait for CREG
  2. enter PIN
  3. wait for ADL_SIM_EVENT_FULL_INIT
  4. make CGATT

After attach, I execute ed_GprsSetConfig, here in after ed_PPPSetConfig, ed_DialupSetConfig and finally ed_DialupConnectionStart. The Result ED_ERR_NO_CARRIER.

Wind 5, 1
does not pass as in the event of with atd atd works.

why i have ED_ERR_NO_CARRIER.


#2

Anybody hear me? Please help.


#3

Hi Adven,

To solve the problem, please check out the following:

  1. Please check if you have data call feature enabled on the Wireless CPU.
    This you can do by issuing ATD command.
  2. Check out the signal strength received by the Wireless CPU. This you can find by issuing AT+CSQ command.

You can also post your code snippet, which you feel might be causing the problem so that forum members can have a look what is being done.

Best Regards,
Open AT Fan.


#4

Hi, OpenAT_Fan. Fanks for help.

The Command ATD works correct, i.e. I have made CSD call to modem.
The Answer to AT+CSQ - 30,0.

That code I am using to make CSD call by eDlib functions, after CREG response, ADL_SIM_EVENT_FULL_INIT and CGATT response.

void TrySetCSDOutSession(void)
{
	char state;
	ed_dialupSetupParams_t dialupParams;
	ed_gprsSetupParams_t gprsParams;

	memset(&gprsParams, 0, sizeof(ed_gprsSetupParams_t));
	state = ed_GprsGetConfig(&gprsParams);
	gprsParams.Mode = 0;
	state = ed_GprsSetConfig(&gprsParams);
	switch(state) {
		case ED_ERR_MODEM_RUNNING:
		case ED_ERR_SERVICE_ALREADY_RUNNING:
		case OK:
			break;
		case ED_ERR_NOT_INIT:
		case ED_ERR_INVALID_ARG:
		case ED_ERR_PARAM_BAD_VALUE:
		case ED_ERR_PARAM_TOO_LONG:
		case ED_ERR_PARAM_READ_E2P:
			TRACE((1, "ed_GprsSetConfig err=%d", state));
			return;
			break;

	}
	memset(&dialupParams, 0, sizeof(ed_dialupSetupParams_t));
        strcpy(dialupParams.DialN1, "89066379810");
        strcpy(dialupParams.DialN2, "89066379810");
	dialupParams.DialSelect = 1;
	dialupParams.RedialCount = 4;
	dialupParams.PhyTimeout = 2; 
	dialupParams.RedialDelay = 5;
	state = ed_DialupSetConfig(&dialupParams);
	switch(state) {
		case ED_ERR_NOT_INIT:
		case ED_ERR_PARAM_BAD_VALUE:
		case ED_ERR_PARAM_TOO_LONG:
		case ED_ERR_PARAM_WRITE_E2P:
		case ED_ERR_INVALID_ARG:
			TRACE((1, "ed_DialupSetConfig err=%d", state));
			return;
			break;
	}
	state = ed_DialupConnectionStart(CommonResponses);
	switch(state) {
		case ED_ERR_MODEM_RUNNING:
		case OK:
			break;
		case ED_ERR_NOT_INIT:
		case ED_ERR_PIN_NOT_ENTERED:
		case ED_ERR_NETWORK_KO:
		case ED_ERR_INVALID_ARG:
		case ED_ERR_NO_GPRS:
			TRACE((1, "ed_DialupConnectionStart err=%d", state));
			return;
			break;
	}
	return;
}

After ed_DialupConnectionStart in CommonResponses function, I received ED_ERR_NO_CARRIER.

TerminalEmulator shows only wind 6,1, without wind 5,1 , wind 9 and wind 2 as it was with ATD command.


#5

Hi Adven,

Please enable the ATI Level 1 traces in the TMT and check out if you are able to see the ATD command.
When the CSD is to be used as a bearer, eDLIB internally issues ATD commmand to dial out the number. After the ATD command, check out if you receive a +WIND: 5, 1 and WIND: 2 indications.
This would tell if the command is created at all.

In case, ATD is not issued, it means that there is some problem in the parameter setting and eDLIB is not issuing the ATD command itself.

Hope this helps.

Best Regards,
Open AT Fan.


#6

Hi, OpenAT_Fan!
Thank you very much for help. I have done as you advised. The atd command have been called, but the CSD service was disabled.
Best Regards.


#7

Hi Adven,

Was the CSD disabled on the SIM? In that case, if you enable the CSD, the call can be made and your application would work.

I hope that you have solved your problem.

Best Regards,
Open AT Fan.


#8

Hi, OpenAT_Fan

What command to have charge of this? I mean, how I can check the SIM options?

Thanks


#9

Hi Adven,

I don’t think we have any AT command which can tell us whether CSD is enabled on the Wireless CPU or not. You have to experiment by executing a CSD call (by issuing ATD command (without a semicolon)) and see if the call is created. If it works, then you have CSD.
If you receive a +CME ERROR, the it means that the service is not enabled on the SIM.

The best way would be to contact your service provider and get it enabled.

Best Regards,
Open AT Fan.


#10

It`s ok OpenAT_Fan, we are solved this problem. Realy, the Mobile Operator has disable this function.

Thank you for help.