AT+PORT=? always returns port 2
Hello I have a problem with the usb-switch. When running "AT+PORT=?" I always get return "2\nOK". If I run "AT+PORT?" I get the actual descriptive state of the switch. Actual setting of ports works fine for all 7 configurations and the ports get enabled accordingly. This issue is present on Linux(Ubuntu24), MacOS and Win11. Here is an example:
./codethink_muxer "/dev/tty.usbmodem8D86559C52541" "AT+PORT=1"
OK
./codethink_muxer "/dev/tty.usbmodem8D86559C52541" "AT+PORT?"
Bi-Dir A - C
./codethink_muxer "/dev/tty.usbmodem8D86559C52541" "AT+PORT=?"
2
OK
./codethink_muxer "/dev/tty.usbmodem8D86559C52541" "AT+PORT=2"
OK
./codethink_muxer "/dev/tty.usbmodem8D86559C52541" "AT+PORT?"
Bi-Dir A - B
./codethink_muxer "/dev/tty.usbmodem8D86559C52541" "AT+PORT=?"
2
OK
The codethink_muxer script looks like this:
#!/usr/bin/env python3
import argparse
import serial
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="CLI tool to manage codethink usb C muxer"
)
parser.add_argument(
"serial",
type=str,
help="Path to the serial port of the muxer",
)
parser.add_argument(
"command",
type=str,
help="Command to execute",
)
args = parser.parse_args()
ser = serial.Serial(f"{args.serial}", 115200, timeout=1)
ser.write(bytes(f"{args.command}\r\n", "utf-8"))
response = ser.read(ser.in_waiting or 64)
print(response.decode())
ser.close()
Edited by Tomaz Strus