#287 PTP with Canon 300d Kiss and firmware 1.1.1 finds no files

closed-fixed
None
5
2014-08-31
2003-11-30
Dave E Martin
No

Canon 300d in normal mode works fine, but in PTP mode,
no files are found, only two empty directories:

store_00010001
store_80000001

This camera has been upgraded to Canon Firmware 1.1.1
(which supposedly included PTP changes). I do not know
if it worked with this version of libghoto (2.1.3)
prior to the firmware upgrade.

Attached file is debug output from gphoto2 --shell mode

Here is the gtkam debug output:
ALWAYS INCLUDE THE FOLLOWING LINES WHEN SENDING DEBUG
MESSAGES TO THE MAILING LIST:
gtkam 0.1.10
gtkam has been compiled with the following options:
+ gcc (C compiler used)
+ no bonobo (for FIXME)
+ no gnome (for FIXME)
+ no gimp (plugin for The Gimp)
+ no exif (for displaying exif information)
libgphoto2 2.1.3
libgphoto2 has been compiled with the following options:
+ gcc (C compiler used)
+ EXIF (for special handling of EXIF files)
+ no ltdl (working around buggy libltdl, eh? :-)
+ /proc/meminfo (adapts cache size to memory available)
libgphoto2_port 0.5.1
libgphoto2_port has been compiled with the following
options:
+ gcc (C compiler used)
+ USB (for USB cameras)
+ serial (for serial cameras)
+ no resmgr (serial port access and locking)
+ no baudboy (serial port locking)
+ no ttylock (serial port locking)
+ no lockdev (serial port locking)
+ no ltdl (working around buggy libltdl, eh? :-)
Listing folders in '/store_00010001'...
Listing folders in '/store_00010001'...
Internally deleting all folders from '/store_00010001'...
Folder /store_00010001 contains 0 files.
Listing folders in '/store_80000001'...
Listing folders in '/store_80000001'...
Internally deleting all folders from '/store_80000001'...
Folder /store_80000001 contains 0 files.
Setting key 'width' to value '964' (gtkam)
Saving 16 setting(s) to file "/root/.gphoto/settings"
Setting key 'height' to value '677' (gtkam)
Saving 16 setting(s) to file "/root/.gphoto/settings"
Listing files in '/store_00010001'...
Listing files in '/store_00010001'...
Querying folder /store_00010001...
Setting key 'width' to value '964' (gtkam)
Saving 16 setting(s) to file "/root/.gphoto/settings"
Setting key 'height' to value '677' (gtkam)
Saving 16 setting(s) to file "/root/.gphoto/settings"
Listing files in '/store_80000001'...
Listing files in '/store_80000001'...
Querying folder /store_80000001...
Setting key 'width' to value '964' (gtkam)
Saving 16 setting(s) to file "/root/.gphoto/settings"
Setting key 'height' to value '677' (gtkam)
Saving 16 setting(s) to file "/root/.gphoto/settings"

Discussion

  • Dave E Martin
    Dave E Martin
    2003-11-30

    debug output: gphoto2 --debug --auto-detect --shell 2>/tmp/gp.out

     
    Attachments
  • Dave E Martin
    Dave E Martin
    2003-11-30

    Logged In: YES
    user_id=66603

    Camera contained 12 photos when this debug output was generated.

     
    • assigned_to: nobody --> kil3r
     
  • Dean Darlison
    Dean Darlison
    2004-01-14

    Logged In: YES
    user_id=881835

    I also have the same problem.
    If you use the -P and the --debug options, the debug
    output displays sebug relating to the pictures in the
    camera.

    E.g.
    .031101 gphoto2-port(2): Reading 512=0x200 bytes from
    port...
    1.102106 gphoto2-port(2): Could only read 130 out of 512
    byte(s)
    1.102466 gphoto2-port(3): Hexdump of 130 = 0x82 bytes
    follows:
    0000 82 00 00 00 02 00 08 10-07 00 00 00 01 00 01
    00 ................
    0010 01 38 00 00 24 5b 29 00-01 38 00 12 00 00 00
    0c .8..$[)..8......
    0020 00 00 00 08 00 00 00 0c-00 00 00 08 00 00 18
    00 ................
    0030 00 00 03 00 00 00 00 00-00 00 00 00 00 00 00
    00 ................
    0040 0d 49 00 4d 00 47 00 5f-00 30 00 30 00 35 00
    32 .I.M.G._.0.0.5.2
    0050 00 2e 00 4a 00 50 00 47-00 00 00 12 32 00 30
    00 ...J.P.G....2.0.
    0060 30 00 34 00 30 00 31 00-31 00 33 00 54 00 32 00
    0.4.0.1.1.3.T.2.
    0070 31 00 34 00 38 00 32 00-32 00 2e 00 30 00 00 00
    1.4.8.2.2...0...
    0080 00 00 - ..

    1.103425 gphoto2-port(2): Reading 512=0x200 bytes from
    port...
    1.106084 gphoto2-port(2): Could only read 12 out of 512
    byte(s)
    1.106293 gphoto2-port(3): Hexdump of 12 = 0xc bytes
    follows:
    0000 0c 00 00 00 03 00 01 20-07 00 00
    00 ....... ....

    1.106612 PTP2/library.c(2): ObjectInfo for 'IMG_0052.JPG':
    1.106812 PTP2/library.c(2): Object ID: 0x00000006
    1.107049 PTP2/library.c(2): StorageID: 0x00010001
    1.107241 PTP2/library.c(2): ObjectFormat: 0x3801
    1.107429 PTP2/library.c(2): ProtectionStatus: 0x0000
    1.107621 PTP2/library.c(2): ObjectCompressedSize:
    2710308
    1.107817 PTP2/library.c(2): ThumbFormat: 0x3801
    1.108046 PTP2/library.c(2): ThumbCompressedSize: 4608
    1.108240 PTP2/library.c(2): ThumbPixWidth: 3072
    1.108428 PTP2/library.c(2): ThumbPixHeight: 2048
    1.108616 PTP2/library.c(2): ImagePixWidth: 3072
    1.108803 PTP2/library.c(2): ImagePixHeight: 2048
    1.108991 PTP2/library.c(2): ImageBitDepth: 24
    1.109188 PTP2/library.c(2): ParentObject: 0x00000003
    1.109382 PTP2/library.c(2): AssociationType: 0x0000
    1.109571 PTP2/library.c(2): AssociationDesc: 0x00000000
    1.109764 PTP2/library.c(2): SequenceNumber: 0x00000000
    1.110346 gphoto2-filesystem(2): Listing files in '/'...
    1.110572 gphoto2-filesystem(2): Querying folder /...
    1.110801 gphoto2-camera(2): Listing folders in '/'...
    1.111005 gphoto2-filesystem(2): Listing folders in '/'...
    1.111343 gphoto2-port(2): Writing 12=0xc byte(s) to
    port...
    1.111556 gphoto2-port(3): Hexdump of 12 = 0xc bytes
    follows:
    0000 0c 00 00 00 01 00 04 10-08 00 00
    00 ............

     
  • Logged In: YES
    user_id=173521

    Need full debug output, preferably using newest version of
    libgphoto2 and gphoto2: "gphoto2 -L --debug", with english
    locales.

     
  • Logged In: YES
    user_id=173521

    Ups... sorry for the mess... I found the attached file.

    The problem is that CANON reports that the parent object ID
    of all objects in 'root folder' is an object 0x00000001,
    which is not present at all.
    It's an obvious BUG in CANON firmware, as the PTP spec says
    that the 'root folder' object ID is 0x00000000.
    I suggest reporting it to Canon.

     
  • Dean Darlison
    Dean Darlison
    2004-01-14

    Logged In: YES
    user_id=881835

    Change to 'Canon EOS 300D (nomal mode)'.
    It works fine, assuming you are using latest gphoto2 and
    libghototo...

     
  • Logged In: YES
    user_id=27487

    but in Normal mode it is not PTP, hence not a bug.
    sure, this can help the user, but not the PTP driver
    developper to make it work.

     
  • Logged In: YES
    user_id=173521

    There is a bug, and the bug is in Canon firmware. A
    workaround for it would break other cameras functionality.
    However, if you wish to use a PTP driver for your camera,
    please edit the file ptp.h in camlibs/ptp2/ folder and
    change the following line:

    #define PTP_HANDLER_ROOT 0x00000000

    to:

    #define PTP_HANDLER_ROOT 0x00000001

     
  • Logged In: YES
    user_id=27487

    Could it be possible to make a dirty hack like:

    if (camera == "EOS 300D") {
    PTP_HANDLER_ROOT = 0x00000001;
    }

    possibly breaking when firmware gets updated (or trying to
    fallback if that does not work because of a possible fix) ?
    I know this is dirty but it may be worth.

     
  • Logged In: YES
    user_id=173521

    Honestly I hate dirty hacks. They usually justify existence
    of broken devices. Adding more and more dirty hacks results
    in obscured code, very hard to improve.
    Beside that the PTP_HANDLER_ROOT constant (it's a CONSTANT,
    not variable BTW ;) is used in other meanings also. I'm not
    even sure if changin this value won't break functionality in
    some other places...
    I'd suggest reporting it to CANON very strongly. I can't do
    it on my own, as I have no canon camera, no support contact
    and stuff like that.

    It might be also valuable to test, whether the windows
    generic PTP driver works with this camera. I know, ther is
    such "generic" driver in windows XP.
    Another idea is to format the memory/card. The bug may be
    not a "permanent feature" of a firmware, but some bizarre
    result of filesystem content coruption.

     
  • Dean Darlison
    Dean Darlison
    2004-01-15

    Logged In: YES
    user_id=881835

    You're right. As it is, PTP does not work in XP.

    Wish I had known that earlier ! I wasted a lot of time
    assuming the problem was somewhere in Linux or my setup !

     
  • Logged In: YES
    user_id=248825

    On my box PTP works in XP. But in Linux I've the same
    problem also with reformatted CF.

     
  • Logged In: YES
    user_id=48092

    please try to update the firmware of the EOS 300D and see if that helps.

     
    • status: open --> closed-fixed
     
  • Logged In: YES
    user_id=48092

    fixed in upcoming 2.1.6 release.

     
  • Logged In: YES
    user_id=27487

    FYI, this is the 20D patch.