On Fri 2018-03-30 15:07:24, Merlijn Wajer wrote:
On 30/03/18 12:37, Pavel Machek wrote:
On Thu 2018-03-29 14:56:13, Tony Lindgren wrote:
- Pavel Machek pavel@ucw.cz [180329 18:41]:
Thanks. I got call working including outgoing audio: in capture settings, right->mic 1, Mic1 + Mic2 in alsamixer -> 100%. But I had the other phone muted, so I don't yet know if such call would be of usable quality.
Great, good to hear that :)
I also got ofonod to work, with rather crazy hacks. But I now have incoming/outgoing calls with GUI :-).
Would you mind sharing those hacks - I would like to play around with ofonod as well. Maybe I can help with a way forward.
Okay. Here's less hacky version of the hack, but still using AT commands. You still need to set up udev, as described in the other mail.
And... it seems I can have a qmi connection, too, but that's topic for other email.
Good luck, Pavel
diff --git a/drivers/atmodem/sms.c b/drivers/atmodem/sms.c index 68b89862..3a9f4bc0 100644 --- a/drivers/atmodem/sms.c +++ b/drivers/atmodem/sms.c @@ -440,6 +440,8 @@ static void at_cmt_notify(GAtResult *result, gpointer user_data) if (data->vendor != OFONO_VENDOR_SIMCOM) at_ack_delivery(sms);
+ return; + err: ofono_error("Unable to parse CMT notification"); } diff --git a/plugins/udevng.c b/plugins/udevng.c index ff5d41af..a4b18488 100644 --- a/plugins/udevng.c +++ b/plugins/udevng.c @@ -233,10 +233,11 @@ static gboolean setup_gobi(struct modem_info *modem) } }
+ DBG("qmi=%s net=%s mdm=%s gps=%s diag=%s", qmi, net, mdm, gps, diag); + if (qmi == NULL || mdm == NULL || net == NULL) return FALSE;
- DBG("qmi=%s net=%s mdm=%s gps=%s diag=%s", qmi, net, mdm, gps, diag);
ofono_modem_set_string(modem->modem, "Device", qmi); ofono_modem_set_string(modem->modem, "Modem", mdm); @@ -1250,6 +1251,7 @@ static struct { { "cinterion", setup_serial_modem }, { "nokiacdma", setup_serial_modem }, { "sim900", setup_serial_modem }, + { "g1", setup_serial_modem }, { "wavecom", setup_wavecom }, { "tc65", setup_tc65 }, { "ehs6", setup_ehs6 }, @@ -1578,8 +1580,6 @@ static struct { { "mbm", "cdc_ether", "0930" }, { "mbm", "cdc_ncm", "0930" }, { "hso", "hso" }, - { "gobi", "qmi_wwan" }, - { "gobi", "qcserial" }, { "sierra", "qmi_wwan", "1199" }, { "sierra", "qcserial", "1199" }, { "sierra", "sierra" }, @@ -1602,6 +1602,8 @@ static struct { { "telit", "cdc_acm", "1bc7", "0021" }, { "telitqmi", "qmi_wwan", "1bc7", "1201" }, { "telitqmi", "option", "1bc7", "1201" }, + { "telitqmi", "qmi_wwan", "22b8", "2a70" }, + { "telitqmi", "option", "22b8", "2a70" }, { "nokia", "option", "0421", "060e" }, { "nokia", "option", "0421", "0623" }, { "samsung", "option", "04e8", "6889" }, @@ -1717,10 +1719,12 @@ static void check_device(struct udev_device *device) return; }
+#if 0 if ((g_str_equal(bus, "usb") == TRUE) || (g_str_equal(bus, "usbmisc") == TRUE)) check_usb_device(device); else +#endif add_serial_device(device);
} @@ -1749,14 +1753,17 @@ static gboolean create_modem(gpointer key, gpointer value, gpointer user_data) if (g_str_equal(driver_list[i].name, modem->driver) == FALSE) continue;
+ DBG("Attempting modem setup, driver %s", modem->driver); if (driver_list[i].setup(modem) == TRUE) { ofono_modem_set_string(modem->modem, "SystemPath", syspath); ofono_modem_register(modem->modem); return FALSE; } + DBG("Modem setup failed, driver %s", modem->driver); }
+ DBG("Modem setup failed or not in driver_list?"); return TRUE; }