diff mbox

omap4-droid4: voice call support was Re: [PATCHv5,5/5] ARM: dts: omap4-droid4: add soundcard

Message ID 20180330175050.GA26571@amd (mailing list archive)
State New, archived
Headers show

Commit Message

Pavel Machek March 30, 2018, 5:50 p.m. UTC
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 mbox

Patch

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;
 }