1. Download the WiShield library that has been optimized and fixed by users:

2. Rename the folder to WiShield and put it into Arduino_sketch_folder/libraries
You might notice that just running a sketch with the WiShield library will generate errors like:

return type specified for ‘virtual void Server::write(uint8_t)’
clock-arch.c:44:20: error: wiring.h: No such file or directory

3. In order to get rid of these error you need to change the corresponding names in the following files:

clock-arch.c
Replace #include “wiring.h” with #include “Arduino.h”

WiShield.cpp
Replace #include “WProgram.h” to #include “Arduino.h”

WiServer.cpp
Replace #include “WProgram.h” to #include “Arduino.h”
Replace void Server::write(uint8_t.. to be size_t Server::write(uint8_t..

WiServer.h
Replace virtual void write(uint8_t); to virtual size_t write(uint8_t);