Direct ethernet connection between two SITCore modules no longer working

Hi All,
I have a project where i have two SITCore devices operating in a VNC Viewer/Server relationship. Before the latest firmware update (, I was able to connect the two directly and they would be able to communicate with no issues - however, with both on the newest firmware they do not communicate and report that the cable is disconnected - I have to plug them into a switch or router to get them to work. Just to test it, I reverted back to, with the same app, and they connect right away when connected point-to-point. Is there a new setting that I need to check or something to make sure that they can communicate on the newest firmware?

Edit - they both have static, hard coded IP address info.

There was changes about auto negotiation. But it should not effect to this issue. Can you provide simple code on two sides that we can easy to see different and

An additional note - I rolled the server side module back to and it worked, even with the client still on

this is my setup for both (IPs are different):



                //get net settings
                DNSServers[0] = new IPAddress(new byte[] { 8, 8, 8, 8 });
                DNSServers[1] = new IPAddress(new byte[] { 8, 8, 4, 4 });
                netSettings.DnsAddresses = DNSServers;
                netSettings.MacAddress = macAddr;
                netSettings.DhcpEnable = false; 
                netSettings.Address = LocalIP;
                netSettings.GatewayAddress = Gateway;
                netSettings.SubnetMask = SubnetMask;
                netSettings.DynamicDnsEnable = false; 
                netSettings.TlsEntropy = new byte[] { 23, 6, 1, 17 };

                //handle net controller object


                netController.NetworkLinkConnectedChanged += Connect_DisconnectEventHandler;
                netController.NetworkAddressChanged += IPChangedHandler;


Server side: (uses the VNC Host libraries)

 var serverSocketEP = new IPEndPoint(IPAddress.Any, this.Port);
                this.serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                this.serverSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ExclusiveAddressUse, false); 
this.localClient = this.serverSocket.Accept(); //<--Waits here for connection

Client Side:

VncSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            //VncSocket.SetSocketOption(SocketOptionLevel.Tcp,SocketOptionName.DontRoute, true);
            //these socket options are required for stability. Determined through a lot of experimentation.
            VncSocket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.ReuseAddress, true);
            VncSocket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.KeepAlive, true);

 remoteServer = new IPEndPoint(remoteIP, 5900); 
                    VncSocket.Connect(remoteServer); ///This call fails if the server is on

Is it mac ethernet, wifi or enc28? I see cs.write… is this chip select or reset pin?

Mac ethernet, the CS is also the reset pin. I don’t remember why I called it that, i can see where there is some confusion.

found and fixed in next release. Thanks

1 Like

v2.2.0-preview2 corrected that issue. Can you please confirm it, pls? Thks

HI Dat,
I have confirmed that client to client direct connections are working perfectly. Thanks for taking care of that.