libgphoto2 icon indicating copy to clipboard operation
libgphoto2 copied to clipboard

Some Sony properties are reported as readonly but actually aren't

Open RReverser opened this issue 2 years ago • 8 comments

Describe the bug

I've noticed that some Sony properties on Sony a6600 are reported as readonly, but if I recompile code to ignore that, they are actually correctly writable.

In particular, I ran into this when trying to change "Exposure Compensation Mode" and "Focus Mode". I believe they are writable because they have custom stepping handlers on a6600, and I checked that those handlers do work correctly. However, the underlying PTP property they're assigned to are read-only, and so the corresponding widgets are incorrectly reported by gphoto2 as read-only too and, as a result, it forbids changes to those widgets.

This is the full dump of --list-all-config:

/main/actions/autofocus
Label: Auto-Focus
Readonly: 0
Type: TOGGLE
Current: 2
END
/main/actions/manualfocus
Label: Manual-Focus
Readonly: 0
Type: RANGE
Current: 0
Bottom: -7
Top: 7
Step: 1
END
/main/actions/capture
Label: Capture
Readonly: 0
Type: TOGGLE
Current: 2
END
/main/actions/bulb
Label: Bulb Mode
Readonly: 0
Type: TOGGLE
Current: 2
END
/main/actions/movie
Label: Movie Capture
Readonly: 0
Type: TOGGLE
Current: 2
END
/main/actions/opcode
Label: PTP Opcode
Readonly: 0
Type: TEXT
Current: 0x1001,0xparam1,0xparam2
END
/main/settings/capturetarget
Label: Capture Target
Readonly: 0
Type: RADIO
Current: sdram
Choice: 0 sdram
Choice: 1 card+sdram
END
/main/status/serialnumber
Label: Serial Number
Readonly: 1
Type: TEXT
Current: 00000000000000003285171006381391
END
/main/status/manufacturer
Label: Camera Manufacturer
Readonly: 1
Type: TEXT
Current: Sony Corporation
END
/main/status/cameramodel
Label: Camera Model
Readonly: 1
Type: TEXT
Current: ILCE-6600
END
/main/status/deviceversion
Label: Device Version
Readonly: 1
Type: TEXT
Current: 1.0
END
/main/status/vendorextension
Label: Vendor Extension
Readonly: 1
Type: TEXT
Current: Sony PTP Extensions
END
/main/status/batterylevel
Label: Battery Level
Readonly: 1
Type: TEXT
Current: 0%
END
/main/imgsettings/imagesize
Label: Image Size
Readonly: 0
Type: RADIO
Current: Medium
Choice: 0 Large
Choice: 1 Medium
Choice: 2 Small
END
/main/imgsettings/iso
Label: ISO Speed
Readonly: 0
Type: RADIO
Current: 500
Choice: 0 Auto ISO
Choice: 1 25
Choice: 2 50
Choice: 3 64
Choice: 4 80
Choice: 5 100
Choice: 6 125
Choice: 7 160
Choice: 8 200
Choice: 9 250
Choice: 10 320
Choice: 11 400
Choice: 12 500
Choice: 13 640
Choice: 14 800
Choice: 15 1000
Choice: 16 1250
Choice: 17 1600
Choice: 18 2000
Choice: 19 2500
Choice: 20 3200
Choice: 21 4000
Choice: 22 5000
Choice: 23 6400
Choice: 24 8000
Choice: 25 10000
Choice: 26 12800
Choice: 27 16000
Choice: 28 20000
Choice: 29 25600
Choice: 30 32000
Choice: 31 40000
Choice: 32 51200
Choice: 33 64000
Choice: 34 80000
Choice: 35 102400
Choice: 36 128000
Choice: 37 160000
Choice: 38 204800
Choice: 39 256000
Choice: 40 320000
Choice: 41 409600
Choice: 42 Auto ISO Multi Frame Noise Reduction
Choice: 43 25 Multi Frame Noise Reduction
Choice: 44 50 Multi Frame Noise Reduction
Choice: 45 64 Multi Frame Noise Reduction
Choice: 46 80 Multi Frame Noise Reduction
Choice: 47 100 Multi Frame Noise Reduction
Choice: 48 125 Multi Frame Noise Reduction
Choice: 49 160 Multi Frame Noise Reduction
Choice: 50 200 Multi Frame Noise Reduction
Choice: 51 250 Multi Frame Noise Reduction
Choice: 52 320 Multi Frame Noise Reduction
Choice: 53 400 Multi Frame Noise Reduction
Choice: 54 500 Multi Frame Noise Reduction
Choice: 55 640 Multi Frame Noise Reduction
Choice: 56 800 Multi Frame Noise Reduction
Choice: 57 1000 Multi Frame Noise Reduction
Choice: 58 1250 Multi Frame Noise Reduction
Choice: 59 1600 Multi Frame Noise Reduction
Choice: 60 2000 Multi Frame Noise Reduction
Choice: 61 2500 Multi Frame Noise Reduction
Choice: 62 3200 Multi Frame Noise Reduction
Choice: 63 4000 Multi Frame Noise Reduction
Choice: 64 5000 Multi Frame Noise Reduction
Choice: 65 6400 Multi Frame Noise Reduction
Choice: 66 8000 Multi Frame Noise Reduction
Choice: 67 10000 Multi Frame Noise Reduction
Choice: 68 12800 Multi Frame Noise Reduction
Choice: 69 16000 Multi Frame Noise Reduction
Choice: 70 25600 Multi Frame Noise Reduction
Choice: 71 51200 Multi Frame Noise Reduction
Choice: 72 102400 Multi Frame Noise Reduction
Choice: 73 204800 Multi Frame Noise Reduction
Choice: 74 409600 Multi Frame Noise Reduction
Choice: 75 Auto ISO Multi Frame Noise Reduction+
Choice: 76 100 Multi Frame Noise Reduction+
Choice: 77 200 Multi Frame Noise Reduction+
Choice: 78 400 Multi Frame Noise Reduction+
Choice: 79 800 Multi Frame Noise Reduction+
Choice: 80 1600 Multi Frame Noise Reduction+
Choice: 81 3200 Multi Frame Noise Reduction+
Choice: 82 6400 Multi Frame Noise Reduction+
Choice: 83 12800 Multi Frame Noise Reduction+
Choice: 84 25600 Multi Frame Noise Reduction+
Choice: 85 51200 Multi Frame Noise Reduction+
Choice: 86 102400 Multi Frame Noise Reduction+
Choice: 87 204800 Multi Frame Noise Reduction+
Choice: 88 409600 Multi Frame Noise Reduction+
END
/main/imgsettings/colortemperature
Label: Color Temperature
Readonly: 1
Type: RANGE
Current: 0
Bottom: 2500
Top: 9900
Step: 100
END
/main/imgsettings/whitebalance
Label: WhiteBalance
Readonly: 0
Type: RADIO
Current: Fluorescent: Warm White
Choice: 0 Automatic
Choice: 1 Daylight
Choice: 2 Shade
Choice: 3 Cloudy
Choice: 4 Tungsten
Choice: 5 Fluorescent: Warm White
Choice: 6 Fluorescent: Cold White
Choice: 7 Fluorescent: Day White
Choice: 8 Fluorescent: Daylight
Choice: 9 Flash
Choice: 10 Underwater: Auto
Choice: 11 Choose Color Temperature
Choice: 12 Preset 1
Choice: 13 Preset 2
Choice: 14 Preset 3
END
/main/capturesettings/zoom
Label: Zoom
Readonly: 0
Type: RANGE
Current: 34.4975
Bottom: 0
Top: 4294.97
Step: 1
END
/main/capturesettings/exposurecompensation
Label: Exposure Compensation
Readonly: 1
Type: RADIO
Current: 0
Choice: 0 0
Choice: 1 5
Choice: 2 4.7
Choice: 3 4.5
Choice: 4 4.3
Choice: 5 4
Choice: 6 3.7
Choice: 7 3.5
Choice: 8 3.3
Choice: 9 3
Choice: 10 2.7
Choice: 11 2.5
Choice: 12 2.3
Choice: 13 2
Choice: 14 1.7
Choice: 15 1.5
Choice: 16 1.3
Choice: 17 1
Choice: 18 0.7
Choice: 19 0.5
Choice: 20 0.3
Choice: 21 -0.3
Choice: 22 -0.5
Choice: 23 -0.7
Choice: 24 -1
Choice: 25 -1.3
Choice: 26 -1.5
Choice: 27 -1.7
Choice: 28 -2
Choice: 29 -2.3
Choice: 30 -2.5
Choice: 31 -2.7
Choice: 32 -3
Choice: 33 -3.3
Choice: 34 -3.5
Choice: 35 -3.7
Choice: 36 -4
Choice: 37 -4.3
Choice: 38 -4.5
Choice: 39 -4.7
Choice: 40 -5
END
/main/capturesettings/flashmode
Label: Flash Mode
Readonly: 1
Type: RADIO
Current: Fill flash
Choice: 0 Flash off
Choice: 1 Automatic Flash
Choice: 2 Red-eye automatic
Choice: 3 Fill flash
Choice: 4 Red-eye fill
Choice: 5 Unknown value 8001
Choice: 6 Rear Curtain Sync
Choice: 7 Unknown value 8031
Choice: 8 Slow Sync
Choice: 9 Unknown value 8041
Choice: 10 Unknown value 8042
END
/main/capturesettings/f-number
Label: F-Number
Readonly: 0
Type: RADIO
Current: f/4
Choice: 0 f/1
Choice: 1 f/1.1
Choice: 2 f/1.2
Choice: 3 f/1.4
Choice: 4 f/1.6
Choice: 5 f/1.8
Choice: 6 f/2
Choice: 7 f/2.2
Choice: 8 f/2.5
Choice: 9 f/2.8
Choice: 10 f/3.2
Choice: 11 f/3.5
Choice: 12 f/4
Choice: 13 f/4.5
Choice: 14 f/5
Choice: 15 f/5.6
Choice: 16 f/6.3
Choice: 17 f/7.1
Choice: 18 f/8
Choice: 19 f/9
Choice: 20 f/10
Choice: 21 f/11
Choice: 22 f/13
Choice: 23 f/14
Choice: 24 f/16
Choice: 25 f/18
Choice: 26 f/20
Choice: 27 f/22
Choice: 28 f/25
Choice: 29 f/29
Choice: 30 f/32
Choice: 31 f/36
Choice: 32 f/42
Choice: 33 f/45
Choice: 34 f/50
Choice: 35 f/57
Choice: 36 f/64
END
/main/capturesettings/imagequality
Label: Image Quality
Readonly: 0
Type: RADIO
Current: Standard
Choice: 0 Standard
Choice: 1 Fine
Choice: 2 Extra Fine
Choice: 3 RAW
Choice: 4 RAW+JPEG (Fine)
Choice: 5 RAW+JPEG (X.Fine)
Choice: 6 RAW+JPEG (Std)
END
/main/capturesettings/focusmode
Label: Focus Mode
Readonly: 1
Type: RADIO
Current: Automatic
Choice: 0 Manual
Choice: 1 Automatic
Choice: 2 AF-C
Choice: 3 AF-A
Choice: 4 DMF
END
/main/capturesettings/expprogram
Label: Exposure Program
Readonly: 0
Type: RADIO
Current: M
Choice: 0 Intelligent Auto
Choice: 1 P
Choice: 2 A
Choice: 3 S
Choice: 4 M
Choice: 5 Movie
Choice: 6 Unknown value 8051
Choice: 7 Unknown value 8052
Choice: 8 Unknown value 8053
Choice: 9 S&Q
Choice: 10 Unknown value 8085
Choice: 11 Unknown value 8086
Choice: 12 Unknown value 8087
Choice: 13 Portrait
Choice: 14 Sports Action
Choice: 15 Macro
Choice: 16 Landscape
Choice: 17 Sunset
Choice: 18 Night Scene
Choice: 19 Night Portrait
END
/main/capturesettings/aspectratio
Label: Aspect Ratio
Readonly: 0
Type: RADIO
Current: 16:9
Choice: 0 3:2
Choice: 1 16:9
Choice: 2 Unknown value 0004
END
/main/capturesettings/capturemode
Label: Still Capture Mode
Readonly: 0
Type: RADIO
Current: Single Shot
Choice: 0 Single Shot
Choice: 1 Burst
Choice: 2 Continuous Med Speed
Choice: 3 Continuous Low Speed
Choice: 4 Continuous Hi+ Speed
Choice: 5 Selftimer 2s
Choice: 6 Selftimer 5s
Choice: 7 Selftimer 10s
Choice: 8 Selftimer 10s 3 Pictures
Choice: 9 Selftimer 10s 5 Pictures
Choice: 10 Selftimer 5s 3 Pictures
Choice: 11 Selftimer 5s 5 Pictures
Choice: 12 Selftimer 2s 3 Pictures
Choice: 13 Selftimer 2s 5 Pictures
Choice: 14 Bracketing C 0.3 Steps 3 Pictures
Choice: 15 Bracketing C 0.3 Steps 5 Pictures
Choice: 16 Bracketing C 0.3 Steps 9 Pictures
Choice: 17 Bracketing C 0.5 Steps 3 Pictures
Choice: 18 Bracketing C 0.5 Steps 5 Pictures
Choice: 19 Bracketing C 0.5 Steps 9 Pictures
Choice: 20 Bracketing C 0.7 Steps 3 Pictures
Choice: 21 Bracketing C 0.7 Steps 5 Pictures
Choice: 22 Bracketing C 0.7 Steps 9 Pictures
Choice: 23 Bracketing C 1.0 Steps 3 Pictures
Choice: 24 Bracketing C 1.0 Steps 5 Pictures
Choice: 25 Bracketing C 1.0 Steps 9 Pictures
Choice: 26 Bracketing C 2.0 Steps 3 Pictures
Choice: 27 Bracketing C 2.0 Steps 5 Pictures
Choice: 28 Bracketing C 3.0 Steps 3 Pictures
Choice: 29 Bracketing C 3.0 Steps 5 Pictures
Choice: 30 Bracketing S 0.3 Steps 3 Pictures
Choice: 31 Bracketing S 0.3 Steps 5 Pictures
Choice: 32 Bracketing S 0.3 Steps 9 Pictures
Choice: 33 Bracketing S 0.5 Steps 3 Pictures
Choice: 34 Bracketing S 0.5 Steps 5 Pictures
Choice: 35 Bracketing S 0.5 Steps 9 Pictures
Choice: 36 Bracketing S 0.7 Steps 3 Pictures
Choice: 37 Bracketing S 0.7 Steps 5 Pictures
Choice: 38 Bracketing S 0.7 Steps 9 Pictures
Choice: 39 Bracketing S 1.0 Steps 3 Pictures
Choice: 40 Bracketing S 1.0 Steps 5 Pictures
Choice: 41 Bracketing S 1.0 Steps 9 Pictures
Choice: 42 Bracketing S 2.0 Steps 3 Pictures
Choice: 43 Bracketing S 2.0 Steps 5 Pictures
Choice: 44 Bracketing S 3.0 Steps 3 Pictures
Choice: 45 Bracketing S 3.0 Steps 5 Pictures
Choice: 46 Bracketing WB Lo
Choice: 47 Bracketing WB Hi
Choice: 48 Bracketing DRO Lo
Choice: 49 Bracketing DRO Hi
END
/main/capturesettings/exposuremetermode
Label: Exposure Metering Mode
Readonly: 1
Type: RADIO
Current: Center
Choice: 0 Center Spot
Choice: 1 Multi
Choice: 2 Center
Choice: 3 Spot Standard
Choice: 4 Spot Large
Choice: 5 Entire Screen Avg.
Choice: 6 Highlight
END
/main/capturesettings/shutterspeed
Label: Shutter Speed
Readonly: 0
Type: RADIO
Current: 1/3
Choice: 0 30
Choice: 1 25
Choice: 2 20
Choice: 3 15
Choice: 4 13
Choice: 5 10
Choice: 6 8
Choice: 7 6
Choice: 8 5
Choice: 9 4
Choice: 10 32/10
Choice: 11 25/10
Choice: 12 2
Choice: 13 16/10
Choice: 14 13/10
Choice: 15 1
Choice: 16 8/10
Choice: 17 6/10
Choice: 18 5/10
Choice: 19 4/10
Choice: 20 1/3
Choice: 21 1/4
Choice: 22 1/5
Choice: 23 1/6
Choice: 24 1/8
Choice: 25 1/10
Choice: 26 1/13
Choice: 27 1/15
Choice: 28 1/20
Choice: 29 1/25
Choice: 30 1/30
Choice: 31 1/40
Choice: 32 1/50
Choice: 33 1/60
Choice: 34 1/80
Choice: 35 1/100
Choice: 36 1/125
Choice: 37 1/160
Choice: 38 1/200
Choice: 39 1/250
Choice: 40 1/320
Choice: 41 1/400
Choice: 42 1/500
Choice: 43 1/640
Choice: 44 1/800
Choice: 45 1/1000
Choice: 46 1/1250
Choice: 47 1/1600
Choice: 48 1/2000
Choice: 49 1/2500
Choice: 50 1/3200
Choice: 51 1/4000
Choice: 52 1/5000
Choice: 53 1/6400
Choice: 54 1/8000
Choice: 55 1/10000
Choice: 56 1/12500
Choice: 57 1/16000
Choice: 58 1/20000
Choice: 59 1/25000
Choice: 60 1/32000
Choice: 61 Bulb
END
/main/capturesettings/sensorcrop
Label: Sensor Crop
Readonly: 1
Type: RADIO
Current: On
Choice: 0 On
Choice: 1 Off
END
/main/other/5004
Label: Compression Setting
Readonly: 0
Type: MENU
Current: 2
Choice: 0 2
Choice: 1 3
Choice: 2 4
Choice: 3 16
Choice: 4 19
Choice: 5 20
Choice: 6 18
END
/main/other/5005
Label: White Balance
Readonly: 0
Type: MENU
Current: 32769
Choice: 0 2
Choice: 1 4
Choice: 2 32785
Choice: 3 32784
Choice: 4 6
Choice: 5 32769
Choice: 6 32770
Choice: 7 32771
Choice: 8 32772
Choice: 9 7
Choice: 10 32816
Choice: 11 32786
Choice: 12 32800
Choice: 13 32801
Choice: 14 32802
END
/main/other/5007
Label: F-Number
Readonly: 0
Type: RANGE
Current: 400
Bottom: 0
Top: 65535
Step: 1
END
/main/other/500a
Label: Focus Mode
Readonly: 1
Type: MENU
Current: 2
Choice: 0 1
Choice: 1 2
Choice: 2 32772
Choice: 3 32773
Choice: 4 32774
END
/main/other/500b
Label: Exposure Metering Mode
Readonly: 1
Type: MENU
Current: 32770
Choice: 0 4
Choice: 1 32769
Choice: 2 32770
Choice: 3 32772
Choice: 4 32773
Choice: 5 32771
Choice: 6 32774
END
/main/other/500c
Label: Flash Mode
Readonly: 1
Type: MENU
Current: 3
Choice: 0 2
Choice: 1 1
Choice: 2 4
Choice: 3 3
Choice: 4 5
Choice: 5 32769
Choice: 6 32771
Choice: 7 32817
Choice: 8 32818
Choice: 9 32833
Choice: 10 32834
END
/main/other/500e
Label: Exposure Program Mode
Readonly: 0
Type: MENU
Current: 1
Choice: 0 32768
Choice: 1 2
Choice: 2 3
Choice: 3 4
Choice: 4 1
Choice: 5 32848
Choice: 6 32849
Choice: 7 32850
Choice: 8 32851
Choice: 9 32900
Choice: 10 32901
Choice: 11 32902
Choice: 12 32903
Choice: 13 7
Choice: 14 32785
Choice: 15 32789
Choice: 16 32788
Choice: 17 32786
Choice: 18 32787
Choice: 19 32791
END
/main/other/5010
Label: Exposure Bias Compensation
Readonly: 1
Type: MENU
Current: 0
Choice: 0 0
Choice: 1 5000
Choice: 2 4700
Choice: 3 4500
Choice: 4 4300
Choice: 5 4000
Choice: 6 3700
Choice: 7 3500
Choice: 8 3300
Choice: 9 3000
Choice: 10 2700
Choice: 11 2500
Choice: 12 2300
Choice: 13 2000
Choice: 14 1700
Choice: 15 1500
Choice: 16 1300
Choice: 17 1000
Choice: 18 700
Choice: 19 500
Choice: 20 300
Choice: 21 -300
Choice: 22 -500
Choice: 23 -700
Choice: 24 -1000
Choice: 25 -1300
Choice: 26 -1500
Choice: 27 -1700
Choice: 28 -2000
Choice: 29 -2300
Choice: 30 -2500
Choice: 31 -2700
Choice: 32 -3000
Choice: 33 -3300
Choice: 34 -3500
Choice: 35 -3700
Choice: 36 -4000
Choice: 37 -4300
Choice: 38 -4500
Choice: 39 -4700
Choice: 40 -5000
END
/main/other/5013
Label: Still Capture Mode
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
Choice: 2 32789
Choice: 3 32786
Choice: 4 32784
Choice: 5 32773
Choice: 6 32771
Choice: 7 32772
Choice: 8 32776
Choice: 9 32777
Choice: 10 32780
Choice: 11 32781
Choice: 12 32782
Choice: 13 32783
Choice: 14 33591
Choice: 15 34103
Choice: 16 35127
Choice: 17 33623
Choice: 18 34135
Choice: 19 35159
Choice: 20 33655
Choice: 21 34167
Choice: 22 35191
Choice: 23 33553
Choice: 24 34065
Choice: 25 35089
Choice: 26 33569
Choice: 27 34081
Choice: 28 33585
Choice: 29 34097
Choice: 30 33590
Choice: 31 34102
Choice: 32 35126
Choice: 33 33622
Choice: 34 34134
Choice: 35 35158
Choice: 36 33654
Choice: 37 34166
Choice: 38 35190
Choice: 39 33552
Choice: 40 34064
Choice: 41 35088
Choice: 42 33568
Choice: 43 34080
Choice: 44 33584
Choice: 45 34096
Choice: 46 32792
Choice: 47 32808
Choice: 48 32793
Choice: 49 32809
END
/main/other/d200
Label: DOC Compensation
Readonly: 0
Type: MENU
Current: 0
Choice: 0 0
Choice: 1 3000
Choice: 2 2700
Choice: 3 2500
Choice: 4 2300
Choice: 5 2000
Choice: 6 1700
Choice: 7 1500
Choice: 8 1300
Choice: 9 1000
Choice: 10 700
Choice: 11 500
Choice: 12 300
Choice: 13 -300
Choice: 14 -500
Choice: 15 -700
Choice: 16 -1000
Choice: 17 -1300
Choice: 18 -1500
Choice: 19 -1700
Choice: 20 -2000
Choice: 21 -2300
Choice: 22 -2500
Choice: 23 -2700
Choice: 24 -3000
END
/main/other/d201
Label: DRangeOptimize
Readonly: 0
Type: MENU
Current: 31
Choice: 0 1
Choice: 1 31
Choice: 2 17
Choice: 3 18
Choice: 4 19
Choice: 5 20
Choice: 6 21
Choice: 7 32
Choice: 8 33
Choice: 9 34
Choice: 10 35
Choice: 11 36
Choice: 12 37
Choice: 13 38
END
/main/other/d203
Label: Image size
Readonly: 0
Type: MENU
Current: 2
Choice: 0 1
Choice: 1 2
Choice: 2 3
END
/main/other/d20d
Label: Shutter speed
Readonly: 0
Type: RANGE
Current: 65539
Bottom: 0
Top: 4.29497e+09
Step: 1
END
/main/other/d20e
Label: PTP Property 0xd20e
Readonly: 1
Type: MENU
Current: 11
Choice: 0 1
Choice: 1 2
Choice: 2 3
Choice: 3 8
Choice: 4 9
Choice: 5 10
Choice: 6 4
Choice: 7 12
Choice: 8 5
Choice: 9 13
Choice: 10 6
Choice: 11 14
Choice: 12 7
Choice: 13 15
Choice: 14 16
END
/main/other/d20f
Label: Color temperature
Readonly: 1
Type: RANGE
Current: 0
Bottom: 2500
Top: 9900
Step: 100
END
/main/other/d211
Label: Aspect Ratio
Readonly: 0
Type: MENU
Current: 2
Choice: 0 1
Choice: 1 2
Choice: 2 4
END
/main/other/d213
Label: Focus status
Readonly: 1
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
Choice: 2 3
Choice: 3 5
Choice: 4 6
Choice: 5 7
END
/main/other/d21e
Label: ISO
Readonly: 0
Type: MENU
Current: 500
Choice: 0 16777215
Choice: 1 25
Choice: 2 50
Choice: 3 64
Choice: 4 80
Choice: 5 100
Choice: 6 125
Choice: 7 160
Choice: 8 200
Choice: 9 250
Choice: 10 320
Choice: 11 400
Choice: 12 500
Choice: 13 640
Choice: 14 800
Choice: 15 1000
Choice: 16 1250
Choice: 17 1600
Choice: 18 2000
Choice: 19 2500
Choice: 20 3200
Choice: 21 4000
Choice: 22 5000
Choice: 23 6400
Choice: 24 8000
Choice: 25 10000
Choice: 26 12800
Choice: 27 16000
Choice: 28 20000
Choice: 29 25600
Choice: 30 32000
Choice: 31 40000
Choice: 32 51200
Choice: 33 64000
Choice: 34 80000
Choice: 35 102400
Choice: 36 128000
Choice: 37 160000
Choice: 38 204800
Choice: 39 256000
Choice: 40 320000
Choice: 41 409600
Choice: 42 33554431
Choice: 43 16777241
Choice: 44 16777266
Choice: 45 16777280
Choice: 46 16777296
Choice: 47 16777316
Choice: 48 16777341
Choice: 49 16777376
Choice: 50 16777416
Choice: 51 16777466
Choice: 52 16777536
Choice: 53 16777616
Choice: 54 16777716
Choice: 55 16777856
Choice: 56 16778016
Choice: 57 16778216
Choice: 58 16778466
Choice: 59 16778816
Choice: 60 16779216
Choice: 61 16779716
Choice: 62 16780416
Choice: 63 16781216
Choice: 64 16782216
Choice: 65 16783616
Choice: 66 16785216
Choice: 67 16787216
Choice: 68 16790016
Choice: 69 16793216
Choice: 70 16802816
Choice: 71 16828416
Choice: 72 16879616
Choice: 73 16982016
Choice: 74 17186816
Choice: 75 50331647
Choice: 76 33554532
Choice: 77 33554632
Choice: 78 33554832
Choice: 79 33555232
Choice: 80 33556032
Choice: 81 33557632
Choice: 82 33560832
Choice: 83 33567232
Choice: 84 33580032
Choice: 85 33605632
Choice: 86 33656832
Choice: 87 33759232
Choice: 88 33964032
END
/main/other/d21b
Label: Picture Effect
Readonly: 0
Type: MENU
Current: 32768
Choice: 0 32768
Choice: 1 32769
Choice: 2 32770
Choice: 3 32771
Choice: 4 32772
Choice: 5 32773
Choice: 6 32784
Choice: 7 32800
Choice: 8 32801
Choice: 9 32816
Choice: 10 32832
Choice: 11 32848
Choice: 12 32849
Choice: 13 32850
Choice: 14 32851
Choice: 15 32864
Choice: 16 32912
END
/main/other/d21d
Label: PTP Property 0xd21d
Readonly: 1
Type: MENU
Current: 0
Choice: 0 0
Choice: 1 1
Choice: 2 2
END
/main/other/d21f
Label: PTP Property 0xd21f
Readonly: 0
Type: MENU
Current: 1
Choice: 0 2
Choice: 1 1
END
/main/other/d217
Label: PTP Property 0xd217
Readonly: 0
Type: MENU
Current: 1
Choice: 0 2
Choice: 1 1
END
/main/other/d218
Label: Battery Level
Readonly: 1
Type: MENU
Current: 0
Choice: 0 -1
Choice: 1 0
Choice: 2 1
Choice: 3 2
Choice: 4 3
Choice: 5 4
Choice: 6 5
Choice: 7 6
Choice: 8 7
Choice: 9 8
Choice: 10 9
Choice: 11 10
Choice: 12 11
Choice: 13 12
Choice: 14 13
Choice: 15 14
Choice: 16 15
Choice: 17 16
Choice: 18 17
Choice: 19 18
Choice: 20 19
Choice: 21 20
Choice: 22 21
Choice: 23 22
Choice: 24 23
Choice: 25 24
Choice: 26 25
Choice: 27 26
Choice: 28 27
Choice: 29 28
Choice: 30 29
Choice: 31 30
Choice: 32 31
Choice: 33 32
Choice: 34 33
Choice: 35 34
Choice: 36 35
Choice: 37 36
Choice: 38 37
Choice: 39 38
Choice: 40 39
Choice: 41 40
Choice: 42 41
Choice: 43 42
Choice: 44 43
Choice: 45 44
Choice: 46 45
Choice: 47 46
Choice: 48 47
Choice: 49 48
Choice: 50 49
Choice: 51 50
Choice: 52 51
Choice: 53 52
Choice: 54 53
Choice: 55 54
Choice: 56 55
Choice: 57 56
Choice: 58 57
Choice: 59 58
Choice: 60 59
Choice: 61 60
Choice: 62 61
Choice: 63 62
Choice: 64 63
Choice: 65 64
Choice: 66 65
Choice: 67 66
Choice: 68 67
Choice: 69 68
Choice: 70 69
Choice: 71 70
Choice: 72 71
Choice: 73 72
Choice: 74 73
Choice: 75 74
Choice: 76 75
Choice: 77 76
Choice: 78 77
Choice: 79 78
Choice: 80 79
Choice: 81 80
Choice: 82 81
Choice: 83 82
Choice: 84 83
Choice: 85 84
Choice: 86 85
Choice: 87 86
Choice: 88 87
Choice: 89 88
Choice: 90 89
Choice: 91 90
Choice: 92 91
Choice: 93 92
Choice: 94 93
Choice: 95 94
Choice: 96 95
Choice: 97 96
Choice: 98 97
Choice: 99 98
Choice: 100 99
Choice: 101 100
END
/main/other/d219
Label: Sensor Crop
Readonly: 1
Type: MENU
Current: 2
Choice: 0 2
Choice: 1 1
END
/main/other/d212
Label: PTP Property 0xd212
Readonly: 0
Type: MENU
Current: 0
Choice: 0 0
Choice: 1 1
Choice: 2 2
Choice: 3 3
Choice: 4 4
Choice: 5 5
Choice: 6 6
Choice: 7 7
Choice: 8 8
Choice: 9 9
Choice: 10 10
Choice: 11 11
Choice: 12 12
Choice: 13 13
Choice: 14 14
Choice: 15 15
END
/main/other/d210
Label: CC Filter
Readonly: 0
Type: MENU
Current: 192
Choice: 0 164
Choice: 1 165
Choice: 2 166
Choice: 3 167
Choice: 4 168
Choice: 5 169
Choice: 6 170
Choice: 7 171
Choice: 8 172
Choice: 9 173
Choice: 10 174
Choice: 11 175
Choice: 12 176
Choice: 13 177
Choice: 14 178
Choice: 15 179
Choice: 16 180
Choice: 17 181
Choice: 18 182
Choice: 19 183
Choice: 20 184
Choice: 21 185
Choice: 22 186
Choice: 23 187
Choice: 24 188
Choice: 25 189
Choice: 26 190
Choice: 27 191
Choice: 28 192
Choice: 29 193
Choice: 30 194
Choice: 31 195
Choice: 32 196
Choice: 33 197
Choice: 34 198
Choice: 35 199
Choice: 36 200
Choice: 37 201
Choice: 38 202
Choice: 39 203
Choice: 40 204
Choice: 41 205
Choice: 42 206
Choice: 43 207
Choice: 44 208
Choice: 45 209
Choice: 46 210
Choice: 47 211
Choice: 48 212
Choice: 49 213
Choice: 50 214
Choice: 51 215
Choice: 52 216
Choice: 53 217
Choice: 54 218
Choice: 55 219
Choice: 56 220
END
/main/other/d21c
Label: AB Filter
Readonly: 0
Type: RANGE
Current: 192
Bottom: 164
Top: 220
Step: 2
END
/main/other/d222
Label: Capture Target
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 17
END
/main/other/d22c
Label: PTP Property 0xd22c
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
Choice: 2 3
Choice: 3 257
Choice: 4 258
Choice: 5 259
Choice: 6 260
END
/main/other/d22d
Label: PTP Property 0xd22d
Readonly: 1
Type: MENU
Current: 0
Choice: 0 0
Choice: 1 1
Choice: 2 2
END
/main/other/d22e
Label: PTP Property 0xd22e
Readonly: 1
Type: MENU
Current: 59
END
/main/other/d22f
Label: PTP Property 0xd22f
Readonly: 1
Type: MENU
Current: 0
END
/main/other/d230
Label: PTP Property 0xd230
Readonly: 1
Type: MENU
Current: 20971700
END
/main/other/d231
Label: PTP Property 0xd231
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d232
Label: PTP Property 0xd232
Readonly: 1
Type: MENU
Current: 20971700
END
/main/other/d233
Label: PTP Property 0xd233
Readonly: 0
Type: MENU
Current: 1
Choice: 0 0
Choice: 1 1
END
/main/other/d235
Label: PTP Property 0xd235
Readonly: 1
Type: MENU
Current: 0
Choice: 0 0
Choice: 1 1
END
/main/other/d236
Label: PTP Property 0xd236
Readonly: 0
Type: MENU
Current: 1
Choice: 0 0
Choice: 1 1
END
/main/other/d24e
Label: PTP Property 0xd24e
Readonly: 0
Type: MENU
Current: 1
Choice: 0 2
Choice: 1 1
END
/main/other/d24f
Label: PTP Property 0xd24f
Readonly: 0
Type: MENU
Current: 1
Choice: 0 2
Choice: 1 1
END
/main/other/d250
Label: PTP Property 0xd250
Readonly: 1
Type: MENU
Current: 0
Choice: 0 0
Choice: 1 1
END
/main/other/d221
Label: PTP Property 0xd221
Readonly: 0
Type: MENU
Current: 1
Choice: 0 0
Choice: 1 1
Choice: 2 2
END
/main/other/d214
Label: Zoom
Readonly: 0
Type: RANGE
Current: 3.44975e+07
Bottom: 0
Top: 4.29497e+09
Step: 1
END
/main/other/d215
Label: Objects in memory
Readonly: 0
Type: RANGE
Current: 0
Bottom: 0
Top: 65535
Step: 1
END
/main/other/d2c1
Label: Autofocus
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2c2
Label: Capture
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2c3
Label: PTP Property 0xd2c3
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2c9
Label: PTP Property 0xd2c9
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2c8
Label: Movie
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2d9
Label: PTP Property 0xd2d9
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2c5
Label: PTP Property 0xd2c5
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2c7
Label: Still Image
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2cb
Label: PTP Property 0xd2cb
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2cc
Label: PTP Property 0xd2cc
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2cd
Label: PTP Property 0xd2cd
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2ce
Label: PTP Property 0xd2ce
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2cf
Label: PTP Property 0xd2cf
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2d0
Label: PTP Property 0xd2d0
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2d2
Label: PTP Property 0xd2d2
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2d3
Label: PTP Property 0xd2d3
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2d4
Label: PTP Property 0xd2d4
Readonly: 0
Type: MENU
Current: 1
Choice: 0 1
Choice: 1 2
END
/main/other/d2d1
Label: Near Far
Readonly: 0
Type: MENU
Current: 0
Choice: 0 -7
Choice: 1 -6
Choice: 2 -5
Choice: 3 -4
Choice: 4 -3
Choice: 5 -2
Choice: 6 -1
Choice: 7 0
Choice: 8 1
Choice: 9 2
Choice: 10 3
Choice: 11 4
Choice: 12 5
Choice: 13 6
Choice: 14 7
END

Name the camera

Sony a6600 (connected via USB PTP)

libgphoto2 and gphoto2 version output of: gphoto2 --version

gphoto2         2.5.27.1       gcc, popt(m), exif, no cdk, no aa, no jpeg, no readline
libgphoto2      2.5.27.1       standard camlibs (SKIPPING docupen lumix), gcc, ltdl, EXIF
libgphoto2_port 0.12.0         iolibs: disk ptpip serial usb1 usbdiskdirect usbscsi, gcc, ltdl, EXIF, USB, serial without locking

To Reproduce Steps to reproduce the behavior:

Try to list config using --list-all-config or change one of the properties from the description above via set-config. You'll get an error when trying to change those properties.

However, when changes are made to the code to ignore the readonly status (in gphoto2 https://github.com/gphoto/gphoto2/blob/1cec66dc7b078c470b28cab21bb9f998010e4d87/gphoto2/actions.c#L1827 and in libgphoto2 https://github.com/gphoto/libgphoto2/blob/233569b17322a702aeab8abecc63e37d50de44e2/camlibs/ptp2/config.c#L11156), then those properties written successfully.


I believe we need some way to recognise those properties and exclude from readonly list. One way would be to literally hardcode vendor + property combo if the _get_config, but perhaps there's a cleaner way I didn't think of? @msmeissn

RReverser avatar Jul 19 '21 19:07 RReverser

currently we set the readonly from the weird sony property blob. ptp-pack.c:: ptp_unpack_Sony_DPD ... the switch case

the use of these values is guessed. we can globally disabled it again in the code if it does not match reality.

msmeissn avatar Jul 20 '21 07:07 msmeissn

we can globally disabled it again in the code if it does not match reality.

Oh interesting, I didn't see that code. Let me play around and see if it reports anything different for those properties internally that would allow to distinguish those from the rest of actually readonly props.

In most cases it seems to report status correctly, and it would be a shame to lose readonly indicators for all properties when it's only a few that are wrong.

Worst case scenario, I believe we should just whitelist those few properties for which we have custom "stepping" handlers as writable even if they're reported as readonly.

RReverser avatar Jul 20 '21 12:07 RReverser

i meanwhile disabled this logic until we find a better / more correct way. so all props are read/write now.

msmeissn avatar Aug 01 '21 17:08 msmeissn

Hmm, I'm not sure if that's better. Most properties were reported as readonly correctly, and those few are rather niche. In general, it's very useful to have readonly status reflected in UI for properties you can't change and as long as it works for most common properties, I'd rather leave the current state of things.

I think we just need to exclude those by hardcoding vendor/propid combo in readonly check in the end.

Btw, we might want to do the same for opposite - e.g., as far as I can tell, there is no way to change "Exposure Program" via PTP API, as those are controlled by physical wheel on the camera - yet it's reported as writable.

RReverser avatar Aug 01 '21 20:08 RReverser

ok,. if we have a list then we can add these as overrides...

do you have a list?

and do we report exposure program as ptp prop?

msmeissn avatar Aug 03 '21 10:08 msmeissn

ok,. if we have a list then we can add these as overrides...

For now it's just the props from the issue description, I didn't notice more.

Exposure Program comes from PTP as far as I can tell, yeah. From the log above:

/main/other/500e
Label: Exposure Program Mode
Readonly: 0
Type: MENU
Current: 1
Choice: 0 32768
...

I believe this is the source that is (incorrectly) reported as writable.

RReverser avatar Aug 03 '21 11:08 RReverser

Hi, we are currently running into the same problem. It would help a lot if the following setting on a Sony RX100M7 is editable over libgphoto. We can set this configuration on the camera and the correct value is displayed in gphoto, but we cannot edit it over USB.

/main/settings/capturetarget
Label: Capture Target
Readonly: 0
Type: RADIO
Current: card+sdram
Choice: 0 sdram
Choice: 1 card+sdram
Choice: 2 card
END

Thanks a lot.

flavioperucchi avatar Aug 31 '21 09:08 flavioperucchi

Any news on this? I ran into that error today. It's working with another version and same camera model. I'll figure out later which versions I'm running.

ChristophEngelHH avatar Jun 10 '22 14:06 ChristophEngelHH