Ethernet Telnet Client example Error. Arduino DUE+ioshield

I have the Ethernet Telnet Client example running on an Arduino DUE+ioshieldA (I power it form the USB port of my laptop).
I downloaded Wiznet Ethernet libray . I’m using IDE is 1.6.6, so I used code for 1.5.x
I changed the MAC to the one marked on the ioshieldA.
I changed the IP of Arduino to be in the same net as my laptop.
I directly connect my Laptop with Arduino thanks to a crossover Ethernet cable.

I did a little test of connecting with an example server AX1, that wiznet provides. My PC acting as server was able to connect and send data.

Now what I want is to use Telnet server in my laptop (Windows 7 Professional).

I followed this tutorial to configure it (it might be helpful for others):

I decided to use putty as a terminal. So I select telnet, port 23, and my PC IP.
I’m asked for the login and I enter in Microsoft Telnet Server.
I checked that Microsoft firewall allows telnet program.

So, as far as I understand I have my laptop running as a Server.
I flash the Arduino with TelnetCliente sketch. I open Serial Monitor:
Connecting…
Connection failed
Disconnected

Why? Is there something else it should be do in the server , apart of login in? Any guess?

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
  0x00, 0x08, 0xDC, 0x4D, 0xD1, 0x21
};
IPAddress ip(10, 1, 3, 200);//IP Arduino
IPAddress subnet(255, 255, 255, 0);
// Enter the IP address of the server you're connecting to:
IPAddress server(10, 1, 3, 1);//IP PC

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 23 is default for telnet;
// if you're using Processing's ChatServer, use port 10002):
EthernetClient client;

void setup() {
  // start the Ethernet connection:
  Ethernet.begin(mac, ip);
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.println("connecting...");

  // if you get a connection, report back via serial:
  if (client.connect(server, 23)) { //(Telnet=23)
    Serial.println("connected");
  } else {
    // if you didn't get a connection to the server:
    Serial.println("connection failed");
  }
}

void loop() {
  // if there are incoming bytes available
  // from the server, read them and print them:
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  // as long as there are bytes in the serial queue,
  // read them and send them out the socket if it's open:
  while (Serial.available() > 0) {
    char inChar = Serial.read();
    if (client.connected()) {
      client.print(inChar);
    }
  }

  // if the server's disconnected, stop the client:
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
    // do nothing:
    while (true);
  }
}

It appears you can't even connect. That means a hardware connection between the shield and the PC, or a firewall problem in the PC.