Ethernet shield problems! Time to update library?

I try this code:

#include <Ethernet.h>

// network configuration. gateway and subnet are optional.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 177 };
byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };

// telnet defaults to port 23
Server server = Server(23);

void setup()
{
// initialize the ethernet device
Serial.begin(19200);
Serial.println("Serie inicializada a 19200 baudios...");
Ethernet.begin(mac, ip, gateway, subnet);
Serial.println("Ehternet inicializada...");
// start listening for clients
server.begin();
Serial.println("Servidor inicializado...");
}

void loop()
{
Client client = server.available();
if (client) {
Serial.println("Conexion establecida...");
server.write(client.read());
}
}

With this result:

macbook-de-garito:~ garito$ ping 192.168.1.177
PING 192.168.1.177 (192.168.1.177): 56 data bytes
64 bytes from 192.168.1.177: icmp_seq=0 ttl=128 time=105.914 ms
64 bytes from 192.168.1.177: icmp_seq=1 ttl=128 time=105.144 ms
64 bytes from 192.168.1.177: icmp_seq=2 ttl=128 time=104.166 ms
64 bytes from 192.168.1.177: icmp_seq=3 ttl=128 time=104.207 ms
64 bytes from 192.168.1.177: icmp_seq=4 ttl=128 time=103.006 ms
64 bytes from 192.168.1.177: icmp_seq=5 ttl=128 time=1.586 ms
64 bytes from 192.168.1.177: icmp_seq=6 ttl=128 time=1.519 ms
64 bytes from 192.168.1.177: icmp_seq=7 ttl=128 time=102.396 ms
64 bytes from 192.168.1.177: icmp_seq=8 ttl=128 time=102.331 ms
64 bytes from 192.168.1.177: icmp_seq=9 ttl=128 time=101.361 ms
64 bytes from 192.168.1.177: icmp_seq=10 ttl=128 time=101.467 ms
^C
--- 192.168.1.177 ping statistics ---
11 packets transmitted, 11 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.519/84.827/105.914/39.280 ms
macbook-de-garito:~ garito$ telnet 192.168.1.177
Trying 192.168.1.177...
telnet: connect to address 192.168.1.177: Operation timed out
telnet: Unable to connect to remote host

Then I try this other:

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 177 };
byte server[] = { 64, 233, 187, 99 }; // Google

Client client(server, 80);

void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);

delay(1000);

Serial.println("connecting...");

if (client.connect()) {
Serial.println("connected");
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
} else {
Serial.println("connection failed");
}
}

void loop()
{
if (client.available()) {
char c = client.read();
Serial.print(c);
}

if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
for(;:wink:
;
}
}

With this result: