[From http://returnbooleantrue.blogspot.com/2009/04/eye-fi-standalone-server-version-20.html]
skip to main | skip to sidebar

Return Boolean True

Thursday, April 2, 2009

Eye Fi Standalone Server Version 2.0

I'd like to release an updated version of the Eye Fi standalone server in
python that I have been working on. This version should work on Linux, Mac OS
X, Windows, Solaris, or wherever else you can load a Python interpreter. As
always I love comments so if you are using this feel free to e-mail me or drop
me a note!

Source on GitHub: http://github.com/tachang/EyeFiServer

Download (zip): http://www.darkeneddesire.com/EyeFiServer/2.0/
EyeFiServer-v2.0.zip

I know some people just like to browse around the source without having to
download stuff (I'm one of those people):

http://www.darkeneddesire.com/EyeFiServer/2.0/Release/

This new version has the following features:

  • The server can now execute an arbitrary command on each uploaded photo.
    This is a very dangerous feature and should be used with caution. On the
    other hand it is also very cool. You can have the server FTP files, display
    them using an image viewer, or even run sorting programs on the images.
  • Improved security: the server now generates its own nonces instead of using
    one that was hard coded. The nonce is based on the random library provided
    by python. The INTEGRITYDIGEST field is also checked.
  • Ability to read settings from a configuration file (there is a included
    DefaultSettings.ini for reference). The file allows you to configure the
    listen port, console output, logging, download location, and execute on
    upload, and upload key.

Some other notable improvements but not really features are the addition of
regression tests and support for Python 2.5. The regression tests are
interesting since I run them against the official Eye-Fi Manager to make sure
my behavior is a close match.

Getting usage information as to how to specify a configuration file:

C:\EyeFiServer\Release>EyeFiServer.py -h
Usage: EyeFiServer.py [options]

Options:
-h, --help show this help message and exit
-c CONFIGFILE, --config=CONFIGFILE
Path to configuration file (example in
DefaultSettings.ini)

Actually specifying a configuration file:
C:\EyeFiServer\Release>EyeFiServer.py -c DebugSettings.ini
Posted by Jeff Tchang at 7:56 PM ●
Labels: Eye-Fi, EyeFi, linux, python, server, standalone

159 comments:

●
    Levi said...
   
    Is there a way to have the pictures deleted after they are uploaded?

    April 3, 2009 12:41 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    Deleted from the computer running the server or deleted from the memory
    card?

    There is no way to delete it from the memory card.

    April 3, 2009 12:50 PM [icon_delet]
●
    Levi said...
   
    Yeah. The card. That stinks.

    April 3, 2009 1:06 PM [icon_delet]
●
    kevin said...
   
    I will be loading version 2 today. This will solve many issues I am having
    with using the Eye-fi card for our emergency first responder aerial
    surveillance system. Thank you Jeff!
    Kevin

    April 8, 2009 4:32 AM [icon_delet]
●
    jwgorman said...
   
    I have an application where a device logs data in .CSV format onto an SD
    card. I would like to use a EyeFi card instead, and have these text files
    beamed up somewhere. is this possible with your software? thanks!

    April 9, 2009 12:12 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @jwgorman That is not possible without a firmware hack to the card.

    April 9, 2009 7:42 AM [icon_delet]
●
    Andrew said...
   
    Right now, there is an option to run a program after the upload is
    complete. This is very handy.

    How difficult would it be to call a program when the upload starts?
    (Something that could be used to show a notification that a photo is
    starting the upload, or perhaps do something else.)

    April 17, 2009 9:13 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Andrew It's possible but not sure why you'd want to do so. The upload is
    in a tar format and may or may not complete. What kind of use case are you
    thinking about?

    April 17, 2009 9:23 AM [icon_delet]
●
    Andrew said...
   
    The official Eye-Fi software shows a preview of the image as it is loading.
    I was thinking about having a similar thing under Linux. (Even if it just
    says 'An image is uploading' and doesn't have a thumbnail to show for it.)

    April 17, 2009 9:39 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    I see. I have a TODO in the code actually:

    # TODO: Implement some kind of visual progress bar

    You will see that the code is commented out right now because I am not
    entirely sure how I want to implement this feature.

    April 17, 2009 10:26 AM [icon_delet]
●
    jwgorman said...
   
    on another note, question about SDIO - do you think device would present
    information about sd card disk writes on the COM port as serial events?

    http://www.spectec.com.tw/sdrs232.htm

    April 17, 2009 2:53 PM [icon_delet]
●
    jwgorman said...
   
    just for context, my application is this - trying to get the live data
    recorded (usually) on an sd card by this device:

    http://english.ivt-hirschau.de/content.php?parent_id=CAT_64&doc_id=DOC_220

    it is a solar controller that makes a file called solarlog.txt and it's in
    comma or tab delimited format on the SD card. I would like to intercept
    that file, and log it directly into a database. that software we have
    already written to accomodate a number of controllers - here is the site:

    http://www.solarnetwork.net/

    thanks, John

    April 17, 2009 6:32 PM [icon_delet]
●
    Andrew said...
   
    Is it possible to use this with multiple EyeFi cards?

    April 22, 2009 9:51 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Andrew This will probably not work out of the box with multiple Eye-Fi
    cards. I only own one card so can't really test.

    April 23, 2009 11:06 AM [icon_delet]
●
    Bob H said...
   
    I've been considering buying an Eye-Fi at some point, but the current
    closed nature of the device has made me a little unsure so far (at the
    price).

    However your server looks very interesting. Looking at something Dave
    Hansen said had me wondering, what about a PythonCE implementation for
    mobile phones?

    Bob

    May 4, 2009 1:31 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Bob H

    I'd love to port this to mobile phones but the reason this server works is
    because the Eye-Fi card connects to an access point. There are exactly zero
    phones on the market place right now that support acting as an access
    point.

    The only phone I know if that even has a remote possibility of this is the
    OpenMoko phone in which you'd have to write drivers to have it function in
    AP mode. This phone is really on its deathbed though because of Android.

    May 4, 2009 2:00 PM [icon_delet]
●
    matt said...
   
    You're a clever dude Jeff. I'm Eying the Eye-Fi to help streamline data
    entry for out non-profit organisation. We receive donated furniture which
    we data enter into a web-based inventory management app. Each item requires
    a (reasonably high-res) photograph which we currently have to download to a
    fileshare from the camera and at a later time painstakingly associate each
    one with its inventory record via the web interface (this is stupid). I'm
    looking for ways to get a decent digital camera to provide an image to a
    web applicaiton in one hit right at the point of data entry. Can you see a
    way forward using Eye-Fi... or even have any suggestions for things I could
    investigate?

    May 12, 2009 7:32 AM [icon_delet]
●
    Andrew said...
   
    @matt

    Depending on the resolution of the image (along with other factors, like
    proximity to the wireless access point since the eye-fi's wireless isn't as
    strong as a normal laptop's wireless) it may take up to a couple minutes
    before the image is fully uploaded (with either Jeff's server or the
    official one). This may or may not affect your entry of data. (Perhaps
    write it so that it associates the photo after you add the details based on
    exif time or something.)

    May 12, 2009 7:44 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Matt

    Here is a scenario that could work:

    1. User brings up the web-based inventory management app.
    2. User clicks a button and the web based app waits for an image.
    3. When image is uploaded the web based application associates the image to
    the correct inventory description.

    How this would happen technologically:

    I own a small netbook (an MSI Wind). One of the best things about this
    netbook is that it comes with an RALink wireless card that supports access
    point mode in windows. What this means is that you can essentially have a
    mobile access point. What I did was setup this netbook as an access point
    and run my Eye-Fi software. When the EyeFi card in my camera starts up it
    connects to the netbook and starts uploading photographs.

    My scenario would be having a person walking around with the netbook and
    camera. They would bring up the inventory management app and click a button
    when they were ready to upload a photograph. They would then snap a quick
    photo. My software would capture it within 1-2 minutes and associate it to
    the inventory item. I imagine this use case would work because the person
    would be filling out details about the item as they were waiting for the
    photograph to finish transferring.

    The pluses to this is that you can do any sort of photograph transformation
    inline. Photos are never deleted off the SD disk so you can do it manually
    later if you need to.


    I would be interested in working on this as a side project (sounds like
    fun). If you want some help feel free to e-mail me! :)

    May 12, 2009 11:11 AM [icon_delet]
●
    cochran242 said...
   
    The Windows Mobile phone can work as an access point. You just need to
    install a piece of software called wmwifirouter. http://
    www.wmwifirouter.com/

    On a side note I tried your script on my linux box and it starts up but
    does not receive any files. I opened the firewall port and still no love. I
    double checked the upload key. How does the card know to send the pics to
    the server? Is there anything else I should do?

    May 14, 2009 5:23 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @cochran242

    Please post a log or enable logging.

    May 14, 2009 5:48 PM [icon_delet]
●
    cochran242 said...
   
    Thanks for helping!!! It would noy let me paste in my log so I have
    uploaded it here:
    http://rustyfenders.com/Log.txt

    Thanks again

    May 14, 2009 6:15 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @cochran242

    Basically what is happening is that the card does not trust the server.
    This usually happens because the UploadKey is incorrect.

    Are you sure you got the right upload key?

    May 14, 2009 6:54 PM [icon_delet]
●
    cochran242 said...
   
    Ok, I have uploaded the Settings.xml file from my windows box here: http://
    rustyfenders.com/settings.txt
    and I have uploaded a new log here without editing (looked like it
    reattempted):
    http://rustyfenders.com/Log.txt

    Again, thank you for your time

    May 14, 2009 7:23 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @cochran242

    Did you recently upgrade the firmware? What kind of card do you have? EyeFi
    might have changed something and I just didn't pick up on it. It doesn't
    seem like anything is blatantly wrong. Odd.

    Do you have chat? Go ahead and e-mail me directly your screen name. My
    e-mail is on this site.

    -Jeff

    May 14, 2009 7:41 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    Ack. I just saw that Eye-Fi released a new firmware. Need to check it.
    Probably the cause.

    May 14, 2009 7:44 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    The new Eye Fi firmware adds an option called "Relayed Uploads". If this is
    enabled the Eye-Fi server on this site will not work out of the box. The
    easy fix is to disable it. I will release a new version shortly that will
    take care of all this.

    The detailed answer is that the relayed uploads feature adds a new
    transfermode. This transfermode, which happens to be 3, is sent by the card
    to the server. The problem is I hardcoded a transfermode of 2. I just need
    to clean up the code and make sure I send back whatever transfermode the
    card sends me.

    May 14, 2009 9:43 PM [icon_delet]
●
    sorboimages said...
   
    Is there a way to have the server only upload images from the eye-fi card
    that have been "tagged" protected in camera?
    That's the biggest problem using an eye-fi card is it's too slow when
    uploading all the images, but if it could only upload selected images it
    would really be useful.
    Thanks for all your work.

    Rob

    May 19, 2009 3:24 PM [icon_delet]
●
    sorboimages said...
    This post has been removed by the author.
    May 19, 2009 3:24 PM [icon_delet]
●
    sorboimages said...
    This post has been removed by the author.
    May 19, 2009 3:29 PM [icon_delet]
●
    Andrew said...
   
    @sorboimages Since the sending of images is completely handled by the card
    and not the server, that wouldn't be something that this could do. I'd
    recommend checking the official Eye-Fi forums for your suggestion (or
    posting it if you can't find it) since it would have to be done on the
    card's firmware.

    May 19, 2009 3:50 PM [icon_delet]
●
    sorboimages said...
   
    @Andrew Yes, I was just wondering if the server could accept or reject a
    download based on the "tagged" meta data or is that just not doable?
    Thanks for your reply.

    May 19, 2009 8:02 PM [icon_delet]
●
    FP said...
   
    i dream of this thing on a synology NAS ...
    fred

    May 28, 2009 9:01 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    If you are getting the following error:

    TypeError: stat() argument 1 must be (encoded string without NULL bytes),
    not str

    then you are most likely running Python 2.5.1 or less. This error is the
    result of a bug in the tarfile library that I use. In Python 2.5.2 or later
    this is fixed.

    Link to the issue where people talk about it on the mailing list:
    http://mail.python.org/pipermail/tutor/2008-July/063075.html

    -Jeff

    May 28, 2009 8:35 PM [icon_delet]
●
    eeyago said...
   
    Jeff, I was hoping to use your setup out in the field, to beam pictures
    directly to my laptop via AP, with no Internet connection available. Is
    this possible? If so, I am unable to get it to work that way. Looks like
    the script is making calls to specific web sites. Help!

    June 6, 2009 12:02 PM [icon_delet]
●
    eeyago said...
   
    Jeff, I was hoping to use your setup out in the field, to beam pictures
    directly to my laptop via AP, with no Internet connection available. Is
    this possible? If so, I am unable to get it to work that way. Looks like
    the script is making calls to specific web sites. Help!

    June 6, 2009 12:02 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @eeyago

    What seems to be the problem? The script does not call out to any websites.

    In general to debug I need to know what your setup. Also the logs would be
    a great help.

    June 6, 2009 12:31 PM [icon_delet]
●
    eeyago said...
   
    @Jeff,
    The log file is located here:
    http://www.crazyclix.com/temp/EyeFiServer.log

    At home, my network is WEP secure connected to the Net and the upload works
    fine. I bought a cheap router (Dynex) and setup the wireless config the
    same, but fails. However, as stated previously, this new router is not
    connected to the Net.

    Thanks and look forward to what you find out. PS: Server ver 2.0.4.

    June 7, 2009 4:27 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @eeyago

    The Eye-Fi card does seem to find the server but doesn't want to upload to
    it. Double check that you have relayed upload disabled (using the standard
    Windows tool). Make sure you have it configured to upload to a computer
    (you can specify any destination).

    Let me know what you find.

    June 7, 2009 5:39 PM [icon_delet]
●
    cochran242 said...
   
    This script is working great. I have one feature request. If this script
    could place files in subfolders based on the picture taken date. Thanks!

    June 7, 2009 9:42 PM [icon_delet]
●
    eeyago said...
   
    @Jeff,
    Apparently, I was using an older version of your code. I upgraded to the
    latest version, but still unable to successfully connect. Log in same
    place: http://www.crazyclix.com/temp/EyeFiServer.log

    The relayed upload is disabled thru the EyeFi config online, but don't know
    where to check otherwise. Please advise.

    Thanks!

    June 9, 2009 4:04 AM [icon_delet]
●
    William said...
   
    Would anyone care to write a short tutorial on how to get this up and
    running for those of us who aren't computer experts? It looks like a great
    idea, and I'd love to try it, but I don't really know how Python works, or
    how to get up and running so that I can transfer photos via ad-hoc.

    June 11, 2009 6:09 PM [icon_delet]
●
    chairman said...
   
    is it possible to use eye-fi standalone server and used relayed upload?

    Or have something running on a server on the internet and whenever I take a
    picture and get in coverage for a public access point the pictured would be
    uploaded to my own server. Either directly or via eye.fi or something like
    that...

    July 20, 2009 8:37 AM [icon_delet]
●
    Elo &amp; Fred said...
   
    hi,
    because you now well know the eye-fi, do you know if there is a way to
    configure it to use it like on wayport but not on wayport ? see : http://
    f28f2.tk and http://n73aq.tk
    regards

    July 21, 2009 11:25 PM [icon_delet]
●
    Guillaume Filion said...
   
    Is there any of you using this on an iphone?

    I managed to install python using Cydia on my jailbroken iphone, then
    connect to the iphone using ssh and download and run the Eye Fi Standalone
    Server, but I don't have a Eye-Fi card, so I don't know if it *really*
    works! ;)

    It would be nice since it would allow to transfer the photos directly on
    the iphone. Once it's done, then the iphone becomes a great photo manager.
    It can even post pictures on the Net using the 3G network!

    I guess I'll buy an Eye-Fi card and see for myself... :)

    July 23, 2009 7:36 PM [icon_delet]
●
    gifford said...
   
    Do you know how the eye-fi card finds the computer running the server ? I
    would like to run the server on a completely different computer and expect
    that it will not "just work" ...

    July 29, 2009 9:32 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @gifford

    The Eye-Fi card actually does a scan of the subnet in which it obtains the
    DHCP address.

    Therefore running the Eye-Fi server on a different computer really will
    "just work"!

    July 29, 2009 11:14 PM [icon_delet]
●
    Andrew said...
   
    @gifford

    In addition to Jeff's comment, make sure you only have one eye-fi server
    running on the network.

    July 30, 2009 5:01 AM [icon_delet]
●
    gifford said...
   
    @{Jeff Tchang, Andrew}

    Thanks for the insight! I guess Eye-Fi actually makes it pretty easy.

    July 30, 2009 6:59 AM [icon_delet]
●
    Daniel said...
   
    @Jeff Tchang. I've got a few questions about your standalone server:

    1. Will it work for any file type or just images and video?
    2. If not, is there a way to disable the code that prevents it from
    checking the file type or can we make any file look like the correct file
    type with?

    I appreciate any help.

    Thanks,

    Daniel

    October 2, 2009 10:15 AM [icon_delet]
●
    Daniel said...
   
    Can I embed your code into another application?

    Thanks again!

    October 2, 2009 10:28 AM [icon_delet]
●
    Andrew said...
   
    @Daniel It should work with any type of file that the Eye-Fi card sends.
    This software has no control over what the card does or does not send.

    October 2, 2009 11:27 AM [icon_delet]
●
    Daniel said...
   
    Thanks, I'm guessing that it's limited to image and video files since
    that's what the Eye-fi card would send. Has anyone tried transferring a PDF
    file or something completely different from a media file?

    Thanks again.

    October 2, 2009 12:32 PM [icon_delet]
●
    Jonathan said...
   
    Hmmm... I can run old script fine but with new script, when receiving image
    I get:
    File "/home/jon/nbprojects/NewPythonProject/src/configobj.py", line 580, in
    __getitem__
    val = dict.__getitem__(self, key)
    KeyError: 'Card'

    I am running Python 2.6.2 and relevant config is same directory and I
    believe correct.

    Not sure what my problem is but just wanted to say I really appreciate
    writing / releasing this software.

    October 13, 2009 3:21 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Jonathan

    What do the logs say? More than likely you didn't specify a configuration
    file or you forgot to edit it and make sure there is a [Card] section.

    -Jeff

    October 13, 2009 3:36 PM [icon_delet]
●
    Jonathan said...
   
    Oops forgot to specify config file - my bad! Yeah going fine.
    Would be nice idea to put out help message if no parameters specified?

    Thanks.

    October 13, 2009 5:46 PM [icon_delet]
●
    Daniel said...
   
    Hi Jeff,

    Can multiple Eye-Fi cards download at the same time to the same computer or
    does it only allow for one Eye-Fi card to download at a time?

    Thanks,

    Daniel

    October 15, 2009 3:39 PM [icon_delet]
●
    Andrew said...
   
    @Daniel: The code included with this post does not support more than one
    card. I have altered the code to allow for multiple cards. I'll try to get
    it up in a few hours. (Running out now, and will have to find it.)

    October 15, 2009 3:45 PM [icon_delet]
●
    Daniel said...
   
    Thanks !!! I appreciate it.

    October 15, 2009 3:48 PM [icon_delet]
●
    Daniel said...
   
    Hi Andrew,

    Can you tell me where I can find the code that allows the multiple cards to
    download simultaneously?

    Thanks,

    Daniel

    October 16, 2009 11:30 AM [icon_delet]
●
    Andrew said...
   
    @Daniel

    Here are the changes that I made to the original code:

    http://sandbox.ahotw.com/eye-fi/multipleCards.txt

    October 16, 2009 11:35 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Daniel

    Andrew e-mailed this a while back but I never actually incorporated the
    change. Just have been too busy with other stuff. That said the project is
    on github if anyone wants to work on it. Here is the change:




    Config File:
    In the section [Card], for each card put the mac address and the upload key
    (mac address is also in the file where the uploadkey is found).

    [Card]

    [[001856xxxxxx]]
    UploadKey=c686e547e3728c63a8f78729c1592757

    [[001856xxxxxx]]
    UploadKey=c686e547e3a8f78729c15927573728c6


    EyeFiServer.py:
    396c396
    < self.server.eyeFiConfiguration['Card']['UploadKey'])
    ---
    > self.server.eyeFiConfiguration['Card'][handler.extractedElements
    ["macaddress"]]['UploadKey'])
    482c482
    < credentialString = handler.extractedElements["macaddress"] +
    self.server.eyeFiConfiguration['Card']['UploadKey'] +
    self.server.serverNonce;
    ---
    > credentialString = handler.extractedElements["macaddress"] +
    self.server.eyeFiConfiguration['Card'][handler.extractedElements
    ["macaddress"]]['UploadKey'] + self.server.serverNonce;
    534c534
    < eyeFiUploadKey = self.server.eyeFiConfiguration['Card']['UploadKey']
    ---
    > eyeFiUploadKey = self.server.eyeFiConfiguration['Card']
    [handler.extractedElements["macaddress"]]['UploadKey']

    October 16, 2009 11:38 AM [icon_delet]
●
    Daniel said...
   
    Cool, thanks guys; much appreciated.

    October 16, 2009 12:10 PM [icon_delet]
●
    neociano said...
   
    Hey Jeff awesome script but I am have some questions about which eye fi
    card to use. I have both versions (basic and pro). The pro uses the ad hoc
    feature and the basic does not. Is your script applicable to both and
    finally when I run the regression.py in IDLE python I get an error which I
    guess is my major problem. I have not yet had a successful upload and was
    wondering If I missed something.

    October 18, 2009 6:44 AM [icon_delet]
●
    Andrew said...
   
    @neociano This script was written prior to the release of the Pro cards,
    and I doubt it's been tested with them.

    October 18, 2009 7:44 AM [icon_delet]
●
    Elo &amp; Fred said...
   
    seems there a lot activity backon this thread ! nice !
    does anybody tried to use that on a synology nas ?
    ++
    fred

    October 18, 2009 7:55 AM [icon_delet]
●
    neociano said...
   
    @Andrew Thank you for your quick response! I am still having difficulty
    setting this up. I have the defaultsettings.ini configured correctly, and I
    am running the eyefiserver.py with the -c command but I just get no
    response from the card. I got the uploadkey error but once I changed the
    key I get nothing. I also tried running the recession test and it said it
    couldn't upload. I am using python 2.63 for winxp and a Nikon D40 to
    capture. Any help would be greatly appreciated as I need this technology
    for my current business,

    Thanks again!

    October 18, 2009 8:25 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @neociano

    I have had some people tell me that the pro card works. If you post a log I
    can troubleshoot what is going on.

    October 18, 2009 11:50 AM [icon_delet]
●
    neociano said...
   
    @Jeff Will do! Thank you very much

    October 18, 2009 4:29 PM [icon_delet]
●
    Luciano said...
   
    @Jeff these are my configuration files....http://rapidshare.com/files/
    294990568/Settings.xml

    http://rapidshare.com/files/294990437/DefaultSettings.ini

    http://rapidshare.com/files/294990221/log.txt


    Thanks again for all your help in advance

    Regards Neociano

    October 19, 2009 3:09 AM [icon_delet]
●
    Luciano said...
   
    I hope I didn't confuse anyone this is still neociano! lol for some reason
    the blog changed it to my real name..if anyone could help me with my config
    settings I would greatl appreaciate it!

    October 19, 2009 7:57 PM [icon_delet]
●
    Luciano said...
   
    @Everyone (lol) I would like to confirm that the script works for both
    regular and pro cards. The pro card is a bit faster and I am currently
    testing if it works ad hoc with no internet connection, as of right now I
    have only gotten the script to work when connected to my home wifi internet
    with either card.

    @Jeff Thanks again for all your help, You are the man.

    October 20, 2009 12:44 PM [icon_delet]
●
    holla2040 said...
   
    Jeff,
    Just got my pro card to adhoc to jaunty running your EyeFiServer v2.0.
    Thanks for all your hard work!
    Craig

    October 20, 2009 11:08 PM [icon_delet]
●
    Luciano said...
   
    Ok 1 last question I have a belkin router which has a access point feature,
    I just cannot get it configured correctly....I have tried to connect the
    card to the router (with no internet access)with no success. If any one has
    I would love to discuss how you did it..Thanks Neociano

    October 21, 2009 4:44 AM [icon_delet]
●
    Andrew said...
   
    I've never had issues with setting up a card to use an access point. You
    will need to use the eye-fi manager to set the card up with the access
    point and give the card the ssid (wireless network name) and any encryption
    keys that might be in place.

    October 21, 2009 5:10 AM [icon_delet]
●
    Rajadurai said...
   
    Dear Jeff,Andrew,
    (Sorry to repeat a question.)
    1. Will it work with all file types(mp3,avi,mpg,pdf etc)
    2. Can we write data on Card using wifi server.

    *This hack will be used to power my Car stereo mp3 player, My Sony HDTV
    with USB(EyeFi hooked to card reader)

    November 6, 2009 10:35 AM [icon_delet]
●
    Andrew said...
   
    Rajadurai:

    1. No (perhaps if you found a way to make custom firmware for the card).
    2. No (the only way to write data *to* the card is via normal means).

    November 6, 2009 10:38 AM [icon_delet]
●
    Rajadurai said...
    This post has been removed by the author.
    November 6, 2009 10:46 AM [icon_delet]
●
    Rajadurai said...
   
    @Andrew
    Thanks

    I'm working on a HARDWARE project.
    WLAN NAS FlashDrive. So i was intrested in Modding EyeFi. When i came
    across the standalone server, i geussed that they were controlled at
    server.

    Thanks.

    November 6, 2009 11:14 AM [icon_delet]
●
    register said...
   
    I have moved my ldif to tsv code here: http://codeblogger.net/blog/?p=13

    December 8, 2009 2:41 AM [icon_delet]
●
    pnord said...
   
    On the Mac the Settings.xml file is in:
    ~/Library/Eye-Fi/Settings.xml

    December 8, 2009 7:15 AM [icon_delet]
●
    Lee M said...
   
    Hello this is Lee, I am bringing up your EyeFi server.

    I have one question (at the end) and these notes for other people bringing
    up the Linux python eye-fi server.

    On Windows, the Settings.xml file is hidden. I had to futz around with
    "view" or some such setting to see the file.

    It is helpful you explained the EyeFi card searches the subnet when finding
    a EyeFi server. I turned off my wife's Windows computer running EyeFi
    server software to enable the search to find the Linux box running the
    Python EyeFi server software.

    I am starting the server with "-i" and doing two steps to quit the server.
    First control-c and then the python function quit() (parentheses required).
    Otherwise I have to kill the python process which is kinda mean.

    python -i EyeFiServer.py -c DefaultSettings.ini

    Initially, I started seeing file transfers when I turned on Loglevel=DEBUG.

    And, how do you observe the basic EyeFi card transfer processes?

    December 27, 2009 12:11 AM [icon_delet]
●
    Mark said...
    This post has been removed by the author.
    January 7, 2010 8:49 PM [icon_delet]
●
    Mark said...
   
    this is great. have you thought about putting it on github so others can
    contribute?

    January 7, 2010 8:50 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Mark

    Already there: http://github.com/tachang/EyeFiServer

    January 7, 2010 9:11 PM [icon_delet]
●
    bart said...
   
    Hi Jeff, Good work on the EyeFi Server i have it running with out any
    problems.

    One thing i have noticed is that if an image has the same name it auto
    overwrites it, is there any way to counteract this? Or is there any way to
    make the server software create folders per day or month then upload to
    them?

    Thanks again, Bart

    January 24, 2010 10:48 AM [icon_delet]
●
    Fho said...
   
    Jeff,

    Any chance of making this work on Android? I know you're experienced with
    Android so I'm sure you've given it some thought at least. I have a
    Motorola Droid that's rooted and has Wifi tethering. It can create an
    ad-hoc network so I was just wondering how hard would it be to have the
    server connect to that?

    February 9, 2010 11:55 AM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Fho

    Would definitely write the Android port but it wouldn't work right now. The
    base Eye-Fi card only works with infrastructure wireless networks.

    Now if I got my hands on an Eye-Fi Pro card (the one that supports ad-hoc
    networks) then I could port it to Android.

    February 9, 2010 1:24 PM [icon_delet]
●
    Fho said...
   
    I was wondering if it could be done with the regular card. That's what I
    have and don't see me paying $150 just for the "pro" version.
    There isn't a way to "adjust" the firmware of regular cards to unlock
    ad-hoc networks?

    February 9, 2010 2:09 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Fho

    Currently there is no way to hack the firmware. I tried a while back but my
    knowledge just isn't that deep when it comes to hardware reverse
    engineering.

    February 9, 2010 2:13 PM [icon_delet]
●
    Fho said...
   
    Thanks for your responses. I've got 1 more question for you. I don't mean
    to pester you, Im just really excited for what you've done and its
    potential. Would there b a way to make an access point with my doid? I can
    set up an ad hoc network but if i can setup a wireless access point then i
    wouldn't need the pro card

    February 9, 2010 2:51 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Fho

    There is currently no way to setup an access point with android. The reason
    is primarily that there has been no code written for the android for the
    wireless card to work in master (infrastructure) mode.

    If you could push this enhancement to wifi-tether that would be best:

    http://code.google.com/p/android-wifi-tether/issues/detail?id=11&q=
    master%20mode

    February 9, 2010 3:00 PM [icon_delet]
●
    Dutch said...
   
    Jeff,
    I thought it might be cool to use Ubuntu's notify-send command to Send a
    Desktop notification when an upload completes but when I try to put this as
    a command in the DefaultSettings.ini I get a series of python errors in the
    console. Any idea how this might be accomplished correctly?
    example: ExecuteOnUpload=/usr/bin/notify-send "Image Uploaded" 2>&1

    Thanks

    February 14, 2010 7:08 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Dutch

    Try creating a simple shell script and using that as the command for
    ExecuteOnUpload.

    The shell script needs to be prepared to accept as its first argument the
    file name of the image.

    Inside that shell script run the send-notify.

    February 14, 2010 8:31 PM [icon_delet]
●
    Sai said...
   
    Jeff,
    I am trying to develop an embedded application based on the EyeFi
    Standalone Server v2.0. I am using the pro card and configuring it in AdHoc
    mode. I have tried the Eye-Fi card with your script in ad-hoc mode and it
    works perfectly.

    I am able to receive the Start Session packets from the Eye-Fi card on my
    embedded platform and am replying to it with a Start Session response
    packets on the lines of what you have in your script. But I don't receive
    anything from the Eye-Fi card. I tried to sniff the packets and the data
    packets going out of the embedded application are exactly similar to the
    ones that the EyeFi Standalone Server v2.0 sends.

    I am calculating the credentials as md5(macaddress, cnonce, uploadkey). I
    am keeping the snonce (1ab39d09d92a42af9cfa769c74ee74e9), transfermode (2),
    transfermodetimestamp (1230268824) constant. I hope this is correct.

    My concern is with the date. Does it have to be correct? I think it should
    not matter. But I wanted to know if the Eyefi card expects a correct date.

    Any advice will be really helpful and appreciated!

    February 22, 2010 5:34 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Sai

    Are you still having problems? Please feel free to e-mail me directly.

    I am not sure what the bug is with your program but I'd be welcome to take
    a look. I'd definitely try using a valid time stamp thtough.

    February 27, 2010 4:30 PM [icon_delet]
●
    chad said...
    This post has been removed by the author.
    March 3, 2010 7:57 AM [icon_delet]
●
    Daniel said...
   
    Can I run the software directly on a wireless router with DD-WRT (Linux)?
    My goal is to send the pictures from the Eye-Fi card directly to a wireless
    router. The router has a USB port for an external drive. My goal is to get
    the pictures to the external drive without going through a computer.

    Thanks,

    Daniel

    March 26, 2010 7:52 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Daniel

    Yes it is possible but you'll have to configure it in a specific way.

    March 26, 2010 7:54 PM [icon_delet]
●
    Daniel said...
   
    Thanks Jeff,

    Do you know of any hints or tips that would help me install it?

    Thanks again for the quick response.

    March 27, 2010 7:59 AM [icon_delet]
●
    Daniel said...
   
    Hi Jeff,

    Can commands be used to send files from the server to the Eye-Fi cards?

    Also, does the current version of software allow for several multiple
    simultaneous downloads?

    We can test 100 cards, simultaneously, if we know that the code supports
    it.

    Daniel

    March 28, 2010 1:29 AM [icon_delet]
●
    Glen said...
   
    I am randomly getting a "Broken Pipe" error. My guess is a timing issue
    since my target folder in a CIFS share.

    A while back, cochran242 asked about organizing files into folders based on
    timestamps. I hard coded a solution into the source on my machine (the card
    coding is the datetime format which, for me, is YYYYMMDD). For anyone
    interested. I'll try to post it somewhere (once I figure out how to add
    formatted code to a comment).

    March 28, 2010 9:29 AM [icon_delet]
●
    walter said...
   
    hey - your download link for v2.0 zip doesnt work...it takes me to some
    christian book page or something...

    April 9, 2010 9:56 AM [icon_delet]
●
    walter said...
    This post has been removed by the author.
    April 10, 2010 6:36 PM [icon_delet]
●
    walter said...
    This post has been removed by the author.
    April 10, 2010 7:34 PM [icon_delet]
●
    walter said...
   
    the eye-fi card key has been moved...it's no longer stored in settings.xml.
    it is now stored in:

    C:\Documents and Settings\userid\Application Data\
    fi.eye.center.some-really-long-hex-string.1\Local Store\Eye-Fi Center.log

    look for something like this;

    2010-04-10 22:06:23-04:00 LOG login _deviceMovement undefined Eye-Fi Card
    7d5a73a***YOUR-EYE-FI-CARD-HEX-STRING***7055ff0e 4.1012 1 1 0 0 0 1 1 1 0 1
    0 1 1 1 eyefi false undefined undefined undefined

    April 10, 2010 7:54 PM [icon_delet]
●
    Peter said...
   
    Hi!

    Great stuff!

    Did you ever try to use the ability run a command on upload to
    automatically geotag each image? Performance?

    Thanks
    Peter

    April 27, 2010 1:17 PM [icon_delet]
●
    Corey said...
   
    Did anyone verify if this works for iphone? Please let me know.

    May 10, 2010 9:02 PM [icon_delet]
●
    Brian said...
   
    I translated the Python into some Objective-C for my ShutterSnitch app for
    the iPad/iPhone/iPod Touch, and that works. Thanks Jeff - You're the man :)

    May 11, 2010 11:54 PM [icon_delet]
●
    speed121 said...
   
    @ Brian
    I'm a bit of a newbee at this. I'm using Shuttersnitch also. Can you tell
    me what "translated the Python into some Objective-C" means and how you did
    it?
    Thanks

    May 12, 2010 8:23 AM [icon_delet]
●
    Jason Faraone said...
   
    I currently use about 20 EyeFi cards. Right now I'm using the official
    software, but it is extremely unreliable. I schedule the XP machines that
    run the software to reboot 4 times daily, as an automatic fix of sorts.

    This seems like it would be much more stable, but I have a few things that
    are extremely critical in my environment.

    1) The server needs to be able to support multiple cards. This doesn't look
    like an issue based on what I've read.

    2) I need to be able to have different cards deliver to different folders.
    Preferably I would have, for example, my Cleveland EyeFi cards deliver to
    C:\Images\CLV\Sales\05-13-10\, and my Nashville cards deliver to C:\Images\
    NVL\Quality\05-13-10\.

    3) I have a routed LAN network. The EyeFi cards will run on a different
    VLAN than the server itself, which means that broadcasting to find the
    server probably won't work. I set up the first version of the standalone
    server, and if I recall, I had to add a DNS entry for api.eye.fi pointing
    to my standalone. This solution won't work if I plan on using multiple
    servers (which is dependent on whether I can have different cards on the
    same server point to different folders).

    Hope that all made sense.

    You have no idea how much easier my job would be if I had a more robust
    EyeFi system, and I can tell you that there is certainly a market for a
    business solution.

    I can't believe how EyeFi is ignoring that entire market segment.

    May 13, 2010 2:13 PM [icon_delet]
●
    Jason Faraone said...
   
    I'm getting the following in my EyeFi launch window, and no image ever
    uploads. The camera is actively trying to transfer, though.

    Any ideas?

    http://pastebin.com/NpTFV4BY

    May 19, 2010 2:48 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Jason

    What is this transfermode 34? Use the official eye fi software to make sure
    that shows 2. I think that is where the problem is. There is a setting
    inside Eye-Fi about where to upload files.

    May 19, 2010 2:54 PM [icon_delet]
●
    Jason Faraone said...
   
    I have relayed transfer disabled, and here is the "selective transfer"
    dialog. Not sure what to enter here...

    http://imgur.com/EtHcg.png

    May 19, 2010 3:03 PM [icon_delet]
●
    Jason Faraone said...
   
    So I poked around for a bit, and by default uploading video is enabled. I
    disabled this, and now my transfer mode is "2", but my camera just hangs
    while sending a picture. Here is the console debug output:

    http://pastebin.com/diu8AZxs

    May 20, 2010 1:31 PM [icon_delet]
●
    CBailey said...
   
    Well, I installed the server, and I have to say I'm very happy with it's
    functionality, and it's a LOT more stable than the Eye-Fi software. One
    little problem though. When I try to transfer a movie, I get this error
    message:
    error: [Errno 10055] An operation on a socket could not be performed
    because the system lacked sufficient buffer space or because a queue was
    full

    I googled this, and found a registry hack that allows high number ports on
    Server 2003 (What I'm running). Before I applied the hack, the error
    message occurred on every transfer (Pictures too), but now it's only
    happening with movies. Any ideas?

    May 23, 2010 7:01 PM [icon_delet]
●
    Jason Faraone said...
    This post has been removed by the author.
    May 25, 2010 12:48 PM [icon_delet]
●
    Jason Faraone said...
   
    @ Andrew / Jeff:

    Would it be possible to add in the option of having a different
    DownloadLocation based on the card?

    It would seem trivial since you provide the same functionality with the
    UploadKey setting, but I'm not really a developer and can't seem to figure
    out how to do it myself.

    Also, when using Andrews modifications to support multiple cards, I get the
    following in my log; any ideas?:

    Exception happened during processing of request from ('10.1.23.42', 52354)
    Traceback (most recent call last):
    File "C:\Python26\lib\SocketServer.py", line 558, in process_request_thread
    self.finish_request(request, client_address)
    File "C:\EyeFi\EyeFiServer.py", line 177, in finish_request
    self.RequestHandlerClass(request, client_address, self)
    File "C:\EyeFi\EyeFiServer.py", line 193, in __init__
    BaseHTTPRequestHandler.__init__(self, request, client_address, server)
    File "C:\Python26\lib\SocketServer.py", line 615, in __init__
    self.handle()
    File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
    File "C:\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
    method()
    File "C:\EyeFi\EyeFiServer.py", line 256, in do_POST
    response = self.startSession(postData)
    File "C:\EyeFi\EyeFiServer.py", line 534, in startSession
    eyeFiUploadKey = self.server.eyeFiConfiguration['Card']
    [handler.extractedEle
    ments["macaddress"]]['UploadKey']
    File "C:\EyeFi\configobj.py", line 580, in __getitem__
    val = dict.__getitem__(self, key)
    KeyError: u'0018562268ac'

    May 25, 2010 2:47 PM [icon_delet]
●
    Marc said...
   
    Hey guys. I've got the "DownloadLocation=.\\pictures" uncommented, but it
    is not placing the pictures there. Any idea what I'm doing wrong?

    Thanks

    May 28, 2010 8:55 AM [icon_delet]
●
    miguelo said...
   
    Hi, for some strange reason it seems to transfer only two pictures over and
    over, am I the only one with this problem? Mac OS X 10.6.2 and Python 2.6.1

    May 29, 2010 12:28 PM [icon_delet]
●
    Unstill Editor said...
   
    Thanks for writing this!

    I'd like to add some code to do more processing with the download location
    - how much of the images metadata is available to the script before it
    downloads the image? Can I get the filename? filedate? Any EXIF data?

    June 4, 2010 2:09 PM [icon_delet]
●
    nick_fankhauser said...
   
    The Server works well, thanks a lot!
    But there is one bug I discovered.
    After downloading about 1000 images, the thread limit of the OS is
    exceeded. I am getting this error: "error: can't start new thread"
    Could it be that the hook child-threads are not correctly terminated?

    June 12, 2010 3:57 AM [icon_delet]
●
    Pieter Viljoen said...
   
    Hi, happy to find this post, disappointed with eye-fi that you had to write
    it, direct upload to a local file server using SMB/CIFS/FTP seems like such
    a basic requirement.

    I want to configure the card on a physical machine, but run the standalone
    server on a virtual machine hosted on a server.

    How does the eye-fi card know the FQDN/IP of the local server it should
    connect to?

    June 15, 2010 12:21 PM [icon_delet]
●
    Andrew said...
   
    Pieter Viljoen: The eyefi card looks for a running server on the subnet
    that the card is on. It will attempt to send to the first server it finds.

    June 15, 2010 12:24 PM [icon_delet]
●
    Pieter Viljoen said...
   
    Andrew, ok, thanks.

    That seems very inefficient, imagine I run a private class A 10.255.255.255
    subnet, 16 million possible hosts...

    What if I'm in a shared environment, like in an enterprise or a university
    dorm, multiple eye-fi card owners, multiple servers, all on the same
    subnet, my card may end up talking to somebody else's server, does the card
    validate the server, and move on if validation fails?

    June 15, 2010 12:52 PM [icon_delet]
●
    Andrew said...
   
    Pieter Viljoen: Yes, there is verification, which is why the uploadKey is
    important.

    June 15, 2010 12:56 PM [icon_delet]
●
    Pieter Viljoen said...
   
    I am having a problem running the server. I know nothing of Python, so
    please excuse my lack of knowledge.

    I installed "Python 3.1.2 Windows X86-64 MSI Installer" from python.org, on
    Windows 7 Ultimate x64.

    I open a command prompt, cd to the server folder, and run:

    -------------
    C:\Users\User Name\Downloads\EyeFiServer-v2.0>EyeFiServer.py -h
    File "C:\Users\User Name\Downloads\EyeFiServer-v2.0\EyeFiServer.py", line
    678
    print "Warning: No configuration file specified! Run this server with the
    -h command."
    ^
    SyntaxError: invalid syntax

    C:\Users\User Name\Downloads\EyeFiServer-v2.0>EyeFiServer.py -c
    DebugSettings.ini
    File "C:\Users\User Name\Downloads\EyeFiServer-v2.0\EyeFiServer.py", line
    678
    print "Warning: No configuration file specified! Run this server with the
    -h command."
    ^
    SyntaxError: invalid syntax
    -------------

    Any ideas?

    June 15, 2010 7:11 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    Make sure you use Python 2.6 (not 3.0).

    June 15, 2010 7:17 PM [icon_delet]
●
    Pieter Viljoen said...
   
    Jeff, thank you, v2.6.5 works :)

    June 15, 2010 7:30 PM [icon_delet]
●
    CBailey said...
   
    I know this isn't directly related to this fantastic Python server, but
    does anyone have any ideas how to change the address the Eye-Fi card
    connects to? If we could change that, we could get it to connect directly
    to our own Python server, bypassing Eye-Fi's servers. Is it stored in the
    setup? Or does the firmware have to be hacked?

    June 15, 2010 7:46 PM [icon_delet]
●
    Andrew said...
   
    CBailey: Short of rewriting the card's firmware, it isn't possible. Just be
    sure to only have one server running on the subnet. (Perhaps set up a
    subnet just for the card and server.)

    June 15, 2010 8:07 PM [icon_delet]
[bla] [ted]
    tedder said...
   
    Mostly for the search engines, any idea why EyeFiServer needs access to X?

    import: unable to open X server `' @ import.c/ImportImageCommand/361.


    other errors:
    from: can't read /var/mail/xml.sax.handler
    from: can't read /var/mail/BaseHTTPServer

    June 19, 2010 7:27 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @tedder

    It doesn't require X. Are you using python 2.6? Did you somehow compile it
    with X or something and it needs to start it all the time?

    June 19, 2010 11:47 PM [icon_delet]
[bla] [ted]
    tedder said...
   
    $ python -V
    Python 2.6.5

    A simple hello world works properly:

    $ ./hello.py
    Hello, World!


    That makes me think there is a library dependency in there somewhere. Do
    you have a 'DISPLAY' set in your env? If so, what is it?

    June 19, 2010 11:51 PM [icon_delet]
[bla] [ted]
    tedder said...
   
    okay, this was caused by a simple stupid. I was executing "./
    EyeFiServer.py" and should have executed it as "python EyeFiServer.py".

    The former clearly doesn't work, as the first line of the file shows.

    June 20, 2010 12:10 AM [icon_delet]
●
    info said...
   
    Great work!
    I really love your python script and already implemented it as windows
    service.
    Only one thing:
    there is alwas a .log file created together with the image. I assume this
    .log is inside the TAR file you extract. Is there a way only to extract the
    JPG files out od the TAR file?

    June 24, 2010 7:55 AM [icon_delet]
●
    kpaskert said...
   
    Hi Jeff,

    Awesome job, works great!

    Is there a way to store the photos by either upload or photo date in a
    folder Eye Fi creates?

    KP

    June 26, 2010 9:01 AM [icon_delet]
●
    mlt said...
   
    Hi!
    Thank you very much for writing this server!
    I'm trying to use it on a small laptop acting as my media center (actually
    an olpc...). But I think I am having memory problems. It seems that when
    many pictures are sent, they are not saved to a file before the whole
    "roll" is finished. When the camera has many pictures on it, my small
    machine runs out of memory and takes forever to save the pictures. Is it
    possible to process the pictures one by one - save one, get next, and so
    on?

    June 27, 2010 4:45 PM [icon_delet]
●
    HerryDB said...
   
    Hi Jeff.. Your work is awesome. Just one question though, about the ad hoc
    feature. Can I buy a basic Eye-Fi (not the pro Eye-Fi), use your software,
    and the card can directly transmit the photos directly to PC without a
    wireless router? Really thank for your answer. Herry.

    July 14, 2010 10:15 PM [icon_delet]
●
    Obscura said...
   
    I'm confident it's configured correctly, yet it's refusing to upload.

    Can I get another set of eyes on my log and config files to see if I'm
    doing it right?

    http://obscura.us/eyefi/eyefi.log
    http://obscura.us/eyefi/DefaultSettings.ini

    July 15, 2010 9:37 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    @Obscura

    The transfermode is incorrect. You need to get it so the card sends "2". I
    haven't had a chance to look into what other transfer modes eyefi uses
    nowadays.

    July 15, 2010 9:39 PM [icon_delet]
●
    Obscura said...
   
    Uh oh. I've enabled RAW transfers?

    That is all I shoot. My camera stores a full size jpeg preview inside each
    raw file. I was planning on using the post-transfer script function to run
    an extractor.

    If it is RAW transfer that is messing things up, is there anything I can do
    to help get it working?

    July 15, 2010 10:35 PM [icon_delet]
[bla] [l]
    Jeff Tchang said...
   
    I am pretty sure you can still transfer raw. Might have to edit the
    code...I had a bug in it that caused it to always send tranfermode 2
    instead of reading what the card sent.

    July 15, 2010 11:40 PM [icon_delet]
●
    Obscura said...
   
    What do I need to change? The files are sigma .x3f format.

    Having fun with this.

    July 16, 2010 11:11 PM [icon_delet]
●
    Obscura said...
   
    Did some more troubleshooting tonight. Switched the camera to jpeg instead
    of RAW and the pictures uploaded to flickr but failed to copy to my Linux
    machine.

    How is this possible? If we can solve it my RAW images may start working.

    Latest log file:
    http://obscura.us/eyefi/eyefi-02.log

    July 17, 2010 11:28 PM [icon_delet]
●
    dev said...
   
    Has anyone published a Java port of this server? We need to embed it in our
    Android App. Didnt want to reinvent the wheel if we didnt have to.

    Thanks

    July 24, 2010 11:07 AM [icon_delet]
●
    dev said...
   
    Has anyone published a Java port of this server? We need to embed it in our
    Android App. Didnt want to reinvent the wheel if we didnt have to.

    Thanks

    July 24, 2010 11:07 AM [icon_delet]
[bla] [fca]
    Nerd Progre said...
   
    Eye-Fi should have made their software with Java in the first place.

    I imagine something simple that can be run via

    java -jar EyeFiServer.jar

    And it´d run on Linux, Windows, Mac OS-X, you name it.

    But no, the idiots at EyeFi had to do things with Adobe "Hot" Air....

    Anyway, thanks for your python server, will try it soon.
    FC

    July 24, 2010 8:56 PM [icon_delet]
[bla] [use]
    RevK said...
   
    The eye-fi works nicely with a mifi allowing upload via cellular while out
    and about :-)

    Is there a way to set up relayed upload that goes to a configured server
    (running this stand alone server) via the internet rather than to the
    eye-fi server?

    It works nicely (it ftp's the image to my photo site) but I would rather
    the images do not go via their server first.

    This is for when on the move, using hotspots or mifi, and so the server is
    not on the same LAN.

    Alternatively I'll have to do some DNS hacks...

    July 29, 2010 5:47 AM [icon_delet]
●
    snowyhands said...
   
    Jeff! I have to say thanks a million! Your python script has added the
    functionality to my eye-fi card that I wanted when I originally purchased
    this card. It was frustrating to be tied to the eye-fi servers (though to
    their credit, they did a bang up job making this product in the first
    place); it was weird they added a limitation that the card has to check
    registration everytime over the internet when it wants to start an upload.
    I have a mifi unit without service and was struggling with this frustrating
    implementation. I don't understand [yet] python coding or any other
    language (it's never been my field of study] so I had to take a crash
    course in trying to get this setup. I don't know why, but this is
    restricted to the c: directory. I have a thinkpad laptop with two
    harddrives and the cmd line was giving me errors and failures when I tried
    using d [even with changing the directory correctly].

    I suppose for simple instructions for the uninitiated: Download the zip
    file from Jeff. Extract into the c:\ directory. Obtain your uploadkey from
    the settings.xml file as the document states (note, I did find something in
    the area walter was talking about and I fiddled with that but never got
    that working. There were so many variables that I just stuck with what was
    in the settings.xml since it was available to me). later you can change the
    directory but it is not necessary. Change the uploadkey in
    defaultsettings.ini in the c: directory where you extracted the files. Save
    and exit. Open cmd window. change directory using 'cd' to the extracted
    folder in c: (so probably C:\EyeFiServer-v2.0) then type eyefiserver.py -c
    defaultsettings.ini and hit enter.

    activate your camera and take pictures. the pictures should transfer over
    to the already extracted folder in c: but with a new pictures directory,
    so: C:\EyeFiServer-v2.0\pictures. Now you are good to go.
    Took several hours to get this configured. I needed to take a crash course
    in python and sort through what was mixed information and no clear cut
    method - to a newbie- as to how to go about activating this server either
    through IDLE the gui or a python command prompt.

    Again thanks A LOT for creating this!

    August 12, 2010 10:29 PM [icon_delet]
●
    snowyhands said...
   
    I keep getting an error when I run this server related to the upload key.
    Strangely, it worked for a moment, now the server is back to giving me
    complaints about it.

    In settings.xml the key is listed as 19169f45da9945f29e86b86c2007b3de

    but I have noticed on this site that the keys appear to be different, many
    beginning with the letter c. What might be the difference? I plugged the
    card back into my computer and reran the eyefi main program to check to see
    if something got changed randomly but the key still remains

    19169f45da9945f29e86b86c2007b3de.

    Any idea how to fix?

    August 21, 2010 9:40 AM [icon_delet]
●
    Jonathan said...
   
    Hi have used this software successfully with Eye.fi cards. Much thanks.

    How about the new X2 cards. Any word as to whether this scrip will work
    with these?

    Thanks again.
    Jonathan

    September 26, 2010 3:00 PM [icon_delet]
●
    Jon Schneider said...
   
    Just bought a £20 4GB "Share Video" card. Found settings.xml in ~/Library/
    Eye-Fi on OS X. It works thanks.

    October 9, 2010 7:35 AM [icon_delet]
●
    Ataa said...
   
    There is an Android Server out which works with both Wifi and Android AP.
    It's free and it's features are great :

    - Preview while upload
    - Geo Tag
    - Resize & Rotate
    - Share to every possible service on Android.
    - Notification of successful uploads (Toast / Sound / Vibrate)

    I tested it on my Galaxy is and it worked very well.

    It is available in the market.

    Enjoy.

    October 22, 2010 11:41 AM [icon_delet]
●
    Darren Stuart Embry said...
   
    Hi. I have an Eye-Fi Pro X2 (8GB) card and I've gotten your software
    *almost* working on a netbook running Debian.

    Almost, in that your software does see the Eye-Fi card connecting to it
    when I click "add network to card" in the Eye-Fi Center, but after a minute
    I see the "Unable to connect to Eye-Fi server" message.

    The cause appears to have something to do with the "Received and expected
    server credentials don't match" errors I see when I get an Eye-Fi card log.

    I've uploaded logs and details and such here because it's too much to post
    here.

    You'll note that I've found two different upload keys in two different
    places, and neither of them work.

    November 11, 2010 3:02 PM [icon_delet]
●
    Darren Stuart Embry said...
   
    Help, anyone? Has this software even been tested with a Pro X2? Still
    stumped. :/

    December 2, 2010 10:38 AM [icon_delet]
●
    Peter Jr. said...
    This post has been removed by the author.
    December 12, 2010 10:30 AM [icon_delet]
●
    Peter Jr. said...
   
    Will you do the hack for FW 4.2120?

    December 12, 2010 10:31 AM [icon_delet]
●
    Peter Jr. said...
   
    Or is there a way to downgrade the firmware?

    December 12, 2010 10:32 AM [icon_delet]

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments (Atom)

About Me

My Photo

Jeff Tchang
    My name is Jeff Tchang and this is my blog. It is my space to jot down
    notes about my technological adventures. The ratio of acronyms to real
    words on this blog is about 10 to 1. I have an interest in computer
    networks, scalability, and security. I enjoy learning about innovative
    middleware that helps make the internet a faster, leaner, more user
    friendly environment.

View my complete profile
●

Blog Archive

  • ►  2010 (1)
      □ ►  November (1)
          ☆ How to get a 2yr single root SSL certificate for $...

  • ▼  2009 (12)
      □ ►  July (2)
          ☆ PySAML - A SAML 2.0 Toolkit for Python
          ☆ Trying to get Dual-SIM to work in T-Mobile G1
      □ ►  June (2)
          ☆ Using Github Through Draconian Proxies (Windows An...
          ☆ Django TypeError Exception
      □ ►  May (2)
          ☆ Fixing pkg_add -r on FreeBSD (things no one tells ...
          ☆ Ubuntu: Getting files off your phone using bluetoo...
      □ ▼  April (3)
          ☆ Obtaining a Free Fully Trusted SSL Certificate
          ☆ PyXMLSec Windows Binary
          ☆ Eye Fi Standalone Server Version 2.0
      □ ►  January (3)
          ☆ Converting LDIF/LDAP data into a CSV file
          ☆ Downloading the Global Address List from Outlook/E...
          ☆ Eye Fi Standalone Server

  • ►  2008 (5)
      □ ►  December (4)
          ☆ Troubleshooting Python's BaseHTTPServer
          ☆ Manually authenticating to a proxy server with net...
          ☆ How to determine if a file is 32 or 64 bit on AIX
          ☆ Tutorial for cURL, libcurl, and Python
      □ ►  November (1)
          ☆ Compiling PyXMLSec for Windows

●
●
 
