Hi,

Yes, it is very likely an issue in libgphoto2.

If you download the NEF over USB, is the end bytes also the bytes below?

One other things is that the camera might expect us polling the event fd too,
can you try the following patch, it has both more debug and also checking
for events inbetween reads.

Ciao, Marcus



On Sun, Jan 06, 2019 at 06:07:15PM +0100, Marius Steffen wrote:
> Hi,
> 
> strange - though, IIRC on my old D5500 everything was working, too. 
> I suspected SnapBridge at first, but using „qDslrDashboard“, which isn’t 
> using libgphoto2 (at least it doesn’t link against the dylib), I’m able to 
> successfully download the RAW file.
> 
> It’s hanging after the 0490 line - though there were more of this data dump 
> blocks for the .NEF, this is the last one. I can’t really tell how much of 
> the .NEF is already received, but looking the time elapsed and the size of 
> the log, I suspect it’s (almost) completely read.
> 
> The camera is turned on the whole time.
> 
> I’m using libgphoto2 in an application, with exactly the same problem (so the 
> problem’s probably not in gphoto2 CLI, but libgphoto2) - according to the 
> debugger, it’s stalled at read.
> 
> Best regards
> 
> Marius Steffen
> mar...@mariussteffen.de
> 
> 
> 
> > Am 06.01.2019 um 17:19 schrieb Marcus Meissner <mar...@jet.franken.de>:
> > 
> > On Fri, Jan 04, 2019 at 04:39:27AM +0100, Marius Steffen wrote:
> >> Hi,
> >> 
> >> I’m having problems downloading RAW images from my Nikon D850, connected 
> >> via PTP/IP.
> >> The camera is configured in RAW+JPEG(Basic) S mode, so gphoto2 transfers 
> >> the JPEG file first, which succeeds.
> >> Afterwards, it is downloading the RAW file, but never finishes - instead, 
> >> at some point, it freezes, the camera finally disconnects (without gphoto2 
> >> noticing).
> >> Only manually aborting gphoto2 is shutting it down, without ever saving 
> >> the RAW file.
> >> 
> >> I’ve done some tests, and only ever observed this behavior when using 
> >> „Lossless compressed“ or „Uncompressed“ RAW file compression settings. 
> >> „Compressed“ (= lossy compression) seems to work though.
> >> 
> >> I’d like to have this fixed, and am willing to help of course, as this 
> >> leads to crashing my cameras WiFi, which then has to be turned on again 
> >> using SnapBridge.
> >> 
> >> I’ve attached the relevant log file, without the image data; the last part 
> >> in the full log is something like:
> >> 
> >> 36.773805 ptp_ptpip_generic_read      (3): ptpip/generic_read data: 
> >> (hexdump of 1176 bytes)
> >> 0000  f3 ef df df cf cf 6f df-5f 4f 4f df 7f df bd 7f  ......o._OO.....
> >> 0010  7f 7e fb f3 db ef 4f bd-ff 7e fc f4 fd fd fc fb  .~....O..~......
> >> 0020  d3 db 9b d3 8f ef 6f bf-3d fe fb f7 f3 db f3 8f  ......o.=.......
> >> 0030  f7 db f3 ef cf cf df bd-ff 7d 3e fb 93 ef bd b8  .........}>.....
> >> 0040  bd 3e f7 fb f3 f3 f3 f7-f7 f7 f3 ef df bf 3e f6  .>............>.
> >> 0050  fc f5 fb db f7 d7 f7 db-d3 f3 93 ef 5f cf df bf  ............_...
> >> 0060  3f 7f 3e fb f3 f7 f7 ef-bd 7f 3d bf 7f 3f 7f 7d  ?.>.......=..?.}
> >> 0070  7f 7d bd 7d 7f 3f 7f 7f-7f 7f 3d 7e fd fd f7 fb  .}.}.?....=~....
> >> 0080  f3 f3 f3 f3 ef df bf 3d-7f 7d bf 7e fc fd fb ef  .......=.}.~....
> >> 0090  bd 7f 3e fb db f7 d7 f3-ef cf b9 3f 7f 3e f5 fd  ..>........?.>..
> >> 00a0  fb f3 f7 ef bf 7e fc fd-fb d7 ef be e2 fd e5 fc  .....~..........
> >> 00b0  fb ef bd bf 7d 7d 3e e4-fc fb f7 f3 ef cf df 6f  ....}}>........o
> >> 00c0  cf 4f bd bf 38 3f 72 38-fe e5 fb f3 d7 ef be fb  .O..8?r8........
> >> 00d0  8f ef bf 7d fd 7f 7f 7e-fb f3 ef df be fb ef df  ...}...~........
> >> 00e0  be fc fd f7 f5 fc fd f5-f5 fb f7 f7 ef df bd 3e  ……………>
> >>            <SNIP>
> >> 0490  f3 9f f7 d7 ef df 4f 4f-                         ......OO 
> > 
> > Hi,
> > 
> > I have tried reproducing this with the Nikon D750 and Nikon Z6 over Wifi,
> > but failed... it downloads both JPG and uncompressed RAW.
> > 
> > How much data has been read from the NEF file at above step?
> > 
> > Is there another try to read after the 0490 ... line, or does it hang right 
> > there?
> > 
> > Does it hang there with the camera still on?
> > 
> > 
> > Can you attach gdb and check if it is hanging somewhere besides read?
> > 
> > Ciao, Marcus
> 
> 
> 
> _______________________________________________
> Gphoto-devel mailing list
> Gphoto-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gphoto-devel

-- 
Marcus Meissner,SUSE LINUX GmbH; Maxfeldstrasse 5; D-90409 Nuernberg; Zi. 
3.1-33,+49-911-740 53-432,,serv=loki,mail=wotan,type=real <meiss...@suse.de>
diff --git a/camlibs/ptp2/ptpip.c b/camlibs/ptp2/ptpip.c
index 7a6492ccf..32c3b5d5e 100644
--- a/camlibs/ptp2/ptpip.c
+++ b/camlibs/ptp2/ptpip.c
@@ -184,6 +184,8 @@ ptp_ptpip_generic_read (PTPParams *params, int fd, 
PTPIPHeader *hdr, unsigned ch
        }
        curread = 0;
        while (curread < len) {
+               ptp_ptpip_check_event (params);
+               GP_LOG_D ("reading at offset %d, reading %d bytes", curread, 
len-curread);
                ret = read (fd, (*data)+curread, len-curread);
                if (ret == -1) {
                        GP_LOG_E ("error %d in reading PTPIP data", errno);
_______________________________________________
Gphoto-devel mailing list
Gphoto-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gphoto-devel

Reply via email to