Index: trunk/Ohana/src/opihi/pcontrol/PclientCommand.c
===================================================================
--- trunk/Ohana/src/opihi/pcontrol/PclientCommand.c	(revision 16590)
+++ trunk/Ohana/src/opihi/pcontrol/PclientCommand.c	(revision 17474)
@@ -1,4 +1,4 @@
 # include "pcontrol.h"
-# define PCLIENT_TIMEOUT 5000
+# define PCLIENT_TIMEOUT 20000
 
 int PclientCommand (Host *host, char *command, char *response, IOBuffer *buffer) {
@@ -14,5 +14,5 @@
   ASSERT (response != NULL, "response missing");
 
-  /* avoid blocking on read, test every 100 usec, up to 50 msec */
+  /* avoid blocking on read, test every 100 usec, up to 2.0 sec */
   request.tv_sec = 0;
   request.tv_nsec = 100000;
@@ -36,4 +36,5 @@
   line = NULL;
   status = -1;
+
   for (i = 0; (i < PCLIENT_TIMEOUT) && (status != 0) && (line == NULL); i++) {
     status = ReadtoIOBuffer (buffer, host[0].stdout_fd);
@@ -46,7 +47,15 @@
   }
   if (status == -1) return (PCLIENT_HUNG);
-  /* gprint (GP_ERR, "buffer.buffer: %s\n", buffer[0].buffer); */
+  if (line == NULL) return (PCLIENT_HUNG);
+
+  // fprintf (stderr, "buffer.buffer: %s\n", buffer[0].buffer);
   return (PCLIENT_GOOD);
 }
 
 /* memstr returns a view, not an allocated string : don't free */
+/* ReadtoIOBuffer returns : 
+    0 - pipe closed
+   -1 - no more data in pipe, data not ready
+   -2 - serious error reading from pipe
+   >0 - data read from pipe
+*/
