plustek@linuxhacker.org
Hi,
I'm trying to add support for an Canon CanoScan D660U to
sane-backends-1.0.13.
http://www.sane-project.org/unsupported/canon-d660u.html told me it may
be possible to have it working by modifying the plustek backend. So I've
tried the attached patch (just a copy and paste from other Canon parts
in the file with a little bit of modification), but sane-find-scannner
tells me:
---snip---
<trying to find out which USB chip is used>
checking for GT-6801 ...
this is not a GT-6801 (bDeviceClass = 0)
checking for GT-6816 ...
this is not a GT-6816 (bNumEndpoints = 3)
checking for MA-1017 ...
this is not a MA-1017 (bDeviceClass = 0, bInterfaceClass = 255)
checking for MA-1015 ...
this is not a MA-1015 (bDeviceClass = 0)
checking for MA-1509 ...
this is not a MA-1509 (bDeviceClass = 0)
checking for LM983[1,2,3] ...
Couldn't access LM983x registers.
checking for GL646 ...
this is not a GL646 (bDeviceClass = 0, bInterfaceClass = 255)
checking for GL660+GL646 ...
this is not a GL660+GL646 (bDeviceClass = 0, bInterfaceClass = 255)
<Couldn't determine the type of the USB chip>
found USB scanner (vendor=0x04a9, product=0x2208) at libusb:/dev/usb0:/dev/ugen0
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
# Scanners connected to the parallel port or other proprietary ports can't be
# detected by this program.
done
---snip---
Now I need some guide how to proceed further.
Bye,
Alexander.
--
Actually, Microsoft is sort of a mixture between the Borg and the Ferengi.
http://www.Leidinger.net Alexander @ Leidinger.net
GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7
--- backend/plustek-usbdevs.c.orig Tue Nov 25 14:46:00 2003
+++ backend/plustek-usbdevs.c Tue Nov 25 14:53:59 2003
@@ -641,6 +641,25 @@
_WAF_MISC_IO_LAMPS | _WAF_BLACKFINE, _NO_MIO
};
+/* Canon CanoScan D660U
+ */
+static DCapsDef Cap0x04A9_0x2208_0 =
+{
+ {{ 0, 90}, 35, 10, {2550, 3508}, {75, 75}, COLOR_GRAY16 },
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }, 0 },
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }, 0 },
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }, 0 },
+ {1200, 1200},
+ 0,
+ SENSORORDER_rgb,
+ 8, /* sensor distance */
+ 2, /* number of buttons */
+ kCIS670, /* use default settings during calibration */
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS | _WAF_BLACKFINE, _NO_MIO
+};
+
+
/* Canon N670U/N676U/LiDE20
*/
static DCapsDef Cap0x04A9_0x220D_0 =
@@ -1959,6 +1978,74 @@
MODEL_CANON1200
};
+/** Canon 660 */
+static HWDef Hw0x04A9_0x2208_0 =
+{
+ 0.86, /* dMaxMotorSpeed (Max_Speed) */
+ 0.243, /* dMaxMoveSpeed (Max_Speed) */
+ 100, /* dIntegrationTimeLowLamp */
+ 100, /* dIntegrationTimeHighLamp */
+ 1200, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 3.75, /* dMinIntegrationTimeLowres (ms) */
+ 5.75, /* dMinIntegrationTimeHighres (ms) */
+ 0, /* wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 0, /* wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 0x15, /* bSensorConfiguration (0x0b) */
+ 0x4c, /* sensor control settings (reg 0x0c) */
+ 0x2f, /* sensor control settings (reg 0x0d) */
+ 0x00, /* sensor control settings (reg 0x0e) */
+
+ /* mono & color (reg 0x0f to 0x18) the
+ same for CIS devices */
+
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05},
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05},
+
+ (_BLUE_CH | _ONE_CH_COLOR), /* bReg_0x26 color mode */
+
+ 0x00, /* bReg 0x27 color mode */
+ 2, /* bReg 0x29 illumination mode (runtime) */
+ /* illumination mode settings
+ */
+ { 3, 0, 0, 23, 1300, 0, 0 },
+ { 2, 23, 4000, 23, 2600, 23, 850 },
+
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0, /* bOpticBlackStart (reg 0x1c) */
+ 0, /* bOpticBlackEnd (reg 0x1d) */
+ 89, /* ? wActivePixelsStart (reg 0x1e + 0x1f) */
+ 6074, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 23, /* red lamp on (reg 0x2c + 0x2d) */
+ 4000, /* red lamp off (reg 0x2e + 0x2f) */
+ 23, /* green lamp on (reg 0x30 + 0x31) */
+ 2600, /* green lamp off (reg 0x32 + 0x33) */
+ 23, /* blue lamp on (reg 0x34 + 0x35) */
+ 850, /* blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+ 0x3f, /* steps to reverse when buffer is full reg 0x50) */
+ 0xfc, /* acceleration profile (reg 0x51) */
+ 0, /* lines to process (reg 0x54) */
+ 0x0f, /* kickstart (reg 0x55) */
+ 0x08, /* pwm freq (reg 0x56) */
+ 0x1f, /* pwm duty cycle (reg 0x57) */
+
+ 0x05, /* Paper sense (reg 0x58) */
+
+ 0x66, /* misc io12 (reg 0x59) */
+ 0x16, /* misc io34 (reg 0x5a) */
+ 0x91, /* misc io56 (reg 0x5b) */
+ 0x01, /* test mode ADC Output CODE MSB (reg 0x5c) */
+ 0, /* test mode ADC Output CODE LSB (reg 0x5d) */
+ 0, /* test mode (reg 0x5e) */
+ _LM9832,
+ MODEL_CANON600
+};
+
/** Canon 670/676/LiDE20 */
static HWDef Hw0x04A9_0x220D_0 =
{
@@ -2157,6 +2244,7 @@
/* CANON... */
{"0x04A9-0x2206", &Cap0x04A9_0x2206_0, &Hw0x04A9_0x2206_0, "N650U/N656U" },
{"0x04A9-0x2207", &Cap0x04A9_0x2207_0, &Hw0x04A9_0x2207_0, "N1220U" },
+ {"0x04A9-0x2208", &Cap0x04A9_0x2208_0, &Hw0x04A9_0x2208_0, "D660U" },
{"0x04A9-0x220D", &Cap0x04A9_0x220D_0, &Hw0x04A9_0x220D_0, "N670U/N676U/LiDE20"
},
{"0x04A9-0x220E", &Cap0x04A9_0x220E_0, &Hw0x04A9_0x220E_0, "N1240U/LiDE30"
},