Droid 4 modem is "special" (aka broken) so and getting incoming SMSes to work is quite tricky. This should get it right. --- drivers/atmodem/sms.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/drivers/atmodem/sms.c b/drivers/atmodem/sms.c index d502da72..f08f2fb1 100644 --- a/drivers/atmodem/sms.c +++ b/drivers/atmodem/sms.c @@ -463,7 +463,8 @@ static void at_cmt_notify(GAtResult *result, gpointer user_data) decode_hex_own_buf(hexpdu, -1, &pdu_len, 0, pdu); ofono_sms_deliver_notify(sms, pdu, pdu_len, tpdu_len); - if (data->vendor != OFONO_VENDOR_SIMCOM) + if ((data->vendor != OFONO_VENDOR_SIMCOM) && + (data->vendor != OFONO_VENDOR_DROID)) at_ack_delivery(sms); return; @@ -845,6 +846,7 @@ static gboolean build_cnmi_string(char *buf, int *cnmi_opts, case OFONO_VENDOR_ZTE: case OFONO_VENDOR_SIMCOM: case OFONO_VENDOR_QUECTEL: + case OFONO_VENDOR_DROID: /* MSM devices advertise support for mode 2, but return an * error if we attempt to actually use it. */ mode = "1"; @@ -858,9 +860,14 @@ static gboolean build_cnmi_string(char *buf, int *cnmi_opts, if (!append_cnmi_element(buf, &len, cnmi_opts[0], mode, FALSE)) return FALSE; + mode = "21"; + if (!data->cnma_enabled) + mode = "1"; + if (data->vendor == OFONO_VENDOR_DROID) + mode = "2"; + /* Prefer to deliver SMS via +CMT if CNMA is supported */ - if (!append_cnmi_element(buf, &len, cnmi_opts[1], - data->cnma_enabled ? "21" : "1", FALSE)) + if (!append_cnmi_element(buf, &len, cnmi_opts[1], mode, FALSE)) return FALSE; switch (data->vendor) { @@ -1290,6 +1297,8 @@ static void at_csms_query_cb(gboolean ok, GAtResult *result, goto out; switch (data->vendor) { + case OFONO_VENDOR_DROID: + break; case OFONO_VENDOR_QUECTEL_SERIAL: g_at_result_iter_next_number(&iter, &status_min); g_at_result_iter_next_number(&iter, &status_max); -- 2.11.0 -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
signature.asc
Description: PGP signature
_______________________________________________ ofono mailing list -- ofono@ofono.org To unsubscribe send an email to ofono-le...@ofono.org