Share

gPhoto

Tracker: Feature Requests

5 Fuji S5Pro remote control - ID: 2881948
Last Update: Attachment added ( albatros_la81 )

I would like to ask if there is a way to give the team an hand in order to
develop the remote control features for Fuji S5Pro. Currently I am able to
retrieve image files from the camera and delete them through PTP/MTP
protocol. I see that all the Nikon DSLRs are supported from this point of
view, I hope the remote controlling of the S5Pro to be not so different
from the D200 since both cameras share the same body and perhaps something
about the internal electronics (despite the software and the sensors
actually being different). Any suggestion about the way to proceed is truly
appreciated!

Thanks

P.S. The camera is currently recognized as a generic ptp/mtp camera. I
think it is just a matter of "eye-candy" to add the correct name, however
the following is the descriptor ID coming from the USB bus when attaching
the camera: ID 04cb:01c3 Fuji Photo Film Co., Ltd. Just in case you want to
add it to the list of the supported cameras.


albatros_la81 ( albatros_la81 ) - 2009-10-19 20:05

5

Open

None

Marcus Meissner

camera support

None

Public


Comments ( 45 )

Date: 2009-11-22 15:11
Sender: albatros_la81

So I have tried to go deeper inside the trouble of the shutter speed
setting. Starting from the list I have pasted a couple of posts ago, I have
modified the config.c file according to the values listed as "Unknown". I
have come up with the patch in attachment, which now lets gphoto2 list the
correct shutter speed values. However, this is not conclusive, since there
are missing values in the list of the available shutter speed values. As a
matter of fact, using the patch now I get:

Label: Shutter Speed

Type: RADIO
Current: (null)
Choice: 0 bulb
Choice: 1 25s
Choice: 2 15s
Choice: 3 13s
Choice: 4 8s
Choice: 5 6s
Choice: 6 4s
Choice: 7 3s
Choice: 8 2s
Choice: 9 1.6s
Choice: 10 1s
Choice: 11 1/1.3s
Choice: 12 1/1.6s
Choice: 13 1/2.5s
Choice: 14 1/3s
Choice: 15 1/5s
Choice: 16 1/6s
Choice: 17 1/10s
Choice: 18 1/13s
Choice: 19 1/20s
Choice: 20 1/25s
Choice: 21 1/40s
Choice: 22 1/50s
Choice: 23 1/80s
Choice: 24 1/100s
Choice: 25 1/160s
Choice: 26 1/200s
Choice: 27 1/320s
Choice: 28 1/400s
Choice: 29 1/640s
Choice: 30 1/800s
Choice: 31 1/1250s
Choice: 32 1/1600s
Choice: 33 1/2500s
Choice: 34 1/3200s
Choice: 35 1/5000s
Choice: 36 1/6400s

It is possible to set all the values listed above, but if you compare them
with the full list (shutter_speed.txt) you can see that there are some
lacks here and there. Moreover if you check the patched file, the new
values linked to the respective labels are not in accordance with the
previous full list. On the other hand, if I set the aperture value through
the camera, the d219 config lists the value I have once reported into the
full list, which is someway strange!
I suspect there is something wrong in the code which makes gphoto2 list a
partial list, this way providing strange results. Note that the "Current"
field is now always set to (null) whatever is the actual value set.


Date: 2009-11-15 20:15
Sender: albatros_la81

I have checked the list I gave you and it is correct. I.e., if I set
1/4000s on the camera, gphoto2 --get-config /main/other/d219 reports this:
Label: PTP Property 0xd219
Type: RANGE
Current: 78
Bottom: -31
Top: 78
Step: 3
At the opposite tip of the range, with shutter speed set to bulb, I get:
Label: PTP Property 0xd219
Type: RANGE
Current: -31
Bottom: -31
Top: 78
Step: 3
The 1st value in the list, reported as x250, is unknown to me (it is
simply what I get if I go one step slower than bulb, and it is actually the
lowest setting I can get): I will check it into the camera manual. However,
when set to that value, the camera reports a "Current" value of 48 (which
is rather strange, since it is actually linked to 1/250s too). I confirm
that when the shutter speed is set to 25", the value reported into the list
is -28. In order to avoid misunderstanding, the first column values are the
ones corresponding to the "Current" label mentioned above, while the ones
into the second are obviously the label as they should be reported.

P.S. When saying "Shutter speed works good indeed!" I was meant "Aperture
setting", since the latter works good as expected!


Date: 2009-11-15 19:45
Sender: marcusmeissnerProject Admin

r12525 is just better output for the --summary command.



The shutterspeed values you gave me had different values ...

-25 was -26 in your list for instance.

there are more off-by-1s in the list that match belows "Unknown value".

can you check the setting of /other/d219 (this is the secondary
representation)


Date: 2009-11-15 19:17
Sender: albatros_la81

I have seen that in rev. 12525 you have changed something about fuji
functions... Is it something about my previous report or something else?
Thanks!


Date: 2009-11-07 16:32
Sender: albatros_la81

So, there are some troubles into shutter speed and aperture settings. There
seems to be something wrong with the code regarding the shutter speed
settings, because when I try to check the available set points, I get a
list into which a lot of settings are actually missing, and in fact I am
not able to set the missing ones, while they are obviously available acting
on the camera:

Choice: 0 bulb
Choice: 1 25s
Choice: 2 Unknown value -025
Choice: 3 13s
Choice: 4 Unknown value -019
Choice: 5 6s
Choice: 6 Unknown value -013
Choice: 7 3s
Choice: 8 Unknown value -007
Choice: 9 1.6s
Choice: 10 Unknown value -001
Choice: 11 1/1.3s
Choice: 12 Unknown value 0005
Choice: 13 1/2.5s
Choice: 14 Unknown value 0011
Choice: 15 1/5s
Choice: 16 Unknown value 0017
Choice: 17 1/10s
Choice: 18 Unknown value 0023
Choice: 19 1/20s
Choice: 20 Unknown value 0029
Choice: 21 1/40s
Choice: 22 Unknown value 0035
Choice: 23 1/80s
Choice: 24 Unknown value 0041
Choice: 25 1/160s
Choice: 26 Unknown value 0047
Choice: 27 1/320s
Choice: 28 Unknown value 0053
Choice: 29 1/640s
Choice: 30 Unknown value 0059
Choice: 31 1/1250s
Choice: 32 Unknown value 0065
Choice: 33 1/2500s
Choice: 34 Unknown value 0071
Choice: 35 1/5000s
Choice: 36 Unknown value 0077

This is the complete list, so the listed values are not all the ones
listed into config.c (which are actually correct). Moreover, they seem to
be wrong indexed (i.e. the choice 35 should not be related to 1/5000s).

Shutter speed setting works good indeed!


Date: 2009-11-07 12:21
Sender: albatros_la81

Ok, I am going to test it!
1.8 is the minimum aperture I can select on the fastest lens I have. The
fastest lens ever made is a f/0.7, however there are a lot of persons out
there with f/1.4 and f/1.2 lenses, so I think that it should be reasonable
to include aperture values at least down to those ones.


Date: 2009-11-04 22:17
Sender: marcusmeissnerProject Admin

Ok, I have implemented aperture and shutterspeed mapping now with your
tables.
again blindly, so please test (it might not work ;)

http://www.lst.de/~mm/libgphoto2-2.4.7.3.tar.bz2

aperture is limited by the camera in the end too. 1.8 is the minimum and
not sure what the maximum might be.


Date: 2009-11-03 20:32
Sender: albatros_la81

Speaking about the errors, here's what gphoto2 reports when trying to set
the focus mode:

*** Error ***
Sorry, the property 'Focus Mode' / 0x500a is currently ready-only.

*** Error ***
Failed to set new configuration value 0 for configuration entry
/main/capturesettings/focusmode.
*** Error (-6: 'Unsupported operation') ***

As said before, I find it to be normal since it is a setting which is
possible only through an hardware switch. So I think it is labeled as
read-write because it is actually settable by the user, even if through a
physical operation.

I have attached the files listing the values of aperture and shutter
speed. The first column of each file reports the value currently listed by
gphoto2 (not the index!) while the second column lists the human-readable
value I have checked on camera. As a matter of fact, there is an infinite
range of values which are possible for the aperture setting, but they
strictly depend on the lens mounted. Moreover, I guess that it is possible
to set the half steps - as said before - but I currently haven't any lens
which such a feature.

P.S. I have tried to check the values again, but strangely the camera
seems not to respond to my commands given through gphoto2, while I can read
all the settings of the camera. I don't get the point of this trouble...
now I will try to figure out what's goin' on. However, the attached files
are certainly correct!


Date: 2009-11-03 11:01
Sender: albatros_la81

Yes, in fact I obtain an error while trying to set those values. I will
give you feedback on it this afternoon since now I am at work. I do not
think the other settings to be software settable, despite being marked as
read-write, since they are actually set by multi-positional switch; so a
succeeding into setting them with gphoto2 would create a mismatch between
the software value and the hardware switch actual position.
Another thing I have noticed is that it is not possible to set anything
listed into the in-camera menu if this is currently accessed by it, but I
think this is only a "minor issue". Going out the setup menus let gphoto2
access their values with any problem at all.
I have finished tracking down the aperture and shutter speed values: I
will attach the results this afternoon, after checking the possibility to
set also the aperture half-steps.


Date: 2009-11-03 09:06
Sender: marcusmeissnerProject Admin

i made a mistake typing up the flash mode values, fixed in svn.

focusmode is already marked by the camera as read-only, you will get a
"read only" error on --set-config.

but the other 3 are marked as "read write" by the camera. It would be nice
to see if --set-config works on those,
or if an error is reported on set.



have you had any success with the mapping of shutterspeed and aperture?


Date: 2009-11-02 23:35
Sender: albatros_la81

So I have tested the snapshot. There is something to be fixed. For the
flash mode (/main/capturesettings/flashmode) the values should be:
Choice: 0 Front-curtain sync
Choice: 1 Red-eye reduction
Choice: 2 Red-eye reduction with slow sync
Choice: 3 Slow sync
Choice: 4 Rear-curtain sync
Choice: 5 Unknown value 8005

While now the 4th and the 5th ones are swapped, I have been mistaken the
last time I wrote them down. I think the 5th one refers to the external
flash mode, but I am not able to proof it since I have not any external
flash and manual does not speak about any "5th" set point!

Then I have noticed the obvious thing that the hardware switches could
only be driven my hand, so for them the unique option that should be
available is the --get-config, while --set-config is going to be
ineffective. I do not know if you usually provide gphoto2 with some logic
preventing this or if you simply let the user try and understand. However,
it follows the list of these "read-only" (or, better, hardware-only)
settings:
/main/capturesettings/focusmode
/main/capturesettings/capturemode
/main/capturesettings/focusmetermode
/main/capturesettings/exposuremetermode



Date: 2009-10-31 20:10
Sender: albatros_la81

Ok, I will test the snapshot as soon as I can! Into the meanwhile I have
tracked down the aperture and shutter speed values. The latter is ok, while
I have inquired only the aperture range from f/1.8 up to f/36 (since it is
rather difficult to find out something going outside that range, at least
at "human prices"!). There seem to be also the aperture half steps (since
the ones I have observed are spaced by 2 value units per step), but I have
no chance to proof it. There are a lot of settings I would like to check
out, but it will take a little bit of time to write them out... Thanks for
the good work, I will give you feedback as soon as possible!


Date: 2009-10-31 19:46
Sender: marcusmeissnerProject Admin

also added fujhi releasemode ("capturemode") and image format ("quality")
to that tarball.



Date: 2009-10-31 19:19
Sender: marcusmeissnerProject Admin

i have just uploaded a new test libgphoto2 tarball to
http://www.lst.de/~mm/libgphoto2-2.4.7.2.tar.bz2

i have added all the options in the allconfig list up to (excluding) color
temperature now.

i implemented sharpness, capturedelay, burstinterval in a total blind
way, can you test these please :)


Date: 2009-10-29 10:52
Sender: marcusmeissnerProject Admin

thanks! i will add the values to the config tree, might take a bit


Date: 2009-10-28 22:52
Sender: albatros_la81

I have uploaded the device properties summary since the --summary option
now works good (last time it was segfaulting...). Then there is the
all_config_master.txt which reports the main features labels (for all the
0x500 address range and something more). Please feel free to add them to
the code, since my #C skills are very poor, then I will eventually add the
rest of the options to the next snapshot if I will manage to do that ;-)
There is something more to be inquired about the aperture values and the
shutter speed since it depends on the lens mounted. I see that it simply
refers to a range of numbers, the lower one corresponding to the lower
f/number but not numerically equal to it, and so on as far as the larger
aperture; it is almost the same for the shutter speed. Looking at the
config.c code, I guess there is something similar for Canon and Nikon
devices.


Date: 2009-10-28 21:22
Sender: marcusmeissnerProject Admin

the other/ menu contains all the regular menus again (they are the 0x500
values).

we would add them to camlibs/ptp2/config.c

I have now added the FUJI detection to libgphoto2 so you can use
PTP_VENDOR_FUJI codes in config.c


either you can try or I can do it (or provide some samples code).

refreshed libgphoto2 with this FUJI detection:
http://www.lst.de/~mm/libgphoto2-2.4.7.2.tar.bz2




Date: 2009-10-28 20:51
Sender: albatros_la81

I have individuated a lot of features and re-labeled them. However, I see
that there are a lot of duplicate queries (i.e. there are two configs about
white balance with different "ptp addresses" but identical number of
setting strings [as it should be, since they refer to the same setting]).
In your experience, what does that mean? I guess that the "duplicate
blocks" refer respectively to the in-camera menu and to the relative
camera-hardware switch. Am I wrong?


Date: 2009-10-26 19:34
Sender: albatros_la81

Yes, in fact I am currently working on that! I guess a lot of handlers
refer to some input coming from the lens while some others are options
stored into the camera menu. I will send you a patch or the updated
"allconfig" file as soon as I finish the job ;-)


Date: 2009-10-26 08:53
Sender: marcusmeissnerProject Admin

there is some stuff to do :)

if you look through the allconfig list you see a lot of "Unknown value
8001".
these are settings we do not know the names of.

so you can do for those ...
Check the settings in the Camera against this list, change the settings on
the camera and run e.g.:
gphoto2 --get-config whitebalance
to find which "unbknown value ...." matches which specific device name

whitebalance , focusmode, focusmetermode, exposuremetermode, flashmode
are the ones.

This would help greatly and should not be hard to do as these are basic
settings lots of people might use.


second guess round:
then, if you look through the "other" category, there are a lots of 0xdXXX
values where we do not have names for.
(The 0x5XXX are already listed by name)
finding out the names / meanings of those 0xDXXX configuration entries
and their values would help too.


Date: 2009-10-23 23:13
Sender: albatros_la81

Let me know if you need something else, I will check this thread next days.
It has been a really productive day, so thank you very much: you have been
very kind and helpful!


Date: 2009-10-23 22:21
Sender: albatros_la81

Outputs attached... and a quick test con setting the ISO values worked
fine.


Date: 2009-10-23 22:11
Sender: marcusmeissnerProject Admin

not really useful with debugging information.

what also might work already is:
gphoto2 --list-config

gphoto2 --get-config <entry from abovelist>

gphoto2 --set-config entryname=newvalue


Can you attach also:

gphoto2 --summary --debug > summary.log 2>&1


gphoto2 --list-config | while read x
do
echo $x
gphoto2 --get-config $x
done > allconfig.txt



Date: 2009-10-23 22:09
Sender: albatros_la81

(gdb) run --summary
Starting program: /usr/bin/gphoto2 --summary
[...]
(no debugging symbols found)'/usr/lib/libgphoto2/... |
\ 0.0%
[...]
(no debugging symbols found)'/usr/lib/libgphoto2/...
|---------------------------------- | 96.6% 6s
[...]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7b716c0 (LWP 24432)]
0xb7afe1b4 in ?? () from /usr/lib/libgphoto2/2.4.7.2/ptp2.so

(gdb) bt
#0 0xb7afe1b4 in ?? () from /usr/lib/libgphoto2/2.4.7.2/ptp2.so
#1 0xbfebf3a3 in ?? ()
#2 0x00007510 in ?? ()
#3 0xb7b24f8a in ?? () from /usr/lib/libgphoto2/2.4.7.2/ptp2.so
#4 0x00000000 in ?? ()

And, last but not least...
bash-3.1# gphoto2 --capture-image
New file is in location /store_10000001/0DSC0001.raf on the camera
It works! NICE! :-)


Date: 2009-10-23 22:04
Sender: marcusmeissnerProject Admin

so, for starters:

gphoto2 --capture-image should take a picture now :)


as for the segfault, can you run it in gdb?

gdb gphoto2
...
run --summary
... crash ...
bt


Date: 2009-10-23 22:02
Sender: albatros_la81

gphoto2 --summary gives me a segmentation fault. However, the --autodetect
gives me out this:
Fuji S5 Pro usb:
Fuji S5 Pro usb:002,01<N>
in all the three modes, so yes: it detects the camera successfully!


Date: 2009-10-23 21:52
Sender: marcusmeissnerProject Admin

as there is no real change, gphoto2 --auto-detect should work even now in
all modes.

just gphoto2 --summary output for instance should/will change


Date: 2009-10-23 21:47
Sender: albatros_la81

Ok, I go for it!


Date: 2009-10-23 21:43
Sender: marcusmeissnerProject Admin

and gphoto2 --auto-detect does not show any devices?


ok, perhaps we need to list the ID explicitly. I have built a temporary
libgphoto2 tarball,

It is at:

http://www.lst.de/~mm/libgphoto2-2.4.7.2.tar.bz2

can you check that please, if gphoto2 --auto-detect does not see it?


Date: 2009-10-23 21:40
Sender: albatros_la81

I apologize... Now I have updated the three lsusb -v outputs: the
attachment is the same. I do not see any change in the ID, there seems to
be changes in wMaxPacketSize and bInterval.


Date: 2009-10-23 21:27
Sender: marcusmeissnerProject Admin

with -v please ("lsusb -v") to get the details ... the usb id is still
there :/


Date: 2009-10-23 21:16
Sender: albatros_la81

So, the last two modes give the exact same result. I have attached the
three lsusb, one per each of the three modes. When in window$, connecting
the camera in the second mode, I obtain both memory card access to the
camera and camera remote control via HS-v3, while in the first mode I get
the memory card access only. I have not tried yet, but I suppose that in
the third mode I will get the remote control only.


Date: 2009-10-23 20:58
Sender: marcusmeissnerProject Admin

so we need to be in those "Shutter *" modes

can you run lsusb -v for the latter two?


Date: 2009-10-23 20:52
Sender: albatros_la81

Ok, understood! So yes: the camera is able to work in three different
modes, configurable through the in-camera setup. The first one is the one I
have used so far to transfer the files with gphoto2, and it is labeled as
"MTP/PTP", the second one is the "Shutter Auto PC", the third one is the
"Shutter PC Only". The last two ones are mandatory if I want HS-v3 to work.
I have just tried to make gphoto2 recognize the camera with these settings,
but it does not find it.


Date: 2009-10-23 20:04
Sender: marcusmeissnerProject Admin

no, did you need to switch anything on the camera to make it work in the
windows app?

beause the base settings are different from what the gphoto logfile
contains :(


Date: 2009-10-23 19:57
Sender: marcusmeissnerProject Admin

if you can capture a full trace between pluggin the camera in and starting
the app .it would also be helpfuil, since it could contain the magic that
switches the ptp modes


Date: 2009-10-23 19:51
Sender: albatros_la81

I have attached the output of lsusb -v. Maybe I have changed something
about aperture and or mode between a couple of trunks of the sniff
(honestly, I do not remember exactly). There is the chance to change the
whole settings of the camera, so there are a lot of things which can be
triggered. Do you suggest to change only one thing at a time or to make a
whole range of settings per each trigger (for example, change among all the
aperture values in one unique sniff, and so on with all the switches)?


Date: 2009-10-23 19:41
Sender: marcusmeissnerProject Admin

the traces are helpful.

they show way more stuff reported as by the original --summary run.

did you change any setting on the camera before running the tool?

could you also run "lsusb -v" and attach the part of the camera itself?


Date: 2009-10-23 19:05
Sender: albatros_la81

The tar.bz2 archive contains some xml coming frome the sniffer. They have
been done sequentially, so you can track the genesis of the commands by
taking a look at the dimension of the files (the second one contains also
the first one, the third contains the first and the second and so on til
the last one which contains the whole sniff: a diff will isolate the single
trunks, I have left them as they are to let you do as you want). There are
pauses between each executed command in order not to track down all the
un-useful stuff. The filenames are self-explanatory, or I hope so!

Do not hesitate to ask if you think I have done something wrong or if I
can do this into a manner more suitable to your needs!

P.S. I forgot to switch the shutter speed command when in "S" mode, but
for now let's see if you manage to understand something by these inputs.


Date: 2009-10-22 20:07
Sender: marcusmeissnerProject Admin

can you export those to XML from SNoopyPro and attach here? Perhaps I can
already make sense of it


Date: 2009-10-22 19:15
Sender: albatros_la81

Good news: I have complete access to a window$ machine with HS-v3 installed
on it. I have tried to sniff the usb bus communications with snoopypro and
I get a lot of information (hopefully useful!) as expected. Now since I am
new to the reverse engineering thing, I ask you if there is a more
effective way to proceed in order to track down the useful data. The more
obvious technique is to start sniffing the bus just before changing a
parameter, than stopping it a moment after, and proceed that way for each
switch... am I right? The thing I have noticed is that a huge amount of
data is constantly transferred, maybe because there is some real-time data
shown on HS-v3, generally related to the exposimeter, so I understand that
it is not a simple task to isolate the meaningful part of the stream. Any
suggestion is really welcome, then I will try to do as much as possible by
myself!


Date: 2009-10-21 19:27
Sender: albatros_la81

I understand. Unluckily I do not have Fuji's HS-v3, but maybe I can get in
contact with some persons who are currently using it; so I will try to
retrieve as much as information as possible from them. I will keep you
informed. Thank you for your help!


Date: 2009-10-21 18:51
Sender: marcusmeissnerProject Admin

i do not see known opcode or nikon like opcodes in the trace.

there are 3 unknown opcodes:
0x900c
0x900d
0x901d


As the HS-V3 software seems capable, it probably is possible somehow.
Without knowledge how this is difficult.

USB traces or documentation of how-to-capture would be helpful.

until then we can not do much more :/


Date: 2009-10-21 06:07
Sender: albatros_la81

Here it is!


Date: 2009-10-20 06:34
Sender: marcusmeissnerProject Admin

hmm,

can you run:

gphoto2 --summary --debug > logfile 2>&1

and attach it here please?




Attached Files ( 11 )

Filename Description Download
logfile.gz Download
usb_snoop.tar.bz2 Some sniffs... Download
lsusb.txt Download
lsusb_modes.tar.bz2 Download
allconfig.txt Download
summary.log Download
all_config_master.txt Download
device_property_summary.txt Download
aperture_value.txt Download
shutter_speed.txt Download
config.c.diff Download

Changes ( 14 )

Field Old Value Date By
File Added 352089: config.c.diff 2009-11-22 15:12 albatros_la81
File Added 349416: shutter_speed.txt 2009-11-03 20:34 albatros_la81
File Added 349415: aperture_value.txt 2009-11-03 20:34 albatros_la81
File Added 348613: device_property_summary.txt 2009-10-28 22:45 albatros_la81
File Added 348612: all_config_master.txt 2009-10-28 22:44 albatros_la81
File Added 347960: summary.log 2009-10-23 22:18 albatros_la81
File Added 347959: allconfig.txt 2009-10-23 22:18 albatros_la81
File Added 347953: lsusb_modes.tar.bz2 2009-10-23 21:37 albatros_la81
File Deleted 347948: 2009-10-23 21:37 albatros_la81
File Added 347948: lsusb_modes.tar.bz2 2009-10-23 21:16 albatros_la81
File Added 347936: lsusb.txt 2009-10-23 19:47 albatros_la81
File Added 347930: usb_snoop.tar.bz2 2009-10-23 18:56 albatros_la81
File Added 347519: logfile.gz 2009-10-21 06:07 albatros_la81
assigned_to nobody 2009-10-20 06:34 marcusmeissner