[sane-devel] Epson 1250 scanner does not return back after scanning

Martin Motovsky mmotovsk@gnome.sk
Thu, 28 Oct 2004 11:16:09 +0200


Thank you for previous advices.

While testing scanimage in the debug mode, I mentioned, that sometimes 
it finished scanning correctly and sometime not. Below is a debug 
output, when lamp remained on and scanner's header did not return back 
to original position.

Martin

---------------------------------------------------
I used this script:
export SANE_DEBUG_PLUSTEK=20 ; scanimage -d plustek:/dev/uscanner0 
--format tiff -l10 -t10 -x100 -y100 --resolution 150dpi --mode Color > 
test.tiff 2>log.txt

---------------------------------------------------
Here is a debug output:

[sanei_debug] Setting debug level of plustek to 20.
[plustek] Plustek backend V0.47-11, part of sane-backends 1.0.14
[plustek] ># Plustek-SANE Backend configuration file<
[plustek] ># For use with LM9831/2/3 based USB scanners<
[plustek] >#<
[plustek] ><
[plustek] ># each device needs at least two lines:<
[plustek] ># - [usb] vendor-ID and product-ID<
[plustek] ># - device devicename<
[plustek] ># i.e. for Plustek (0x07B3) UT12/16/24 (0x0017)<
[plustek] ># [usb] 0x07B3 0x0017<
[plustek] ># device /dev/usbscanner<
[plustek] ># or<
[plustek] ># device libusb:bbb:ddd<
[plustek] ># where bbb is the busnumber and ddd the device number<
[plustek] ># make sure that your user has access to 
/proc/bus/usb/bbb/ddd<
[plustek] >#<
[plustek] ># additionally you can specify some options<
[plustek] ># warmup, lOffOnEnd, lampOff<
[plustek] >#<
[plustek] ># For autodetection use<
[plustek] ># [usb]<
[plustek] ># device /dev/usbscanner<
[plustek] >#<
[plustek] ># or simply<
[plustek] ># [usb]<
[plustek] >#<
[plustek] ># or if you want a specific device but you have no idea 
about the<
[plustek] ># device node or you use libusb, simply set vendor- and 
product-ID<
[plustek] ># [usb] 0x07B3 0x0017<
[plustek] ># device auto<
[plustek] >#<
[plustek] ># NOTE: autodetection is safe, as it uses the info it got<
[plustek] >#       from the USB subsystem. If you're not using the<
[plustek] >#       autodetection, you MUST have attached that device<
[plustek] >#       at your USB-port, that you have specified...<
[plustek] >#<
[plustek] ><
[plustek] >[usb]<
[plustek] next device uses autodetection
[plustek] ... next device
[plustek] ><
[plustek] >#<
[plustek] ># options for the previous USB entry<
[plustek] >#<
[plustek] ># switch lamp off after xxx secs, 0 disables the feature<
[plustek] >option lampOff 309<
[plustek] Decoding option >lampOff<
[plustek] ><
[plustek] ># warmup period in seconds, 0 means no warmup<
[plustek] >option warmup 15<
[plustek] Decoding option >warmup<
[plustek] ><
[plustek] ># 0 means leave lamp-status untouched, not 0 means switch 
off<
[plustek] ># on sane_close<
[plustek] >option lOffOnEnd 1<
[plustek] Decoding option >lOffOnEnd<
[plustek] ><
[plustek] >#<
[plustek] ># options to tweak the image start-position<
[plustek] ># (WARNING: there's no internal range check!!!)<
[plustek] >#<
[plustek] ># for the normal scan area<
[plustek] >#<
[plustek] >option posOffX 0<
[plustek] Decoding option >posOffX<
[plustek] >option posOffY 0<
[plustek] Decoding option >posOffY<
[plustek] ><
[plustek] ># for transparencies<
[plustek] >option tpaOffX 0<
[plustek] Decoding option >tpaOffX<
[plustek] >option tpaOffY 0<
[plustek] Decoding option >tpaOffY<
[plustek] ><
[plustek] ># for negatives<
[plustek] >option negOffX 0<
[plustek] Decoding option >negOffX<
[plustek] >option negOffY 0<
[plustek] Decoding option >negOffY<
[plustek] ><
[plustek] >#<
[plustek] ># for setting the calibration strip position<
[plustek] ># (WARNING: there's no internal range check!!!)<
[plustek] ># -1 means use built in<
[plustek] >#<
[plustek] >option posShadingY -1<
[plustek] Decoding option >posShadingY<
[plustek] >option tpaShadingY -1<
[plustek] Decoding option >tpaShadingY<
[plustek] >option negShadingY -1<
[plustek] Decoding option >negShadingY<
[plustek] ><
[plustek] >#<
[plustek] ># to invert the negatives, 0 disables the feature<
[plustek] >#<
[plustek] >option invertNegatives 0<
[plustek] Decoding option >invertNegatives<
[plustek] ><
[plustek] >#<
[plustek] ># to save/restore coarse calibration data<
[plustek] >#<
[plustek] >option cacheCalData 0<
[plustek] Decoding option >cacheCalData<
[plustek] ><
[plustek] >#<
[plustek] ># use alternate calibration routines<
[plustek] >#<
[plustek] >option altCalibration 0<
[plustek] Decoding option >altCalibration<
[plustek] ><
[plustek] >#<
[plustek] ># for skipping whole calibration step<
[plustek] >#<
[plustek] >option skipCalibration 0<
[plustek] Decoding option >skipCalibration<
[plustek] ><
[plustek] >#<
[plustek] ># for skipping entire fine calibration step<
[plustek] ># coarse calibration is done<
[plustek] >#<
[plustek] >option skipFine 0<
[plustek] Decoding option >skipFine<
[plustek] ><
[plustek] >#<
[plustek] ># discard the result of the fine white calibration<
[plustek] >#<
[plustek] >option skipFineWhite 0<
[plustek] Decoding option >skipFineWhite<
[plustek] ><
[plustek] ># for replacing the gain values found during<
[plustek] ># calibration<
[plustek] >option red_gain   -1<
[plustek] Decoding option >red_gain<
[plustek] >option green_gain -1<
[plustek] Decoding option >green_gain<
[plustek] >option blue_gain  -1<
[plustek] Decoding option >blue_gain<
[plustek] ><
[plustek] >#<
[plustek] >#<
[plustek] >option red_lampoff   -1<
[plustek] Decoding option >red_lampoff<
[plustek] >option green_lampoff -1<
[plustek] Decoding option >green_lampoff<
[plustek] >option blue_lampoff  -1<
[plustek] Decoding option >blue_lampoff<
[plustek] ><
[plustek] >#<
[plustek] ># for adjusting the default gamma values<
[plustek] >#<
[plustek] >option redGamma         1.0<
[plustek] Decoding option >redGamma<
[plustek] >option greenGamma       1.0<
[plustek] Decoding option >greenGamma<
[plustek] >option blueGamma        1.0<
[plustek] Decoding option >blueGamma<
[plustek] >option grayGamma        1.0<
[plustek] Decoding option >grayGamma<
[plustek] ><
[plustek] >#<
[plustek] ># to enable TPA (non Plustek devices only)<
[plustek] ># 0 means default behaviour as specified in the internal 
tables<
[plustek] ># 1 means enable<
[plustek] >#<
[plustek] >option enableTPA 0<
[plustek] Decoding option >enableTPA<
[plustek] ><
[plustek] >#<
[plustek] ># model override functionality, currently only available for<
[plustek] ># Mustek devices, using NSCs' vendor ID: 0x0400 and<
[plustek] ># also their product ID: 0x1000 (LM9831) 0x1001 (LM9832)<
[plustek] >#<
[plustek] ># mov/PID    |    0x1000   |   0x1001<
[plustek] ># ---------------------------------------<
[plustek] ># 0 (default)| BearPaw1200 | BearPaw 2400<
[plustek] ># 1          |   ignored   | BearPaw 1200<
[plustek] >#<
[plustek] >option mov 0<
[plustek] Decoding option >mov<
[plustek] ><
[plustek] >#<
[plustek] ># and of course the device-name<
[plustek] >#<
[plustek] ># device /dev/usbscanner<
[plustek] >device auto<
[plustek] Decoding device name >auto<
[plustek] ><
[plustek] >#<
[plustek] ># to define a new device, start with a new section:<
[plustek] ># [usb]<
[plustek] >#<
[plustek] attach (auto, 0xbfbfed24, 0x0)
[plustek] Device configuration:
[plustek] device name  : >auto<
[plustek] USB-ID       : ><
[plustek] model ovr.   : 0
[plustek] warmup       : 15s
[plustek] lampOff      : 309
[plustek] lampOffOnEnd : yes
[plustek] cacheCalData : no
[plustek] altCalibrate : no
[plustek] skipCalibr.  : no
[plustek] skipFine     : no
[plustek] skipFineWhite: no
[plustek] invertNegs.  : no
[plustek] pos_x        : 0
[plustek] pos_y        : 0
[plustek] pos_shading_y: -1
[plustek] neg_x        : 0
[plustek] neg_y        : 0
[plustek] neg_shading_y: -1
[plustek] tpa_x        : 0
[plustek] tpa_y        : 0
[plustek] tpa_shading_y: -1
[plustek] red gain     : -1
[plustek] green gain   : -1
[plustek] blue gain    : -1
[plustek] red lampoff  : -1
[plustek] green lampoff: -1
[plustek] blue lampoff : -1
[plustek] red Gamma    : 1.00
[plustek] green Gamma  : 1.00
[plustek] blue Gamma   : 1.00
[plustek] gray Gamma   : 1.00
[plustek] ---------------------
[plustek] usbDev_open(auto,)
[plustek] Autodetection...
[plustek] Checking for 0x07b3-0x0010
[plustek] Checking for 0x07b3-0x0011
[plustek] Checking for 0x07b3-0x0017
[plustek] Checking for 0x07b3-0x0015
[plustek] Checking for 0x07b3-0x0017
[plustek] Checking for 0x07b3-0x0013
[plustek] Checking for 0x07b3-0x0013
[plustek] Checking for 0x07b3-0x0011
[plustek] Checking for 0x07b3-0x0010
[plustek] Checking for 0x07b3-0x0014
[plustek] Checking for 0x07b3-0x0015
[plustek] Checking for 0x07b3-0x0014
[plustek] Checking for 0x07b3-0x0016
[plustek] Checking for 0x07b3-0x0017
[plustek] Checking for 0x07b3-0x0017
[plustek] Checking for 0x07b3-0x0007
[plustek] Checking for 0x07b3-0x000f
[plustek] Checking for 0x07b3-0x000f
[plustek] Checking for 0x07b3-0x0005
[plustek] Checking for 0x07b3-0x0014
[plustek] Checking for 0x07b3-0x0012
[plustek] Checking for 0x0400-0x1000
[plustek] Checking for 0x0400-0x1001
[plustek] Checking for 0x0400-0x1001
[plustek] Checking for 0x0458-0x2007
[plustek] Checking for 0x0458-0x2008
[plustek] Checking for 0x0458-0x2009
[plustek] Checking for 0x0458-0x2013
[plustek] Checking for 0x0458-0x2015
[plustek] Checking for 0x0458-0x2016
[plustek] Checking for 0x03f0-0x0505
[plustek] Checking for 0x03f0-0x0605
[plustek] Checking for 0x04b8-0x010f
[plustek] Found device at >/dev/uscanner0<
[plustek] Vendor ID=0x04B8, Product ID=0x010F
[plustek] usbio_DetectLM983x
[plustek] usbio_DetectLM983x: found LM9832/3
[plustek] Detected vendor & product ID: 0x04B8-0x010F
[plustek] Device description for >0x04B8-0x010F< found.
[plustek] usb_initDev(32,0x04b8,-1)
[plustek] Device WAF: 0x00000002
[plustek] usb_switchLampX(ON=0,TPA=1)
[plustek] Switch Lamp: 0, regs[0x59] = 0x00
[plustek] REG[0x02] = 0x81
[plustek] TPA NOT detected
[plustek] Vendor adjusted to: >Epson<
[plustek] REG[0x5b] = 0x14 (msk=0x80)
[plustek] LAMP-STATUS: 0x00000000
[plustek] RESETTING REGISTERS(-1)
[plustek] SETTING THE MISC I/Os
[plustek] MISC I/O after RESET: 0x41, 0x44, 0x14
[plustek] Calibration file-name set to:
[plustek] >/root/.sane/Epson-Perfection_1250_Photo.cal<
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 8.000
[plustek] * XDPI=150, HDPI=8.000
[plustek] * YDPI=150, MinDPIY=150
[plustek] * DataPixelStart=69, LineEnd=69
[plustek] * DataPixelStart=70, LineEnd=70 (ADJ)
[plustek] >> End-Start=0, HDPI=8.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 231 (0x00e7)
[plustek] * Scan calculations...
[plustek] * LineLength=10776, LineRateColor=1
[plustek] * Stepsize = 675, 0x46=0x02 0x47=0xa3
[plustek] * DPD =5568 (0x15c0)
[plustek] * DPD =5208 (0x1458), step size=675, steps2rev=30
[plustek] * llen=10776, lineRateColor=1, qtcnt=0, hfcnt=0
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 0 (HDPI=8.000,MCLKD=4.000)
[plustek] * Setting GreenPWMDutyCycleLow
[plustek] * Current MCLK Divider = 4.000000
[plustek] * MOTOR-Settings: PWM=0x02, PWM_DUTY=0x01
[plustek] * FFStepSize = 260, [0x48] = 0x01, [0x49] = 0x04
[plustek] * PhyBytes   = 2
[plustek] * PhyLines   = 1296834662
[plustek] * TotalBytes = 2593669324
[plustek] * PL=295, coeffsize=216, scaler=1
[plustek] * PauseLimit = 295, [0x4e] = 0x91, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usbDev_getCaps()
[plustek] Scanner information:
[plustek] Vendor : Epson
[plustek] Model  : Perfection 1250/Photo
[plustek] Flags  : 0x00000000
[plustek] drvclose()
[plustek] usbDev_stopScan()
[plustek] usbDev_ScanEnd(), start=0, park=0
[plustek] usbDev_close()
[plustek] attach: model = >Perfection 1250/Photo<
[plustek] sane_open - /dev/uscanner0
[plustek] Presetting Gamma tables (len=4096)
[plustek] * Channel[0], gamma 1.000
[plustek] * Channel[1], gamma 1.000
[plustek] * Channel[2], gamma 1.000
[plustek] * Channel[3], gamma 1.000
[plustek] ----------------------------------
[plustek] sane_start
[plustek] usbDev_open(/dev/uscanner0,)
[plustek] Vendor ID=0x04B8, Product ID=0x010F
[plustek] usbio_DetectLM983x
[plustek] usbio_DetectLM983x: found LM9832/3
[plustek] Detected vendor & product ID: 0x04B8-0x010F
[plustek] Device description for >0x04B8-0x010F< found.
[plustek] usb_initDev(32,0x04b8,32)
[plustek] Device WAF: 0x00000002
[plustek] Vendor adjusted to: >Epson<
[plustek] REG[0x5b] = 0x14 (msk=0x80)
[plustek] REG[0x59] = 0x41 (msk=0x08)
[plustek] LAMP-STATUS: 0x00000000
[plustek] RESETTING REGISTERS(32)
[plustek] USING MISC I/O settings
[plustek] MISC I/O after RESET: 0x41, 0x44, 0x14
[plustek] usbDev_getCaps()
[plustek] scanmode = 3
[plustek] usbDev_getCropInfo()
[plustek] usb_GetImageInfo()
[plustek] PPL = 590
[plustek] LPA = 590
[plustek] BPL = 1770
[plustek] brightness 0, contrast 0
[plustek] usbDev_setScanEnv()
[plustek] usb_SaveImageInfo()
[plustek] dwFlag = 0x00000400
[plustek] usb_GetImageInfo()
[plustek] * Preview Mode NOT set!
[plustek] Setting map[0] at 0x08061094
[plustek] Setting map[1] at 0x08065094
[plustek] Setting map[2] at 0x08069094
[plustek] usbDev_startScan()
[plustek] * HDPI: 8.000
[plustek] * XDPI=150, HDPI=8.000
[plustek] * YDPI=150, MinDPIY=150
[plustek] REG[0x5b] = 0x14 (msk=0x80)
[plustek] REG[0x59] = 0x41 (msk=0x08)
[plustek] LAMP-STATUS: 0x00000000
[plustek] Switching Lamp on
[plustek] usb_switchLampX(ON=0,TPA=1)
[plustek] Switch Lamp: 0, regs[0x59] = 0x41
[plustek] usb_switchLampX(ON=1,TPA=0)
[plustek] Switch Lamp: 1, regs[0x5b] = 0x94
[plustek] Warmup-Timer started
[plustek] REG[0x5b] = 0x94 (msk=0x80)
[plustek] REG[0x59] = 0x41 (msk=0x08)
[plustek] LAMP-STATUS: 0x00000001
[plustek] Lamp-Timer stopped
[plustek] dwflag = 0x40000400 dwBytesPerLine = 1770
[plustek] TIME START
[plustek] sane_start done
[plustek] reader_process started (forked)
[plustek] reader_process:starting to READ data (1044300 bytes)
[plustek] buf = 0x0886e000
[plustek] usbDev_PrepareScan()
[plustek] usb_DoCalibration()
[plustek] goto shading position
[plustek] ShadingOriginY=10
[plustek] MotorDPI=600, MaxMoveSpeed=0.800, FFStepSize=520, Steps=20
[plustek] MOTOR: PWM=0x02, PWM_DUTY=0x01 0x45=0x13 0x48=0x02, 0x49=0x08
[plustek] MCLK_FFW = 6 --> 0x0a
[plustek] shading position reached
[plustek] kEPSON adjustments
[plustek] SETMCLK[3/2], using entry 8: 6.000000, 1200
[plustek] No Plustek model: 150dpi
[plustek] SETMCLK[3/2], using entry 2: 2.000000, 150
[plustek] Settings done, so start...
[plustek] ###### ADJUST GAIN (COARSE)#######
[plustek] usb_AdjustGain()
[plustek] Coarse Calibration Strip:
[plustek] Lines    = 1
[plustek] Pixels   = 10200
[plustek] Bytes    = 61200
[plustek] Origin.X = 17
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=150
[plustek] * DataPixelStart=68, LineEnd=10268
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 462 (0x01ce)
[plustek] * Scan calculations...
[plustek] * LineLength=10776, LineRateColor=1
[plustek] * Stepsize = 5406, 0x46=0x15 0x47=0x1e
[plustek] * DPD =0 (0x0000)
[plustek] * DPD =10776 (0x2a18), step size=5406, steps2rev=0
[plustek] * llen=10776, lineRateColor=1, qtcnt=0, hfcnt=0
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 3 (HDPI=1.000,MCLKD=2.000)
[plustek] * Stepsize = 7208, 0x46=0x1c 0x47=0x28
[plustek] * DPD =0 (0x0000)
[plustek] * DPD =10776 (0x2a18), step size=7208, steps2rev=0
[plustek] * llen=10776, lineRateColor=1, qtcnt=0, hfcnt=0
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 2.000000
[plustek] * MOTOR-Settings: PWM=0x02, PWM_DUTY=0x01
[plustek] * FFStepSize = 173, [0x48] = 0x00, [0x49] = 0xad
[plustek] * PhyBytes   = 61202
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 61202
[plustek] * PL=260, coeffsize=192, scaler=1
[plustek] * PauseLimit = 60, [0x4e] = 0x1c, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] Warmup: Waiting 15 seconds
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 07 20 00 XX XX 03  02 20 00 02 04 7d 37 06
[plustek] 0x10: 16 00 05 0c 17 00 00 0a  17 03 00 01 00 00 00 00
[plustek] 0x20: 2a 06 00 44 28 1c 00 40  03 03 00 01 3f ff 00 00
[plustek] 0x30: 3f ff 00 00 3f ff 00 00  00 00 00 01 01 01 00 00
[plustek] 0x40: 40 00 20 00 00 03 1c 28  00 ad 00 00 00 00 1c 01
[plustek] 0x50: 00 0c 2a 18 00 0f 02 01  00 41 44 94 00 00 00 00
[plustek] 0x60: 00 65 18 e1 02 06 a8 48  00 04 00 00 50 00 00 02
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] PhyBytes  = 61202
[plustek] PhyPixels = 10200
[plustek] Creating file 'coarse-gain-0.raw'
[plustek] > X=10200, Y=1, depth=16
[plustek] MAX(R,G,B)= 0x2935(10549), 0x23a5(9125), 0x268e(9870)
[plustek] MIN(R,G,B)= 0x000e(14), 0x0015(21), 0x030e(782)
[plustek] CUR(R,G,B)= 0x2935(10549), 0x23a5(9125), 0x268e(9870)
[plustek] REG[0x3b] = 47
[plustek] REG[0x3c] = 51
[plustek] REG[0x3d] = 48
[plustek] after tweaking:
[plustek] REG[0x3b] = 47
[plustek] REG[0x3c] = 51
[plustek] REG[0x3d] = 48
[plustek] red_lamp_on    = 16383
[plustek] red_lamp_off   = 0
[plustek] green_lamp_on  = 16383
[plustek] green_lamp_off = 0
[plustek] blue_lamp_on   = 16383
[plustek] blue_lamp_off  = 0
[plustek] usb_AdjustGain() done.
[plustek] ###### ADJUST OFFSET (COARSE) ####
[plustek] usb_AdjustOffset()
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=150
[plustek] * DataPixelStart=0, LineEnd=2550
[plustek] >> End-Start=2550, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 462 (0x01ce)
[plustek] * Scan calculations...
[plustek] * LineLength=10776, LineRateColor=1
[plustek] * Stepsize = 5406, 0x46=0x15 0x47=0x1e
[plustek] * DPD =0 (0x0000)
[plustek] * DPD =10776 (0x2a18), step size=5406, steps2rev=0
[plustek] * llen=10776, lineRateColor=1, qtcnt=0, hfcnt=0
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 3 (HDPI=1.000,MCLKD=2.000)
[plustek] * Stepsize = 7208, 0x46=0x1c 0x47=0x28
[plustek] * DPD =0 (0x0000)
[plustek] * DPD =10776 (0x2a18), step size=7208, steps2rev=0
[plustek] * llen=10776, lineRateColor=1, qtcnt=0, hfcnt=0
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 2.000000
[plustek] * MOTOR-Settings: PWM=0x02, PWM_DUTY=0x01
[plustek] * FFStepSize = 173, [0x48] = 0x00, [0x49] = 0xad
[plustek] * PhyBytes   = 15302
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 15302
[plustek] * PL=305, coeffsize=192, scaler=1
[plustek] * PauseLimit = 15, [0x4e] = 0x05, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] S.dwPixels  = 2550
[plustek] dwPixels    = 66
[plustek] dwPhyBytes  = 15302
[plustek] dwPhyPixels = 2550
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(4)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 07 00 00 XX XX 03  02 20 00 02 04 7d 37 06
[plustek] 0x10: 16 00 05 0c 17 00 00 0a  17 03 00 01 00 00 00 00
[plustek] 0x20: 2a 06 00 00 09 f6 00 40  03 03 00 01 3f ff 00 00
[plustek] 0x30: 3f ff 00 00 3f ff 00 00  00 00 00 2f 33 30 00 00
[plustek] 0x40: 40 00 20 00 00 03 1c 28  00 ad 00 00 00 00 05 01
[plustek] 0x50: 00 0c 2a 18 00 0f 02 01  00 41 44 94 00 00 00 00
[plustek] 0x60: 50 60 28 5c 02 04 a8 48  00 04 00 00 50 00 00 02
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] Creating file 'coarse-off-0.raw'
[plustek] > X=2550, Y=1, depth=16
[plustek] RedSum   = 327621, ave = 4963
[plustek] GreenSum = 430626, ave = 6524
[plustek] BlueSum  = 528886, ave = 8013
[plustek] RedExpect   = 0
[plustek] GreenExpect = 0
[plustek] BlueExpect  = 0
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(4)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 07 10 00 XX XX 03  02 20 00 02 04 7d 37 06
[plustek] 0x10: 16 00 05 0c 17 00 00 0a  17 03 00 01 00 00 00 00
[plustek] 0x20: 2a 06 00 00 09 f6 00 40  03 03 00 01 3f ff 00 00
[plustek] 0x30: 3f ff 00 00 3f ff 00 00  30 30 30 2f 33 30 00 00
[plustek] 0x40: 40 00 20 00 00 03 1c 28  00 ad 00 00 00 00 05 01
[plustek] 0x50: 00 0c 2a 18 00 0f 02 01  00 41 44 94 00 00 00 00
[plustek] 0x60: 60 60 18 60 32 46 a4 48  00 04 00 00 50 00 00 02
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] Creating file 'coarse-off-1.raw'
[plustek] > X=2550, Y=1, depth=16
[plustek] RedSum   = 0, ave = 0
[plustek] GreenSum = 0, ave = 0
[plustek] BlueSum  = 0, ave = 0
[plustek] RedExpect   = 0
[plustek] GreenExpect = 0
[plustek] BlueExpect  = 0
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(4)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 07 10 00 XX XX 03  02 20 00 02 04 7d 37 06
[plustek] 0x10: 16 00 05 0c 17 00 00 0a  17 03 00 01 00 00 00 00
[plustek] 0x20: 2a 06 00 00 09 f6 00 40  03 03 00 01 3f ff 00 00
[plustek] 0x30: 3f ff 00 00 3f ff 00 00  28 28 28 2f 33 30 00 00
[plustek] 0x40: 40 00 20 00 00 03 1c 28  00 ad 00 00 00 00 05 01
[plustek] 0x50: 00 0c 2a 18 00 0f 02 01  00 41 44 94 00 00 00 00
[plustek] 0x60: 60 62 18 48 6e 06 00 48  00 04 00 00 70 00 00 06
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] Creating file 'coarse-off-2.raw'
[plustek] > X=2550, Y=1, depth=16
[plustek] RedSum   = 15116, ave = 229
[plustek] GreenSum = 67860, ave = 1028
[plustek] BlueSum  = 201515, ave = 3053
[plustek] RedExpect   = 0
[plustek] GreenExpect = 0
[plustek] BlueExpect  = 40
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(4)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 07 00 00 XX XX 03  02 20 00 02 04 7d 37 06
[plustek] 0x10: 16 00 05 0c 17 00 00 0a  17 03 00 01 00 00 00 00
[plustek] 0x20: 2a 06 00 00 09 f6 00 40  03 03 00 01 3f ff 00 00
[plustek] 0x30: 3f ff 00 00 3f ff 00 00  24 24 24 2f 33 30 00 00
[plustek] 0x40: 40 00 20 00 00 03 1c 28  00 ad 00 00 00 00 05 01
[plustek] 0x50: 00 0c 2a 18 00 0f 02 01  00 41 44 94 00 00 00 00
[plustek] 0x60: 50 22 2a 30 68 04 00 80  00 04 00 00 90 00 00 08
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] Creating file 'coarse-off-3.raw'
[plustek] > X=2550, Y=1, depth=16
[plustek] RedSum   = 162770, ave = 2466
[plustek] GreenSum = 247130, ave = 3744
[plustek] BlueSum  = 365514, ave = 5538
[plustek] RedExpect   = 0
[plustek] GreenExpect = 36
[plustek] BlueExpect  = 40
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(4)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 07 10 00 XX XX 03  02 20 00 02 04 7d 37 06
[plustek] 0x10: 16 00 05 0c 17 00 00 0a  17 03 00 01 00 00 00 00
[plustek] 0x20: 2a 06 00 00 09 f6 00 40  03 03 00 01 3f ff 00 00
[plustek] 0x30: 3f ff 00 00 3f ff 00 00  22 22 26 2f 33 30 00 00
[plustek] 0x40: 40 00 20 00 00 03 1c 28  00 ad 00 00 00 00 05 01
[plustek] 0x50: 00 0c 2a 18 00 0f 02 01  00 41 44 94 00 00 00 00
[plustek] 0x60: 60 65 18 87 62 06 40 48  00 04 00 00 10 00 00 04
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] Creating file 'coarse-off-4.raw'
[plustek] > X=2550, Y=1, depth=16
[plustek] RedSum   = 245858, ave = 3725
[plustek] GreenSum = 329596, ave = 4993
[plustek] BlueSum  = 284178, ave = 4305
[plustek] RedExpect   = 34
[plustek] GreenExpect = 36
[plustek] BlueExpect  = 38
[plustek] REG[0x38] = 34
[plustek] REG[0x39] = 36
[plustek] REG[0x3a] = 38
[plustek] usb_AdjustOffset() done.
[plustek] ###### ADJUST DARK (FINE) ########
[plustek] usb_AdjustDarkShading()
[plustek] MCLK = 2.000000 (scanparam-MCLK=2.000000)
[plustek] usb_switchLampX(ON=0,TPA=0)
[plustek] Switch Lamp: 0, regs[0x5b] = 0x14
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 8.000
[plustek] * XDPI=150, HDPI=8.000
[plustek] * YDPI=1200, MinDPIY=150
[plustek] * DataPixelStart=641, LineEnd=5361
[plustek] * DataPixelStart=642, LineEnd=5362 (ADJ)
[plustek] >> End-Start=4720, HDPI=8.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 462 (0x01ce)
[plustek] * Scan calculations...
[plustek] * LineLength=10776, LineRateColor=1
[plustek] * Stepsize = 5406, 0x46=0x15 0x47=0x1e
[plustek] * DPD =0 (0x0000)
[plustek] * DPD =10776 (0x2a18), step size=5406, steps2rev=0
[plustek] * llen=10776, lineRateColor=1, qtcnt=0, hfcnt=0
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 0 (HDPI=8.000,MCLKD=2.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 2.000000
[plustek] * MOTOR-Settings: PWM=0x02, PWM_DUTY=0x01
[plustek] * FFStepSize = 520, [0x48] = 0x02, [0x49] = 0x08
[plustek] * PhyBytes   = 3542
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 3542
[plustek] * PL=316, coeffsize=192, scaler=1
[plustek] * PauseLimit = 4, [0x4e] = 0x01, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(2)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 87 00 01 XX XX 03  02 26 00 02 04 7d 37 06
[plustek] 0x10: 16 00 05 0c 17 00 00 0a  17 00 00 01 00 00 00 00
[plustek] 0x20: 2a 06 02 82 14 f2 00 40  03 00 00 01 3f ff 00 00
[plustek] 0x30: 3f ff 00 00 3f ff 00 00  22 24 26 2f 33 30 00 00
[plustek] 0x40: 40 00 20 00 00 03 15 1e  02 08 00 00 00 00 01 01
[plustek] 0x50: 00 0c 2a 18 00 0f 02 01  00 41 44 14 00 00 00 00
[plustek] 0x60: 60 25 18 eb 32 46 28 80  00 04 00 00 d0 00 00 0e
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] usb_switchLampX(ON=1,TPA=0)
[plustek] Switch Lamp: 1, regs[0x5b] = 0x94
[plustek] Creating file 'fine-black.raw'
[plustek] > X=590, Y=1, depth=16
[plustek] Color[0] (Dark) : min=56352(0) max=56352(0) ave=56352
[plustek] 5%: 53534 (0), 59169 (0)
[plustek] Color[1] (Dark) : min=8994(0) max=8994(0) ave=8994
[plustek] 5%: 8544 (0), 9443 (0)
[plustek] Color[2] (Dark) : min=38436(0) max=38436(0) ave=38436
[plustek] 5%: 36514 (0), 40357 (0)
[plustek] ###### ADJUST WHITE (FINE) #######
[plustek] FINE WHITE Calibration Strip: fine-white.raw
[plustek] Shad.-Lines = 64
[plustek] Lines       = 64
[plustek] Pixels      = 590
[plustek] Bytes       = 3540
[plustek] Origin.X    = 143
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 8.000
[plustek] * XDPI=150, HDPI=8.000
[plustek] * YDPI=1200, MinDPIY=150
[plustek] * DataPixelStart=641, LineEnd=5361
[plustek] * DataPixelStart=642, LineEnd=5362 (ADJ)
[plustek] >> End-Start=4720, HDPI=8.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 462 (0x01ce)
[plustek] * Scan calculations...
[plustek] * LineLength=10776, LineRateColor=1
[plustek] * Stepsize = 5406, 0x46=0x15 0x47=0x1e
[plustek] * DPD =0 (0x0000)
[plustek] * DPD =10776 (0x2a18), step size=5406, steps2rev=0
[plustek] * llen=10776, lineRateColor=1, qtcnt=0, hfcnt=0
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 0 (HDPI=8.000,MCLKD=2.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 2.000000
[plustek] * MOTOR-Settings: PWM=0x02, PWM_DUTY=0x01
[plustek] * FFStepSize = 520, [0x48] = 0x02, [0x49] = 0x08
[plustek] * PhyBytes   = 3542
[plustek] * PhyLines   = 64
[plustek] * TotalBytes = 226688
[plustek] * PL=316, coeffsize=192, scaler=1
[plustek] * PauseLimit = 222, [0x4e] = 0x6d, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(3)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 07 08 00 XX XX 03  02 26 00 02 04 7d 37 06
[plustek] 0x10: 16 00 05 0c 17 00 00 0a  17 00 00 01 00 00 00 00
[plustek] 0x20: 2a 06 02 82 14 f2 00 40  03 03 00 01 3f ff 00 00
[plustek] 0x30: 3f ff 00 00 3f ff 00 00  22 24 26 2f 33 30 00 00
[plustek] 0x40: 40 00 24 00 00 13 15 1e  02 08 00 00 00 00 6d 01
[plustek] 0x50: 00 0c 2a 18 00 0f 02 01  00 41 44 94 00 00 00 00
[plustek] 0x60: 50 20 2b f3 32 44 a8 80  00 04 00 00 d0 00 00 00
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00
[plustek] TotalBytes = 226688
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] Creating file 'fine-white.raw'
[plustek] > X=590, Y=64, depth=16
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] Color[0] (White) : min=81(155) max=65360(163) ave=35351
[plustek] 5%: 33583 (264), 37118 (299)
[plustek] Color[1] (White) : min=85(193) max=65107(84) ave=31459
[plustek] 5%: 29886 (291), 33031 (263)
[plustek] Color[2] (White) : min=82(500) max=65369(327) ave=32522
[plustek] 5%: 30895 (278), 34148 (278)
[plustek] MotorDPI=600, MaxMoveSpeed=0.800, FFStepSize=520, Steps=2
[plustek] MOTOR: PWM=0x02, PWM_DUTY=0x01 0x45=0x13 0x48=0x02, 0x49=0x08
[plustek] MCLK_FFW = 6 --> 0x0a
[plustek] MotorDPI=600, MaxMotorSpeed=0.900, FFStepSize=462
[plustek] MOTOR: PWM=0x02, PWM_DUTY=0x01 0x45=0x13 0x48=0x01, 0x49=0xce
[plustek] MCLK_FFW = 6 --> 0x0a
[plustek] Calibration done
[plustek] -----------------------
[plustek] Static Gain:
[plustek] REG[0x3b] = 47
[plustek] REG[0x3c] = 51
[plustek] REG[0x3d] = 48
[plustek] Static Offset:
[plustek] REG[0x38] = 34
[plustek] REG[0x39] = 36
[plustek] REG[0x3a] = 38
[plustek] -----------------------
[plustek] calibration done.
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 8.000
[plustek] * XDPI=150, HDPI=8.000
[plustek] * YDPI=150, MinDPIY=150
[plustek] * DataPixelStart=641, LineEnd=5361
[plustek] * DataPixelStart=642, LineEnd=5362 (ADJ)
[plustek] >> End-Start=4720, HDPI=8.00
[plustek] * Full Steps to Skip at Start = 0x0196
[plustek] * StepSize(Preset) = 462 (0x01ce)
[plustek] * Scan calculations...
[plustek] * LineLength=10776, LineRateColor=1
[plustek] * Stepsize = 675, 0x46=0x02 0x47=0xa3
[plustek] * DPD =5568 (0x15c0)
[plustek] * DPD =5208 (0x1458), step size=675, steps2rev=30
[plustek] * llen=10776, lineRateColor=1, qtcnt=0, hfcnt=0
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 0 (HDPI=8.000,MCLKD=2.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 2.000000
[plustek] * MOTOR-Settings: PWM=0x02, PWM_DUTY=0x01
[plustek] * FFStepSize = 520, [0x48] = 0x02, [0x49] = 0x08
[plustek] * PhyBytes   = 1772
[plustek] * PhyLines   = 592
[plustek] * TotalBytes = 1049024
[plustek] * PL=294, coeffsize=216, scaler=1
[plustek] * PauseLimit = 294, [0x4e] = 0x91, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] ImageProc is: ColorDuplicate8
[plustek] usb_ScanBegin()
[plustek] usb_MapDownload()
[plustek] * brightness = 0 -> 0
[plustek] * contrast   = 0 -> 1.000
[plustek] * downloading map 0...
[plustek] * downloading map 1...
[plustek] * downloading map 2...
[plustek] usb_MapDownload() done.
[plustek] usb_DownloadShadingData(0)
[plustek] Downloading 590 pixels
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 06 09 00 XX XX 03  02 1e 00 02 04 7d 37 06
[plustek] 0x10: 16 00 05 0c 17 00 00 0a  17 00 00 01 00 00 00 00
[plustek] 0x20: 2a 06 02 82 14 f2 00 40  03 03 00 01 3f ff 00 00
[plustek] 0x30: 3f ff 00 00 3f ff 00 00  22 24 26 2f 33 30 00 00
[plustek] 0x40: 40 00 26 00 00 13 02 a3  02 08 01 96 00 00 91 01
[plustek] 0x50: 1e 0c 14 58 00 0f 02 01  00 41 44 94 00 00 00 00
[plustek] 0x60: 40 20 0c c7 32 44 26 48  00 04 00 00 b0 00 00 00
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00
[plustek] Creating file 'plustek-pic.raw'
[plustek] > X=590, Y=590, depth=8
[plustek] Reading the data now!
[plustek] PhyDpi.x         = 150
[plustek] PhyDpi.y         = 150
[plustek] UserDpi.x        = 150
[plustek] UserDpi.y        = 150
[plustek] NumberOfScanBufs = 2366
[plustek] LinesPerScanBufs = 4732
[plustek] dwPhyBytes       = 1772
[plustek] dwPhyPixels      = 590
[plustek] dwTotalBytes     = 1049024
[plustek] dwPixels         = 590
[plustek] dwBytes          = 1770
[plustek] dwValidPixels    = 590
[plustek] dwBytesScanBuf   = 3544
[plustek] dwLinesDiscard   = 2
[plustek] dwLinesToSkip    = 3
[plustek] dwLinesUser      = 590
[plustek] dwBytesLine      = 1770
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] drvclose()
[plustek] TIME END 1: 31s
[plustek] usbDev_stopScan()
[plustek] usbDev_ScanEnd(), start=1, park=1
[plustek] reader_process: finished reading data
[plustek] (SIG) Child is down (signal=20)
scanimage: received signal 2
scanimage: trying to stop scanner
[plustek] sane_cancel
[plustek] do_cancel
[plustek] >>>>>>>> killing reader_process <<<<<<<<
[plustek] reader_process killed
[plustek] drvclose()
[plustek] TIME END 1: 260s
[plustek] usbDev_stopScan()
[plustek] usbDev_ScanEnd(), start=1, park=1
[plustek] UIO error
[plustek] UIO error
[plustek] UIO error
[plustek] Lamp-Timer started (using ITIMER)
[plustek] usbDev_close()
[plustek] TIME END 2: 268s
scanimage: received signal 2
scanimage: aborting