Sunday, 16 October 2016

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


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 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.



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.

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.

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 change.org 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
  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.

13 comments:

  1. Thanks for writing this up, it's a great to know these cards can still be functional with some prep work. Reading through I understand all the steps but I'm a tad confused with just how the connection works, two questions:

    1) I thought that now the X2 cards have been discontinued the only mode that works is the Direct Mode (the card acts as a wifi hotspot and the PC/mobile connects to it) but in the steps you suggest to uninstall the X2 utility and while at home just take pictures which implies the card somehow still works independently from the PC on the router separatly somehow unless I misunderstood?

    2) It's not quite clear but when using the wifi hotspot trick on the phone does the app have to make the connection in direct mode and disconnect the current wifi connection to connect to the card directly?

    Thanks for your help.

    ReplyDelete
    Replies
    1. 1. Direct mode stopped working on my card on the day they discontinued support.
      2. Yes, the way it worked when it was functioning was that after you took a picture the card would turn itself into a wi-fi hot spot AND the app on your phone would detect the wi-fi hot spot, connect to it (disconnecting any other active wi-fi connection) and start uploading pics from the card.
      3. Yes, you must not have the new X2 utility enabled while you are taking pictures near your PC (meaning on the same wi-fi network as your PC, assuming your card is also on that network. If it isn't it doesn't matter).
      4. The old/original Eye-Fi PC application still works enough that you can configure the card to be on wi-fi networks (thank providence), so, there are 2 or 3 networks you're likely to want to have the card be part of - your home network, your work network (maybe) and most importantly the network that is defined by your phone when it is turned into a wi-fi hot spot by turning on tethering. So you turn on tethering on your phone (make it a wi-fi hot spot), you put the card into the Eye-Fi card holder, put it in your PC, run the old command center software, look for your phone network and enable the card to use it. Put the card back in the camera. Once that's done and you have installed MoPhotos on your phone, MoPhotos will see the card on the network just like the PC could see it if you were running the new X2 utility. When you take a pic, MoPhotos sees it, transfers it to the phone where whatever you have set up to deal with it can find it (in my case DropSync).

      So what that means is that whatever wi-fi services the card has been configured to join will be used whenever you take a picture. If you are at home using your home wi-fi you would not have tethering turned on on your phone so the MoPhotos app uses your home network to talk to the card. When you are away from home, out in the field where you only have mobile connectivity, you turn on tethering on your phone. When you then take pictures the MoPhotos app transfers them from camera to phone (even if there is no mobile network coverage).

      re your 2: there is no direct mode anymore - at least not on my card - it does not work anymore - there is no connection tricks - it's much cleaner than the Eye-Fi approach. The Eye-Fi way had the Eye-Fi app on your phone take over the wi-fi control whenever the Eye-Fi card hot-spot became visible - disconnecting any existing wi-fi and connecting to the card until the pics were transferred. Then the hot-spot would turn off, the phone would hunt and connect to any other wi-fi network it was configured to use. Very clunky and very error prone - i very often had pics fail over and over to transfer plus, if i was at home taking pics and had the Eye-Fi app configured to only upload on wi-fi (ie to not use mobile data), the continuous turning on and off of the wi-fi connections meant pics were not uploaded - because while the phone is connected to the camera there's no way for it to upload to the net - and if you are taking a lot of pics it could mean that it would be hours before the first pic appeared on your social media. With MoPhotos there is no disconnection from the network so as the pics are taken they are almost instantly downloaded from the camera and uploaded to the net.

      Delete
    2. Thanks for the clarification and I think I get it now. Just to quickly summarise the definitions just so I'm sure I'm on the same page, correct me if I'm wrong:

      Direct mode - the card broadcasts a wifi hotspot and the computer/pc disconnects from it's current network and connects to that to transfer photos and you can't use the internet/network until that's done

      Traditional mode - the way that things used to be before the cards were semi-bricked. The card attaches to a wifi network and the receiving device can see it on that network and connect to it.

      The reason I'm not sure about those is because I just bought one of these cards for cheap on Ebay without realising all of this mess so I'm gathering all the details "after the fact". Currently for me only "Direct mode - wifi hotspot" works where the PC disconnects from the wifi network and connects to the card. With the Eye-fi X2 utility that's the only way to connect (that I can find).

      From what I've read, you can connect to a network because you setup the card with the old utility before it went down? I tried the old utility and I couldn't sign in/up.

      So I assume the MoPhotos app would not work with me? I'm guessing not as it would need to have the Eye-fi app to disconnect from the current network and connect to the card and I guess their app doesn't work anymore either? Also I use iOS where apps can't run in the background for long so I guess it wouldn't work without me running the app in the foreground anyway.

      The "direct mode" does work as it should (although a little flaky) but I too ran into the issue where my photos are backed up over wifi to a NAS but of course when the wifi disconnects it can't be accessed anymore, annoying!

      For me I'm not too worried about copying all photos as they are taken out and about, I just want them to be automatically backed up to my NAS when I get home so therefore it may be best for me just to use a spare laptop/pi running that program and connect to the internet with an ethernet cable so it can handle all of that while still connected to the network and without the bother of having my PC disconnect from the network for ages. Let me know if you have any other ideas.

      Delete
    3. you: "Direct mode - the card broadcasts a wifi hotspot and the computer/pc disconnects from it's current network ..."

      me: no. Direct mode is for transfers to a phone/tablet running Android or iOS. That device disconnects from any current wi-fi and connects to the Eye-Fi card's hot-spot using the Eye-Fi app installed on the phone. That stopped working for me even though they said it should keep working. I don't know why.

      you: "From what I've read, you can connect to a network because you setup the card with the old utility before it went down? I tried the old utility and I couldn't sign in/up"

      me: No, the Eye-Fi command center software that was already installed on my PC and which had been running - having been connected previously to the Eye-Fi servers, is still functioning enough that i can configure the networks that the Eye-Fi card can connect to. I have tried to install the command center app to another PC but it goes and gets an "update" and then terminates. I also tried to do it disconnected from the net but then it terminates with an error. In other words, if you do not have the Eye-Fi command center software already installed and working you probably can't do anything useful with the card except run the new X2 utility. They are real cunts.

      you: "So I assume the MoPhotos app would not work with me?"

      me: If you can't di the network config on the card then, yes, i think you won't be able to use MoPhotos unless the Eye-Fi card is in range of any network it has already been configured to connect to.

      sounds like you'll manage with their X2 Utility and yes it's a bit less convenient

      Delete
    4. Many thanks for walking me through all that, what a mess they have created indeed! I should be able to get by with X2, thanks for your help!

      Delete
    5. All is not lost! If you are confident with linux see note 3 above.

      Delete
    6. Looks great, especially for use on the pi, thanks!

      Delete
    7. As I have not the original control center installed any more on my computer, I tried to use the linux software listed in note 3 above. Unfortunately it tries to connect to eyefi server when trying to add a wifi network. Do you know if there is a way to force the software not to try this connection? Thank you

      Delete
    8. I found the way to force the app not to look for the server! It worked and now I can reconfigure the card without the Control Center

      Delete
    9. Cool, it would be great if you could share that here so others can learn from it if they have the same problem?

      Delete
    10. The software mentioned in NOTE 3 is a Linux one, and runs in a Linux terminal window. I had no Linux machine, so I installed an Ubuntu Linux guest machine into Virtualbox in my Win 10 computer. Virtualbox is a software able to create a virtual machine in a windows computer, where you can install another OS.
      So, in a Linux terminal window, you can type "./eyefi-config" to see the syntax of the software. To add a network you just type "./eyefi-config -a ESSID -p KEY --force" where ESSID is the network name and KEY is the password. The --force option forces not to test the network, as otherwise the test tries to connect to the Eyefi server, that does not work any more.

      Delete
  2. Did anyone get it to work with windows? Whenever I try to use the x2 utility software, I get that "registration failed" message.

    ReplyDelete
    Replies
    1. rephrase your question if my answer does not address it.

      If you are talking about the software they released after the complaints by the customer base as described here

      https://photorumors.com/2016/08/11/eye-fi-to-release-utility-that-will-extend-the-life-of-their-x2-memory-cards/

      then yes, I got it working under Windows 10 with no problems other than it is very simplistic.

      However it seems they are no longer offering that software - clicking on the link in the above ref leads to a DNS fault.

      That might explain the response you got - i can't be sure because i no longer have access to any Windows computers - i use only Linux sorry

      Delete

It is better to read than write - try http://www.historyisaweapon.com/zinnapeopleshistory.html

thanks

pop