gphoto / gphoto2

The gphoto2 commandline tool for accessing and controlling digital cameras.
GNU General Public License v2.0
703 stars 116 forks source link

Canon EOS 4000D failure to capture image (Error -110) #213

Open aerotopografia opened 5 years ago

aerotopografia commented 5 years ago

Hi everyone.

I really love this software and I have it installed on two cameras (Canon EOS 1300D and Canon EOS 4000D).

In the case of the 4000D, it usually works fine for about a week (some 900 images), but then I get the following error:

Error Canon EOS Full-Press failed (0x2019: PTP Device Busy) ERROR: Could not capture image. ERROR: Could not capture. Error (-110: 'I/O in progress')

After this has showed up I can't do anything other than rebooting the camera in order for it to work again.

I have on crontab the following command:

gphoto2 --capture-image-and-download

I am using gphoto2 2.5.20.1 and libgphoto2 2.5.22.1

Thanks in advance

msmeissn commented 5 years ago

can you try gphoto2 --reset perhaps if it hangs? perhaps that helps too.

aftre 900 images is quite a while. a debugtrace of right before that run and the buggy run would be interesting

aerotopografia commented 5 years ago

Sorry to answer so late. That camera was on a long-term exposure.

I've just managed to solve this issue using: gphoto2 --wait-event=2s --set-config eosremoterelease=5 --wait-event-and-download=20s --filename /home/pi/Desktop/photos/IMG_%d-%m-%Y_%H-%M.JPG --set-config eosremoterelease=4

msmeissn commented 4 years ago

nice to hear it is solved. Not clear what the reason is sadly :/

TheNeuralBit commented 4 years ago

Note that the command https://github.com/gphoto/gphoto2/issues/213#issuecomment-519134888 is bypassing the half-press to skip auto-focus, and just doing a full press of the trigger to capture an image only.

I'm running into this issue as well with an EOS 1100D, and it looks like #150 reports the same issue on a 1300D.

I haven't been able to capture my own debug log yet. FWIW it looks like #150 has a debug log of a failed capture, here's the relevant snippet:

0.394823 ptp_usb_getresp [usb.c:465] (0): PTP_OC 0x9110 receiving resp failed: PTP Device Busy (0x2019)                                                                   
0.394844 _set_config [config.c:7886] (0): 'ptp_canon_eos_setdevicepropvalue (params, cursub->propid, &propval, cursub->type)' failed: PTP Device Busy (0x2019)
0.394868 gp_context_error            (0): The property 'Aperture' / 0xd101 was not set (0x2019: PTP Device Busy).
0.394931 gp_camera_set_config [gphoto2-camera.c:1115](0): 'camera->functions->set_config (camera, window, context)' failed: -110
0.394953 gp_context_error            (0): Failed to set new configuration value 9 for configuration entry /main/capturesettings/aperture.
0.396831 gp_camera_free              (2): Freeing camera...                     
0.396915 gp_camera_exit              (2): Exiting camera ('Canon EOS 1300D')... 
0.396947 ptp_usb_sendreq             (2): Sending PTP_OC 0x9116 (PTP_OC_CANON_EOS_GetEvent) request...

It's interesting that the error is actually coming from setting /main/capturesettings/aperture. In my case I'm also trying to repeatedly run gphoto2 with --set-config-index /main/capturesettings/aperture=%d --capture-image-and-download, and occasionally encountering this error. Perhaps setting the aperture is the issue?

TheNeuralBit commented 4 years ago

Managed to capture a debug log while this was occurring on my 1100D. The log doesn't seem to complain about setting the aperture, just the capture. I'll see if I can get a debug log for the last successful run before the buggy run as well.

TheNeuralBit commented 4 years ago

I captured a sequence of logs demonstrating the error. The last log (145504) ran into the "I/O in progress", the other two logs were the last two commands run before the failure (the same command, run 1 minute apart).

@msmeissn Does that provide any hint at what could be going wrong here?

3Ddesignbros commented 3 years ago

@TheNeuralBit Did you ever get this resolved? I have the same issue. I can only take one picture though then I have to turn the camera off and on again for the script to work again.

matak commented 3 years ago

@TheNeuralBit Did you ever get this resolved? I have the same issue. I can only take one picture though then I have to turn the camera off and on again for the script to work again.

No it was not solved yet, 19.3.2021. Seems that you need to play with initial waiting sequence gphoto2 --wait-event=300ms --set-config eosremoterelease="Press 1" --wait-event=1s --set-config eosremoterelease="Press 2" --wait-event=100ms --set-config eosremoterelease="Release 2" --set-config eosremoterelease="Release 1" --wait-event-and-download=CAPTURECOMPLETE --filename=/home/test/scp/$RANDOM.jpg

CANON 1300D the trick do --wait-event=300ms, but i am not success in no focus capture

msmeissn commented 3 years ago

i think the --wait-event=2s as first commandline option might be the thing, that we need to give the camera a bit of startup time.

aerotopografia commented 3 years ago

I used that command line at the beginning, and also to prevent the camera from jamming after a certain number of pictures, I use the - - wait-event=20s to give it enough time to full press the capture image switch just after that command line.

El jue., 25 mar. 2021 12:19, Marcus Meissner @.***> escribió:

i think the --wait-event=2s as first commandline option might be the thing, that we need to give the camera a bit of startup time.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gphoto/gphoto2/issues/213#issuecomment-806569558, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALZSUXCPOLNVYXWPJZQCOK3TFML3NANCNFSM4HE6YH3Q .

msmeissn commented 3 years ago

can you perhaps capture debug logs, one without the --wait-event=2s in the begin, one with it? so i can see what the trigger condition is to wait for

Saadi2015 commented 2 years ago

I found a reason, I had the same problem "I/O in progress" with my EOS 1100d hanging after first capture with gphoto2.

It was the USB Cable connection to the EOS. I used another one and then it worked.

HappySeppel commented 2 years ago

Hi everyone, I had same problem and tryed out different proposed solution. In my Case the 4000D works fine with gphoto2 when the display is turn off. If I turn on the Display, the error appiers again. Hope this helps

alikurmus commented 2 years ago

I have been getting the same error while trying to capture pictures with gphoto2 and Canon 5d Mark IV: Error

Canon EOS Full-Press failed (0x2019: PTP Device Busy)

ERROR: Could not capture image.

ERROR: Could not capture.

Error (-110: 'I/O in progress')

There is an option called mirror lockup. It is usually used to avoid blur when using telephoto lenses because they end up shaking the camera despite tripods. When I disabled the mirror lockup, I stopped getting that error.

My whole process of debugging the error is here: https://wiki.harvard.edu/confluence/display/hufasstubbsgroup/Ali+Kurmus+-+Strobed+Internal+DIMM

It starts under July 26th.