[sane-devel] CanoScan LiDE30 problem

Johannes Ranke jranke at uni-bremen.de
Mon Dec 3 10:08:15 UTC 2007


Hi,

My Canoscan LiDE30 used to work nicely under Debian unstable for more
than a year. Since about half a year it makes problems: If I scan from a
frontend like quiteinsane, I can select the device  (I am using libusb),
and the frontend pretends to scan, but the scanner does nothing, so I
end up with a black image. The scanner works under Windows. Last week,
after I tested under Windows, it worked under Linux, too.

  $ scanimage -L
  device `v4l:/dev/video0' is a Noname BT878 video (AVerMedia AVerTV D
  virtual device
  device `plustek:libusb:003:003' is a Canon CanoScan N1240U/LiDE30
  flatbed scanner

I discovered that I can scan from the command line as normal user:

  $ SANE_DEBUG_PLUSTEK=128 scanimage -d 'plustek:libusb:003:003' \
      > image.pnm \
      2> canoscanLiDE30.err

I am attaching the output of this. Graphical frontends still don't work,
even when specifying the device on the command line for xscanimage, or 
selecting it in quiteinsane.

I also noticed the following dmesg output after trying to scan with
xscanimage: 

  usb 3-2: usbfs: interface 0 claimed by usbfs while 'xscanimage' sets
  config #1

I don't know which (combination of) software is reponsible for the
problems, otherwise I would file a bug report in the Debian BTS.

My kernel is:
  $ uname -a
  Linux stiller 2.6.20-1-amd64 #1 SMP Tue Apr 24 21:10:58 UTC 2007
  x86_64 GNU/Linux

Sane version is:

  $ scanimage -V
  scanimage (sane-backends) 1.0.18-cvs; backend version 1.0.18

Best regards,

Johannes

-- 
Dr. Johannes Ranke                 jranke at uni-bremen.de     Key ID: F649AF90
UFT Bremen, Leobenerstr. 1         +49 421 218 63373
D-28359 Bremen                     http://www.uft.uni-bremen.de/chemie/ranke
-------------- next part --------------
[sanei_debug] Setting debug level of plustek to 128.
[plustek] Plustek backend V0.52-3, part of sane-backends 1.0.18-cvs
[plustek] Retrieving all supported and conntected devices
[plustek] Checking for 0x07b3-0x0010
[plustek] Checking for 0x07b3-0x0011
[plustek] Checking for 0x07b3-0x0017
[plustek] Checking for 0x07b3-0x0015
[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-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] Checking for 0x04b8-0x011d
[plustek] Checking for 0x1606-0x0050
[plustek] Checking for 0x1606-0x0060
[plustek] Checking for 0x1606-0x0160
[plustek] Checking for 0x049f-0x001a
[plustek] Checking for 0x04a9-0x2206
[plustek] Checking for 0x04a9-0x2207
[plustek] Checking for 0x04a9-0x2208
[plustek] Checking for 0x04a9-0x220d
[plustek] Checking for 0x04a9-0x220e
[plustek] Checking for 0x04a9-0x2220
[plustek] Checking for 0x0a82-0x6620
[plustek] Checking for 0x0a53-0x1000
[plustek] Available and supported devices:
[plustek] Device: >libusb:003:003< - 0x04a9x0x220e
[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] ># Entry for CanonScan LiDE30 (Hannes)<
[plustek] ># [usb] 0x04a9 0x220e<
[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] ># (can also be set via frontend)<
[plustek] >option lampOff 300<
[plustek] Decoding option >lampOff<
[plustek] ><
[plustek] ># warmup period in seconds, 0 means no warmup, -1 means auto-warmup<
[plustek] ># (can also be set via frontend)<
[plustek] >option warmup -1<
[plustek] Decoding option >warmup<
[plustek] ><
[plustek] ># 0 means leave lamp-status untouched, not 0 means switch off<
[plustek] ># on sane_close<
[plustek] ># (can also be set via frontend)<
[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] ># (can also be set via frontend)<
[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 disable the internal sensor speedup function,<
[plustek] ># 1 disables the feature<
[plustek] >#<
[plustek] >option disableSpeedup 0<
[plustek] Decoding option >disableSpeedup<
[plustek] ><
[plustek] >#<
[plustek] ># to save/restore coarse calibration data<
[plustek] ># (can also be set via frontend)<
[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 coarse<
[plustek] ># calibration<
[plustek] ># (can also be set via frontend)<
[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] ># for replacing the offset values found during coarse<
[plustek] ># calibration<
[plustek] ># (can also be set via frontend)<
[plustek] >option red_offset   -1<
[plustek] Decoding option >red_offset<
[plustek] >option green_offset -1<
[plustek] Decoding option >green_offset<
[plustek] >option blue_offset  -1<
[plustek] Decoding option >blue_offset<
[plustek] ><
[plustek] >#<
[plustek] ># for replacing the default lampoff settings, this<
[plustek] ># works only for CIS devices like CanoScan LiDE20<
[plustek] ># (can also be set via frontend)<
[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] ># (can also be set via frontend)<
[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 (EPSON or UMAX, if autodetection fails)<
[plustek] ># 0 means default behaviour as specified in the internal tables<
[plustek] ># 1 means enable (needed for UMAX 3450)<
[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, 0x7fffda1081c0, (nil))
[plustek] Device configuration:
[plustek] device name  : >auto<
[plustek] USB-ID       : ><
[plustek] model ovr.   : 0
[plustek] warmup       : -1s
[plustek] lampOff      : 300
[plustek] lampOffOnEnd : yes
[plustek] cacheCalData : no
[plustek] altCalibrate : no
[plustek] skipCalibr.  : no
[plustek] skipFine     : no
[plustek] skipFineWhite: no
[plustek] invertNegs.  : no
[plustek] dis.Speedup  : 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 offset   : -1
[plustek] green offset : -1
[plustek] blue offset  : -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,) - 0x60d1c0
[plustek] Vendor ID=0x04A9, Product ID=0x220E
[plustek] usbio_DetectLM983x
[plustek] usbio_DetectLM983x: found LM9832/3
[plustek]  * setting device to idle state!
[plustek] Detected vendor & product ID: 0x04A9-0x220E
[plustek] Device description for >0x04A9-0x220E< found.
[plustek] usb_initDev(42,0x04a9,-1)
[plustek] Device WAF  : 0x00000002
[plustek] Transferrate: 1000000 Bytes/s
[plustek] Device Flags: 0x00000000
[plustek] Vendor adjusted to: >Canon<
[plustek] LAMP-STATUS: 0x00000000 (off)
[plustek] RESETTING REGISTERS(-1) - 0x80
[plustek] SETTING THE MISC I/Os
[plustek] MISC I/O after RESET: 0x66, 0x16, 0x91
[plustek] Calibration file-names set to:
[plustek] >/home/ranke/.sane/Canon_CanoScan_N1240U_LiDE30-coarse.cal<
[plustek] >/home/ranke/.sane/Canon_CanoScan_N1240U_LiDE30-fine.cal<
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 8.000
[plustek] * XDPI=150, HDPI=8.000
[plustek] * YDPI=150, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=52
[plustek] >> End-Start=0, HDPI=8.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 144 (0x0090)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 996, 0x46=0x03 0x47=0xe4
[plustek] * DPD =960 (0x03c0)
[plustek] * DPD =30816 (0x7860), step size=996, steps2rev=32
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] usb_GetMCLKDiv()
[plustek] - lower mclkdiv limit=2.500000
[plustek] - upper mclkdiv limit=32.500000
[plustek] - hdpi          = 8.000
[plustek] - pixelbits     = 8
[plustek] - pixelsperline = 0
[plustek] - linelen       = 10592
[plustek] - transferrate  = 1000000
[plustek] - MCLK Divider  = 0
[plustek] - Current MCLK Divider = 2
[plustek] * Integration Time Adjust = 0 (HDPI=8.000,MCLKD=4.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 4.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 347, [0x48] = 0x01, [0x49] = 0x5b
[plustek] * PhyBytes   = 6
[plustek] * PhyLines   = 47279016773380
[plustek] * TotalBytes = 283674100640280
[plustek] * PL=295, coeffsize=216, scaler=3
[plustek] * PauseLimit = 295, [0x4e] = 0x91, [0x4f] = 0x01
[plustek] * Scansteps=0 (47279016773385*1200/150)
[plustek] usb_SetScanParameters() done.
[plustek] usbDev_getCaps()
[plustek] Scanner information:
[plustek] Vendor : Canon
[plustek] Model  : CanoScan N1240U/LiDE30
[plustek] Flags  : 0x00000000
[plustek] drvclose()
[plustek] usbDev_stopScan()
[plustek] usbDev_ScanEnd(), start=0, park=0
[plustek] usbDev_close()
[plustek] attach: model = >CanoScan N1240U/LiDE30<
[plustek] sane_open - libusb:003:003
[plustek] Presetting Gamma tables (len=4096)
[plustek] * Channel[0], gamma 2.000
[plustek] * Channel[1], gamma 2.000
[plustek] * Channel[2], gamma 2.000
[plustek] * Channel[3], gamma 2.000
[plustek] ----------------------------------
[plustek] Checking MISC IO[0]=0x66
[plustek] * port 1 configured as input, status: RELEASED (39)
[plustek] * port 2 configured as input, status: RELEASED (40)
[plustek] Checking MISC IO[1]=0x16
[plustek] * port 3 configured as input, status: RELEASED (41)
[plustek] Checking MISC IO[2]=0x91
[plustek] sane_start
[plustek] usbDev_open(libusb:003:003,) - (nil)
[plustek] Vendor ID=0x04A9, Product ID=0x220E
[plustek] usbio_DetectLM983x
[plustek] usbio_DetectLM983x: found LM9832/3
[plustek] Detected vendor & product ID: 0x04A9-0x220E
[plustek] Device description for >0x04A9-0x220E< found.
[plustek] usb_initDev(42,0x04a9,42)
[plustek] Device WAF  : 0x00000002
[plustek] Transferrate: 1000000 Bytes/s
[plustek] Device Flags: 0x00000006
[plustek] Vendor adjusted to: >Canon<
[plustek] LAMP-STATUS: 0x00000000 (off)
[plustek] RESETTING REGISTERS(42) - 0x80
[plustek] USING MISC I/O settings
[plustek] MISC I/O after RESET: 0x66, 0x16, 0x91
[plustek] usbDev_getCaps()
[plustek] scanmode = 3
[plustek] usbDev_getCropInfo()
[plustek] usb_GetImageInfo()
[plustek] Area: cx=1216, cy=900
[plustek] PPL = 202
[plustek] LPA = 150
[plustek] BPL = 606
[plustek] brightness 0, contrast 0
[plustek] usbDev_setScanEnv()
[plustek] usb_SaveImageInfo()
[plustek] * dwFlag = 0x00000400
[plustek] usb_GetImageInfo()
[plustek] Area: cx=1216, cy=900
[plustek] * Preview Mode NOT set!
[plustek] AdjustCISLamps(1)
[plustek]  * setting color mode
[plustek] usb_AdjustLamps(1)
[plustek] Setting map[0] at 0x00619224
[plustek] Setting map[1] at 0x0061d224
[plustek] Setting map[2] at 0x00621224
[plustek] usbDev_startScan()
[plustek] * HDPI: 12.000
[plustek] * XDPI=100, HDPI=12.000
[plustek] * YDPI=75, MinDPIY=75
[plustek] LAMP-STATUS: 0x00000000 (off)
[plustek] Switching Lamp on
[plustek] usb_AdjustLamps(1)
[plustek] Warmup-Timer started
[plustek] LAMP-STATUS: 0x00000001 (on)
[plustek] Lamp-Timer stopped
[plustek] dwflag = 0x40000400 dwBytesLine = 606
[plustek] Lines          = 150
[plustek] Bytes per Line = 606
[plustek] Bitdepth       = 8
[plustek] TIME START
[plustek] local_sane_start done
[plustek] reader_process started (forked)
[plustek] reader_process:starting to READ data (90900 bytes)
[plustek] buf = 0x00625be0
[plustek] usbDev_PrepareScan()
[plustek] sane_start done
[plustek] cano_DoCalibration()
[plustek] #########################
[plustek] usb_SpeedTest(42,1000000)
[plustek] GETMCLK[8/2], using entry 8: 6.000, 1200
[plustek] SETMCLK[8/2]: 6.000
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=10252
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 96 (0x0060)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] usb_GetMCLKDiv()
[plustek] - lower mclkdiv limit=3.500000
[plustek] - upper mclkdiv limit=32.500000
[plustek] - hdpi          = 1.000
[plustek] - pixelbits     = 8
[plustek] - pixelsperline = 10200
[plustek] - linelen       = 10592
[plustek] - transferrate  = 2000000
[plustek] - MCLK Divider  = 3
[plustek] - Current MCLK Divider = 3
[plustek] - HIGHSPEED MCLK Divider = 6
[plustek] * Integration Time Adjust = 0 (HDPI=1.000,MCLKD=6.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 6.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 30606
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 30606
[plustek] * PL=206, coeffsize=216, scaler=3
[plustek] * PauseLimit = 30, [0x4e] = 0x0d, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 63 20 00 XX XX 03  0a 18 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 00 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 28 0c 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 19 64 00 17 13 24  00 00 00 01 01 01 00 00 
[plustek] 0x40: 40 00 20 00 00 03 1f 22  00 e7 00 00 00 00 0d 01 
[plustek] 0x50: 00 fc 68 a0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: 48 3e 08 79 02 04 68 48  00 04 00 00 70 00 00 05 
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00 
[plustek] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage(30606)
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=10252
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 96 (0x0060)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] usb_GetMCLKDiv()
[plustek] - lower mclkdiv limit=3.500000
[plustek] - upper mclkdiv limit=32.500000
[plustek] - hdpi          = 1.000
[plustek] - pixelbits     = 8
[plustek] - pixelsperline = 10200
[plustek] - linelen       = 10592
[plustek] - transferrate  = 2000000
[plustek] - MCLK Divider  = 3
[plustek] - Current MCLK Divider = 3
[plustek] - HIGHSPEED MCLK Divider = 6
[plustek] * Integration Time Adjust = 0 (HDPI=1.000,MCLKD=6.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 6.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 30606
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 30606
[plustek] * PL=206, coeffsize=216, scaler=3
[plustek] * PauseLimit = 30, [0x4e] = 0x0d, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 63 00 00 XX XX 03  0a 18 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 00 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 28 0c 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 19 64 00 17 13 24  00 00 00 01 01 01 00 00 
[plustek] 0x40: 40 00 20 00 00 03 1f 22  00 e7 00 00 00 00 0d 01 
[plustek] 0x50: 00 fc 68 a0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: 48 3e 08 89 02 04 68 48  00 04 00 00 70 00 00 00 
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00 
[plustek] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage(30606)
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=10252
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 96 (0x0060)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] usb_GetMCLKDiv()
[plustek] - lower mclkdiv limit=3.500000
[plustek] - upper mclkdiv limit=32.500000
[plustek] - hdpi          = 1.000
[plustek] - pixelbits     = 8
[plustek] - pixelsperline = 10200
[plustek] - linelen       = 10592
[plustek] - transferrate  = 2000000
[plustek] - MCLK Divider  = 3
[plustek] - Current MCLK Divider = 3
[plustek] - HIGHSPEED MCLK Divider = 6
[plustek] * Integration Time Adjust = 0 (HDPI=1.000,MCLKD=6.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 6.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 30606
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 30606
[plustek] * PL=206, coeffsize=216, scaler=3
[plustek] * PauseLimit = 30, [0x4e] = 0x0d, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 63 00 00 XX XX 03  0a 18 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 00 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 28 0c 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 19 64 00 17 13 24  00 00 00 01 01 01 00 00 
[plustek] 0x40: 40 00 20 00 00 03 1f 22  00 e7 00 00 00 00 0d 01 
[plustek] 0x50: 00 fc 68 a0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: 48 7f 08 00 02 04 68 48  00 04 00 00 10 00 00 01 
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00 
[plustek] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage(30606)
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] usb_SpeedTest() done - 3 loops, 107112.0000us --> 857214.8779 B/s, 857214
[plustek] #########################
[plustek] usb_AutoWarmup()
[plustek] - function skipped, CIS device!
[plustek] GETMCLK[8/2], using entry 8: 6.000, 1200
[plustek] SETMCLK[8/2]: 6.000
[plustek] GETMCLK[8/2], using entry 0: 3.000, 100
[plustek] SETMCLK[8/2]: 3.000
[plustek] ###### ADJUST LAMP (COARSE)#######
[plustek] MotorDPI=1200, MaxMoveSpeed=0.300, FFStepSize=520, Steps=200
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x02, 0x49=0x08 
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] cano_AdjustLightsource()
[plustek] * Coarse Calibration Strip:
[plustek] * Lines    = 1
[plustek] * Pixels   = 10200
[plustek] * Bytes    = 61200
[plustek] * Origin.X = 13
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=10252
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 2 (HDPI=1.000,MCLKD=3.000)
[plustek] * Stepsize = 11955, 0x46=0x2e 0x47=0xb3
[plustek] * DPD =7488 (0x1d40)
[plustek] * DPD =24288 (0x5ee0), step size=11955, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 61206
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 61206
[plustek] * PL=140, coeffsize=192, scaler=3
[plustek] * PauseLimit = 60, [0x4e] = 0x1c, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 62 00 00 XX XX 03  04 20 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 02 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 28 0c 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 19 64 00 17 13 24  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 20 00 00 03 2e b3  00 e7 00 00 00 00 1c 01 
[plustek] 0x50: 00 fc 5e e0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: c8 7f 08 94 02 04 28 48  00 04 00 00 70 00 00 01 
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00 
[plustek] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_ScanReadImage(61206)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] * PhyBytes  = 61206
[plustek] * PhyPixels = 10200
[plustek] Creating file 'coarse-lamp-0.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] Creating file 'coarse-lamp-swap0.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] red_lamp_off  = 23/16383/16383
[plustek] green_lamp_off = 23/6500/16383
[plustek] blue_lamp_off = 23/4900/16383
[plustek] CUR(R,G,B)= 0xea44(59972), 0xb789(46985), 0xd034(53300)
[plustek] * TOO DARK --> up
[plustek] * TOO DARK --> up
[plustek] usb_AdjustLamps(1)
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=10252
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 2 (HDPI=1.000,MCLKD=3.000)
[plustek] * Stepsize = 11955, 0x46=0x2e 0x47=0xb3
[plustek] * DPD =7488 (0x1d40)
[plustek] * DPD =24288 (0x5ee0), step size=11955, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 61206
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 61206
[plustek] * PL=140, coeffsize=192, scaler=3
[plustek] * PauseLimit = 60, [0x4e] = 0x1c, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 62 00 00 XX XX 03  04 20 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 02 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 28 0c 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 2c b1 00 17 26 48  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 20 00 00 03 2e b3  00 e7 00 00 00 00 1c 01 
[plustek] 0x50: 00 fc 5e e0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: c8 7f 08 d4 02 04 28 48  00 04 00 00 70 00 00 04 
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00 
[plustek] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_ScanReadImage(61206)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] * PhyBytes  = 61206
[plustek] * PhyPixels = 10200
[plustek] Creating file 'coarse-lamp-1.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] Creating file 'coarse-lamp-swap1.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] red_lamp_off  = 23/16383/16383
[plustek] green_lamp_off = 6500/11441/16383
[plustek] blue_lamp_off = 4900/9800/16383
[plustek] CUR(R,G,B)= 0xe8ad(59565), 0xffff(65535), 0xffff(65535)
[plustek] * TOO BRIGHT --> reduce
[plustek] * TOO BRIGHT --> reduce
[plustek] usb_AdjustLamps(1)
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=10252
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 2 (HDPI=1.000,MCLKD=3.000)
[plustek] * Stepsize = 11955, 0x46=0x2e 0x47=0xb3
[plustek] * DPD =7488 (0x1d40)
[plustek] * DPD =24288 (0x5ee0), step size=11955, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 61206
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 61206
[plustek] * PL=140, coeffsize=192, scaler=3
[plustek] * PauseLimit = 60, [0x4e] = 0x1c, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 62 00 00 XX XX 03  04 20 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 02 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 28 0c 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 23 0a 00 17 1c b6  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 20 00 00 03 2e b3  00 e7 00 00 00 00 1c 01 
[plustek] 0x50: 00 fc 5e e0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: c8 3e 08 f5 02 04 68 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] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_ScanReadImage(61206)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] * PhyBytes  = 61206
[plustek] * PhyPixels = 10200
[plustek] Creating file 'coarse-lamp-2.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] Creating file 'coarse-lamp-swap2.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] red_lamp_off  = 23/16383/16383
[plustek] green_lamp_off = 6500/8970/11441
[plustek] blue_lamp_off = 4900/7350/9800
[plustek] CUR(R,G,B)= 0xe816(59414), 0xfae4(64228), 0xffff(65535)
[plustek] * TOO BRIGHT --> reduce
[plustek] * TOO BRIGHT --> reduce
[plustek] usb_AdjustLamps(1)
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=10252
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 2 (HDPI=1.000,MCLKD=3.000)
[plustek] * Stepsize = 11955, 0x46=0x2e 0x47=0xb3
[plustek] * DPD =7488 (0x1d40)
[plustek] * DPD =24288 (0x5ee0), step size=11955, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 61206
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 61206
[plustek] * PL=140, coeffsize=192, scaler=3
[plustek] * PauseLimit = 60, [0x4e] = 0x1c, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 62 00 00 XX XX 03  04 20 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 02 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 28 0c 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 1e 37 00 17 17 ed  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 20 00 00 03 2e b3  00 e7 00 00 00 00 1c 01 
[plustek] 0x50: 00 fc 5e e0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: c8 7f 08 9c 02 04 28 48  00 04 00 00 50 00 00 03 
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00 
[plustek] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_ScanReadImage(61206)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] * PhyBytes  = 61206
[plustek] * PhyPixels = 10200
[plustek] Creating file 'coarse-lamp-3.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] Creating file 'coarse-lamp-swap3.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] red_lamp_off  = 23/16383/16383
[plustek] green_lamp_off = 6500/7735/8970
[plustek] blue_lamp_off = 4900/6125/7350
[plustek] CUR(R,G,B)= 0xe884(59524), 0xd905(55557), 0xfe92(65170)
[plustek] * TOO BRIGHT --> reduce
[plustek] usb_AdjustLamps(1)
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=10252
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 2 (HDPI=1.000,MCLKD=3.000)
[plustek] * Stepsize = 11955, 0x46=0x2e 0x47=0xb3
[plustek] * DPD =7488 (0x1d40)
[plustek] * DPD =24288 (0x5ee0), step size=11955, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 61206
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 61206
[plustek] * PL=140, coeffsize=192, scaler=3
[plustek] * PauseLimit = 60, [0x4e] = 0x1c, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 62 00 00 XX XX 03  04 20 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 02 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 28 0c 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 1e 37 00 17 15 88  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 20 00 00 03 2e b3  00 e7 00 00 00 00 1c 01 
[plustek] 0x50: 00 fc 5e e0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: c8 3e 08 45 02 04 68 48  00 04 00 00 b0 00 00 04 
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00 
[plustek] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_ScanReadImage(61206)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] * PhyBytes  = 61206
[plustek] * PhyPixels = 10200
[plustek] Creating file 'coarse-lamp-4.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] Creating file 'coarse-lamp-swap4.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] red_lamp_off  = 23/16383/16383
[plustek] green_lamp_off = 6500/7735/8970
[plustek] blue_lamp_off = 4900/5512/6125
[plustek] CUR(R,G,B)= 0xe801(59393), 0xd8dc(55516), 0xe89f(59551)
[plustek] * red_lamp_on    = 23
[plustek] * red_lamp_off   = 16383
[plustek] * green_lamp_on  = 23
[plustek] * green_lamp_off = 7735
[plustek] * blue_lamp_on   = 23
[plustek] * blue_lamp_off  = 5512
[plustek] cano_AdjustLightsource() done.
[plustek] ###### ADJUST OFFSET (COARSE) ####
[plustek] MotorDPI=1200, MaxMotorSpeed=0.720, FFStepSize=217
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x00, 0x49=0xd9
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] MotorDPI=1200, MaxMoveSpeed=0.300, FFStepSize=520, Steps=40
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x02, 0x49=0x08 
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] cano_AdjustOffset()
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=0, LineEnd=10200
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 2 (HDPI=1.000,MCLKD=3.000)
[plustek] * Stepsize = 11955, 0x46=0x2e 0x47=0xb3
[plustek] * DPD =7488 (0x1d40)
[plustek] * DPD =24288 (0x5ee0), step size=11955, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 61206
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 61206
[plustek] * PL=140, coeffsize=192, scaler=3
[plustek] * PauseLimit = 60, [0x4e] = 0x1c, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] S.dwPixels  = 10200
[plustek] dwPixels    = 10200
[plustek] dwPhyBytes  = 61206
[plustek] dwPhyPixels = 10200
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(4)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 63 00 00 XX XX 03  04 20 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 02 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 00 27 d8 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 1e 37 00 17 15 88  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 20 00 00 03 2e b3  00 e7 00 00 00 00 1c 01 
[plustek] 0x50: 00 fc 5e e0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: c8 3e 08 1d 02 04 a8 48  00 04 00 00 b0 00 00 02 
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00 
[plustek] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_ScanReadImage(61206)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] Creating file 'coarse-off-0.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] RedSum   = 423213, ave = 41
[plustek] GreenSum = 631766, ave = 61
[plustek] BlueSum  = 1020980, ave = 100
[plustek] RedOff   = -32/0/31
[plustek] GreenOff = -32/0/31
[plustek] BlueOff  = -32/0/31
[plustek] REG[0x38] = 0
[plustek] REG[0x39] = 0
[plustek] REG[0x3a] = 0
[plustek] cano_AdjustOffset() done.
[plustek] ###### ADJUST GAIN (COARSE)#######
[plustek] MotorDPI=1200, MaxMoveSpeed=0.300, FFStepSize=520, Steps=200
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x02, 0x49=0x08 
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] cano_AdjustGain()
[plustek] Coarse Calibration Strip:
[plustek] Lines    = 1
[plustek] Pixels   = 10200
[plustek] Bytes    = 61200
[plustek] Origin.X = 13
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 1.000
[plustek] * XDPI=1200, HDPI=1.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=10252
[plustek] >> End-Start=10200, HDPI=1.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 2 (HDPI=1.000,MCLKD=3.000)
[plustek] * Stepsize = 11955, 0x46=0x2e 0x47=0xb3
[plustek] * DPD =7488 (0x1d40)
[plustek] * DPD =24288 (0x5ee0), step size=11955, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 231, [0x48] = 0x00, [0x49] = 0xe7
[plustek] * PhyBytes   = 61206
[plustek] * PhyLines   = 1
[plustek] * TotalBytes = 61206
[plustek] * PL=140, coeffsize=192, scaler=3
[plustek] * PauseLimit = 60, [0x4e] = 0x1c, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(1)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 62 00 00 XX XX 03  04 20 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 02 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 28 0c 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 1e 37 00 17 15 88  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 20 00 00 13 2e b3  00 e7 00 00 00 00 1c 01 
[plustek] 0x50: 00 fc 5e e0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: c8 3e 08 45 02 04 68 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] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_ScanReadImage(61206)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] PhyBytes  = 61206
[plustek] PhyPixels = 10200
[plustek] Creating file 'coarse-gain-0.raw'
[plustek] > X=10201, Y=1, depth=16
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] MAX(R,G,B)= 0xe21a(57882), 0xd5df(54751), 0xe4a5(58533)
[plustek] REG[0x3b] = 10
[plustek] REG[0x3c] = 10
[plustek] REG[0x3d] = 10
[plustek] cano_AdjustGain() done.
[plustek] ###### ADJUST DARK (FINE) ########
[plustek] MotorDPI=1200, MaxMotorSpeed=0.720, FFStepSize=217
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x00, 0x49=0xd9
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] MotorDPI=1200, MaxMoveSpeed=0.300, FFStepSize=520, Steps=40
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x02, 0x49=0x08 
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] cano_AdjustDarkShading()
[plustek] Creating file 'fine-dark.raw'
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 12.000
[plustek] * XDPI=100, HDPI=12.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=4900
[plustek] >> End-Start=4848, HDPI=12.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 0 (HDPI=12.000,MCLKD=3.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 462, [0x48] = 0x01, [0x49] = 0xce
[plustek] * PhyBytes   = 2430
[plustek] * PhyLines   = 32
[plustek] * TotalBytes = 77760
[plustek] * PL=312, coeffsize=192, scaler=3
[plustek] * PauseLimit = 76, [0x4e] = 0x24, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(2)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 63 00 01 XX XX 03  04 27 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 00 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 13 24 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 1e 37 00 17 15 88  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 20 00 00 13 1f 22  01 ce 00 00 00 00 24 01 
[plustek] 0x50: 00 fc 68 a0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: 50 3e 2b d3 10 44 e8 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] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_ScanReadImage(77760)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] Color[0] (Dark): 404 all min=24(323) max=820(66) ave=274
[plustek] 5%: low at 260 (count=222), upper at 287 (count=174)
[plustek] Color[1] (Dark): 404 all min=49(323) max=865(66) ave=322
[plustek] 5%: low at 305 (count=228), upper at 338 (count=167)
[plustek] Color[2] (Dark): 404 all min=85(339) max=935(66) ave=400
[plustek] 5%: low at 380 (count=225), upper at 420 (count=166)
[plustek] cano_AdjustDarkShading() done
[plustek] ###### ADJUST WHITE (FINE) #######
[plustek] MotorDPI=1200, MaxMoveSpeed=0.300, FFStepSize=520, Steps=200
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x02, 0x49=0x08 
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] MotorDPI=1200, MaxMotorSpeed=0.720, FFStepSize=217
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x00, 0x49=0xd9
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] MotorDPI=1200, MaxMoveSpeed=0.300, FFStepSize=520, Steps=200
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x02, 0x49=0x08 
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] cano_AdjustWhiteShading()
[plustek] FINE WHITE Calibration Strip: fine-white.raw
[plustek] Lines       = 32
[plustek] Pixels      = 202
[plustek] Bytes       = 1212
[plustek] Origin.X    = 0
[plustek] Creating file 'fine-white.raw'
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 12.000
[plustek] * XDPI=100, HDPI=12.000
[plustek] * YDPI=1200, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=4900
[plustek] >> End-Start=4848, HDPI=12.00
[plustek] * Full Steps to Skip at Start = 0x0000
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 7970, 0x46=0x1f 0x47=0x22
[plustek] * DPD =4992 (0x1380)
[plustek] * DPD =26784 (0x68a0), step size=7970, steps2rev=0
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] * Integration Time Adjust = 0 (HDPI=12.000,MCLKD=3.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 462, [0x48] = 0x01, [0x49] = 0xce
[plustek] * PhyBytes   = 2430
[plustek] * PhyLines   = 32
[plustek] * TotalBytes = 77760
[plustek] * PL=312, coeffsize=192, scaler=3
[plustek] * PauseLimit = 76, [0x4e] = 0x24, [0x4f] = 0x01
[plustek] usb_SetScanParameters() done.
[plustek] usb_ScanBegin()
[plustek] usb_DownloadShadingData(3)
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 62 08 00 XX XX 03  04 27 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 00 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 13 24 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 1e 37 00 17 15 88  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 24 00 00 13 1f 22  01 ce 00 00 00 00 24 01 
[plustek] 0x50: 00 fc 68 a0 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: 50 7f 2b 72 10 44 28 80  00 04 00 00 d0 00 00 04 
[plustek] 0x70: 00 00 00 00 30 00 00 00  00 00 00 00 00 00 00 00 
[plustek] >>> INCH=0, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] usb_ScanReadImage(77760)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] usbDev_ScanEnd(), start=1, park=0
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] We're little-endian!  NatSemi LM983x is big!
[plustek] --> Must swap data!
[plustek] Color[0] (White): 404 all min=18198(78) max=24158(0) ave=20917
[plustek] 5%: low at 19871 (count=111), upper at 21962 (count=135)
[plustek] Color[1] (White): 404 all min=19560(12) max=25496(333) ave=23329
[plustek] 5%: low at 22162 (count=92), upper at 24495 (count=112)
[plustek] Color[2] (White): 404 all min=18327(12) max=25351(333) ave=23145
[plustek] 5%: low at 21987 (count=81), upper at 24302 (count=134)
[plustek] cano_AdjustWhiteShading() done
[plustek] MotorDPI=1200, MaxMotorSpeed=0.720, FFStepSize=217
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x00, 0x49=0xd9
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] cano_DoCalibration() done
[plustek] -------------------------
[plustek] Static Gain:
[plustek] REG[0x3b] = 10
[plustek] REG[0x3c] = 10
[plustek] REG[0x3d] = 10
[plustek] Static Offset:
[plustek] REG[0x38] = 0
[plustek] REG[0x39] = 0
[plustek] REG[0x3a] = 0
[plustek] -------------------------
[plustek] calibration done.
[plustek] usb_SetScanParameters()
[plustek] * HDPI: 12.000
[plustek] * XDPI=100, HDPI=12.000
[plustek] * YDPI=75, MinDPIY=75
[plustek] * DataPixelStart=52, LineEnd=4900
[plustek] >> End-Start=4848, HDPI=12.00
[plustek] * Full Steps to Skip at Start = 0x0190
[plustek] * StepSize(Preset) = 192 (0x00c0)
[plustek] * Scan calculations...
[plustek] * LineLength=10592, LineRateColor=3
[plustek] * Stepsize = 497, 0x46=0x01 0x47=0xf1
[plustek] * DPD =160 (0x00a0)
[plustek] * DPD =31616 (0x7b80), step size=497, steps2rev=32
[plustek] * llen=10592, lineRateColor=3, qtcnt=8, hfcnt=8
[plustek] usb_GetMCLKDivider()
[plustek] usb_GetMCLKDiv()
[plustek] - lower mclkdiv limit=2.500000
[plustek] - upper mclkdiv limit=32.500000
[plustek] - hdpi          = 12.000
[plustek] - pixelbits     = 8
[plustek] - pixelsperline = 404
[plustek] - linelen       = 10592
[plustek] - transferrate  = 857214
[plustek] - MCLK Divider  = 0
[plustek] - Current MCLK Divider = 2
[plustek] * Integration Time Adjust = 0 (HDPI=12.000,MCLKD=3.000)
[plustek] * Setting GreenPWMDutyCycleHigh
[plustek] * Current MCLK Divider = 3.000000
[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x1f
[plustek] * FFStepSize = 462, [0x48] = 0x01, [0x49] = 0xce
[plustek] * PhyBytes   = 1218
[plustek] * PhyLines   = 225
[plustek] * TotalBytes = 274050
[plustek] * PL=292, coeffsize=216, scaler=3
[plustek] * PauseLimit = 268, [0x4e] = 0x84, [0x4f] = 0x01
[plustek] * Scansteps=3696 (231*1200/75)
[plustek] usb_SetScanParameters() done.
[plustek] ImageProc is: ColorScale8_2
[plustek] * scan->dwFlag=0x40000400
[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 404 pixels
[plustek] Register Dump before reading data:
[plustek] 0x00: XX 00 63 09 00 XX XX 03  04 1f 00 15 4c 2f 00 00 
[plustek] 0x10: 00 04 05 06 07 00 00 00  05 00 00 01 00 00 00 00 
[plustek] 0x20: 29 5a 00 34 13 24 15 00  03 02 00 00 00 17 3f ff 
[plustek] 0x30: 00 17 1e 37 00 17 15 88  00 00 00 0a 0a 0a 00 00 
[plustek] 0x40: 40 00 26 00 00 13 01 f1  01 ce 01 90 0e 70 84 01 
[plustek] 0x50: 20 fc 7b 80 00 0f 08 1f  00 66 16 91 01 00 00 00 
[plustek] 0x60: c0 3e 0c d1 10 44 10 48  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] >>> INCH=100, DOY=100
[plustek] usb_ScanBegin() done.
[plustek] SampleY Flag set (50 != 75, wSumY=25)
[plustek] Creating file 'plustek-pic.raw'
[plustek] > X=406, Y=150, depth=8
[plustek] Reading the data now!
[plustek] PhyDpi.x         = 100
[plustek] PhyDpi.y         = 75
[plustek] UserDpi.x        = 50
[plustek] UserDpi.y        = 50
[plustek] NumberOfScanBufs = 215
[plustek] LinesPerScanBufs = 6880
[plustek] dwPhyBytes       = 1218
[plustek] dwPhyPixels      = 404
[plustek] dwTotalBytes     = 274050
[plustek] dwPixels         = 202
[plustek] dwBytes          = 606
[plustek] dwValidPixels    = 404
[plustek] dwBytesScanBuf   = 38976
[plustek] dwLinesDiscard   = 0
[plustek] dwLinesToSkip    = 1
[plustek] dwLinesUser      = 150
[plustek] dwBytesLine      = 606
[plustek] usb_ReadData()
[plustek] Skipping 1 lines
[plustek] usb_ScanReadImage(1218)
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ScanReadImage(38976)
[plustek] usb_ScanReadImage() done, result: 0
[plustek] reader_process: READING....
[plustek] usb_ReadData()
[plustek] usb_ScanReadImage(38976)
[plustek] IPC: Transferrate = 857214 Bytes/s
[plustek] sane_read - read 12726 bytes
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ReadData()
[plustek] usb_ScanReadImage(38976)
[plustek] sane_read - read 12726 bytes
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ReadData()
[plustek] usb_ScanReadImage(38976)
[plustek] sane_read - read 12726 bytes
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ReadData()
[plustek] usb_ScanReadImage(38976)
[plustek] sane_read - read 13332 bytes
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ReadData()
[plustek] usb_ScanReadImage(38976)
[plustek] sane_read - read 12726 bytes
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ReadData()
[plustek] usb_ScanReadImage(38976)
[plustek] sane_read - read 12726 bytes
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ReadData()
[plustek] sane_read - read 13332 bytes
[plustek] usb_ScanReadImage(1218)
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ReadData()
[plustek] reader_process: finished reading data
[plustek] (SIG) Child is down (signal=17)
[plustek] sane_read - read 606 bytes
[plustek] sane_read - read 0 bytes
[plustek] drvclose()
[plustek] TIME END 1: 17s
[plustek] usbDev_stopScan()
[plustek] usbDev_ScanEnd(), start=1, park=1
[plustek] MotorDPI=1200, MaxMotorSpeed=0.720, FFStepSize=217
[plustek] MOTOR: PWM=0x08, PWM_DUTY=0x1f 0x45=0x13 0x48=0x00, 0x49=0xd9
[plustek] MCLK_FFW = 8 --> 0x0e
[plustek] Lamp-Timer started (using ITIMER)
[plustek] usbDev_close()
[plustek] close_pipe (r_pipe)
[plustek] sane_cancel
[plustek] do_cancel
[plustek] TIME END 2: 17s
[plustek] sane_close
[plustek] sane_exit
[plustek] Shutdown called (dev->fd=-1, libusb:003:003)
[plustek] Waiting for scanner-ready...
[plustek] Switching lamp off...
[plustek] LAMP-STATUS: 0x00000001 (on)
[plustek] Switching Lamp off
[plustek] usb_AdjustLamps(0)
[plustek] LAMP-STATUS: 0x00000000 (off)
[plustek] Lamp-Timer stopped


More information about the sane-devel mailing list