|
|
@ -525,7 +525,8 @@ MODEM_CHAT_MATCHES_DEFINE(dial_abort_matches, |
|
|
|
MODEM_CHAT_MATCH("NO CARRIER", "", NULL), |
|
|
|
MODEM_CHAT_MATCH("NO CARRIER", "", NULL), |
|
|
|
MODEM_CHAT_MATCH("NO DIALTONE", "", NULL)); |
|
|
|
MODEM_CHAT_MATCH("NO DIALTONE", "", NULL)); |
|
|
|
|
|
|
|
|
|
|
|
#if DT_HAS_COMPAT_STATUS_OKAY(swir_hl7800) || DT_HAS_COMPAT_STATUS_OKAY(sqn_gm02s) |
|
|
|
#if DT_HAS_COMPAT_STATUS_OKAY(swir_hl7800) || DT_HAS_COMPAT_STATUS_OKAY(sqn_gm02s) || \ |
|
|
|
|
|
|
|
DT_HAS_COMPAT_STATUS_OKAY(quectel_eg800q) |
|
|
|
MODEM_CHAT_MATCH_DEFINE(connect_match, "CONNECT", "", NULL); |
|
|
|
MODEM_CHAT_MATCH_DEFINE(connect_match, "CONNECT", "", NULL); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
@ -2022,6 +2023,54 @@ MODEM_CHAT_SCRIPT_DEFINE(quectel_eg25_g_periodic_chat_script, |
|
|
|
modem_cellular_chat_callback_handler, 4); |
|
|
|
modem_cellular_chat_callback_handler, 4); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if DT_HAS_COMPAT_STATUS_OKAY(quectel_eg800q) |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMDS_DEFINE(quectel_eg800q_init_chat_script_cmds, |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("ATE0", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CFUN?", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CFUN=4", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CMEE=1", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CEREG=1", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CEREG?", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CGSN", imei_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CGMM", cgmm_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CGMI", cgmi_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CGMR", cgmr_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CIMI", cimi_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CMUX=0,0,5,127", ok_match)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_DEFINE(quectel_eg800q_init_chat_script, quectel_eg800q_init_chat_script_cmds, |
|
|
|
|
|
|
|
abort_matches, modem_cellular_chat_callback_handler, 30); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMDS_DEFINE(quectel_eg800q_dial_chat_script_cmds, |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP_MULT("AT+CGACT=0,1", allow_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CGDCONT=1,\"IP\"," |
|
|
|
|
|
|
|
"\""CONFIG_MODEM_CELLULAR_APN"\"", |
|
|
|
|
|
|
|
ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CFUN=1", ok_match), |
|
|
|
|
|
|
|
/* this at command is required as a small delay before performing
|
|
|
|
|
|
|
|
* dialing, otherwise we get 'NO CARRIER' and abort |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP_NONE("AT", 500), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("ATD*99***1#", connect_match),); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_DEFINE(quectel_eg800q_dial_chat_script, quectel_eg800q_dial_chat_script_cmds, |
|
|
|
|
|
|
|
dial_abort_matches, modem_cellular_chat_callback_handler, 10); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMDS_DEFINE(quectel_eg800q_periodic_chat_script_cmds, |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CEREG?", ok_match), |
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP("AT+CSQ", csq_match)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODEM_CHAT_SCRIPT_DEFINE(quectel_eg800q_periodic_chat_script, |
|
|
|
|
|
|
|
quectel_eg800q_periodic_chat_script_cmds, abort_matches, |
|
|
|
|
|
|
|
modem_cellular_chat_callback_handler, 4); |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if DT_HAS_COMPAT_STATUS_OKAY(simcom_sim7080) |
|
|
|
#if DT_HAS_COMPAT_STATUS_OKAY(simcom_sim7080) |
|
|
|
MODEM_CHAT_SCRIPT_CMDS_DEFINE(simcom_sim7080_init_chat_script_cmds, |
|
|
|
MODEM_CHAT_SCRIPT_CMDS_DEFINE(simcom_sim7080_init_chat_script_cmds, |
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP_NONE("AT", 100), |
|
|
|
MODEM_CHAT_SCRIPT_CMD_RESP_NONE("AT", 100), |
|
|
@ -2551,6 +2600,25 @@ MODEM_CHAT_SCRIPT_DEFINE(sqn_gm02s_periodic_chat_script, |
|
|
|
&quectel_eg25_g_dial_chat_script, \ |
|
|
|
&quectel_eg25_g_dial_chat_script, \ |
|
|
|
&quectel_eg25_g_periodic_chat_script, NULL) |
|
|
|
&quectel_eg25_g_periodic_chat_script, NULL) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define MODEM_CELLULAR_DEVICE_QUECTEL_EG800Q(inst) \ |
|
|
|
|
|
|
|
MODEM_PPP_DEFINE(MODEM_CELLULAR_INST_NAME(ppp, inst), NULL, 98, 1500, 64); \ |
|
|
|
|
|
|
|
\ |
|
|
|
|
|
|
|
static struct modem_cellular_data MODEM_CELLULAR_INST_NAME(data, inst) = { \ |
|
|
|
|
|
|
|
.chat_delimiter = "\r", \ |
|
|
|
|
|
|
|
.chat_filter = "\n", \ |
|
|
|
|
|
|
|
.ppp = &MODEM_CELLULAR_INST_NAME(ppp, inst), \ |
|
|
|
|
|
|
|
}; \ |
|
|
|
|
|
|
|
\ |
|
|
|
|
|
|
|
MODEM_CELLULAR_DEFINE_AND_INIT_USER_PIPES(inst, \ |
|
|
|
|
|
|
|
(user_pipe_0, 3), \ |
|
|
|
|
|
|
|
(user_pipe_1, 4)) \ |
|
|
|
|
|
|
|
\ |
|
|
|
|
|
|
|
MODEM_CELLULAR_DEFINE_INSTANCE(inst, 1500, 500, 15000, 5000, false, \ |
|
|
|
|
|
|
|
NULL, \ |
|
|
|
|
|
|
|
&quectel_eg800q_init_chat_script, \ |
|
|
|
|
|
|
|
&quectel_eg800q_dial_chat_script, \ |
|
|
|
|
|
|
|
&quectel_eg800q_periodic_chat_script, NULL) |
|
|
|
|
|
|
|
|
|
|
|
#define MODEM_CELLULAR_DEVICE_SIMCOM_SIM7080(inst) \ |
|
|
|
#define MODEM_CELLULAR_DEVICE_SIMCOM_SIM7080(inst) \ |
|
|
|
MODEM_PPP_DEFINE(MODEM_CELLULAR_INST_NAME(ppp, inst), NULL, 98, 1500, 64); \ |
|
|
|
MODEM_PPP_DEFINE(MODEM_CELLULAR_INST_NAME(ppp, inst), NULL, 98, 1500, 64); \ |
|
|
|
\ |
|
|
|
\ |
|
|
@ -2729,6 +2797,10 @@ DT_INST_FOREACH_STATUS_OKAY(MODEM_CELLULAR_DEVICE_QUECTEL_BG95) |
|
|
|
DT_INST_FOREACH_STATUS_OKAY(MODEM_CELLULAR_DEVICE_QUECTEL_EG25_G) |
|
|
|
DT_INST_FOREACH_STATUS_OKAY(MODEM_CELLULAR_DEVICE_QUECTEL_EG25_G) |
|
|
|
#undef DT_DRV_COMPAT |
|
|
|
#undef DT_DRV_COMPAT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define DT_DRV_COMPAT quectel_eg800q |
|
|
|
|
|
|
|
DT_INST_FOREACH_STATUS_OKAY(MODEM_CELLULAR_DEVICE_QUECTEL_EG800Q) |
|
|
|
|
|
|
|
#undef DT_DRV_COMPAT |
|
|
|
|
|
|
|
|
|
|
|
#define DT_DRV_COMPAT simcom_sim7080 |
|
|
|
#define DT_DRV_COMPAT simcom_sim7080 |
|
|
|
DT_INST_FOREACH_STATUS_OKAY(MODEM_CELLULAR_DEVICE_SIMCOM_SIM7080) |
|
|
|
DT_INST_FOREACH_STATUS_OKAY(MODEM_CELLULAR_DEVICE_SIMCOM_SIM7080) |
|
|
|
#undef DT_DRV_COMPAT |
|
|
|
#undef DT_DRV_COMPAT |
|
|
|