static int he910_enable(struct ofono_modem *modem) { struct he910_data *data = ofono_modem_get_data(modem); DBG("%p", modem); data->modem = open_device(modem, "Modem", "Modem: "); if (data->modem == NULL) return -EINVAL; data->chat = open_device(modem, "Aux", "Aux: "); if (data->chat == NULL) { g_at_chat_unref(data->modem); data->modem = NULL; return -EIO; } g_at_chat_set_slave(data->modem, data->chat); /* * Disable command echo and * enable the Extended Error Result Codes */ g_at_chat_send(data->chat, "ATE0 +CMEE=1", none_prefix, NULL, NULL, NULL); /* Set phone functionality */ g_at_chat_send(data->chat, "AT+CFUN=1", none_prefix, cfun_enable_cb, modem, NULL); return -EINPROGRESS; }
static gboolean dlc_setup(gpointer user_data) { struct ofono_modem *modem = user_data; struct ifx_data *data = ofono_modem_get_data(modem); int i; DBG(""); for (i = 0; i < NUM_DLC; i++) g_at_chat_send(data->dlcs[i], "ATE0 +CMEE=1", NULL, NULL, NULL, NULL); g_at_chat_set_slave(data->dlcs[GPRS1_DLC], data->dlcs[NETREG_DLC]); g_at_chat_set_slave(data->dlcs[GPRS2_DLC], data->dlcs[NETREG_DLC]); g_at_chat_set_slave(data->dlcs[GPRS3_DLC], data->dlcs[NETREG_DLC]); g_at_chat_send(data->dlcs[AUX_DLC], "AT+CFUN=4", NULL, cfun_enable, modem, NULL); data->dlc_init_source = 0; return FALSE; }
static int telit_enable(struct ofono_modem *modem) { struct telit_data *data = ofono_modem_get_data(modem); DBG("%p", modem); data->modem = open_device(modem, "Modem", "Modem: "); if (data->modem == NULL) return -EINVAL; data->chat = open_device(modem, "Aux", "Aux: "); if (data->chat == NULL) { g_at_chat_unref(data->modem); data->modem = NULL; return -EIO; } g_at_chat_set_slave(data->modem, data->chat); /* * Disable command echo and * enable the Extended Error Result Codes */ g_at_chat_send(data->chat, "ATE0 +CMEE=1", none_prefix, NULL, NULL, NULL); /* * Disable sim state notification so that we sure get a notification * when we enable it again later and don't have to query it. */ g_at_chat_send(data->chat, "AT#QSS=0", none_prefix, NULL, NULL, NULL); /* Set phone functionality */ g_at_chat_send(data->chat, "AT+CFUN=4", none_prefix, cfun_enable_cb, modem, NULL); return -EINPROGRESS; }