Ethernet.begin does not provide a valid ip-address

I’m using an Arduino UNO with Ethernet Shield for Arduino (VMA04) with following code

/*
Arduino Ethernet Shield Prototyping,V2.0.
SPI.h, Ethernet2.h Library from Aruduino.cc
*/

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

EthernetServer server(80);// Server port

const byte auxPin = 8;// Select pin for Auxillary Power Gate
byte mac = { 0x91, 0xA2, 0xDA, 0x10, 0x65, 0xAE };// Physical MAC address
byte ip = { 192, 168, 7, 25 };// Fixed IP address
byte gateway = { 192, 168, 7, 2 };// Router Gateway Internet access
byte subnet = { 255, 255, 255, 0 };// Subnet mask */
String readString;

void setup()
{
delay(300);// Delay for Ethernet shield initialization (Arduino has 65mS Power Up delay and W5100 reset logic has 280mS)
pinMode(auxPin, OUTPUT);// Define pin for Auxillary Power as Output
Serial.begin(9600);// Initialize serial communications at 9600 bps
Serial.println(F(“Arduino UNO R3 with Ethernet Shiled W5100 - VU3GAO, for VAN Zon”));// Display Arduino title
Serial.println(ip[1]);
Ethernet.begin(mac,ip,gateway,subnet);// Start Ethernet */

server.begin();
Serial.print(F("Ethernet Shield initialized. Local IP address is: "));
Serial.println(Ethernet.localIP());// Print Server IP address
}

The IP address provided is not 192.168.7.25 but always 5.0.0.0.
Can anybody point me why my code is not working properly ?

Thnx a lot

version of Ethernet library?

I tried other (earlier) versions of the library in stead of 2.0, but then I obtain 0.0.0.0

The VMA04 Ethernet shield uses the ENC28J60 Ethernet controller chip. That chip is not compatible with the Ethernet library. The UIPEthernet is for the ENC28J60 and it provides a similar API to the Ethernet library, so you should be able to simply change the #include directive and leave the rest of the code the same:

Another popular library for the ENC28J60 is EtherCard:

Thnx again pert ... it al works now

You're welcome. I'm glad to hear it's working now. Enjoy!
Per