Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multiple file transfer #5

Open
planet127 opened this issue May 4, 2013 · 23 comments
Open

multiple file transfer #5

planet127 opened this issue May 4, 2013 · 23 comments

Comments

@planet127
Copy link

With every new foto all existing fotos of the cards are retransfered. Setting "upsyncallowed" to "true" at line 1229 helps to avoid this

@kristofg
Copy link
Owner

kristofg commented May 8, 2013

That is weird, I have never seen any of my cards behave like that. They seem to keep track of upload status per file, so that they don't upload the same file twice. I do get duplicates and triplicates on occasion, but they seem to be caused by upload transactions not completing properly.

It seems like you've found a solution, but I really would like to understand a bit more about what is happening here before changing the default value.

Would it be possible to get a card log and rifec.log with LogLevel=trace taken just after this has happended? (Note: You may want to edit out your upload key from the logs before sharing it.)

Does the card do this all the time, ie. also after it has just been reformatted?

@bulislaw
Copy link

bulislaw commented May 8, 2013

On Wed, May 8, 2013 at 9:54 PM, Kristoffer Gleditsch <
[email protected]> wrote:

That is weird, I have never seen any of my cards behave like that. They
seem to keep track of upload status per file, so that they don't upload the
same file twice. I do get duplicates and triplicates on occasion, but they
seem to be caused by upload transactions not completing properly.

It seems like you've found a solution, but I really would like to
understand a bit more about what is happening here before changing the
default value.

Would it be possible to get a card loghttp://forums.eye.fi/viewtopic.php?f=4&t=3602#p14910and rifec.log with LogLevel=trace taken just after this has happended?
(Note: You may want to edit out your upload key from the logs before
sharing it.)

Does the card do this all the time, ie. also after it has just been
reformatted?


Reply to this email directly or view it on GitHubhttps://github.com//issues/5#issuecomment-17633129
.

I have the same problem on my media center (raspberry pi with raspbian) in
the same time it works ok with my laptop.

Bartek Szatkowski

@kristofg
Copy link
Owner

I have the same problem on my media center (raspberry pi with raspbian) in the same time it works ok with my laptop.

OK, so several people are seeing this - that's interesting, thanks.

Unfortunately, since I'm not seeing this on any of my computers (Synology NAS and a laptop for occasional testing), I'm not likely to make any progress without logs.

@seberler
Copy link

Hello Kristoffer, I confirm the problem on a raspberry pi type B. Probably there is an timing issue on slower systems? The Pi isn't really fast. I would like to send you a rifec.log and a screen shot of the directory listing there the files are should stored. Could you provide an email-address for sending this?

@kristofg
Copy link
Owner

seberler: A log would be great! If at all possible, a card log of the same time span would be very helpful.

Perhaps you can create a Gist containing the log, and share the link to it? I would like to keep my Github-related communications on Github if possible.

@seberler
Copy link

Hello, following the link to the gist, containing the logs.
I'm hoping, two files are included (I had some problems to upload/insert the logs, so that the gist would be updated).
https://gist.github.com/seberler/9db14ec415c8e55e4a54
Thanks for Your quick reply

@kristofg
Copy link
Owner

Thanks! I've downloaded the files to my computer, and will take a look at them when I get a spare evening.

@kosie
Copy link

kosie commented Sep 1, 2013

I'm having the same issue with a Raspberry Pi - Model B. Pictures are retransferred every time the eye-fi card is powered up. This does not happen using Eye-Fi Center with my Windows PC. Eye-Fi firmware is 5.2006 (happened with 5.0019 as well)

Although the transfer is successful at the server, the eye-fi card log is full of entries like

[xx:xx] Uploaded xx bytes at offset 0 for "/public/DCIM/100DOXIE/IMG_xxxx.JPG" as file ID xx (desktop delivery)...
[xx:xx] Returning from upload function with error 200 ("/public/DCIM/100DOXIE/IMG_xxxx.JPG").

The eye-fi card seems not to recognize successfully transferred files.

@kosie
Copy link

kosie commented Sep 1, 2013

Snippets of my logs are at https://gist.github.com/anonymous/6404363

@kosie
Copy link

kosie commented Sep 1, 2013

Maybe this is indeed a timing issue? I wonder about a new connection (StartSession) from the eye-fi card while the original transfer is still not finished (calculation of integrity digest in progress).

@kristofg
Copy link
Owner

kristofg commented Sep 7, 2013

Ok, I've looked at the logs. I have to admit I am not a lot wiser.

@seberler: Unfortunately, all the failures in these logs seem to be caused by the retry-limit: When trying filename.1, filename.2, etc., the script will stop at .100. If there are more than 100 instances of the same file name, it will fail at once. There is no information here about why the first 99 transfers failed.

@kosie: I looked at your logs as well:

Looking at the receiver process with PID 7857, the upload begins at 13:00:33. The photo data was received by 13:00:53. The integrity digest was calculated by 13:01:00, and the UploadPhotoResponse message was sent 13:01:02. Assuming the file in question was uploaded again afterwards (it is a very short log snippet), less than half a minute seems far too little to cause a time out.

Thanks for the logs, people. I'll try to sit down and try to reproduce this locally some time, but I don't know when that'll be. If anyone has any ideas in the meantime... :)

@seberler
Copy link

seberler commented Sep 8, 2013

Thanks for reply. I tested again with changes in rifec.config. Standard is SocketTimeout=600, values 100 or 2000 does not have any affect.
I took a photo only with 640x480pixels, ca. 140 kByte...
Now I set the value back to standard (=600).
The cardlog what I posted has many entries "Returning from upload function with error 200". What does it mean?
Today the the usb-drive, there the images should be stored, was filled with temporary files.
If the usb-drive becomes full, there comes the error codes 357 and 360 one line after another.
Edit:
No, the USB-drive was not full. But I can't imagine, what it was. I changed from the 2GB-SD-Card (Raspbian Boot-"Drive") to an 8GB-SD-Card, but there was no change in this issue.

@kristofg
Copy link
Owner

kristofg commented Sep 9, 2013

What card models are you using, by the way?

@seberler
Copy link

At first, I used a 2GB-SD-Card (Raspbian Boot-"Drive"), class 2. Now I tried an 8GB-class-10-SD-Card, but there was no change in this file transfer issue.
Also a change of the old 64-MB-USB-Stick against an 8GB-Kingston-USB2.0-Stick result in no change.
Then I tried: I changed the USB-drive to a mounted NAS-Drive. Now, the pictures are stored (no fails in the Log), but the jpg-Files are unreadable.

@kristofg
Copy link
Owner

I'm sorry, I didn't phrase the question very well: What Eye-Fi card model are you using?

@seberler
Copy link

Hello, I'm using a Sandisk Eye-Fi-WiFi-Card . The Card is not marked X2, but it is very likely, that it will be equivalent to a X2. The firmware version is 5.0019. By the way, rifec works great with this eye-fi-card, running on ubuntu 10.04 with a normal desktop pc (AMD Sempron 3000+).

@seberler
Copy link

Hello, I tried this Perl-software, found at the link in your https://github.com/kristofg/rifec :

This software works well (as I can confirm in the some short tests). Very, very quickly and the "slow" Raspberry seems to be quick enough. Perhaps worth a view?

@kristofg
Copy link
Owner

@seberler it's very interesting that the other script works. Based on the original problem description and the logs, I don't think this is a timeout issue. I suspect some kind of protocol problem. I don't know when (or if) I'll get the time to sit down and look properly at this, though.

@seberler
Copy link

Hello, no problem at all. The code seems to be a kind of "quick and dirty", but it works at the base. I was intended to test different implementations of the eyefi-"Server". Just to sort out any hardware-issues or performance-problems.

@kosie
Copy link

kosie commented Sep 17, 2013

@kristofg The other script works in my case too. There must indeed be some kind of protocol issue. Using wireshark I could not identify major differences in the communication. The only real difference I see is the Eye-Fi card connecting multiple times with RIFEC while the small perl script only accepts one connection at a time.

@kristofg
Copy link
Owner

After upgrading my cards to firmware 5.2010, I've started seeing this on my Synology NAS as well. I'll try to take a look at this if I get a quiet evening during Christmas, but no promises. If anyone has any bright ideas about the root cause for this behavior, I'm all ears.

@kristofg
Copy link
Owner

I just upgraded my Synology NAS to DSM 5.0, which upgraded Perl from 5.8.6 to 5.18.1. It may just be a fluke, but the upgrade seems to have helped: Old pictures are flowing from the camera to the NAS as I write this. I don't know what to make of that, but I guess upgrading Perl is worth a try.

My Eye-Fi cards are quite old now, and small and slow compared to new cards, so they are headed for the shelf. The Pro series cards are not sold in Europe at the moment, so it's back to old style SD cards for me. If anyone figures this bug out, I'm very interested in hearing about it, but I'm not going to spend any more time on it. Sorry, people. :)

@seberler
Copy link

Thanks for reply; I can understand your decision. Thanks a lot anyway for working on this problem; maybe an perl update, depending on the kind of base system, would be solve the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants