Como copiar la dirección IP desde la tarjerta SD.

Bueno aquí otra vez :-[ .
Ahora ya consigo abrir la SD. Resulta que como quería copiar la dirección IP desde la tarjeta SD, antes de mandar
esto:

Ethernet.begin(mac,ip,gateway,subnet);
miservidor.begin();

Al inicio del void setup() y mandar ese codigo al final del setup una vez que ya hubiese optenido la IP de la SD.
Pues no me dejaba inicializar la SD.
Ahora pongo el código al inicio y al final del setup y así me deja inicializar la SD y al final le vuelvo a mandar la
nueva IP ya copiada desde la SD.

Ahora me pasa esto y no se porque. A ver si sabeis por que me pasa esto:

La variable ippp la he creado como byte
La ip la he creado así: bite
Parte del código es este:

#include <SD.h>
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0xDE,0xAD,0xBE,0xEF,0xFE,0xED};
//IPAddress ip(192,168,1,155);
byte ip[]={192,168,1,166};
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
EthernetServer miservidor(80);
EthernetClient micliente;

boolean lineaactualestavacia=true;  //para saber cuando acaba la solicitud recibida del cliente
char caracter;   //caracter recibido del cliente que forma parte de la peticion HTTP
String peticion="";

byte ippp;

File archivoip;//archivo en la sd
File archivo;
int ssred=53;// seleccion de la tarjeta red
int sssd=4;// seleccion de la tarjera sd
String estacionvia; 
int x;
int i;

i


void setup()
{
  Ethernet.begin(mac,ip,gateway,subnet);
  miservidor.begin();
  
  
  pinMode(ssred, OUTPUT);
  pinMode(sssd,OUTPUT);
  
  
  Serial.begin(9600);
  if(!SD.begin(sssd))
   {
    Serial.println("Error al inicializar la SD");
   }
   archivoip=SD.open("ip.txt"); 
   if (archivoip!=0)
   {
     while(archivoip.available()>0)
     {
       ippp=archivoip.read(); //leemos el contenido de la sd 
       delay(20);
       ip[x]=ippp;
       Serial.println(ippp);
       Serial.println(ip[x]);
       x=x+1;
     }// fin while 
   } // fin if 
   else 
   {
    Serial.println("Error al abrir el fichero");  
   }// fin else
   archivoip.close(); 
   
    x=0;
    sssd=HIGH;  
    ssred=LOW; 
    
 
  
  Ethernet.begin(mac,ip,gateway,subnet);
  miservidor.begin();

  
}