[PATCH] Added echo suppression fixes for the OpenMoko Neo phone.

andrew howlett andrew at howlett.net
Tue Mar 10 16:11:05 CET 2009


Hi Chris,

Thanks for the update. I've been using the 4.4.2 patch against 4.4.3 source
with no compile problems and no echo since 4.4.3 was released last week.

Hats off and many thanks for fixing the echo/noise reduction problems.

andrew howlett,
owen sound, canada.



Chris Samuel wrote:
> 
> The original Qt Extended 4.4.3 initially set both echo
> suppression and noise reduction in separate AT commands
> which might result in the second command negating the
> first one.  It also only set them for outgoing calls.
> 
> This new version uses the AT command to set both
> echo suppression and noise reduction at the same
> time as well as setting them on initialisation and
> after a wake up.
> 
> This is identical to the patch against QtE 4.4.2 and
> applied cleanly with no fuzz with QtE 4.4.3.
> 
> Signed-off-by: Chris Samuel <chris at csamuel.org>
> ---
>  .../src/plugins/phonevendors/neo/vendor_neo.cpp    |   17
> ++++++++++++++---
>  1 files changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/devices/neo/src/plugins/phonevendors/neo/vendor_neo.cpp
> b/devices/neo/src/plugins/phonevendors/neo/vendor_neo.cpp
> index d27b4eb..35f7a0b 100644
> --- a/devices/neo/src/plugins/phonevendors/neo/vendor_neo.cpp
> +++ b/devices/neo/src/plugins/phonevendors/neo/vendor_neo.cpp
> @@ -153,8 +153,7 @@ QString NeoCallProvider::dialVoiceCommand(const
> QDialOptions& options) const
>  // do undocumented echo cancellation and noise reduction
>  
>      modemService->primaryAtChat()->chat( "AT at ST=\"-26\"" );
> -    modemService->primaryAtChat()->chat( "AT%N028B" );
> -    modemService->primaryAtChat()->chat( "AT%N0125" );
> +    modemService->primaryAtChat()->chat( "AT%N0187" );
>      return QModemCallProvider::dialVoiceCommand(options);
>  }
>  
> @@ -551,11 +550,14 @@ NeoModemService::NeoModemService
>  
>      //  chat("AT%CMGRS=1"); //message transmission to get any failed sms
> during suspend
>  
> -   chat("AT%SLEEP=2"); //makes my Moko8 not respond to calls during
> sosuend
> +   chat("AT%SLEEP=2"); //makes my Moko8 not respond to calls during
> suspend
>      // Turn cell id information back on.
>      chat( "AT+CREG=2" );
>      chat( "AT+CGREG=2" );
>  
> +    // Turn on echo suppression and noise reduction.
> +    chat( "AT%N0187" );
> +
>      QTimer::singleShot(200, this, SLOT(sendRego()));
>  }
>  
> @@ -572,6 +574,9 @@ void NeoModemService::sendRego()
>      if( !cfg.value("PlaneMode",false).toBool()) {
>          //       chat("AT%NRG=0,0"); //force auto operations
>          chat("AT+COPS=0"); //force auto operations
> +
> +        // Turn on echo suppression and noise reduction.
> +        chat( "AT%N0187" );
>      }
>  }
>  
> @@ -679,6 +684,9 @@ void NeoModemService::reset()
>      chat("AT%CWUP=1");
>      chat("ATE0");
>  
> +    // Turn on echo suppression and noise reduction.
> +    chat( "AT%N0187" );
> +
>      // Turn on "%CNAP" notifications, which supply the caller's
>      // name on an call.  Only supported on some networks.
>      chat( "AT%CNAP=1" );
> @@ -738,6 +746,9 @@ void NeoModemService::wake()
>  
>      // Re-enable signal quality notifications when the system wakes up
> again.
>      chat( "AT%CSQ=1", this, SLOT(mcsqOn()) );
> +
> +    // Turn on echo suppression and noise reduction.
> +    chat( "AT%N0187" );
>  }
>  
>  void NeoModemService::mcsqOff()
> -- 
> 1.5.6.3
> 
> 
> _______________________________________________
> Openmoko community mailing list
> community at lists.openmoko.org
> http://lists.openmoko.org/mailman/listinfo/community
> 
> 

-- 
View this message in context: http://n2.nabble.com/-PATCH--Added-echo-suppression-fixes-for-the-OpenMoko-Neo-phone.-tp2448716p2455741.html
Sent from the Openmoko Community mailing list archive at Nabble.com.





More information about the community mailing list