=====================
*About this software*
=====================

This is libptp2!

This library is under developement yet.
It's designed to use with gphoto2, but can be easily used with any other
software.

There is a sample test_ptp.c code which shows how to use libptp2 without
gphoto2. You can use test_ptp.c as a quick startup for your own ptp
application. Vide library.c to see how to use libptp2.
Sorry, no docs yet :(

To compile test_ptp.c type:
cc -g -O2 -g -Wall -I/usr/local/include/libexif -I../../libgphoto2 -I/usr/local/include -g -Wall test_ptp.c -lusb ptp.o -o test_ptp

or something similar :)


===================
*Supported Cameras*
===================

Model			|Vendor ID|Product ID|
========================|=========|==========|
Kodak DC-240 (PTP)	| 0x040a  |  0x0121  |
Kodak DC-4800		| 0x040a  |  0x0160  |
Kodak DX-3215		| 0x040a  |  0x0525  |
Kodak DX-3500		| 0x040a  |  0x0500  |
Kodak DX-3600		| 0x040a  |  0x0510  |
Kodak DX-3700		| 0x040a  |  0x0530  |
Kodak DX-3900		| 0x040a  |  0x0170  |
Kodak DX-4900		| 0x040a  |  0x0550  |
Kodak MC3		| 0x040a  |  0x0400  |
------------------------+---------+----------+
HP PhotoSmart 318	| 0x03f0  |  0x6302  |
HP PhotoSmart 612	| 0x03f0  |  ??????  |
HP PhotoSmart 715	| 0x03f0  |  0x6402  |
------------------------+---------+----------+
Sony DSC-CD300		| 0x054c  |  0x004e  |
Sony DSC-F505		| 0x054c  |  0x004e  |
Sony DSC-F505V		| 0x054c  |  0x004e  |
Sony DSC-F707		| 0x054c  |  0x004e  |
Sony DSC-F707V		| 0x054c  |  0x004e  |
Sony DSC-P5		| 0x054c  |  0x004e  |
Sony DSC-P30		| 0x054c  |  0x004e  |
Sony DSC-P50		| 0x054c  |  0x004e  |
Sony DSC-P71		| 0x054c  |  0x004e  |
Sony DSC-S75		| 0x054c  |  0x004e  |
Sony DSC-S85		| 0x054c  |  0x004e  |
==============================================

Note that for some HP and Sony cameras you have to switch them to PTP mode
as in most cases the camera is dual mode: PTP and USB Mass Storage.
For some cameras it even changes the Product ID number, so don't panic if
it does not match the one listed above, just switch the mode.

Moreover if you heard that your camera is a PTP camera, you may test it
against this driver even if it's not on the list above. If it's really in
PTP mode, the USB interface class should be set to 6 (it's called "still").
You may check it reading /proc/bus/usb/devices, for example:

cat /proc/bus/usb/devices | grep "Cls=06"

If you seen an output for example like this:

I:  If#= 0 Alt= 0 #EPs= 3 Cls=06(still) Sub=01 Prot=01 Driver=(none)

that means that your camera is a PTP one.
The ptp driver should detect that camera by interface class as "USB PTP
Class Camera" and allow downloading the pictures and do other stuff.


================================
*Solving and reporting problems*
================================

To solve the problem stick to gphoto2 CLI, forget about the GUI now.
Use gphoto2 -L to see if it detects camera.

If you see something like this:

~> gphoto2 -L
Unable to get descriptor (-1)                                                   
(... lot of other errors ...)

it may mean that you're working as user while the usb access is restricted.
See gphoto2-manual, section "Setting up your system for use with libgphoto2
and gphoto2", subsection "Setting up permissions for USB ports".

If the gphoto2 detects the camera but then fails with some error messages
please report the bug sending the mail to gphoto-devel@gphoto.org or
directly to me at: emsi@emsi.it.pl.
The mail should contain the full output of gphoto2 -L --debug with locale
language set to _ENGLISH_.
For example in bash do:
env LANG=C gphoto2 --debug -L
tcsh/csh:
setenv LANG C; gphoto2 --debug -L

WARGING!!! Before sending any mail make sure you read the notes in
"Supported Cameras" above.

Enjoy!

=============
Documentation

While ptp transactions usage seems to be quite obvious the ptp events
handling code should be documented.
