I finally tested and committed my patch to libgphoto2 to work around PTP bugs in the Canon EOS 20D. The workaround itself is not from me, but I wanted to make sure we only did apply it to buggy cameras, to not break the others. Currently, only EOS 20D and Digital Rebel (aka EOS 300D in Europe) are concerned. And this provide infrastructure for other bugs workaround.

All of this will be in libgphoto2 2.1.6 that I plan to release starting next week (release a release candidate first).

Other stuff I have to do is:

  • USB Mass Storage fake support (for libgphoto2 2.2)
  • Fixing canon driver for the EOS 20D, unless Stephen Westin beats me. Stephen is the current canon driver hacker, and he did a lot of work, including updating the comprehensive documentation for the Canon protocol. I must remind that the canon driver for libgphoto2 is only made from reverse engineering as Canon has been a black sheep for a long time by not providing the specs for their cameras. Fortunately, Canon seems to switch over to PTP, the USB Still Image device class protocol, which is standard, and given the effort they put on implementing lot of features usable thru PTP, I'm beginning to think that PictBridge is not the only reason they did it, and I hope they really want to get rid of the proprietary protocol.