diff --git a/userspace/snmpd/snmp_shmem.c b/userspace/snmpd/snmp_shmem.c
index a4bc179765ea5aeb16f7a3cfbea82cb6d5edcd23..bc967bddfc7ac206cbf48e35153feced31cd3395 100644
--- a/userspace/snmpd/snmp_shmem.c
+++ b/userspace/snmpd/snmp_shmem.c
@@ -232,29 +232,29 @@ void init_shm(void){
 			"Using path %s for shmem!\n", shmem_path);
 	}
 
-	for (i = 0; i < 10; i++) {
+	for (i = 0; i < 11; i++) {
 		if (shmem_ready_hald()) {
 			/* shmem opened successfully */
 			break;
 		}
-		/* wait 1 second before another try */
-		sleep(1);
+		/* wait 900ms second before another try */
+		usleep(900000);
 	}
 	for (i = 0; i < 10; i++) {
 		if (shmem_ready_ppsi()) {
 			/* shmem opened successfully */
 			break;
 		}
-		/* wait 1 second before another try */
-		sleep(1);
+		/* wait 900ms second before another try */
+		usleep(900000);
 	}
-	for (i = 0; i < 10; i++) {
+	for (i = 0; i < 11; i++) {
 		if (shmem_ready_rtud()) {
 			/* shmem opened successfully */
 			break;
 		}
-		/* wait 1 second before another try */
-		sleep(1);
+		/* wait 900ms second before another try */
+		usleep(900000);
 	}
 }
 
diff --git a/userspace/tools/rtu_stat.c b/userspace/tools/rtu_stat.c
index 2074cc2a49f7fa6e3c684c3ab52de369ec9c9d6f..3cfa10aafdf9760128c5075a4a3159af2bc718c6 100644
--- a/userspace/tools/rtu_stat.c
+++ b/userspace/tools/rtu_stat.c
@@ -237,7 +237,7 @@ int get_nports_from_hal(void)
 			}
 			exit(1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	h = (void *)hal_head + hal_head->data_off;
@@ -254,7 +254,7 @@ int get_nports_from_hal(void)
 		if (n_wait > 10) {
 			exit(1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	/* check hal's shm version */
@@ -392,7 +392,7 @@ int open_rtu_shm(void)
 			}
 			exit(1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	/* check rtu shm version */
@@ -571,7 +571,7 @@ int main(int argc, char **argv)
 			}
 		}
 		n_wait++;
-		sleep(1);
+		usleep(900000);
 	}
 	if (use_static_shmem != SHMEM_STATIC_NO_IPC)
 		minipc_set_logfile(rtud_ch, stdout);
diff --git a/userspace/tools/wr_mon.c b/userspace/tools/wr_mon.c
index 3a1abb1c7e5ffba031e5b8b386c9281ebbd520f1..5b753ca00118127ed8eeb9b916719491b4ed6cce 100644
--- a/userspace/tools/wr_mon.c
+++ b/userspace/tools/wr_mon.c
@@ -601,7 +601,7 @@ void init_shm(void)
 			/* timeout! */
 			exit(-1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	if (hal_head->version != HAL_SHMEM_VERSION) {
@@ -645,7 +645,7 @@ void init_shm(void)
 			/* timeout! */
 			exit(-1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	/* check hal's shm version */
diff --git a/userspace/tools/wr_phytool.c b/userspace/tools/wr_phytool.c
index a18e1ee45eb0b6d9d43ac6223d20f78b484deca9..1bca8696fd6317923f22117ead68478d54b92568 100644
--- a/userspace/tools/wr_phytool.c
+++ b/userspace/tools/wr_phytool.c
@@ -89,7 +89,7 @@ int hal_shm_init(void)
 			}
 			return(-1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	/* check hal's shm version */
diff --git a/userspace/tools/wrs_sfp_dump.c b/userspace/tools/wrs_sfp_dump.c
index 15ac423d41aece5b4f641e6c8d0041cc09d9d3b1..f6d99161c9cce44d0b750edee4c1082741c0455e 100644
--- a/userspace/tools/wrs_sfp_dump.c
+++ b/userspace/tools/wrs_sfp_dump.c
@@ -262,7 +262,7 @@ void hal_init_shm(void)
 			/* timeout! */
 			exit(1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	if (hal_head->version != HAL_SHMEM_VERSION) {
diff --git a/userspace/tools/wrs_vlans.c b/userspace/tools/wrs_vlans.c
index ad03b3cb30b665806a2378a291f5e96a0b12e152..f4068d978051ec2d7e854869ab883760b6deb91b 100644
--- a/userspace/tools/wrs_vlans.c
+++ b/userspace/tools/wrs_vlans.c
@@ -192,11 +192,11 @@ int main(int argc, char *argv[])
 	/* connect to the RTUd mini-rpc */
 	while((rtud_ch = minipc_client_create("rtud", 0)) == 0) {
 		n_wait++;
-		if (n_wait > 10) {
+		if (n_wait > 11) {
 			pr_error("Can't connect to RTUd mini-rpc server\n");
 			exit(1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	n_wait = 0;
@@ -216,7 +216,7 @@ int main(int argc, char *argv[])
 			}
 			exit(1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	/* check rtu shm version */
diff --git a/userspace/wrs_watchdog/wrs_watchdog.c b/userspace/wrs_watchdog/wrs_watchdog.c
index 0aea35292814c8bfa2ea43a4c52aede180246c4c..2dfe3733b677feb782d75b6141e29a6003da2bc6 100644
--- a/userspace/wrs_watchdog/wrs_watchdog.c
+++ b/userspace/wrs_watchdog/wrs_watchdog.c
@@ -73,7 +73,7 @@ int get_nports_from_hal(void)
 			}
 			exit(1);
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	h = (void *)hal_head + hal_head->data_off;
@@ -94,7 +94,7 @@ int get_nports_from_hal(void)
 			exit(1);
 
 		}
-		sleep(1);
+		usleep(900000);
 	}
 
 	/* check hal's shm version */