As you mentioned the stty is identical, so the problem must be somewhere else. The commands GR, GD, Gm are listed in the source code here: [thomas@x230 ~/dev/astronomy/indilib/indi/drivers/telescope]$ grep -r ":GR#\|:GD#\|:Gm#" . ./eq500x.cpp: else if (getCommandString(PortFD, b, ":GD#") < 0) ./eq500x.cpp: else if (getCommandString(PortFD, b, ":GR#") < 0) ./lx200pulsar2.cpp: return (getSexa(fd, "#:GR#", ra) && getSexa(fd, "#:GD#", dec)); ./lx200pulsar2.cpp: bool success = PulsarTX::sendReceive(fd, "#:GR#", response); ./lx200driver.cpp: DEBUGFDEVICE(lx200Name, DBG_SCOPE, "CMD <%s>", ":GR#"); ./lx200driver.cpp: if ((error_type = tty_write_string(fd, ":GR#", &nbytes_write)) != TTY_OK) ./lx200driver.cpp: DEBUGFDEVICE(lx200Name, DBG_SCOPE, "CMD <%s>", ":GR#"); ./lx200driver.cpp: if ((error_type = tty_write_string(fd, ":GR#", &nbytes_write)) != TTY_OK) ./lx200driver.h:#define getLX200RA(fd, x) getCommandSexa(fd, x, ":GR#") ./lx200driver.h:#define getLX200DEC(fd, x) getCommandSexa(fd, x, ":GD#") ./lx200gemini.cpp: // Send ':Gm#' ./lx200gemini.cpp: const char *cmd = ":Gm#"; ./magellandriver.h:#define getMAGELLANRA(fd, x) getCommandSexa(fd, x, "#:GR#") ./magellandriver.h:#define getMAGELLANDEC(fd, x) getCommandSexa(fd, x, "#:GD#") ./rainbow.cpp: if (sendCommand(":GR#", res) == false) ./rainbow.cpp: if (sendCommand(":GD#", res) == false) ./ioptronHC8406.cpp::GR# 2:12:57.4# RA ./ioptronHC8406.cpp::GD# +90* 0: 0# DEC ./crux_mount.cpp: sprintf(szCommand, "#:\\GE($GR #:GR#" ./crux_mount.cpp: ":\\GE$GD #:GD#" ./lx200_OnStep.cpp: getCommandString(PortFD, OSPier, ":Gm#"); ./lx200_OnStep.cpp: // * 94 pierSide (N if never) {Same as :Gm# (E, W, None)}Read More...