All of lore.kernel.org
 help / color / mirror / Atom feed
* Huawei voice output port issue + patch
@ 2012-03-09 23:49 Jarkko Lehtoranta
  2012-03-10  2:26 ` Marcel Holtmann
  0 siblings, 1 reply; 3+ messages in thread
From: Jarkko Lehtoranta @ 2012-03-09 23:49 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 701 bytes --]

Hi,

Voice output serial port is enabled on some Huawei models (e.g. E169) 
without problems, but for example on E173u-2 it is never enabled during 
an incoming call. There might also be other Huawei models having the 
same issue.

I traced the issue down to "^DDSETEX" AT command, which is used to 
notify the device to start streaming audio. It seems that Ofono sends 
this command too early on incoming calls. The command should always be 
sent *after* the dial "D" or answer "A" command. The patch fixes this 
behavior and afterwards voice will also work on E173u-2.

Bug: https://bugs.meego.com/show_bug.cgi?id=25004
Patch: https://bugs.meego.com/attachment.cgi?id=9702

-Jarkko

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Huawei voice output port issue + patch
  2012-03-09 23:49 Huawei voice output port issue + patch Jarkko Lehtoranta
@ 2012-03-10  2:26 ` Marcel Holtmann
  2012-03-10 12:22   ` [PATCH] huawei: fix AT^DDSETEX=2 timing Jarkko Lehtoranta
  0 siblings, 1 reply; 3+ messages in thread
From: Marcel Holtmann @ 2012-03-10  2:26 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 816 bytes --]

Hi Jarkko,

> Voice output serial port is enabled on some Huawei models (e.g. E169) 
> without problems, but for example on E173u-2 it is never enabled during 
> an incoming call. There might also be other Huawei models having the 
> same issue.
> 
> I traced the issue down to "^DDSETEX" AT command, which is used to 
> notify the device to start streaming audio. It seems that Ofono sends 
> this command too early on incoming calls. The command should always be 
> sent *after* the dial "D" or answer "A" command. The patch fixes this 
> behavior and afterwards voice will also work on E173u-2.
> 
> Bug: https://bugs.meego.com/show_bug.cgi?id=25004
> Patch: https://bugs.meego.com/attachment.cgi?id=9702

inline patches please. I am not digging patches out of Bugzilla.

Regards

Marcel



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] huawei: fix AT^DDSETEX=2 timing
  2012-03-10  2:26 ` Marcel Holtmann
@ 2012-03-10 12:22   ` Jarkko Lehtoranta
  0 siblings, 0 replies; 3+ messages in thread
From: Jarkko Lehtoranta @ 2012-03-10 12:22 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 224 bytes --]

On 03/10/2012 04:26 AM, Marcel Holtmann wrote:
> Hi Jarkko,
>
> inline patches please. I am not digging patches out of Bugzilla.
>
> Regards
>
> Marcel
Here you go, patch for the Huawei voice output port issue.



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ofono_fix_huawei_ddsetex.patch --]
[-- Type: text/x-patch, Size: 1626 bytes --]

>From db13dd1dcdadefc9325fd159aebef10ac4b388c6 Mon Sep 17 00:00:00 2001
From: Jarkko Lehtoranta <devel@jlranta.com>
Date: Fri, 9 Mar 2012 19:51:29 +0200
Subject: [PATCH] huawei: fix AT^DDSETEX=2 timing

---
 drivers/huaweimodem/voicecall.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/huaweimodem/voicecall.c b/drivers/huaweimodem/voicecall.c
index 1ea2613..3952b95 100644
--- a/drivers/huaweimodem/voicecall.c
+++ b/drivers/huaweimodem/voicecall.c
@@ -78,9 +78,6 @@ static struct ofono_call *create_call(struct ofono_voicecall *vc, int type,
 
 	d->calls = g_slist_insert_sorted(d->calls, call, at_util_call_compare);
 
-	g_at_chat_send(d->chat, "AT^DDSETEX=2", none_prefix,
-						NULL, NULL, NULL);
-
 	return call;
 }
 
@@ -117,6 +114,7 @@ static void huawei_dial(struct ofono_voicecall *vc,
 				ofono_voicecall_cb_t cb, void *data)
 {
 	char buf[256];
+	struct voicecall_data *vd = ofono_voicecall_get_data(vc);
 
 	if (ph->type == 145)
 		snprintf(buf, sizeof(buf), "ATD+%s", ph->number);
@@ -137,12 +135,20 @@ static void huawei_dial(struct ofono_voicecall *vc,
 	strcat(buf, ";");
 
 	huawei_template(vc, buf, cb, data);
+	
+	g_at_chat_send(vd->chat, "AT^DDSETEX=2", none_prefix,
+						NULL, NULL, NULL);
 }
 
 static void huawei_answer(struct ofono_voicecall *vc,
 				ofono_voicecall_cb_t cb, void *data)
 {
+	struct voicecall_data *vd = ofono_voicecall_get_data(vc);
+	
 	huawei_template(vc, "ATA", cb, data);
+	
+	g_at_chat_send(vd->chat, "AT^DDSETEX=2", none_prefix,
+						NULL, NULL, NULL);
 }
 
 static void huawei_hangup(struct ofono_voicecall *vc,
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-03-10 12:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-09 23:49 Huawei voice output port issue + patch Jarkko Lehtoranta
2012-03-10  2:26 ` Marcel Holtmann
2012-03-10 12:22   ` [PATCH] huawei: fix AT^DDSETEX=2 timing Jarkko Lehtoranta

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.