How the Wizard Decides Who Opens the Connection
When you click Next on the netmask and gateway for the DS #2 step the Wizard has enough information to decide which side of the DS-to-DS connection will be responsible for establishing data connections with the other side.
In doing this, the Wizard decides on the future values of the Routing Mode (RM) and Connection Mode (CM) settings of both Device Servers.
In general, the Wizard tries to follow the natural flow of data between the Device Servers. In the initiator of the data exchange step you have already specified which side sends the data first, so the Wizard will have this side open a data connection to the other side as soon as the first data needs to be sent.
For example, if the first data is supposed to come from the DS #1 side the Wizard will program the Routing Mode of the DS #1 to 2 (client) and the Routing Mode of the DS #2 to 0 (server).
Lines 1-3 of the following table illustrate what's just been said. Notice that the Connection Mode (CM) setting is always set to "on data". As the first data is received (by one side of the link) it triggers an attempt to open a data connection with the other side of the link:
Which side can "see" the other side of the connection |
Which side sends the first data |
Routing Mode on the DS #1 |
Connection Mode on the DS #1 |
Routing Mode on the DS #2 |
Connection Mode on the DS #2 |
|
1 |
Both sides can see each other |
DS #1 |
Client |
On data |
Server |
--- |
2 |
Both sides can see each other |
DS #2 |
Server |
--- |
Client (server/client) |
On data |
3 |
Both sides can see each other |
Any side |
Server/client |
On data |
Server/client |
On data |
4 |
Only DS #1 can see the DS #2 |
DS #1 |
Client |
On data |
Server |
--- |
5 |
Only DS #1 can see the DS #2 |
DS #2 |
Client |
Immediately |
Server |
--- |
6 |
Only DS #1 can see the DS #2 |
Any side |
Client |
Immediately |
Server |
--- |
7 |
Only DS #2 can see the DS #1 |
DS #1 |
Server |
--- |
Client |
Immediately |
8 |
Only DS #2 can see the DS #1 |
DS #2 |
Server |
--- |
Client |
On data |
9 |
Only DS #2 can see the DS #1 |
Any side |
Server |
--- |
Client |
Immediately |
The situation becomes more complicated when only one side of the connection can "see" the other side*. Consider the case in line 5 of the table. The DS #2 has to send the data first, but it cannot "see" the DS #1. Therefore, even when the DS #2 receives the first data into its serial port it will be unable to establish a connection to the DS #1 and send this data!
The way out is to have the DS #1 connect to the DS #2 as soon as the DS #1 is powered up (so, the Connection Mode (CM) setting of this DS is to be 0 (immediately)). This way, by the time the DS #2 needs to send the first data to the DS #1 the connection is already established. This kind of connections are called "reverse".
A special comment should be made on line 2 of the table, where the Routing Mode on the DS #2 is designated to be either "client" or "server/client". The Wizard chooses "client" if DS #2 programming is effected using out-of-band access method (you have selected this on the DS #2 step of the Wizard ). If inband access method was selected the Wizard will set the mode to "server/client". This is because choosing "client" would cause it DS to reject all incoming connections in the future and this means that you wouldn't be able to program the DS using inband access in the future!
* This is the case when you have specified that the "Device Server is not accessible from this network segment" on the DS #2 step, or that the "DS #1 is not accessible from DS #2" on the netmask and gateway for the DS #2 step of the Wizard.