Arduino – Duemilanove with AtMega 328 processor
WiShield
Sketch – Just the sample webserver code with the WiShield Library (v 1.2.0 downloaded from GitHub)
Arduino software – v 0017
Router – DIR 655 set to WPA2 (also have tried Open, WEP & WPA2) Hardware version A3 firmware version 1.21 (current).
IP address set up in the sketch header:
- Code: Select all
unsigned char local_ip[] = {192,168,0,122}; // IP address of WiShield
unsigned char gateway_ip[] = {192,168,0,1}; // router or gateway IP address
unsigned char subnet_mask[] = {255,255,255,0}; // subnet mask for the local network
const prog_char ssid[] PROGMEM = {"my_ssid_name"}; // max 32 bytes
unsigned char security_type = 3; // 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2
// WPA/WPA2 passphrase
const prog_char security_passphrase[] PROGMEM = {"xxxxxxx"}; // max 64 characters
What I have done on the DIR-655 is to use the “Add DHCP Reservation” feature of the DIR-655 which allows me to associate the IP address with the MAC address. So, I have assigned the MAC address the ip address 192.168.0.122 and now when I check the router for the status of clients connected via wireless, it lists the correct IP and MAC address for the WiShield rather than 0.0.0.0. I have this feeling that the DIR-655 doesn’t like non-DHCP clients (static IPs) connecting via wireless for some reason, but by reserving the IP in this way it somehow fakes out the WiShield connecting via DHCP. There seems to be no obvious setting in the router that would stop a static IP address wireless client connecting, so I am not 100% sure this is what has fixed it or not.
So far so good, and now I think the DIR-655 can be listed as supported - with a workaround.
Thanks!