Friday, December 19, 2008

Freestanding Server

People have asked a few times if there is a freestanding server or some other program to which the Eye-Fi card can upload. No, not really.

Here's how the Eye-Fi card and service work, at least in the way that I have them set up. This differs for the Eye-Fi "Home" card, or if you don't have the "upload to Internet" (or whatever it is really called) enabled.
  1. You take a picture, and dump it on your card
  2. Your card notices the picture gets on the network and looks for your PC. If it can't find your PC, it uploads directly to api.eye.fi (an Eye-Fi managed server on the internet)
  3. If it can find your PC running the Eye-Fi Manager, it uploads to your PC and lets the PC upload to Eye-Fi. The PC keeps a copy if you asked it to.
  4. The Eye-Fi server looks at your preferences and uploads pictures to Picasa, Flickr or whatever you want.
"Gallery" which I think is a collection of CGI script to manager photo uploads is an option as a destination to which Eye-Fi can upload. So, you can have Eye-Fi upload to a server that you run, but your pictures pass through their servers on the way. I haven't bothered doing this. When I first went and looked at Gallery, it had some big scary security holes in it that scared me away.

There were a few people working on a server to replace the Eye-Fi Manager. I have not heard about that effort in a while. There are some security mechisms built into the card to keep it from uploading to unauthorized software which make this hard to do. I don't think this is Eye-Fi being nasty or hating Linux or anything. It's a genuine security feature to keep the "bad guys" from tricking your card into sending all its pictures to the evil hackers. I would love to write a open replacement for this part of the Eye-Fi Manager, but I'm not sure how feasible that would be and still ensure that the "bad guys" don't do the same. I'd be more than willing to give it a shot if I had some idea how the card authentication worked.

What I do personally is that I trust Eye-Fi with my pictures. I let them go to Eye-Fi, then get uploaded to Picasa. I paid the $20/year or whatever it was to get 10GB of extra storage at Google. Then, I use the official Picasa API and some perl to download the pictures from Picasa back to my web server where I stick them in my own photo album. The downside to this is that I have to trust Google and Eye-Fi with my pictures along the way. The upside is that when I take a picture, it automatically gets backed up in three different places.

Thursday, December 18, 2008

Eye-Fi Config Release 006

Someone asked for this, so here you go!

This basically just adds WEP support. It only handles the WEP-128 keys specified as hex. This was not hard to add since the EyeFi card has most of the smarts to do the network type selection internally.

http://sr71.net/projects/eyefi/eyefi-config-006.tar.gz

I still need to figure out how to get the firmware updated without going into Windows. There' some experimental code in here, but it does not work.

Tuesday, November 25, 2008

Is the "Anniversary Edition" really SD or SDHC?

My "big" camera is a Nikon D50. It is a wonderful camera, but it is getting a bit dated and only takes regular SD cards, not SDHC. As I understand it, the SD specification is limited to 2GB, but the hardware can handle a full 4GB of addressing. The SD standards people artificially lowered the standard to 2GB either to move people to the SDHC standard faster or for some technical reason I don't yet understand. Are there technical issues with some devices and 4GB FAT16 partitions?

There is also evidently a requirement in the standard that SDHC cards be FAT32-formatted. Older cameras (like the D50) can't read this filesystem even if it were present on a small capacity card. The neat part of all of this is that some "4GB SDHC" cards are actually plain old SD cards electrically and just rebadged as SDHC since a 4GB card isn't allowed to have the 'SD' logo. What I'm saying here is all speculation on my part that I've pieced together from some very reliable web forums. :)

There have been some reports that, if you get one of these cards, simply formatting a 4GB FAT32 SDHC card as the older FAT16 will make it work in cameras like my D50. I really wonder if this new Anniversary Edition card is one of these special beasts. It would make sense for Eye-Fi to do this since "all" they'd have to do is replace the on board flash with a bigger chip and wouldn't have to change the card electrically to support true SDHC. For $79 shipped at Costco, I just may have to find out!

Tuesday, November 4, 2008

Latest Progress

I have not been doing very much Eye-Fi hacking lately. I do with I had been able to activate my new card without going into Windows, but that was really a one-time inconvenience. Not nearly as bad as some devices that need constant plugging into Windows. BTW, there's nothing especially wrong with Windows, I just don't like rebooting.

I had a Belkin N-1 Vision that turned out to be a pretty expensive ($179 when I bought it) piece of junk. My first one locked up (bad hardware?), and my second one seems to be unable to do IPSec passthrough. So, I just dropped in the Actiontec MI424-WR that came with my Verizon FiOS service. When the Eye-Fi card tries to upload through it, both devices reset themselves!

In all fairness, the Actiontec seems much more fragile than the Eye-Fi, and I do know that the Eye-Fi intentionally reboots sometimes to clean up transient error conditions. That's fine behavior for the card since it reboots fast and you can still take pictures. It is much less nice for a router to do that.

I also stumbled upon a neat blog entry about the benefits of open source. When I read it, I immediately thought of my little Eye-Fi card. I truly hope some day our friends at Eye-Fi decide to seize upon the community of really clever people out there that would love to build upon their fantastic devices.

Oh, and when is the Eye-Fi iPhone app going to be released?

Monday, August 25, 2008

Geotagging Works!

I took a picture earlier this morning, which wasn't geotagged. I just took another and noticed that my AP had finally gotten into Skyhook's DB. I submitted it last Tuesday and it took a bit less than a week.

If you wonder what this is, I've been making cables to convert my old RAZR chargers to charge the iPhone 3G. The RAZR is a male USB Mini-B, so I need female USB Mini-B connectors which have been really hard to come by. I've been using this guy's schematic to get the right voltages on the USB data pins so the iPhone will actually charge.

P.S. Please no stalking! :)

Monday, August 18, 2008

Zaurus Development

Someone loaned me a Sharp Zaurus SL-5600 so that I might try a port of my software to it. I got an arm cross-compiler, but I can't even get "Hello World" running. It just segfaults. I bet I'm compiling for the wrong platform or something. Oh, well. I really need to get a NIC for this thing. Should make development a lot easier.

I also picked up an iPhone 3G, which got me thinking. Seeing as at least a couple of the Eye-Fi employees have iPhones and that there's already a Mac OS port of the Eye-Fi manager software, I have to wonder if we'll be seeing an Eye-Fi iPhone app some time. The biggest sticking point is that neither the iPhone or the Eye-Fi card can act as a WiFi access point as far as I know, they can only join them.

I also haven't been able to get Loki to work. As far as I can tell, there's no Linux port. Sigh... I did submit my AP to their DB, though.

Thursday, August 14, 2008

Eye-Fi Explore and release 005

My old classic Eye-Fi card broke after I squished it, plugged it about 30,000 times and cut a hunk of plastic out of it. The guys at Eye-Fi replaced this "defective" (their words, not mine :) and to show they are swell folks, replaced it with one of the newfangled Eye-Fi Explore cards that do geotagging. Thanks guys! BTW, I don't consider it defective, I consider it abused.

I was able to do all of the card initialization in WINE. It would not complete the final test step, but it works fine anyway. I need to dig through those WINE logs and see if there's anything interesting in them.

New observations:
  1. I have two access points running with the same ESSID, but on different channels. This works for my PCs, but made the card very mad. It would not associate for long enough to upload anything.
  2. The card comes from the factory without its EyeFi/{reqm,rspm,...} files. The manager software must create them. I created them with dd, and was able to use the card before I ran the manager software. I also saw a 'EyeFiManufacturing' wireless network in the card log!
  3. I added a network to the card before I registered it. The card DHCP'd and tried to upload its pictures, but choked once it talked to the Eye-Fi server. No surprise here, but it does open up the possibilities if someone ever reverse-engineers the server protocol.
  4. I enabled geotagging, but it does not seem to work for me, yet. Anybody have this working? Anybody know of any quick ways to check Skyhooks's AP list?
I'm also pleased to announce Eye-Fi Configuration Tool Version 005. This should fix the crashing bugs that some people were seeing. My printf() function was screwed up and calling printf() instead of vprintf(). Git tree here.