[sane-devel] PIE PF3600Pro issues

Ralph Little skelband at gmail.com
Tue May 17 06:40:53 BST 2022


Hi,

On 2022-05-16 02:13, Klaus Kämpf wrote:
> On 16.05.22 00:26, Ralph Little wrote:
>> Hi,
>> I'm trying to get a PIE PF3600 Pro working with SANE
>
>>
>> Bus 001 Device 009: ID 05e3:0120 Genesys Logic, Inc. Pacific Image 
>> Electronics PrimeFilm 1800u slide/negative scanner
>>
> Ralph,
>
> this scanner should work with the pieusb driver in SANE. Enable this 
> driver, add your usb ids to pieusb.conf and give it a try.
>
> Hth,
>
> Klaus

Indeed this does appear to be supported at least in theory.
Got the model number from the enquiry info (which happens to be 0x27), 
plugged that into the config and we can talk.
I loaded a negative and tried to initiate a scan but I get an error:

[pieusb] sane_get_parameters
[pieusb] sane_get_parameters from option values
[pieusb]   resolution 200.000000
[pieusb]   width x height: 36.491333 x 24.299332
[pieusb]   colors: 3
[pieusb] sane_get_parameters(): SANE parameters
[pieusb]  format = 1
[pieusb]  last_frame = 1
[pieusb]  bytes_per_line = 861
[pieusb]  pixels_per_line = 287
[pieusb]  lines = 191
[pieusb]  depth = 8
[pieusb] sane_start()
[pieusb] sanei_pieusb_cmd_read_state()
[pieusb] *** sanei_pieusb_command(dd:Read State): size 0x0c
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): dd:Read State
Cmd    00000000: dd 00 00 00 0c 00 ].....
[pieusb]         _pieusb_scsi_command usbstat 0x01
[pieusb]         _pieusb_scsi_command data in
In    00000000: 58 00 00 00 1e 00 0d 02 00 00 00 00 X...........
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] sanei_pieusb_cmd_read_state(): button 88, warmingUp 0, scanning 
13, busy? 0
[pieusb] sanei_pieusb_cmd_set_exposure_time()
[pieusb] *** sanei_pieusb_command(0a:Write): size 0x08
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 0a:Write
Cmd    00000000: 0a 00 00 00 08 00 ......
[pieusb]         _pieusb_scsi_command usbstat 0x00
Out    00000000: 13 00 04 00 02 00 64 00 ......d.
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] *** sanei_pieusb_command(0a:Write): size 0x08
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 0a:Write
Cmd    00000000: 0a 00 00 00 08 00 ......
[pieusb]         _pieusb_scsi_command usbstat 0x00
Out    00000000: 13 00 04 00 04 00 64 00 ......d.
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] *** sanei_pieusb_command(0a:Write): size 0x08
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 0a:Write
Cmd    00000000: 0a 00 00 00 08 00 ......
[pieusb]         _pieusb_scsi_command usbstat 0x00
Out    00000000: 13 00 04 00 08 00 64 00 ......d.
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] sanei_pieusb_cmd_set_highlight_shadow()
[pieusb] *** sanei_pieusb_command(0a:Write): size 0x08
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 0a:Write
Cmd    00000000: 0a 00 00 00 08 00 ......
[pieusb]         _pieusb_scsi_command usbstat 0x00
Out    00000000: 14 00 04 00 02 00 64 00 ......d.
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] *** sanei_pieusb_command(0a:Write): size 0x08
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 0a:Write
Cmd    00000000: 0a 00 00 00 08 00 ......
[pieusb]         _pieusb_scsi_command usbstat 0x00
Out    00000000: 14 00 04 00 04 00 64 00 ......d.
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] *** sanei_pieusb_command(0a:Write): size 0x08
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 0a:Write
Cmd    00000000: 0a 00 00 00 08 00 ......
[pieusb]         _pieusb_scsi_command usbstat 0x00
Out    00000000: 14 00 04 00 08 00 64 00 ......d.
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] sanei_pieusb_cmd_get_shading_parms()
[pieusb] *** sanei_pieusb_command(0a:Write): size 0x06
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 0a:Write
Cmd    00000000: 0a 00 00 00 06 00 ......
[pieusb]         _pieusb_scsi_command usbstat 0x00
Out    00000000: 95 00 00 00 00 00 ......
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] *** sanei_pieusb_command(08:Read): size 0x20
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 08:Read
Cmd    00000000: 08 00 00 00 20 00 .... .
[pieusb]         _pieusb_scsi_command usbstat 0x01
[pieusb]         _pieusb_scsi_command data in
In    00000000: 95 00 1c 00 04 06 04 00 00 0c 0c 0a 34 14 08 0c 
............4...
     00000010: 0c 0a 34 14 10 0c 0c 0a 34 14 20 0c 0c 0a 34 14 
..4.....4. ...4.
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] shading_width 5172
[pieusb] Num options = 44
[pieusb]   Option 1: Scan Mode = (null)
[pieusb]   Option 2: mode = Color
[pieusb]   Option 3: depth = 8
[pieusb]   Option 4: resolution = 200.000000
[pieusb]   Option 5: halftone-pattern = 4x4 SQUARE
[pieusb]   Option 6: threshold = 50.000000
[pieusb]   Option 7: sharpen = 0
[pieusb]   Option 8: shading-analysis = 0
[pieusb]   Option 9: fast-infrared = 0
[pieusb]   Option 10: advcane = 1
[pieusb]   Option 11: calibration = from internal test
[pieusb]   Option 12: Geometry = (null)
[pieusb]   Option 13: tl-x = 0.000000
[pieusb]   Option 14: tl-y = 0.000000
[pieusb]   Option 15: br-x = 36.491333
[pieusb]   Option 16: br-y = 24.299332
[pieusb]   Option 17: Enhancement = (null)
[pieusb]   Option 18: correct-shading = 1
[pieusb]   Option 19: correct-infrared = 0
[pieusb]   Option 20: clean-image = 0
[pieusb]   Option 21: gain-adjust = * 0.8
[pieusb]   Option 22: crop = Inside
[pieusb]   Option 23: smooth = 0
[pieusb]   Option 24: srgb = 0
[pieusb]   Option 25: invert = 0
[pieusb]   Option 26: Advanced = (null)
[pieusb]   Option 27: preview = 0
[pieusb]   Option 28: save-shading-data = 0
[pieusb]   Option 29: save-ccdmask = 0
[pieusb]   Option 30: light = 4
[pieusb]   Option 31: double-times = 0
[pieusb]   Option 32: exposure-time-r = 2937
[pieusb]   Option 33: exposure-time-g = 2937
[pieusb]   Option 34: exposure-time-b = 2937
[pieusb]   Option 35: exposure-time-i = 2937
[pieusb]   Option 36: gain-r = 19
[pieusb]   Option 37: gain-g = 19
[pieusb]   Option 38: gain-b = 19
[pieusb]   Option 39: gain-i = 19
[pieusb]   Option 40: offset-r = 0
[pieusb]   Option 41: offset-g = 0
[pieusb]   Option 42: offset-b = 0
[pieusb]   Option 43: offset-i = 0
[pieusb] sanei_pieusb_cmd_set_scan_frame()
[pieusb]  x0,y0 = 0,0
[pieusb]  x1,y1 = 5171,3443
[pieusb]  index = 128
[pieusb] *** sanei_pieusb_command(0a:Write): size 0x0e
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 0a:Write
Cmd    00000000: 0a 00 00 00 0e 00 ......
[pieusb]         _pieusb_scsi_command usbstat 0x00
Out    00000000: 12 00 0a 00 80 00 00 00 00 00 33 14 73 0d ..........3.s.
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] sanei_pieusb_set_frame_from_options(): 
sanei_pieusb_cmd_set_scan_frame status Success
[pieusb] sanei_pieusb_set_gain_offset(): mode = from internal test
[pieusb] sanei_pieusb_set_gain_offset(): get calibration data from scanner
[pieusb] sanei_pieusb_cmd_get_gain_offset()
[pieusb] *** sanei_pieusb_command(d7:Read Gain Offset): size 0x67
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): d7:Read Gain Offset
Cmd    00000000: d7 00 00 00 67 00 W...g.
[pieusb]         _pieusb_scsi_command usbstat 0x01
[pieusb]         _pieusb_scsi_command data in
In    00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
     00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
     00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
     00000030: 00 00 00 00 00 00 00 00 00 00 f4 0c 00 00 00 00 
..........t.....
     00000040: 00 00 00 00 00 00 00 00 00 00 00 00 79 0b 00 00 
............y...
     00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
................
     00000060: 00 00 00 00 00 00 00 .......
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb] sanei_pieusb_cmd_get_gain_offset() set:
[pieusb]  saturationlevels = 0-0-3316
[pieusb]  ---
[pieusb]  exposure times = 0-0-0-0
[pieusb]  gain = 0-0-0-0
[pieusb]  offset = 0-0-0-0
[pieusb]  light = 00
[pieusb]  double times = 00
[pieusb]  extra entries = 00
[pieusb] sanei_pieusb_cmd_set_gain_offset()
[pieusb] sanei_pieusb_cmd_set_gain_offset() set:
[pieusb]  exposure times = 0-0-0-0
[pieusb]  gain = 0-0-0-0
[pieusb]  offset = 0-0-0-0
[pieusb]  light = 00
[pieusb]  double times = 00
[pieusb]  extra entries = 00
[pieusb] *** sanei_pieusb_command(dc:Write Gain Offset): size 0x1d
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): dc:Write Gain Offset
Cmd    00000000: dc 00 00 00 1d 00 \.....
[pieusb]         _pieusb_scsi_command usbstat 0x03
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 2:Check
[pieusb] sanei_pieusb_cmd_get_sense()
[pieusb] *** sanei_pieusb_command(03:Request Sense): size 0x0e
[pieusb]     sanei_pieusb_command loop, status 8:Again
[pieusb]         _pieusb_scsi_command(): 03:Request Sense
Cmd    00000000: 03 00 00 00 0e 00 ......
[pieusb]         _pieusb_scsi_command usbstat 0x01
[pieusb]         _pieusb_scsi_command data in
In    00000000: 70 00 05 00 00 00 00 06 00 00 00 00 1a 00 p.............
[pieusb]     _pieusb_scsi_command returned 3:Busy
[pieusb]     sanei_pieusb_command loop, status 3:Busy
[pieusb]     sanei_pieusb_command loop, status 0:Ok
[pieusb]     sanei_pieusb_command() finished with state 0
[pieusb]     sense details:
[pieusb]         error......... : 0x70
[pieusb]         segment....... : 0
[pieusb]         senseKey...... : 0x05
[pieusb]         info.......... : 00 00 00 00
[pieusb]         addLength..... : 6
[pieusb]         cmdInfo....... : 00 00 00 00
[pieusb]         senseCode..... : 0x1a
[pieusb]         senseQualifier : 0x00
[pieusb]     sense: Illegal Request: senseCode 0x1a, senseQualifier 0x00
[pieusb]     sanei_pieusb_command() finished with state 4
[pieusb] sanei_pieusb_set_gain_offset(): status Invalid argument
...

Tried a number of resolutions etc but always the same output.
Do you have any insight as to what this might mean?

Cheers,
Ralph




More information about the sane-devel mailing list