Sunday, 16 October 2016

How I saved my Eye-Fi X2 Pro from uselessness on Android

2018 insert: i wish i'd been wise enough to buy up all those Eye-Fi X2 Pro cards out there. These are really good cards. Mine is just about dead from having to insert and remove it when i was shooting movies - superglued together it still functions flawlessly in 2 of my cameras.

So back in January 2014 I bought an X2 Pro Eye-Fi card for my Pentax K5 so that I could automatically transfer pictures from my Pentax to my Flickr account via my Android phone.

I loved my Eye-Fi X2 Pro card - absolutely - my pics went magically to Flickr and then to Facebook, Tumblr and some cloud storage via IFTTT. Wonderful. (2018 - bye bye Flickr, auto transfer to FB, Tumblr and most of the cloud storage - only Google really remains. For now.)

Then the people at Eye-Fi shat on their X2 customer base by ending support for the card. They claimed that direct mode would still work but of course it did not - effectively turning my expensive X2 card into a brick. After the uproar that followed they released an app for Mac and Windows that allowed some rudimentary functionality - sync between your Eye-Fi card and your PC - but that was hardly of any use to those like myself who use the camera outdoors, especially while traveling, to automatically keep a photo record of life. (2018: I was too harsh, probably wrong. Above all, stupid.)

I hunted around on the internet for a few weeks but there was nothing I could find to help - even buying cards from other vendors did not seem to offer what I needed. It has to be all hands-free: click->everywhere and preferably it has to be done without having to write new code.

I found a petition and signed it: Keep Eye-Fi X2 WiFi cards active for 10 more years and just a few days ago Peter Walker added this to the site: Replacement App for Android Users.

The app is MoPhotos can be had here. There is also a Pro version that makes syncing easier but this post is about how I achieved syncing for my needs with just the basic app.

So here goes. First setting it all up. Follow the steps in this order:

  1. Set your phone/tablet to be a wi-fi hotspot - ie enable wi-fi tethering - ie sharing your mobile link via wi-fi.
  2. Insert your X2 into the Eye-Fi SD USB holder and insert into PC.
  3. Start Eye-Fi Center software and add the wi-fi hot spot from 1 to the card's networks (thank providence that still works!).
  4. Close, remove the card, re-insert it into your camera (caution see Rob Tesnear's comment below)
  5. Locate your Eye-Fi upload key. This site tells you how. (Mine was in AppData\Roaming\Eye-FiX2\Settings.xml)
  6. Uninstall or disable the Eye-Fi X2 utility if it's installed on your PC (Note: not Eye-Fi Center app). If you don't it will get in the way and prevent syncing whenever you are near your computer.
  7. Install MoPhotos on your Android device.
  8. Install DropSync on your Android device.
  9. If you don't already have a DropBox account create one and set up a folder to hold the pics you want to sync. It's to be used just as a buffer - you can clean it out as often as you wish
  10. Start MoPhotos and enter the Upload Key and nominate the folder to deposit the pictures to. Test it - make sure it is working.
  11. Start DropSync and configure it to sync the MoPhotos folder with the DropBox folder. Test it - Pictures you take should now turn up in your DropBox folder automagically.
  12. If you don't already have an IFTTT account create one and add a new recipe to transfer from your DropBox folder to wherever you want it to appear - in my case Flickr.

When you want to use it at home (assuming your home wi-fi network has already been added to the Eye-Fi card using Eye-Fi Center):

1. take your pictures

When you want to use it away from your home wi-fi network follow these steps:

1. Turn on wi-fi tethering on you phone
2. take your pictures

If it's all working properly the MoPhotos app will find the Eye-Fi card on the phone's Wi-Fi network and start transfering the pics to your phone then DropSync will transfer to DropBox then IFTTT will transfer to your designated final destination.

Note that the Geo-tagging of MoPhotos is superior to that of Eye-Fi. With the Eye-Fi system it sent wireless station info and GPS info to the Eye-Fi servers. It then looked up the wireless stations for the location info and used that first otherwise it used the GPS info if available. Why that way? I have no idea but it was flaky as hell - i've taken pictures in Asia that, thanks to Eye-Fi, has their EXIF location set to some city in Eastern Europe - presumably where the wi-fi router i was near was made or configured. MoPhotos only uses your phones GPS (if it is turned on and has a current location fix).

You can of course use a different app to DropSync - but it's free and works well. There are other Sync apps - for example to sync with Google Drive or Microsoft OneDrive.

Note that the free version of DropSync limits upload syncs to 10MB - that's fine for most of my pics but it's not enough for big pics especially RAW - you will need to either find a different sync app or upgrade DropSync to the full version.

So I'm happy - I hope you are happy too and deep thanks to those key people and orgs that made this solution possible. Hopefully DropBox and IFTTT  will not shit on my solution anytime soon :-)

Please feel free to ask questions - the set up is a bit involved but at least, once it is going, it all works

p.s. for you iPhone users i believe ShutterSnitch facilitates the same things as MoPhotos. See here.

the following notes were previously being added at the top of the post over many months - now moved here because there are so many of them

NOTE: this has been updated since it was first posted - I've added the steps needed to ensure the process works when you are no longer near a previously configured Eye-Fi network.

NOTE 2: have now put a few hundred (now many thousands of) pics through this process and can assert that it is quite superior to using the Eye-Fi software. The Eye-Fi software turned the card into a wi-fi hot spot whenever there were pictures to be transferred and then the android app would see the wi-fi signal and disconnect the current wi-fi and connect to the Eye-Fi card - which meant that while it was connected to the card it could not use the wi-fi system - the app had to wait for the Eye-Fi card to complete before it could upload. As well, all other wi-fi use was blocked so that you could not use the wi-fi while there were pictures to transfer. Crappy. Using the method outlined below everything goes a lot smoother, faster, with no failed transfers. I can not for the life of me think why Ricoh would want to buy their server software - as this method here proves, you do not need the Eye-Fi server system at all to achieve the same results or better. The important thing is the app and the ability to do a mash-up that gives you what you want with no coding.

NOTE 3: If you do not have Eye-Fi Control Center application already installed on your PC or Mac and configured for your card you will need to use something else, for example, this software by Dave Hansen. After responding to comments below i tried installing the Eye-Fi Control Center app to a new PC but it will not install because the first thing it does is "downloading updates" and then it terminates. If you try it with the network disconnected it fails with an error. You need to be able to configure the card to use your home wi-fi and/or phone/tablet's wi-fi hot spot. If you are in this situation you should also have a look at Jeff Tchang's Eye-Fi server as it seems that getting the upload key is possible.

NOTE 4: after many months of using this method here's one tip. If you have configured your Eye-Fi card to be able to use both your home wireless network and your phone's hot-spot (something you'd do if you were regularly taking pics both at home and away yet wanted to minimise your use of mobile data while at home) you need to be aware that if the Eye-Fi card has recently connected to one network it wont automatically connect to the other unless you turn off your camera and turn it on again. Typically, you'd think that it had stopped working when in fact it's just failed to hunt for an available network. Another issue I've noticed is that once your MoPhotos folder gets full enough, dropsync transfers appear to stop - I solve that by regularly cleaning out my MoPhotos folder.

NOTE 5: Check out this very useful video by one of our fellow sufferers: