-
Notifications
You must be signed in to change notification settings - Fork 324
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
Canon 5D Mark iV support #92
Comments
gphoto2 --summary Capture Formats: JPEG Device Capabilities: Storage Devices Summary: Device Property Summary: |
can you try current git ? some enhancements were done in current git which have not been released |
I think the only difference I notice is when I use gphoto --summary, it shows a computer on the camera screen. -capture-and-download did fire the shot but program did not shutdown properly. gphoto2 2.5.10.1 Copyright (c) 2000-2016 Lutz Mueller and others gphoto2 comes with NO WARRANTY, to the extent permitted by law. You may This version of gphoto2 is using the following software versions and options: --auto-detect Model PortCanon EOS 5D Mark IV usb:001,009--summary Capture Formats: JPEG Device Capabilities: Storage Devices Summary: Device Property Summary: |
what does "did not shutdown correctly" mean? |
Basically the program do take the picture, but the picture is not downloaded to computer, and the program halt until I press control+c. I've made a video to show the problem(link) I've tried capture-image, capture-image-and-download, and capture-preview. Only the capture-preview worked. Please turn the sound on, so that you can hear the shutter sound. |
I have access to a 80D also, and the problem reoccurs. I think maybe we are dealing with same problem here with #60 |
Does not work for me either. It complains about an unsupported PTP operation: LANG=C ./gphoto2/gphoto2 --debug --debug-logfile=summary-debug.txt --auto-detect --summary --version Copyright (c) 2000-2016 Lutz Mueller and others gphoto2 comes with NO WARRANTY, to the extent permitted by law. You may This version of gphoto2 is using the following software versions and options: Model PortCanon EOS 5D Mark IV usb:003,023 *** Error *** *** Error *** ETA: it seems to work (once) after |
This is just a guess, but it seems many of the newer Canon cameras with WiFi require it to be disabled in order for the USB interface to work properly. Has anyone tried with WiFi disabled on the camera? |
Just tried, WiFi disabled didn't work, same problem. |
Thanks for checking! I'm going to need this to work with the Mark IV as well -- I might rent one soon to do some debugging if there aren't any other developers here with access to one. |
Actually I would like to help, I'll try capture usb packets, it would be great if you can give some pointers. |
this is the log after running gphoto2 --capture-image &>log.txt |
thanks for the trace. 1.192808 ptp (2): event 2: unknown EOS event c1a9 thats the key problem, a new event which we currently do not parse. I will see if i can work on this after the weekend |
what kind of picture did you take there? was it around 3668283 bytes long? JPEG or RAW? |
can you capture a debug trace of a capture and one of -L afterwards perhaps, so I can see the size and potentially other magic values? |
hmm, might be easy ... if you could test current GIT? |
Hi msmeissn, I'm happy to report -capture-image-and-download worked:-), for the first attempt. What happens now is that when I try capture-image-and-download for the first time it worked flawlessly, but on the second time it's not working any more. |
This is the log for first one, the successful one. This is the -L btw I'm more interested in movie capture, and it didn't work. |
I see a similar improvement on the 80D which apparently suffers from similar problems, i.e. capture and download works with the latest patch.
The last two points I also tested by modifying camera_exit() in camlibs/ptp2/library.c and both variants seem to work (at least) with |
the second logfile is basically "failed to open session" right at the start, which is weird |
close session works for all other cameras, so i wonder why it suddenly stops with new EOS :( |
I agree that If the camera switches off or is reconnected, everthing starts from the beginning with |
the initialization we do the same. windows usually opens a PTP device once and never closes it, the lifetime is managed by Windows. In Linux, libgphoto2 and its frontends usually expect to open and close the device multiple times. (exception is gvfs which tries to open it once and keep it open.) |
I'd like to confirm that a trivial change like adding the line I can easily imagine how the canon firmware developers might have overlooked this regression if their windows use case simply never closes the session :-/. |
I will probalby need to add a flag to the camera list which will avoid closing the session |
can you test this patch? |
At least on the Canon 80D, below is the message that is generated by gphoto2. Also, the small top facing LCD screen on the 80D shows "Err 70" and the battery must be removed before the error message is cleared. Toggling power switch was not enough. On the plus side, there is an image saved, sometimes, but not always. Didn't seem to be a pattern to when it would succeed or not. Thank you [kent@localhost gphoto2]$ gphoto2 --capture-image-and-download *** Error *** *** Error *** |
The Err 70 would happen if you run --set-config capturetarget=XXX ? |
Sorry to be dense, but do you mean as in the following? If so, then yes, the Err 70 occurs with this extra option as well. [kent@Unknown gphoto]$ gphoto2 --set-config capturetarget=XXX --capture-image-and-download *** Error *** |
I meant, there is a bug in 2.5.11 and 2.5.10 which will cause Err 70 when you do --set-config capturetarget=xxx ... It is fixed in current GIT master. if you just and only do --capture-image-and-download ... does it continously work? |
My original message today is after doing a 'git clone' on both libgphoto2 and gphoto2. I verified the libgphoto2 has PTP_DONT_CLOSE_SESSION update for the 80D. The error messages were from the newly compiled versions. I have no other versions on my machine. Let me know specific commands and I would be glad to do further testing. Best wishes, Kent |
Works with the EOS 5D Mark IV (as expected). |
Also fixes the just-one-time-shot problem on the EOS 80D. @msmeissn Thanks a lot for solving this issue! |
But the Err 70 still occurs after I run $ gphoto2 --set-config iso=8000 followed by $ gphoto2 --capture-image-and-download Just removing the battery fixes it. On the display of the 80D I could see that the ISO is actually changed to the value I set, though after the first command. The error occurs after sending the capture image command. |
I think we meanwhile fixed this problem in 2.5.17. if there are any issues left, please open a new ticket :) |
I'm trying to use this with my 5D IV. No luck. --auto-detect and --abilities outputs what is expected, but no luck capturing an image, or downloading one shooting tethered. [anders@elias anders]$ env LANG=C gphoto2 --port usb: --capture-tethered --debug 0.058674 gphoto2 (2): info.type = 4 0.058679 gphoto2 (2): info.name = Generic Port 0.058683 gphoto2 (2): info.path = usb: 0.058713 gp_camera_set_abilities (2): Setting abilities ('Canon EOS 5D Mark IV')... Waiting for events from camera. Press Ctrl-C to abort. 0.068066 ptp_usb_getresp (2): Reading PTP_OC 0x1002 (Open session) response... 0.069053 gp_port_set_timeout (2): Setting port timeout to 20000 milliseconds. 0.069090 ptp_usb_getdata (2): Reading PTP_OC 0x1001 (Get device info) data... 0.070054 ptp_usb_getresp (2): Reading PTP_OC 0x1001 (Get device info) response... 0.070122 print_debug_deviceinfo (2): Device info: 0.071219 ptp_usb_getresp (2): Reading PTP_OC 0x9114 (PTP_OC_CANON_EOS_SetRemoteMode) response... 0.095921 ptp_usb_sendreq (2): Sending PTP_OC 0x1004 (Get storage IDs) request... 0.096061 ptp_usb_getdata (2): Reading PTP_OC 0x1004 (Get storage IDs) data... 0.096465 ptp_usb_getresp (2): Reading PTP_OC 0x1004 (Get storage IDs) response... 0.096631 ptp (2): (storage=0xffffffff, handle=0xffffffff) 0.096771 ptp_usb_getdata (2): Reading PTP_OC 0x1004 (Get storage IDs) data... 0.097066 ptp_usb_getresp (2): Reading PTP_OC 0x1004 (Get storage IDs) response... 0.097247 ptp (2): reading handle 00010001 directory of 0xffffffff 0.097382 ptp_usb_getdata (2): Reading PTP_OC 0x9109 (PTP_OC_CANON_EOS_GetObjectInfoEx) data... 0.099177 ptp_usb_getresp (2): Reading PTP_OC 0x9109 (PTP_OC_CANON_EOS_GetObjectInfoEx) response... 0.100023 ptp (2): adding new objectid 0x50000000 (nrofobs=0,j=0) 0.100128 ptp_usb_getdata (2): Reading PTP_OC 0x9109 (PTP_OC_CANON_EOS_GetObjectInfoEx) data... *** Error *** ^C |
Updated firmware to 1.2.1, still does not work. |
With updated firmware: |
the initial directory read took very long ... is this a very full SD card? Can you use a empty one? |
This was a probably empty, newly formatted CF card. But I can try with a SD.
lørdag den 14. marts 2020 18.52.55 CET skrev Marcus Meissner:
… the initial directory read took very long ... is this a very full SD card?
Can you use a empty one?
|
Hmm, I was thinking the initial read took too long. there is some weirdness there during inuitial directory read definitely. |
Hi. I have been trying this too with a Canon 5D Mark IV on firmware version 1.1.2, wifi disabled, auto standby disabled. The issue was just as described originally when I was using I just compiled Debug trace of for the issue in 2.5.9 attached: gphoto2-canon-5d4-image-debug.txt |
Now, I also have another issue that seems related to the original solution you provided above. I am trying to capture video using When I just dump the stream to The debug trace in this case, since we got hundreds of frames, is about 300 MB, but I include attached a copy where I removed most of the hexdumps (about 4M lines of them) but left the first few thousand lines (up to the This trace was using |
Hi I get to access the new 5D Mark iV, and I found it's working not very well. It seems that gphoto2 didn't close end the procedure correctly. For example, when I try gphoto --capture-image, the camera focus, than shutter snap, and than every thing just freeze. But --capture-preview works for the first time, when called the second time, it gives error "ptp operation not supported". Maybe I'm doing some thing wrong please advise. My configuration is raspberry pi/raspbian + gphoto-updater. Thanks in advance, I can also help to write the code, but I will need some pointers.
following is lsusb -v output
The text was updated successfully, but these errors were encountered: