Re: [Sony Alpha7] no work
Jeroen Lichtenauer <[email protected]> Wed, 3 Apr 2024 21:44:29 +0200
| Newsgroups | gmane.comp.multimedia.gphoto.devel |
|---|---|
| Message-ID | <CAM_--Ayr3cSRKaXVRmVwgyJMLhVDMiSQoCmipeog3vbmn9MO3g@mail.gmail.com> |
--===============0855254384565552385==
Content-Type: multipart/alternative; boundary="000000000000a0ffff061536755b"
--000000000000a0ffff061536755b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi Marcus,
Thank you for your quick reply.
After doing some debugging, I found out that the Sony A7S III includes a
second ENUM list for every property. The second one is either as long as
the first list, or longer. It seems like the first list contains the
enabled options, and the second list contains all the possible options
(some of which you might not be able to choose in the current state).
in ptp2/ptp-pack.c
static inline int ptp_unpack_Sony_DPD (PTPParams *params, unsigned char*
data, PTPDevicePropDesc *dpd, unsigned int dpdlen, unsigned int *poffset)
After the current ENUM list extraction
for (i=3D0;i<N;i++) {
ret =3D ptp_unpack_DPV (params, data, poffset, dpdlen,
&dpd->FORM.Enum.SupportedValue[i], dpd->DataType);
/* Slightly different handling here. The HP PhotoSmart 120
* specifies an enumeration with N in wrong endian
* 00 01 instead of 01 00, so we count the enum just until the
* the end of the packet.
*/
if (!ret) {
if (!i)
goto outofmemory;
dpd->FORM.Enum.NumberOfValues =3D i;
break;
}
}
I added some code that updates the offset to skip the second list:
if(strcmp(params->deviceinfo.Model, "ILCE-7SM3")=3D=3D0)
{
int enum_value_len;
switch (dpd->DataType) {
case PTP_DTC_INT8:
enum_value_len =3D 1;
break;
case PTP_DTC_UINT8:
enum_value_len =3D 1;
break;
case PTP_DTC_INT16:
enum_value_len =3D 2;
break;
case PTP_DTC_UINT16:
enum_value_len =3D 2;
break;
case PTP_DTC_INT32:
enum_value_len =3D 4;
break;
case PTP_DTC_UINT32:
enum_value_len =3D 4;
break;
case PTP_DTC_INT64:
enum_value_len =3D 8;
break;
case PTP_DTC_UINT64:
enum_value_len =3D 8;
break;
case PTP_DTC_UINT128:
enum_value_len =3D 16;
break;
case PTP_DTC_INT128:
enum_value_len =3D 16;
break;
case PTP_DTC_AINT8:
enum_value_len =3D 1;
break;
case PTP_DTC_AUINT8:
enum_value_len =3D 1;
break;
case PTP_DTC_AUINT16:
enum_value_len =3D 2;
break;
case PTP_DTC_AINT16:
enum_value_len =3D 2;
break;
case PTP_DTC_AUINT32:
enum_value_len =3D 4;
break;
case PTP_DTC_AINT32:
enum_value_len =3D 4;
break;
case PTP_DTC_AUINT64:
enum_value_len =3D 8;
break;
case PTP_DTC_AINT64:
enum_value_len =3D 8;
break;
case PTP_DTC_STR:
goto outofmemory;
break;
default:
goto outofmemory;
}
uint16_t N_all =3D dtoh16a(&data[*poffset]);
*poffset+=3Dsizeof(uint16_t);
*poffset +=3D enum_value_len*N_all;
}
The debug log is here
https://drive.usercontent.google.com/uc?id=3D1MEanNTniSpzv8xd82fZ_D9n72hZBr=
FwQ&export=3Ddownload
Although I now finally get lots of properties (hundreds), it still misses
some essential actions, such as image capture.
Perhaps because these have different addresses for this camera?
Kind regards, Jeroen
On Wed, Apr 3, 2024 at 3:47=E2=80=AFPM Marcus Meissner <[email protected].=
de>
wrote:
> Hi,
>
> Thanks for this report.
>
> it seems the binary format of this variable has changed, which leds to
> this error.
>
> I will need to adjust the decoder :(
>
> You can short term perhaps add a ignore to the decoder, perhaps it will
> help,
> except you cant use any config reads
>
> Ciao, Marcus
> On Wed, Apr 03, 2024 at 02:13:31PM +0200, Jeroen Lichtenauer wrote:
>
--000000000000a0ffff061536755b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64
PGRpdiBkaXI9Imx0ciI+PGRpdiBkaXI9Imx0ciI+SGkgTWFyY3VzLMKgPGRpdj48YnI+PC9kaXY+
PGRpdj5UaGFuayB5b3UgZm9yIHlvdXIgcXVpY2sgcmVwbHkuPC9kaXY+PGRpdj5BZnRlciBkb2lu
ZyBzb21lIGRlYnVnZ2luZywgSSBmb3VuZCBvdXQgdGhhdCB0aGUgU29ueSBBN1MgSUlJIGluY2x1
ZGVzIGEgc2Vjb25kIEVOVU0gbGlzdCBmb3IgZXZlcnkgcHJvcGVydHkuIFRoZSBzZWNvbmQgb25l
IGlzIGVpdGhlciBhcyBsb25nIGFzIHRoZSBmaXJzdCBsaXN0LCBvciBsb25nZXIuIEl0IHNlZW1z
IGxpa2UgdGhlIGZpcnN0IGxpc3QgY29udGFpbnMgdGhlIGVuYWJsZWQgb3B0aW9ucywgYW5kIHRo
ZSBzZWNvbmQgbGlzdCBjb250YWlucyBhbGwgdGhlIHBvc3NpYmxlIG9wdGlvbnMgKHNvbWUgb2Yg
d2hpY2ggeW91IG1pZ2h0IG5vdCBiZSBhYmxlIHRvIGNob29zZSBpbiB0aGUgY3VycmVudCBzdGF0
ZSkuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5pbiBwdHAyL3B0cC1wYWNrLmPCoDwvZGl2Pjxk
aXY+c3RhdGljIGlubGluZSBpbnQgcHRwX3VucGFja19Tb255X0RQRCAoUFRQUGFyYW1zICpwYXJh
bXMsIHVuc2lnbmVkIGNoYXIqIGRhdGEsIFBUUERldmljZVByb3BEZXNjICpkcGQsIHVuc2lnbmVk
IGludCBkcGRsZW4sIHVuc2lnbmVkIGludCAqcG9mZnNldCk8L2Rpdj48ZGl2Pjxicj48L2Rpdj48
ZGl2PkFmdGVyIHRoZSBjdXJyZW50IEVOVU0gbGlzdCBleHRyYWN0aW9uPGJyPjwvZGl2PjxkaXY+
Zm9yIChpPTA7aSZsdDtOO2krKykgezxicj7CoCDCoHJldCA9IHB0cF91bnBhY2tfRFBWIChwYXJh
bXMsIGRhdGEsIHBvZmZzZXQsIGRwZGxlbiwgJmFtcDtkcGQtJmd0O0ZPUk0uRW51bS5TdXBwb3J0
ZWRWYWx1ZVtpXSwgZHBkLSZndDtEYXRhVHlwZSk7PGJyPjxicj7CoCDCoMKgIC8qIFNsaWdodGx5
IGRpZmZlcmVudCBoYW5kbGluZyBoZXJlLiBUaGUgSFAgUGhvdG9TbWFydCAxMjA8YnI+wqAgwqDC
oCAqIHNwZWNpZmllcyBhbiBlbnVtZXJhdGlvbiB3aXRoIE4gaW4gd3JvbmcgZW5kaWFuPGJyPsKg
IMKgwqAgKiAwMCAwMSBpbnN0ZWFkIG9mIDAxIDAwLCBzbyB3ZSBjb3VudCB0aGUgZW51bSBqdXN0
IHVudGlsIHRoZTxicj7CoCDCoMKgICogdGhlIGVuZCBvZiB0aGUgcGFja2V0Ljxicj7CoCDCoMKg
ICovPGJyPsKgIMKgwqAgaWYgKCFyZXQpIHs8YnI+wqAgwqDCoCBpZiAoIWkpPGJyPsKgIMKgwqAg
Z290byBvdXRvZm1lbW9yeTs8YnI+wqAgwqDCoCBkcGQtJmd0O0ZPUk0uRW51bS5OdW1iZXJPZlZh
bHVlcyA9IGk7PGJyPsKgIMKgwqAgYnJlYWs7PGJyPsKgIMKgwqAgfTxicj4JCQl9PC9kaXY+PGRp
dj48YnI+CQkJSSBhZGRlZCBzb21lIGNvZGUgdGhhdCB1cGRhdGVzIHRoZSBvZmZzZXQgdG8gc2tp
cCB0aGUgc2Vjb25kIGxpc3Q6PGJyPjxicj4JCQlpZihzdHJjbXAocGFyYW1zLSZndDtkZXZpY2Vp
bmZvLk1vZGVsLCAmcXVvdDtJTENFLTdTTTMmcXVvdDspPT0wKTxicj4JCQl7PGJyPsKgIMKgwqAg
aW50IGVudW1fdmFsdWVfbGVuOzxicj7CoCDCoMKgIHN3aXRjaCAoZHBkLSZndDtEYXRhVHlwZSkg
ezxicj7CoCDCoMKgwqDCoCDCoMKgIGNhc2UgUFRQX0RUQ19JTlQ4Ojxicj7CoCDCoMKgwqDCoCDC
oMKgIGVudW1fdmFsdWVfbGVuID0gMTs8YnI+wqAgwqDCoMKgwqAgwqDCoCBicmVhazs8YnI+wqAg
wqDCoMKgwqAgwqDCoCBjYXNlIFBUUF9EVENfVUlOVDg6PGJyPsKgIMKgwqDCoMKgIMKgwqAgZW51
bV92YWx1ZV9sZW4gPSAxOzxicj7CoCDCoMKgwqDCoCDCoMKgIGJyZWFrOzxicj7CoCDCoMKgwqDC
oCDCoMKgIGNhc2UgUFRQX0RUQ19JTlQxNjo8YnI+wqAgwqDCoMKgwqAgwqDCoCBlbnVtX3ZhbHVl
X2xlbiA9IDI7PGJyPsKgIMKgwqDCoMKgIMKgwqAgYnJlYWs7PGJyPsKgIMKgwqDCoMKgIMKgwqAg
Y2FzZSBQVFBfRFRDX1VJTlQxNjo8YnI+wqAgwqDCoMKgwqAgwqDCoCBlbnVtX3ZhbHVlX2xlbiA9
IDI7PGJyPsKgIMKgwqDCoMKgIMKgwqAgYnJlYWs7PGJyPsKgIMKgwqDCoMKgIMKgwqAgY2FzZSBQ
VFBfRFRDX0lOVDMyOjxicj7CoCDCoMKgwqDCoCDCoMKgIGVudW1fdmFsdWVfbGVuID0gNDs8YnI+
wqAgwqDCoMKgwqAgwqDCoCBicmVhazs8YnI+wqAgwqDCoMKgwqAgwqDCoCBjYXNlIFBUUF9EVENf
VUlOVDMyOjxicj7CoCDCoMKgwqDCoCDCoMKgIGVudW1fdmFsdWVfbGVuID0gNDs8YnI+wqAgwqDC
oMKgwqAgwqDCoCBicmVhazs8YnI+wqAgwqDCoMKgwqAgwqDCoCBjYXNlIFBUUF9EVENfSU5UNjQ6
PGJyPsKgIMKgwqDCoMKgIMKgwqAgZW51bV92YWx1ZV9sZW4gPSA4Ozxicj7CoCDCoMKgwqDCoCDC
oMKgIGJyZWFrOzxicj7CoCDCoMKgwqDCoCDCoMKgIGNhc2UgUFRQX0RUQ19VSU5UNjQ6PGJyPsKg
IMKgwqDCoMKgIMKgwqAgZW51bV92YWx1ZV9sZW4gPSA4Ozxicj7CoCDCoMKgwqDCoCDCoMKgIGJy
ZWFrOzxicj7CoCDCoMKgwqDCoCDCoMKgIGNhc2UgUFRQX0RUQ19VSU5UMTI4Ojxicj7CoCDCoMKg
wqDCoCDCoMKgIGVudW1fdmFsdWVfbGVuID0gMTY7PGJyPsKgIMKgwqDCoMKgIMKgwqAgYnJlYWs7
PGJyPsKgIMKgwqDCoMKgIMKgwqAgY2FzZSBQVFBfRFRDX0lOVDEyODo8YnI+wqAgwqDCoMKgwqAg
wqDCoCBlbnVtX3ZhbHVlX2xlbiA9IDE2Ozxicj7CoCDCoMKgwqDCoCDCoMKgIGJyZWFrOzxicj7C
oCDCoMKgwqDCoCDCoMKgIGNhc2UgUFRQX0RUQ19BSU5UODo8YnI+wqAgwqDCoMKgwqAgwqDCoCBl
bnVtX3ZhbHVlX2xlbiA9IDE7PGJyPsKgIMKgwqDCoMKgIMKgwqAgYnJlYWs7PGJyPsKgIMKgwqDC
oMKgIMKgwqAgY2FzZSBQVFBfRFRDX0FVSU5UODo8YnI+wqAgwqDCoMKgwqAgwqDCoCBlbnVtX3Zh
bHVlX2xlbiA9IDE7PGJyPsKgIMKgwqDCoMKgIMKgwqAgYnJlYWs7PGJyPsKgIMKgwqDCoMKgIMKg
wqAgY2FzZSBQVFBfRFRDX0FVSU5UMTY6PGJyPsKgIMKgwqDCoMKgIMKgwqAgZW51bV92YWx1ZV9s
ZW4gPSAyOzxicj7CoCDCoMKgwqDCoCDCoMKgIGJyZWFrOzxicj7CoCDCoMKgwqDCoCDCoMKgIGNh
c2UgUFRQX0RUQ19BSU5UMTY6PGJyPsKgIMKgwqDCoMKgIMKgwqAgZW51bV92YWx1ZV9sZW4gPSAy
Ozxicj7CoCDCoMKgwqDCoCDCoMKgIGJyZWFrOzxicj7CoCDCoMKgwqDCoCDCoMKgIGNhc2UgUFRQ
X0RUQ19BVUlOVDMyOjxicj7CoCDCoMKgwqDCoCDCoMKgIGVudW1fdmFsdWVfbGVuID0gNDs8YnI+
wqAgwqDCoMKgwqAgwqDCoCBicmVhazs8YnI+wqAgwqDCoMKgwqAgwqDCoCBjYXNlIFBUUF9EVENf
QUlOVDMyOjxicj7CoCDCoMKgwqDCoCDCoMKgIGVudW1fdmFsdWVfbGVuID0gNDs8YnI+wqAgwqDC
oMKgwqAgwqDCoCBicmVhazs8YnI+wqAgwqDCoMKgwqAgwqDCoCBjYXNlIFBUUF9EVENfQVVJTlQ2
NDo8YnI+wqAgwqDCoMKgwqAgwqDCoCBlbnVtX3ZhbHVlX2xlbiA9IDg7PGJyPsKgIMKgwqDCoMKg
IMKgwqAgYnJlYWs7PGJyPsKgIMKgwqDCoMKgIMKgwqAgY2FzZSBQVFBfRFRDX0FJTlQ2NDo8YnI+
wqAgwqDCoMKgwqAgwqDCoCBlbnVtX3ZhbHVlX2xlbiA9IDg7PGJyPsKgIMKgwqDCoMKgIMKgwqAg
YnJlYWs7PGJyPsKgIMKgwqDCoMKgIMKgwqAgY2FzZSBQVFBfRFRDX1NUUjo8YnI+wqAgwqAgwqAg
wqAgwqAgZ290byBvdXRvZm1lbW9yeTs8YnI+wqAgwqDCoMKgwqAgwqDCoCBicmVhazs8YnI+wqAg
wqDCoMKgwqAgwqDCoCBkZWZhdWx0Ojxicj7CoCDCoCDCoCDCoCDCoCBnb3RvIG91dG9mbWVtb3J5
Ozxicj7CoCDCoMKgIH08YnI+wqAgwqDCoCB1aW50MTZfdCBOX2FsbCA9IGR0b2gxNmEoJmFtcDtk
YXRhWypwb2Zmc2V0XSk7PGJyPsKgIMKgwqAgKnBvZmZzZXQrPXNpemVvZih1aW50MTZfdCk7PGJy
PsKgIMKgwqAgKnBvZmZzZXQgKz0gZW51bV92YWx1ZV9sZW4qTl9hbGw7PGJyPgkJCX08YnI+PC9k
aXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGUgZGVidWcgbG9nIGlzIGhlcmU8L2Rpdj48ZGl2Pjxh
IGhyZWY9Imh0dHBzOi8vZHJpdmUudXNlcmNvbnRlbnQuZ29vZ2xlLmNvbS91Yz9pZD0xTUVhbk5U
bmlTcHp2OHhkODJmWl9EOW43MmhaQnJGd1EmYW1wO2V4cG9ydD1kb3dubG9hZCI+aHR0cHM6Ly9k
cml2ZS51c2VyY29udGVudC5nb29nbGUuY29tL3VjP2lkPTFNRWFuTlRuaVNwenY4eGQ4MmZaX0Q5
bjcyaFpCckZ3USZhbXA7ZXhwb3J0PWRvd25sb2FkPC9hPjxicj48L2Rpdj48ZGl2PkFsdGhvdWdo
IEkgbm93IGZpbmFsbHkgZ2V0IGxvdHMgb2YgcHJvcGVydGllcyAoaHVuZHJlZHMpLCBpdCBzdGls
bCBtaXNzZXMgc29tZSBlc3NlbnRpYWwgYWN0aW9ucywgc3VjaCBhcyBpbWFnZSBjYXB0dXJlLjwv
ZGl2PjxkaXY+UGVyaGFwcyBiZWNhdXNlIHRoZXNlIGhhdmUgZGlmZmVyZW50IGFkZHJlc3NlcyBm
b3IgdGhpcyBjYW1lcmE/PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5LaW5kIHJlZ2FyZHMsIEpl
cm9lbjwvZGl2PjwvZGl2Pjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdiBkaXI9Imx0
ciIgY2xhc3M9ImdtYWlsX2F0dHIiPk9uIFdlZCwgQXByIDMsIDIwMjQgYXQgMzo0N+KAr1BNIE1h
cmN1cyBNZWlzc25lciAmbHQ7PGEgaHJlZj0ibWFpbHRvOm1hcmN1c0BqZXQuZnJhbmtlbi5kZSI+
bWFyY3VzQGpldC5mcmFua2VuLmRlPC9hPiZndDsgd3JvdGU6PGJyPjwvZGl2PjxibG9ja3F1b3Rl
IGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3Jk
ZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij5IaSw8
YnI+DQo8YnI+DQpUaGFua3MgZm9yIHRoaXMgcmVwb3J0Ljxicj4NCjxicj4NCml0IHNlZW1zIHRo
ZSBiaW5hcnkgZm9ybWF0IG9mIHRoaXMgdmFyaWFibGUgaGFzIGNoYW5nZWQsIHdoaWNoIGxlZHMg
dG8gdGhpcyBlcnJvci48YnI+DQo8YnI+DQpJIHdpbGwgbmVlZCB0byBhZGp1c3QgdGhlIGRlY29k
ZXIgOig8YnI+DQo8YnI+DQpZb3UgY2FuIHNob3J0IHRlcm0gcGVyaGFwcyBhZGQgYSBpZ25vcmUg
dG8gdGhlIGRlY29kZXIsIHBlcmhhcHMgaXQgd2lsbCBoZWxwLDxicj4NCmV4Y2VwdCB5b3UgY2Fu
dCB1c2UgYW55IGNvbmZpZyByZWFkczxicj4NCjxicj4NCkNpYW8sIE1hcmN1czxicj4NCk9uIFdl
ZCwgQXByIDAzLCAyMDI0IGF0IDAyOjEzOjMxUE0gKzAyMDAsIEplcm9lbiBMaWNodGVuYXVlciB3
cm90ZTo8YnI+DQo8L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+DQo=
--000000000000a0ffff061536755b--
--===============0855254384565552385==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============0855254384565552385==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Gphoto-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gphoto-devel
--===============0855254384565552385==--