The product documentation available on the OEM manufacturer's website syvio.com.cn as well as more recently on the Monoprice and CMICables (the replacement for syvio) websites include a many times copied drawing describing connecting the +5 volt power supply lead directly to pin 4, enabling DTR continuously.
The serial port is fully RS-232C compliant, the RS-232 protocol itself has been a wild west show of interpretations since 1969 so minor changes and variations are seen all across the board from one device to the next.
The issue that many have been running into is getting that DTR signal on pin 4 to stay high, this is because the manufacturer of this otherwise excellent product used a port and UART chip wired as a host instead of a terminal port, so using a regular null modem cable results in pins 4 and 6 being reversed, the host chip in the switcher is constantly sending a DTR "high" from the terminal device (the switcher), had they used a port wired as a terminal device instead of a host then the DTR signal would come from device to the PC or AV control system when the switcher is ready for the next command and the host device would set the DSR pin 6 high and wait for the DTR signal from the switcher, all
as per the RS-232 protocol.Picture if you will, for the sake of argument, trying to plug the flat USB A connector into the square USB B connector on your printer, or plugging one of those useless dual USB A cables from one PC to another and expecting the PCs USB hubs to deal with a device that thinks it is the master rather than the slave.This situation results in being able to send data and control the switcher but with no data being returned from the device, hence the supplied software failing to connect.
This solution worked, one can either custom wire the db9 connector with a connection to a +5 volt supply on pin 4 or and wire it internally on the board and you will have stable, two way serial communications, if somewhat slowed down by the constant feedback from the device.
Here is a link to the Monoprice website pdf describing the DTR solution wiring that is necessary for this device to work.
[Link: monopricehub.com]The best solution I found (and I tried them all by the way) is to solder up a partial null modem cable for basic software flow control, RX+TX+DTR+DSR+RTS+CTS+Ground;
Wire Pin 2 to pin 3, pin 3 to pin 2, pin 4 to pin 4, pin 6 to pin 6, pin 7 to pin 7 and pin 8 to pin 8, this meets the basic RS-232 hardware definition established in 1962 for use with teletypewriter devices and allows a PC running a good terminal emulator such as Crestron viewport or the less comprehensive but still usable EventGhost suite or an automation system such as Pronto, Control4, AMX or Crestron to control the switcher reliably.
Notes:
Putty is of no use whatsoever with this product.I found that DSR pin 6 had no appreciable effect on 3rd party communications.
I did find that in order to operate the switcher's host software "matrix.exe", the RTS and CTS leads MUST be connected, pin 7 to pin 7 and pin 8 to pin 8 as well as the DSR (pin 6) and DTR (pin 4) connections.
Thus far I have seen that commands will not be reliably received and executed by the device if they are sent to it any faster than one command per 500ms.
I hope this helps everyone out.
Yours
Dan
On February 11, 2011 at 21:13, dheiskell said...
I just finished writing a driver for the monoprice 4x2 switcher with RS232 control.
The cable required is odd. pins 2,3 are swapped but all other pins especially 4 DTR are connected straight through.
The DTR pin is important. Without DTR on the monoprice provides no status back. RTS,CTS,DSR,CD have no effect and can be connected or disconnected, they should be wired straight through if connected.
Finally the status is continuously sent back while dtr is asserted.
If the switcher is not powered on, it still sends status back, however it won't switch. Since the status includes whether it is on/off you can look at the status and if it is off send the power toggle command 0x10, 0xEF, 0xD5, 0x7B to turn it on.