Merge "[T103_SZZT][SZZT-77][factory-test]Sleep instructions are not in effect" into Factory
diff --git a/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp b/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp
index e9c1614..83e866c 100755
--- a/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp
@@ -16,6 +16,7 @@
 int already_gps = 0;
 int enable_nema = 0;
 int sustain = 1;
+char rgmii[32] = {0};
 pthread_t lynq_gps_tid;
 // static pthread_mutex_t s_gps_state_change_mutex = PTHREAD_MUTEX_INITIALIZER;
 // static pthread_cond_t s_gps_change_cond = PTHREAD_COND_INITIALIZER;
@@ -119,47 +120,37 @@
 
 void *thread_test_RGMII(void *arg){
     FILE *fp;
-    char ipv4[128] = {0};
-    fp= popen("ifconfig 'eth0' | grep \"inet addr\" | cut -f 2 -d \":\" | cut -f 1 -d \" \" 2>&1", "r");
+    char cmd[128] = {0};
+    sprintf(cmd, "%s %s %s %s", "ping -I eth0", rgmii, "-c4", "2>&1");
+    fp=popen(cmd, "r");
     if(NULL == fp){
         lynq_factory_response_ttyGS3("popen errorn\n");
         return 0;
     }
-    fgets(ipv4,sizeof(ipv4),fp);
-    if(strstr(ipv4, "error"))
+    char lynq_factory_buf[1024] = {0};
+    while (NULL != fgets(lynq_factory_buf,sizeof(lynq_factory_buf),fp))
     {
-        lynq_factory_response_ttyGS3("RGMII don't insert\n");
-        return 0;
-    }
-    else
-    {
-        parse_ipv4(ipv4);
-        char cmd[128] = {0};
-        sprintf(cmd, "%s %s %s %s", "ping -I eth0", ipv4, "-c4", "2>&1");
-        fp=popen(cmd, "r");
-        if(NULL == fp){
-            lynq_factory_response_ttyGS3("popen errorn\n");
+        if(strstr(lynq_factory_buf, "Usage"))
+        {
+            lynq_factory_response_ttyGS3("RGMII cannot recognize IP addresses\n");
+            lynq_factory_response_ttyGS3("ERROR\n");
+            pclose(fp);
             return 0;
         }
-        char lynq_factory_buf[1024] = {0};
-        while (NULL != fgets(lynq_factory_buf,sizeof(lynq_factory_buf),fp))
-        {
-            if(strstr(lynq_factory_buf, "Usage"))
-            {
-                lynq_factory_response_ttyGS3("RGMII cannot recognize IP addresses\n");
-                lynq_factory_response_ttyGS3("ERROR\n");
-                pclose(fp);
-                return 0;
-            }
-            lynq_factory_response_ttyGS3(lynq_factory_buf);
-        }
-        lynq_factory_response_ttyGS3("OK\n");
-        pclose(fp);
-        return 0;
+        lynq_factory_response_ttyGS3(lynq_factory_buf);
     }
+    lynq_factory_response_ttyGS3("OK\n");
+    pclose(fp);
+    return 0;
 }
 
-static void lynq_test_RGMII(void){
+static void lynq_test_RGMII(char *ipv4){
+    if(ipv4 == NULL)
+    {
+        lynq_factory_response_ttyGS3("INPUT ERROR\n");
+        return;
+    }
+    strcpy(rgmii, ipv4);
     pthread_t thid;
     if(pthread_create(&thid, NULL, thread_test_RGMII, NULL) != 0) {
         return;
@@ -606,7 +597,7 @@
     }
     #endif
     else if(!strcmp(argv[3], "rgmii")){
-        lynq_test_RGMII();
+        lynq_test_RGMII(argv[4]);
     }
     else if((!strcmp(argv[3],"adc")))
     {