USB serial loopback on macOS client

On macOS 12, I am seeing an issue related to RequestToSend/ClearToSend (i.e., CTS value does not follow the RTS value) when using RS232 loopback (Prolific USB to Serial adapter) connected via virtualhere client. I am using macOS Monterey on an intel Mac. Could macOS be restricting it? Any idea?

Note:
On Linux/Windows with RS232 loopback connected via VirtualHere client, I am able to set/reset RTS and check CTS follow the RTS value.

For example, I used Python library (pyserial) to reproduce this issue and I see the same issue when using MATLAB serial library also.

##########
On macOS 12.5, With RS232 loopback connected to VirtualHere - CTS value does not follow the RTS value.
##########

$ /Applications/Python\ 2.7/IDLE.app/Contents/MacOS/Python
Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 19 2020, 20:48:48)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license()" for more information.
>>> import serial
>>> import time
>>> s = serial.Serial('/dev/tty.usbserial-8210',9600)
>>> s.getCTS()
False
>>> s.setRTS(True)
>>> s.setRTS(False)
>>> s.setRTS(True)
>>> time.sleep(0.05)
>>> s.getCTS()
False
>>> s.setRTS(True)
>>> time.sleep(0.05)
>>> s.getCTS()
False
>>> s.write('hello')
5
>>> s.read()
'h'
>>> s.read()
'e'
>>> exit()

############
On Debian 10, With RS232 loopback connected to VirtualHere - CTS value follow the RTS value.
############

$ /usr/local/bin/python
Python 2.7.16 (default, Oct 10 2019, 22:02:15)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
>>> import time
>>> s = serial.Serial('/dev/ttyUSB0',9600)
>>> s.getCTS()
True
>>> s.setRTS(True)
>>> s.setRTS(False)
>>> s.setRTS(True)
>>> time.sleep(0.05)
>>> s.getCTS()
True
>>> s.setRTS(False)
>>> time.sleep(0.05)
>>> s.getCTS()
False
>>> s.write('hello')
5
>>> s.read()
'h'
>>> s.read()
'e'
>>> exit()

#2

Hi Arun, i think you should try using an FTDI adapter for the time being in MacOS 12, perhaps that has better compatibility.

#3

Thanks Michael, I will try using an FTDI adapter.

On macOS 12, CTS value follows the RTS value with RS232 loopback directly connected to Mac but not when using VirtualHere. Can you please have a look at this issue?

Note: On Linux/Windows it works with VirtualHere.

#4

No as discussed before, you need to try at least 12.5.1 and/or an FTDI adapter