Enc28j60 - Ether.browseurl.

Bom tarde.

Usando esse codigo a parte a funcção movimento não funciona quando uso o website como const char, no codebender ele aceita usar apenas char e o comando ether.browseUrl funciona perfeitamente.

Não estou utilizando o codebender pois tive outros problemas com ele.
o codigo abaixo funciona perfeitamente para acender e apagar um led porem coloquei a função movimento apenas para teste e não funciona. Alguem ja conseguiu utilizar a funcção Ether.bowseURL?

Se usar o comando abaixo da até DNS failed. ja no codebender usando apenas char funciona.
(!ether.dnsLookup(website))
Serial.println(“DNS failed”);

#include <EtherCard.h>
//Respostas
const char ServerSeg[] PROGMEM =
    "HTTP/1.0 200 OK\r\n"
"Content-Type: text/html\r\n"
"\r\n"
"<html>"
  "<head><title>"
    "Central"
  "</title></head>"
  "<body>"
    "<h3>Central Operacional.</h3>"
;
const char Recebido[] PROGMEM =  "recebido";

void my_callback (byte status, word off, word len) {
  Serial.println(">>>");
  Ethernet::buffer[off+300] = 0;
  Serial.print((const char*) Ethernet::buffer + off);
  Serial.println("...");
}

//Variaveis de controle
int led = 9;
const char* website[] PROGMEM = "www.casacampinas.hol.es";
static byte hisip[] = {185,28,20,41};

//Configuração de rede
static byte mymac[] = { 0x00,0x01,0x02,0x03,0x04,0x05 };
static byte myip [] = {192, 168, 0, 150};
static byte gwip[] = { 192,168,0,1 };


//Buffer para armazenamento dos dados.
byte Ethernet::buffer[700];

void setup(){
  //Ativando o serviço serial
  Serial.begin(9600);
  
  Serial.println("BasicServer Demo");
  //verificação e ativação do serviço de rede
  if (!ether.begin(sizeof Ethernet::buffer, mymac, 10)){
    Serial.println( "Failed to access Ethernet controller");
  }else{
    Serial.println("Ethernet controller initialized");
  }
    ether.staticSetup(myip, gwip);
    ether.copyIp(ether.hisip, hisip);
  
  ether.printIp("IP:\t", ether.myip);
  ether.printIp("Gateway:\t", ether.gwip);

  ether.printIp("SRV: ", ether.hisip);
  Serial.println();
  //Configuração de portas
  pinMode(led, OUTPUT);
}
void loop(){
  word pos = ether.packetLoop(ether.packetReceive());
    //Verificando o recebimento de dados.
    if (pos){
      leitura(pos);
      movimento();
    } 
}
void movimento(){
    ether.hisport = 80;//to access  local host
    ether.browseUrl(PSTR("/callback.php?get="), "hello", website, NULL);
}

void leitura(word pos){
  const char* data = (char* ) Ethernet::buffer + pos;
  Serial.println(data);
  if (strncmp("GET / ", data, 6) == 0) {
     ether.httpServerReplyAck(); // send ack to the request
     memcpy_P(ether.tcpOffset(), ServerSeg, sizeof ServerSeg); // send first packet and not send the terminate flag
     ether.httpServerReply_with_flags(sizeof ServerSeg - 1,TCP_FLAGS_ACK_V|TCP_FLAGS_FIN_V); 
  }else{
    if(strcmp(data, "on") == 0){
      digitalWrite(led, HIGH);
    }else{
      digitalWrite(led, LOW);
    }
      ether.httpServerReplyAck(); // send ack to the request
      memcpy_P(ether.tcpOffset(), Recebido, sizeof Recebido);//only the first part will sended 
      ether.httpServerReply_with_flags(sizeof Recebido - 1,TCP_FLAGS_ACK_V|TCP_FLAGS_FIN_V);
    }
}