<div dir="ltr">Hi!<br><br>I'm trying to get sane to work on an HP2200c on OS X 10.5. sane-find-sanner works, perfectly, but I get the following error message with sane:<br><br>scanimage: sane_start: Error during device I/O<br>
<br>reviewing the debug log,
this is what I get:<br><br>[plustek] ERROR: could not start reader task<br>
<br>The light in the bed of my scanner lights up. Reviewing the archive logs I tried it with an earlier version of libusb (downgraded from 0.1.12 to 0.1.8) but this did not help.<br><br>Does anybody have any suggestions?<br>
<br>Thank you for your help!<br><br>Sam<br><br>~ [08:20:57] SANE_DEBUG_PLUSTEK=150 scanimage > test.pnm<br>[sanei_debug] Setting debug level of plustek to 150.<br>[plustek] Plustek backend V0.51-12, part of sane-backends 1.0.18<br>
[plustek] Retrieving all supported and conntected devices<br>[plustek] Checking for 0x07b3-0x0010<br>[plustek] Checking for 0x07b3-0x0011<br>[plustek] Checking for 0x07b3-0x0017<br>[plustek] Checking for 0x07b3-0x0015<br>
[plustek] Checking for 0x07b3-0x0017<br>[plustek] Checking for 0x07b3-0x0013<br>[plustek] Checking for 0x07b3-0x0013<br>[plustek] Checking for 0x07b3-0x0011<br>[plustek] Checking for 0x07b3-0x0010<br>[plustek] Checking for 0x07b3-0x0014<br>
[plustek] Checking for 0x07b3-0x0015<br>[plustek] Checking for 0x07b3-0x0014<br>[plustek] Checking for 0x07b3-0x0016<br>[plustek] Checking for 0x07b3-0x0017<br>[plustek] Checking for 0x07b3-0x0017<br>[plustek] Checking for 0x07b3-0x0007<br>
[plustek] Checking for 0x07b3-0x000f<br>[plustek] Checking for 0x07b3-0x000f<br>[plustek] Checking for 0x07b3-0x0005<br>[plustek] Checking for 0x07b3-0x0014<br>[plustek] Checking for 0x07b3-0x0012<br>[plustek] Checking for 0x0400-0x1000<br>
[plustek] Checking for 0x0400-0x1001<br>[plustek] Checking for 0x0400-0x1001<br>[plustek] Checking for 0x0458-0x2007<br>[plustek] Checking for 0x0458-0x2008<br>[plustek] Checking for 0x0458-0x2009<br>[plustek] Checking for 0x0458-0x2013<br>
[plustek] Checking for 0x0458-0x2015<br>[plustek] Checking for 0x0458-0x2016<br>[plustek] Checking for 0x03f0-0x0505<br>[plustek] Checking for 0x03f0-0x0605<br>[plustek] Checking for 0x04b8-0x010f<br>[plustek] Checking for 0x04b8-0x011d<br>
[plustek] Checking for 0x1606-0x0050<br>[plustek] Checking for 0x1606-0x0060<br>[plustek] Checking for 0x1606-0x0160<br>[plustek] Checking for 0x049f-0x001a<br>[plustek] Checking for 0x04a9-0x2206<br>[plustek] Checking for 0x04a9-0x2207<br>
[plustek] Checking for 0x04a9-0x2208<br>[plustek] Checking for 0x04a9-0x220d<br>[plustek] Checking for 0x04a9-0x220e<br>[plustek] Checking for 0x04a9-0x2220<br>[plustek] Checking for 0x0a82-0x6620<br>[plustek] Available and supported devices:<br>
[plustek] Device: >libusb:001:002-03f0-0605-ff-00< - 0x03f0x0x0605<br>[plustek] ># Plustek-SANE Backend configuration file<<br>[plustek] ># For use with LM9831/2/3 based USB scanners<<br>[plustek] >#<<br>
[plustek] ><<br>[plustek] ># each device needs at least two lines:<<br>[plustek] ># - [usb] vendor-ID and product-ID<<br>[plustek] ># - device devicename<<br>[plustek] ># i.e. for Plustek (0x07B3) UT12/16/24 (0x0017)<<br>
[plustek] ># [usb] 0x07B3 0x0017<<br>[plustek] ># device /dev/usbscanner<<br>[plustek] ># or<<br>[plustek] ># device libusb:bbb:ddd<<br>[plustek] ># where bbb is the busnumber and ddd the device number<<br>
[plustek] ># make sure that your user has access to /proc/bus/usb/bbb/ddd<<br>[plustek] >#<<br>[plustek] ># additionally you can specify some options<<br>[plustek] ># warmup, lOffOnEnd, lampOff<<br>
[plustek] >#<<br>[plustek] ># For autodetection use<<br>[plustek] ># [usb]<<br>[plustek] ># device /dev/usbscanner<<br>[plustek] >#<<br>[plustek] ># or simply<<br>[plustek] ># [usb]<<br>
[plustek] >#<<br>[plustek] ># or if you want a specific device but you have no idea about the<<br>[plustek] ># device node or you use libusb, simply set vendor- and product-ID<<br>[plustek] ># [usb] 0x07B3 0x0017<<br>
[plustek] ># device auto<<br>[plustek] >#<<br>[plustek] ># NOTE: autodetection is safe, as it uses the info it got<<br>[plustek] ># from the USB subsystem. If you're not using the<<br>[plustek] ># autodetection, you MUST have attached that device<<br>
[plustek] ># at your USB-port, that you have specified...<<br>[plustek] >#<<br>[plustek] ><<br>[plustek] >[usb 0x03F0 0x0605]<<br>[plustek] ignoring >[usb 0x03F0 0x0605]<<br>[plustek] >device libusb:001:002<<br>
[plustek] Decoding device name >libusb:001:002<<br>[plustek] >#<<br>[plustek] ># options for the previous USB entry<<br>[plustek] >#<<br>[plustek] ># switch lamp off after xxx secs, 0 disables the feature<<br>
[plustek] ># (can also be set via frontend)<<br>[plustek] >option lampOff 300<<br>[plustek] Decoding option >lampOff<<br>[plustek] ><<br>[plustek] ># warmup period in seconds, 0 means no warmup, -1 means auto-warmup<<br>
[plustek] ># (can also be set via frontend)<<br>[plustek] >option warmup -1<<br>[plustek] Decoding option >warmup<<br>[plustek] ><<br>[plustek] ># 0 means leave lamp-status untouched, not 0 means switch off<<br>
[plustek] ># on sane_close<<br>[plustek] ># (can also be set via frontend)<<br>[plustek] >option lOffOnEnd 1<<br>[plustek] Decoding option >lOffOnEnd<<br>[plustek] ><<br>[plustek] >#<<br>
[plustek] ># options to tweak the image start-position<<br>[plustek] ># (WARNING: there's no internal range check!!!)<<br>[plustek] >#<<br>[plustek] ># for the normal scan area<<br>[plustek] >#<<br>
[plustek] >option posOffX 0<<br>[plustek] Decoding option >posOffX<<br>[plustek] >option posOffY 0<<br>[plustek] Decoding option >posOffY<<br>[plustek] ><<br>[plustek] ># for transparencies<<br>
[plustek] >option tpaOffX 0<<br>[plustek] Decoding option >tpaOffX<<br>[plustek] >option tpaOffY 0<<br>[plustek] Decoding option >tpaOffY<<br>[plustek] ><<br>[plustek] ># for negatives<<br>
[plustek] >option negOffX 0<<br>[plustek] Decoding option >negOffX<<br>[plustek] >option negOffY 0<<br>[plustek] Decoding option >negOffY<<br>[plustek] ><<br>[plustek] >#<<br>[plustek] ># for setting the calibration strip position<<br>
[plustek] ># (WARNING: there's no internal range check!!!)<<br>[plustek] ># -1 means use built in<<br>[plustek] ># (can also be set via frontend)<<br>[plustek] >option posShadingY -1<<br>[plustek] Decoding option >posShadingY<<br>
[plustek] >option tpaShadingY -1<<br>[plustek] Decoding option >tpaShadingY<<br>[plustek] >option negShadingY -1<<br>[plustek] Decoding option >negShadingY<<br>[plustek] ><<br>[plustek] >#<<br>
[plustek] ># to invert the negatives, 0 disables the feature<<br>[plustek] >#<<br>[plustek] >option invertNegatives 0<<br>[plustek] Decoding option >invertNegatives<<br>[plustek] ><<br>[plustek] >#<<br>
[plustek] ># to disable the internal sensor speedup function,<<br>[plustek] ># 1 disables the feature<<br>[plustek] >#<<br>[plustek] >option disableSpeedup 0<<br>[plustek] Decoding option >disableSpeedup<<br>
[plustek] ><<br>[plustek] >#<<br>[plustek] ># to save/restore coarse calibration data<<br>[plustek] ># (can also be set via frontend)<<br>[plustek] >option cacheCalData 0<<br>[plustek] Decoding option >cacheCalData<<br>
[plustek] ><<br>[plustek] >#<<br>[plustek] ># use alternate calibration routines<<br>[plustek] >#<<br>[plustek] >option altCalibration 0<<br>[plustek] Decoding option >altCalibration<<br>
[plustek] ><<br>[plustek] >#<<br>[plustek] ># for skipping whole calibration step<<br>[plustek] >#<<br>[plustek] >option skipCalibration 0<<br>[plustek] Decoding option >skipCalibration<<br>
[plustek] ><<br>[plustek] >#<<br>[plustek] ># for skipping entire fine calibration step<<br>[plustek] ># coarse calibration is done<<br>[plustek] >#<<br>[plustek] >option skipFine 0<<br>
[plustek] Decoding option >skipFine<<br>[plustek] ><<br>[plustek] >#<<br>[plustek] ># discard the result of the fine white calibration<<br>[plustek] >#<<br>[plustek] >option skipFineWhite 0<<br>
[plustek] Decoding option >skipFineWhite<<br>[plustek] ><<br>[plustek] ># for replacing the gain values found during coarse<<br>[plustek] ># calibration<<br>[plustek] ># (can also be set via frontend)<<br>
[plustek] >option red_gain -1<<br>[plustek] Decoding option >red_gain<<br>[plustek] >option green_gain -1<<br>[plustek] Decoding option >green_gain<<br>[plustek] >option blue_gain -1<<br>[plustek] Decoding option >blue_gain<<br>
[plustek] ><<br>[plustek] ># for replacing the offset values found during coarse<<br>[plustek] ># calibration<<br>[plustek] ># (can also be set via frontend)<<br>[plustek] >option red_offset -1<<br>
[plustek] Decoding option >red_offset<<br>[plustek] >option green_offset -1<<br>[plustek] Decoding option >green_offset<<br>[plustek] >option blue_offset -1<<br>[plustek] Decoding option >blue_offset<<br>
[plustek] ><<br>[plustek] >#<<br>[plustek] ># for replacing the default lampoff settings, this<<br>[plustek] ># works only for CIS devices like CanoScan LiDE20<<br>[plustek] ># (can also be set via frontend)<<br>
[plustek] >option red_lampoff -1<<br>[plustek] Decoding option >red_lampoff<<br>[plustek] >option green_lampoff -1<<br>[plustek] Decoding option >green_lampoff<<br>[plustek] >option blue_lampoff -1<<br>
[plustek] Decoding option >blue_lampoff<<br>[plustek] ><<br>[plustek] >#<<br>[plustek] ># for adjusting the default gamma values<<br>[plustek] ># (can also be set via frontend)<<br>[plustek] >option redGamma 1.0<<br>
[plustek] Decoding option >redGamma<<br>[plustek] >option greenGamma 1.0<<br>[plustek] Decoding option >greenGamma<<br>[plustek] >option blueGamma 1.0<<br>[plustek] Decoding option >blueGamma<<br>
[plustek] >option grayGamma 1.0<<br>[plustek] Decoding option >grayGamma<<br>[plustek] ><<br>[plustek] >#<<br>[plustek] ># to enable TPA (EPSON or UMAX, if autodetection fails)<<br>[plustek] ># 0 means default behaviour as specified in the internal tables<<br>
[plustek] ># 1 means enable (needed for UMAX 3450)<<br>[plustek] >option enableTPA 0<<br>[plustek] Decoding option >enableTPA<<br>[plustek] ><<br>[plustek] >#<<br>[plustek] ># model override functionality, currently only available for<<br>
[plustek] ># Mustek devices, using NSCs' vendor ID: 0x0400 and<<br>[plustek] ># also their product ID: 0x1000 (LM9831) 0x1001 (LM9832)<<br>[plustek] >#<<br>[plustek] ># mov/PID | 0x1000 | 0x1001<<br>
[plustek] ># ---------------------------------------<<br>[plustek] ># 0 (default)| BearPaw1200 | BearPaw 2400<<br>[plustek] ># 1 | ignored | BearPaw 1200<<br>[plustek] >#<<br>[plustek] >option mov 0<<br>
[plustek] Decoding option >mov<<br>[plustek] ><<br>[plustek] >#<<br>[plustek] ># and of course the device-name<<br>[plustek] >#<<br>[plustek] ># device /dev/usbscanner<<br>[plustek] >device auto<<br>
[plustek] Decoding device name >auto<<br>[plustek] ><<br>[plustek] >#<<br>[plustek] ># to define a new device, start with a new section:<<br>[plustek] ># [usb]<<br>[plustek] >#<<br>[plustek] attach (auto, 0xbfffe934, 0x0)<br>
[plustek] Device configuration:<br>[plustek] device name : >auto<<br>[plustek] USB-ID : ><<br>[plustek] model ovr. : 0<br>[plustek] warmup : -1s<br>[plustek] lampOff : 300<br>[plustek] lampOffOnEnd : yes<br>
[plustek] cacheCalData : no<br>[plustek] altCalibrate : no<br>[plustek] skipCalibr. : no<br>[plustek] skipFine : no<br>[plustek] skipFineWhite: no<br>[plustek] invertNegs. : no<br>[plustek] dis.Speedup : no<br>[plustek] pos_x : 0<br>
[plustek] pos_y : 0<br>[plustek] pos_shading_y: -1<br>[plustek] neg_x : 0<br>[plustek] neg_y : 0<br>[plustek] neg_shading_y: -1<br>[plustek] tpa_x : 0<br>[plustek] tpa_y : 0<br>[plustek] tpa_shading_y: -1<br>
[plustek] red gain : -1<br>[plustek] green gain : -1<br>[plustek] blue gain : -1<br>[plustek] red offset : -1<br>[plustek] green offset : -1<br>[plustek] blue offset : -1<br>[plustek] red lampoff : -1<br>[plustek] green lampoff: -1<br>
[plustek] blue lampoff : -1<br>[plustek] red Gamma : 1.00<br>[plustek] green Gamma : 1.00<br>[plustek] blue Gamma : 1.00<br>[plustek] gray Gamma : 1.00<br>[plustek] ---------------------<br>[plustek] usbDev_open(auto,) - 0x1068c0<br>
[plustek] Vendor ID=0x03F0, Product ID=0x0605<br>[plustek] usbio_DetectLM983x<br>[plustek] usbio_DetectLM983x: found LM9832/3<br>[plustek] Detected vendor & product ID: 0x03F0-0x0605<br>[plustek] Device description for >0x03F0-0x0605< found.<br>
[plustek] usb_initDev(31,0x03f0,-1)<br>[plustek] Device WAF : 0x00000000<br>[plustek] Transferrate: 1000000 Bytes/s<br>[plustek] Device Flags: 0x00000000<br>[plustek] Vendor adjusted to: >Hewlett-Packard<<br>[plustek] LAMP-STATUS: 0x00000000<br>
[plustek] RESETTING REGISTERS(-1) - 0x80<br>[plustek] SETTING THE MISC I/Os<br>[plustek] MISC I/O after RESET: 0xcc, 0xbc, 0xbb<br>[plustek] Calibration file-names set to:<br>[plustek] >/Users/sam/.sane/Hewlett-Packard-Scanjet_2200c-coarse.cal<<br>
[plustek] >/Users/sam/.sane/Hewlett-Packard-Scanjet_2200c-fine.cal<<br>[plustek] usb_SetScanParameters()<br>[plustek] * HDPI: 4.000<br>[plustek] * XDPI=150, HDPI=4.000<br>[plustek] * YDPI=150, MinDPIY=150<br>[plustek] * DataPixelStart=140, LineEnd=140<br>
[plustek] >> End-Start=0, HDPI=4.00<br>[plustek] * Full Steps to Skip at Start = 0x0000<br>[plustek] * StepSize(Preset) = 198 (0x00c6)<br>[plustek] * Scan calculations...<br>[plustek] * LineLength=5389, LineRateColor=1<br>
[plustek] * Stepsize = 337, 0x46=0x01 0x47=0x51<br>[plustek] * DPD =2753 (0x0ac1)<br>[plustek] * DPD =2636 (0x0a4c), step size=337, steps2rev=30<br>[plustek] * llen=5389, lineRateColor=1, qtcnt=8, hfcnt=8<br>[plustek] usb_GetMCLKDivider()<br>
[plustek] usb_GetMCLKDiv()<br>[plustek] - lower mclkdiv limit=2.500000<br>[plustek] - upper mclkdiv limit=32.500000<br>[plustek] - hdpi = 4.000<br>[plustek] - pixelbits = 8<br>[plustek] - pixelsperline = 0<br>
[plustek] - linelen = 5389<br>[plustek] - transferrate = 1000000<br>[plustek] - MCLK Divider = 0<br>[plustek] - Current MCLK Divider = 2<br>[plustek] * Integration Time Adjust = 0 (HDPI=4.000,MCLKD=4.000)<br>[plustek] * Setting GreenPWMDutyCycleLow<br>
[plustek] * Current MCLK Divider = 4.000000<br>[plustek] * MOTOR-Settings: PWM=0x08, PWM_DUTY=0x3c<br>[plustek] * FFStepSize = 198, [0x48] = 0x00, [0x49] = 0xc6<br>[plustek] * PhyBytes = 2<br>[plustek] * PhyLines = 2463597820<br>
[plustek] * TotalBytes = 632228344<br>[plustek] * PL=295, coeffsize=216, scaler=1<br>[plustek] * PauseLimit = 295, [0x4e] = 0x91, [0x4f] = 0x01<br>[plustek] * Scansteps=0 (2463597825*600/150)<br>[plustek] usb_SetScanParameters() done.<br>
[plustek] usbDev_getCaps()<br>[plustek] Scanner information:<br>[plustek] Vendor : Hewlett-Packard<br>[plustek] Model : Scanjet 2200c<br>[plustek] Flags : 0x00000000<br>[plustek] drvclose()<br>[plustek] usbDev_stopScan()<br>
[plustek] usbDev_ScanEnd(), start=0, park=0<br>[plustek] usbDev_close()<br>[plustek] attach: model = >Scanjet 2200c<<br>[plustek] sane_get_devices (0xbffff29c, 0)<br>[plustek] sane_open - libusb:001:002-03f0-0605-ff-00<br>
[plustek] Presetting Gamma tables (len=4096)<br>[plustek] * Channel[0], gamma 1.000<br>[plustek] * Channel[1], gamma 1.000<br>[plustek] * Channel[2], gamma 1.000<br>[plustek] * Channel[3], gamma 1.000<br>[plustek] ----------------------------------<br>
[plustek] Checking MISC IO[0]=0xcc<br>[plustek] * port 1 configured as input, status: RELEASED (39)<br>[plustek] * port 2 configured as input, status: RELEASED (40)<br>[plustek] Checking MISC IO[1]=0xbc<br>[plustek] * port 3 configured as input, status: RELEASED (41)<br>
[plustek] Checking MISC IO[2]=0xbb<br>[plustek] sane_start<br>[plustek] usbDev_open(libusb:001:002-03f0-0605-ff-00,) - 0x0<br>[plustek] Vendor ID=0x03F0, Product ID=0x0605<br>[plustek] usbio_DetectLM983x<br>[plustek] usbio_DetectLM983x: found LM9832/3<br>
[plustek] Detected vendor & product ID: 0x03F0-0x0605<br>[plustek] Device description for >0x03F0-0x0605< found.<br>[plustek] usb_initDev(31,0x03f0,31)<br>[plustek] Device WAF : 0x00000000<br>[plustek] Transferrate: 1000000 Bytes/s<br>
[plustek] Device Flags: 0x00000006<br>[plustek] Vendor adjusted to: >Hewlett-Packard<<br>[plustek] LAMP-STATUS: 0x00000000<br>[plustek] RESETTING REGISTERS(31) - 0x80<br>[plustek] USING MISC I/O settings<br>[plustek] MISC I/O after RESET: 0xcc, 0xbc, 0xbb<br>
[plustek] usbDev_getCaps()<br>[plustek] scanmode = 3<br>[plustek] usbDev_getCropInfo()<br>[plustek] usb_GetImageInfo()<br>[plustek] Area: cx=1216, cy=900<br>[plustek] PPL = 202<br>[plustek] LPA = 150<br>[plustek] BPL = 606<br>
[plustek] brightness 0, contrast 0<br>[plustek] usbDev_setScanEnv()<br>[plustek] usb_SaveImageInfo()<br>[plustek] * dwFlag = 0x00000400<br>[plustek] usb_GetImageInfo()<br>[plustek] Area: cx=1216, cy=900<br>[plustek] * Preview Mode NOT set!<br>
[plustek] Setting map[0] at 0x007d00f4<br>[plustek] Setting map[1] at 0x007d40f4<br>[plustek] Setting map[2] at 0x007d80f4<br>[plustek] usbDev_startScan()<br>[plustek] * HDPI: 12.000<br>[plustek] * XDPI=50, HDPI=12.000<br>
[plustek] * YDPI=150, MinDPIY=150<br>[plustek] LAMP-STATUS: 0x00000000<br>[plustek] Switching Lamp on<br>[plustek] Warmup-Timer started<br>[plustek] LAMP-STATUS: 0x00000001<br>[plustek] Lamp-Timer stopped<br>[plustek] dwflag = 0x40000400 dwBytesLine = 606 <br>
[plustek] Lines = 150<br>[plustek] Bytes per Line = 606<br>[plustek] Bitdepth = 8<br>[plustek] TIME START<br>[plustek] local_sane_start done<br>[plustek] reader_process started (as thread)<br>[plustek] reader_process:starting to READ data (90900 bytes)<br>
[plustek] buf = 0x007dd000<br>[plustek] usbDev_PrepareScan()<br>[plustek] ERROR: could not start reader task<br>[plustek] usbDev_close()<br>[plustek] UIO error<br>[plustek] usb_DoCalibration()<br>[plustek] ...goto shading position<br>
[plustek] ShadingOriginY=40<br>scanimage: sane_start: Error during device I/O<br>[plustek] sane_cancel<br>[plustek] sane_close<br>[plustek] close_pipe (r_pipe)<br>[plustek] close_pipe (w_pipe)<br>[plustek] sane_exit<br>[plustek] Shutdown called (dev->fd=-1, libusb:001:002-03f0-0605-ff-00)<br>
[plustek] Waiting for scanner-ready...<br>[plustek] Switching lamp off...<br>[plustek] LAMP-STATUS: 0x00000001<br>[plustek] Switching Lamp off<br>[plustek] LAMP-STATUS: 0x00000000<br>[plustek] Lamp-Timer stopped<br><br></div>