S0 as server and S1 as client realization problem

There is no problem with S0 and server. All works as expected!
But S1 as client won’t work. This code:

unsigned char dst_addr[] = {192,168,0,107};
unsigned char dst_port[] = {99,99};

SPI_Write(S1_MR,MR_TCP);
//random sending port
SPI_Write(S1_PORT,0x12);
SPI_Write(S1_PORT + 1,0x12);

SPI_Write(S1_CR, CR_CONNECT);

SPI_Write(S1_DIPR + 0,dst_addr[0]);
SPI_Write(S1_DIPR + 1,dst_addr[1]);
SPI_Write(S1_DIPR + 2,dst_addr[2]);
SPI_Write(S1_DIPR + 3,dst_addr[3]);
_delay_ms(1);

SPI_Write(S1_DPORT + 0,dst_port[0]);
SPI_Write(S1_DPORT + 1,dst_port[1]);
_delay_ms(1);
SPI_Write(S1_CR, CR_OPEN);
If (SPI_Read(S1_SR) == SOCK_ESTABLISHED) {
 ///////
}

When i checked DIPR and DPORT they are not always have correct data. After mcu reset they may have 0 or correct data.
What am I doing wrong?

Не правильный код. вот как нужно

    unsigned char dst_addr[] = {192,168,0,107};
    unsigned char dst_port[] = {99,99};

    SPI_Write(S1_MR,MR_TCP);
    //random sending port
    SPI_Write(S1_PORT,0x12);
    SPI_Write(S1_PORT + 1,0x12);
START:
    SPI_Write(S1_CR, CR_OPEN);
wait();
if(S1_SR != SOCK_INIT) 
{
SPI_Write(S1_CR, CR_CLOSE);
goto START;
}
    SPI_Write(S1_DIPR + 0,dst_addr[0]);
    SPI_Write(S1_DIPR + 1,dst_addr[1]);
    SPI_Write(S1_DIPR + 2,dst_addr[2]);
    SPI_Write(S1_DIPR + 3,dst_addr[3]);
       SPI_Write(S1_DPORT + 0,dst_port[0]);
    SPI_Write(S1_DPORT + 1,dst_port[1]);
    _delay_ms(1);
    SPI_Write(S1_CR, CR_CONNECT);
wait();
    If (SPI_Read(S1_SR) == SOCK_ESTABLISHED) {
     ///////
    }

см даташит

START:
/* sets TCP mode */
Sn_MR = 0x01;
/* sets source port number */
Sn_PORT = source_port;
/* sets OPEN command */
Sn_CR = OPEN;
if (Sn_SR != SOCK_INIT) Sn_CR = CLOSE; goto START;
/* Write the value of server_ip, server_port to the Socket n Destination IP Address
Register(Sn_DIPR), Socket n Destination Port Register(Sn_DPORT). */
Sn_DIPR = server_ip;
Sn_DPORT = server_port;
Sn_CR = CONNECT;
If (Sn_SR == SOCK_ESTABLISHED) goto ESTABLISHED stage;

Спасибо! Всроде сейчас с регистрами адреса удаленного и портом все нормально… прописываются!