diff -u old/gpsctl.c new/gpsctl.c --- old/gpsctl.c 2017-01-03 15:57:50.517120891 -0600 +++ new/gpsctl.c 2017-01-03 18:31:21.421101434 -0600 @@ -175,7 +175,7 @@ int option, status; char *device = NULL, *devtype = NULL; char *speed = NULL, *control = NULL, *rate = NULL; - bool to_binary = false, to_nmea = false, reset = false; + bool to_binary = false, to_nmea = false, reset = false, control_string = false; bool lowlevel=false, echo=false; struct gps_data_t gpsdata; const struct gps_type_t *forcetype = NULL; @@ -205,6 +205,7 @@ #ifdef CONTROLSEND_ENABLE control = optarg; lowlevel = true; + control_string = true; if ((cooklen = hex_escapes(cooked, control)) <= 0) { gpsd_log(&context.errout, LOG_ERROR, "invalid escape string (error %d)\n", (int)cooklen); @@ -704,7 +705,8 @@ } } - (void)printf("%s identified as a %s at %u baud.\n", + if(!control_string) + (void)printf("%s identified as a %s at %u baud.\n", device, gpsd_id(&session), session.gpsdata.dev.baudrate);