diff --git a/ci-scripts/ci_ueinfra.yaml b/ci-scripts/ci_ueinfra.yaml
index c778b1cad3cf77952b0e15083ab2f1b9c32b2876..fa43669da67c2b0009439cd0c184e1ebcf5f02c3 100644
--- a/ci-scripts/ci_ueinfra.yaml
+++ b/ci-scripts/ci_ueinfra.yaml
@@ -5,8 +5,8 @@ idefix:
   Process : 
     Name : quectel-CM
     Cmd : /home/oaicicd/quectel-CM/quectel-CM -s oai.ipv4 -4
-  WakeupScript : ci_ctl_qtel.py /dev/ttyUSB2 wup
-  DetachScript : ci_ctl_qtel.py /dev/ttyUSB2 detach
+  WakeupScript : ci_qtel_ctl_slave.py wup /dev/ttyUSB2
+  DetachScript : ci_qtel_ctl_slave.py detach /dev/ttyUSB2
   PLMN : 22201
   UENetwork : enxb22a941dbf00 
   HostIPAddress : 192.168.18.188
diff --git a/ci-scripts/cls_oaicitest.py b/ci-scripts/cls_oaicitest.py
index 1e3e9e0134c293aed95ca35d9892a63e66252efc..794cc1c7d51981b2008c233ea30ad4f65ab43fc4 100644
--- a/ci-scripts/cls_oaicitest.py
+++ b/ci-scripts/cls_oaicitest.py
@@ -2227,29 +2227,19 @@ class OaiCiTest():
 			SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
 			cmd = 'rm iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
 			SSH.command(cmd,'\$',5)
-			
-			#cmd = 'echo $USER; nohup iperf3 -s -i 1 2>&1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
-			#SSH.command(cmd,'\$',5)
-
-			HOST=EPC.IPAddress
-			COMMAND='echo $USER; nohup iperf3 -s -i 1 2>&1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
-			logging.debug(COMMAND)
-			subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
+			cmd = 'echo $USER; nohup iperf3 -s 2>&1 > iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
+			SSH.command(cmd,'\$',5)
 
 			#client side UE
+			#iperf3 used remotely cannot provide redirection to logfile for analysis
+			#thus we call (remotely) a local python script calling iperf3 itself
 			SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
 			cmd = 'rm iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
 			SSH.command(cmd,'\$',5)
-
-
-#			SSH.command('iperf3 -c ' + EPC.IPAddress + ' ' + self.iperf_args + ' 2>&1 > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log', '\$', int(iperf_time)*5.0)
-
-			HOST=Module_UE.HostIPAddress
-			COMMAND='iperf3 -c ' + EPC.IPAddress + ' ' + self.iperf_args + ' 2>&1 > iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
-			logging.debug(COMMAND)
-			subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
-
-
+			args=' -c ' + EPC.IPAddress + ' ' + self.iperf_args + ' --logfile iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
+			cmd = 'python3 ci_qtel_ctl_slave.py iperf \"args\" '
+			SSH.command(cmd, '\$', 5)
+			time.sleep(iperf_time*1.2)
 
 			#copy the 2 resulting files locally
 			SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log', '.')