On Monday 09 March 2009, HouYu Li wrote:

I think Lorn is not ready yet. I managed to setup one myself.

OK - I'll send the echo cancellation patch to the list now as applied to your 4.4.3 repository (I've created a local branch called chris for now). The 4.4.2 patch applied with no changes and no fuzz.

cheers,
Chris

Hi HouYu and Chris,
i am using QTE from your git repo. For me the echo cancellation patch
does work just for outgoing calls. If someone calls me, he has still
echo.

I think that the AT%N0187 is not sent before incoming call. The patch
adds it to many places, but the only right place IMO is before outgoing
and incoming call.

The outgoing is ok - it's function dialVoiceCommand(). The incoming -
i am not sure yet which function is the right place.

As first experiment i have put it in abortDial() function. Now if i
hang up (abort) dialing the AT%N0187 is sent and next incoming call is
without echo. I can even suspend my phone and the AT%N0187 effect
remains.

I am attaching my patch. My next step is to find a function that is
called before incoming call and send AT%N0187 there.

Radek
diff --git a/devices/neo/src/plugins/phonevendors/neo/vendor_neo.cpp b/devices/neo/src/plugins/phonevendors/neo/vendor_neo.cpp
index d27b4eb..22c0b1b 100644
--- a/devices/neo/src/plugins/phonevendors/neo/vendor_neo.cpp
+++ b/devices/neo/src/plugins/phonevendors/neo/vendor_neo.cpp
@@ -64,6 +64,8 @@ void NeoCallProvider::abortDial( uint id, QPhoneCall::Scope scope )
 
     // Use default behaviour of CR followed by AT+CHLD - seems to work better.
     QModemCallProvider::abortDial( id, scope );
+
+    modemService->primaryAtChat()->chat( "AT%N0187" );
 }
 
 void NeoCallProvider::cpiNotification( const QString& msg )
@@ -153,8 +155,7 @@ QString NeoCallProvider::dialVoiceCommand(const QDialOptions& options) const
 // do undocumented echo cancellation and noise reduction
 
     modemService->primaryAtChat()->chat( "a...@st=\"-26\"" );
-    modemService->primaryAtChat()->chat( "AT%N028B" );
-    modemService->primaryAtChat()->chat( "AT%N0125" );
+    modemService->primaryAtChat()->chat( "AT%N0187" );
     return QModemCallProvider::dialVoiceCommand(options);
 }
 
_______________________________________________
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community

Reply via email to