Fallo tarjeta de red y pin

Hola a todos, dispongo de un arduino uno y una tarjeta ethernet, y me ocurre algo que no entiendo muy bien, si no monto el servidor ethernet, todo va perfectamente pero cuando monto esto, el pin que indico siempre está encendido, da igual la orden que le de, siempre está encendido.

#include <SPI.h>
#include <Ethernet.h>
 
// Configuración de direccion MAC e IP.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);
 
// Inicia la libreria Ethernet server con el puerto 80 (por defecto el puerto HTTP).
EthernetServer server(80);
[b]int led= 10;[/b]
void setup() {
// Inicia el puerto serie.
Serial.begin(9600);
 
// Inicia la conexión Ethernet y el servidor.
Ethernet.begin(mac, ip);
server.begin();
Serial.print("IP local del servidor ");
Serial.println(Ethernet.localIP());
}
 
void loop() {

   [b]analogWrite(led, 0);[/b]
EthernetClient client = server.available(); // Escucha a los clientes entrantes.
    if (client) { // Si un cliente se conecta al servidor:
    Serial.println("Nuevo cliente");
    boolean currentLineIsBlank = true; // Marcador para enviar la respuesta desde el servidor.
        while (client.connected()) { // Repite mientas existe clientes conectados:
            if (client.available()) {
            char c = client.read();
            Serial.write(c); // Imprime por el puerto serie la petición del cliente (caracter a caracter)
                if (c == '\n' && currentLineIsBlank) { // Se envia la respuesta a una petición de un cliente cuando a finalizado la petición:
                // Respuesta:
                client.println("HTTP/1.1 200 OK"); // Enviar un encabezado de respuesta HTTP estándar
                client.println("Content-Type: text/html");
                client.println("Connection: close"); // Se cerrará la conexiós despues de enviar la respuesta.
                client.println("Refresh: 5"); // Refrescar automáticamente la página después de 5 segundos.
                client.println();
                client.println("<!DOCTYPE HTML>"); // Tipo de documento.
                client.println("<html>"); // Etiqueta html inicio del documento. 
                client.print("Hola soy Arduino!! - ");
                client.print(millis()); // Tiempo de funcionamiento en ms.
                client.print("ms encendido. ");
                client.println("
"); // Etiqueta html salto de linea. 
                client.println("</html>"); // Etiqueta html fin del documento.
                break;
                }
                if (c == '\n') { // Si el caracter es un salto de linea:
                currentLineIsBlank = true; // La petición a terminado, se respondera a dicha peticón en el sigueitne ciclo.
                } 
                else if (c != '\r') { // Si el caracter no es un retorno de carro (la petición no a terminado).
                currentLineIsBlank = false; // Seguimos escuchando la petición.
                }
           }
       }
    delay(1); // Espera para dar tiempo al navegador a recivir los datos.
    client.stop(); // Cierra la conexión.
    Serial.println("Cliente desconectado");
    Serial.println();
    }
}

alguien sabe a que se debe? decir que es un led de mas voltaje y lo controlo a través de un TIP142, he montado bastantes con lo que el montaje esta bien... no se que puede pasar, si suprimo toda la configuración de red, y solo dejo el led, si que funciona perfectamente.

Gracias.

Yo veo una sola linea
analogWrite(led, 0);

es es una salida PWM con ancho de pulso 0.
No se como tienes configurado tu TIP142 pero solo le envias un ancho de pulso nulo.
Algo no esta bien en tu código.

No se que quieres hacer con ese LED.

quiero controlar la intensidad del led, con un puso 0 le envia el tip 0v y con el pulso 255 le manda 12v, lo tengo puesto como en este esquema.

http://www.softweb.es/acuario/Esquemas/esquema-fuente_bb.jpg

si cuando esta sin toda la config de la tarjeta de red funciona perfecto, cuando le meto la config de red ya es cuando se va todo al garete..

Ahora caigo... la placa de red usa el pin 10 para comandar la placa SD.
Busca usar otro pin.
Mira la placa de Red y verás que pines debes reservar.
Los pines SPI y el pin 10 a veces el 4 pero si te falla con el 10, usa otro pin. Prueba con alguno entre el 2 al 7 que no estan en uso.