ltq-adsl-app: add more script notifications
[openwrt/staging/chunkeey.git] / package / network / config / ltq-adsl-app / patches / 100-add-more-script-notifications.patch
diff --git a/package/network/config/ltq-adsl-app/patches/100-add-more-script-notifications.patch b/package/network/config/ltq-adsl-app/patches/100-add-more-script-notifications.patch
new file mode 100644 (file)
index 0000000..9d611c1
--- /dev/null
@@ -0,0 +1,42 @@
+From 9d4f86ba2cf10304303011f4f5628fa68dc77624 Mon Sep 17 00:00:00 2001
+From: Mathias Kresin <dev@kresin.me>
+Date: Mon, 16 Oct 2017 21:08:26 +0200
+Subject: ltq-adsl-app: add more script notifications
+
+Backport HANDSHAKE and TRAINING notification from ltq-vdsl-app. It
+unifies the dsl led blinking pattern accross all subtargets and allows
+to get the current line status from the dsl led.
+
+Signed-off-by: Mathias Kresin <dev@kresin.me>
+---
+ .../100-add-more-script-notifications.patch        | 27 ++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+ create mode 100644 package/network/config/ltq-adsl-app/patches/100-add-more-script-notifications.patch
+
+--- a/src/dsl_cpe_control.c
++++ b/src/dsl_cpe_control.c
+@@ -3273,7 +3273,23 @@ DSL_CPE_STATIC DSL_int_t DSL_CPE_Event_S
+ #ifdef INCLUDE_SCRIPT_NOTIFICATION
+    if (g_sRcScript != DSL_NULL)
+    {
+-      if ( (nLineState == DSL_LINESTATE_SHOWTIME_TC_SYNC) &&
++      if ( (nLineState == DSL_LINESTATE_HANDSHAKE) &&
++                (g_nPrevLineState[nDevice] != DSL_LINESTATE_HANDSHAKE) )
++      {
++         if (DSL_CPE_SetEnv("DSL_INTERFACE_STATUS", "HANDSHAKE") == DSL_SUCCESS)
++         {
++            bExec = DSL_TRUE;
++         }
++      }
++      else if ( (nLineState == DSL_LINESTATE_FULL_INIT) &&
++                (g_nPrevLineState[nDevice] != DSL_LINESTATE_FULL_INIT) )
++      {
++         if (DSL_CPE_SetEnv("DSL_INTERFACE_STATUS", "TRAINING") == DSL_SUCCESS)
++         {
++            bExec = DSL_TRUE;
++         }
++      }
++      else if ( (nLineState == DSL_LINESTATE_SHOWTIME_TC_SYNC) &&
+            (g_nPrevLineState[nDevice] != DSL_LINESTATE_SHOWTIME_TC_SYNC) )
+       {
+          if (DSL_CPE_SetEnv("DSL_INTERFACE_STATUS", "UP") == DSL_SUCCESS)