Hi, me it is necessary to install CSD call on modem and send some information.
I do following:
wait for CREG
enter PIN
wait for ADL_SIM_EVENT_FULL_INIT
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.
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.
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.
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.
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.