I have been plagued with an EYE-Fi card issue that has troubled my nights for a week. Today, I made some significant changes to my network to finally find a resolution.
The issue I discovered: The EYE-FI Card cannot talk through a Double NAT’ed Network.
Once I moved my access point, it started working again.
Here was my process to the solution.
I use a Linksys RS042 Router at my cable modem to split my network into private home network and a public lab for work. On the private side I installed the Linksys WRT610N Router. Prior to the VPN router, my old Eye-fi card was configured and working. However, I discovered a week ago that my images were not transferring off my card. To make matter worse, I had just ordered a new card and could not configure it. I tried to configure the card in EYE-Fi Control Center from my Windows 7 desktop. No luck. I tried from an XP desktop, again, no luck. I even tried from my Macbook Pro with OS X 10.6.5 with no Luck. Even after a dozen emails with Eye-Fi support… I was finding no resolution.
Turns out, when I placed the WRT610N behind the RS042, I lost my ability to connect with my Eye-fi card. The tip off was a comment in the Eye-Fi developer forums. I could see in the logs that I would get an IP address, ping the API.EYE.FI server, and try to send a test XML Packet from the card. The response never succeeded. The developers indicated that the packet was a 4K Packet with a specific HTTP Header. They also noted that if you had a splash screen or something that altered your header, you could end up with a larger HTTP Header and fail to connect.
So, to test if something was mucking the headers, I moved the wireless access point directly onto my cable modem in front of the VPN Router. Sure enough, the “CONTACTING the EYE-FI Server…” message made it through and connected.
So, what did I learn to make your life easier:
- Eye-Fi does not like a double NAT network (an access point behind a NAT enabled network)
- Not all Wireless-N is supported. You may need to run in B/G Only modes instead of Mixed.
- QOS may cause a hick-up (From Eye-fi forums) If you can, turn it off while troubleshooting.
- Eye-Fi tech support seems to think desktop Firewalls, Anti-Virus and User Access Control (UAC) may mess up your connections. In my case, they are all back on and working fine.
- Not all SD card readers are equal. Some deliver more power required for the Eye-Fi card (From Eye-fi support/forums) use the White Eye-Fi reader provided with the card if in doubt.
- You must have internet connectivity to set up your Eye-Fi card. Seems strange, but they want to register your card to your account at the time of setup. In my case, no connectivity means no setup.
- Check out your card attributes in the Log. Ensure you have the current firmware: v4.2171 or later.
[00:00] Eye-Fi firmware 4.2171 Jan 20 2011 18:14:14 started (1), hardware revision 1, 3886/32 MB, 00-18-56-00-00-00
- If you can see the following in your Eye-Fi Log, your issue is with the path on the network.
[00:58] WLAN State: Configured
[00:58] Received DHCP address 192.168.166.219
[00:58] Attempting server ping.
[00:59] Using resolved IP address 216.218.219.2:80 for server api.eye.fi.
[00:59] Starting to upload “/private/log/messages”…
[01:00] Server has 0 of 17920 bytes for SRVRPING.JPG.tar for online and desktop delivery (file ID 60977896).
As you can see in the log, I get an IP address and was able to resolve the IP Address of API.EYE.FI. This tells me basic IP communications is working fine, but I still could not talk to the servers. Something had to be altering my communications in flight.
So, the long and short of it is I hope this helps you resolve your Eye-fi issues.
If this has helped, drop me a note.