[sane-devel] GT68XX Plustek OpticSlim 2600 Support
Ralph Little
skelband at gmail.com
Thu Dec 26 21:56:57 GMT 2024
Hi
You could try the GT68XX_FLAG_OFFSET_INV flag perhaps.
Some of the options affect the way that calibration works.
Cheers
Ralph
On Thu, Dec 26, 2024, 10:15 Michal Waligora via sane-devel <
sane-devel at alioth-lists.debian.net> wrote:
> Hello,
>
> I recently came across a Plustek OpticSlim 2600 (owned by a family
> member). He’s been using it with Windows, but due to W10 losing support,
> he’s attempting to migrate to Linux Mint. The last major piece of the
> puzzle appears to be the scanner, which is unsupported by SANE and not
> listed on the list of supported devices:
> http://www.sane-project.org/lists/sane-mfgs-cvs.html#Z-PLUSTEK.
>
> I found the adding page of the GT68XX backend (
> http://www.meier-geinitz.de/sane/gt68xx-backend/adding.html) and managed
> to confirm that the scanner is powered by the GT-6816 chip. So I followed
> it. I managed to build the latest sane-backends and inputted the
> product/vendor information, override, and firmware as explained there to
> the gt68xx config file (/usr/local/etc/sane.d/gt68xx.conf)
>
> usb 0x07b3 0x0467
>
> override "plustek-opticslim-2400"
>
> firmware "cis3R5B1.fw"
>
> I then added it to the gt68xx_devices.c file.
>
> static GT68xx_Model plustek_opticslim2600_model = {
>
> "plustek-opticslim-2600", /* Name */
>
> "Plustek", /* Device vendor string */
>
> "OpticSlim 2600", /* Device model name */
>
> "cis3R5B1.fw", /* Name of the firmware file */
>
> SANE_FALSE, /* Dynamic allocation flag */
>
> &mustek_gt6816_command_set, /* Command set used by this scanner */
>
> 1200, /* maximum optical sensor resolution */
>
> 2400, /* maximum motor resolution */
>
> 1200, /* base x-res used to calculate geometry */
>
> 1200, /* base y-res used to calculate geometry */
>
> 1200, /* if ydpi is equal or higher, disable backtracking */
>
> SANE_FALSE, /* Use base_ydpi for all resolutions */
>
> {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */
>
> {1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */
>
> {12, 8, 0}, /* possible depths in gray mode */
>
> {12, 8, 0}, /* possible depths in color mode */
>
> SANE_FIX (12.7), /* Start of scan area in mm (x) */
>
> SANE_FIX (12.7), /* Start of scan area in mm (y) */
>
> SANE_FIX (216.0), /* Size of scan area in mm (x) */
>
> SANE_FIX (297.0), /* Size of scan area in mm (y) */
>
> SANE_FIX (0.0), /* Start of white strip in mm (y) */
>
> SANE_FIX (0.0), /* Start of black mark in mm (x) */
>
> SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */
>
> SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */
>
> SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */
>
> SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */
>
> SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */
>
> 0, 0, 0, /* RGB CCD Line-distance correction in pixel */
>
> 0, /* CCD distcance for CCD with 6 lines) */
>
> COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */
>
> {0x15, 0x09, 0x18, 0x11, 0x16, 0x0c}, /* Default offset/gain */
>
> {0x300, 0x300, 0x300}, /* Default exposure parameters */
>
> SANE_FIX (1.5), /* Default gamma value */
>
> SANE_TRUE, /* Is this a CIS scanner? */
>
> 0
>
> /* By Michal Waligora <michalwaligora62 at proton.me>. */
>
> };
>
> I also updated the gt68xx device list at the bottom of the file.
>
> static GT68xx_USB_Device_Entry gt68xx_usb_device_list[] = {
>
> {0x10000, 0x10000, &unknown_model}, /* used for yet unknown scanners */
>
> {0x055f, 0x0218, &mustek_2400ta_model},
>
> {0x055f, 0x0219, &mustek_2400taplus_model},
>
> {0x055f, 0x021c, &mustek_1200cuplus_model},
>
> {0x055f, 0x021b, &mustek_1200cuplus2_model},
>
> {0x055f, 0x021d, &mustek_2400cuplus_model},
>
> {0x055f, 0x021e, &mustek_1200ta_model},
>
> {0x055f, 0x021f, &mustek_scanexpress1248ub_model},
>
> {0x05d8, 0x4002, &mustek_1200cu_model},
>
> {0x05d8, 0x4002, &mustek_scanexpress1200ubplus_model}, /* manual
> override */
>
> {0x05d8, 0x4002, &artec_ultima2000_model}, /* manual override */
>
> {0x05d8, 0x4002, &mustek_2400cu_model}, /* manual override */
>
> {0x05d8, 0x4002, &mustek_scanexpress2400usb_model}, /* manual override
> */
>
> {0x055f, 0x0210, &mustek_a3usb_model},
>
> {0x055f, 0x021a, &mustek_2448taplus_model},
>
> {0x043d, 0x002d, &lexmark_x73_model},
>
> {0x07b3, 0x0400, &plustek_op1248u_model},
>
> {0x07b3, 0x0401, &plustek_op1248u_model}, /* Same scanner, different
> id? */
>
> {0x07b3, 0x0402, &plustek_u16b_model},
>
> {0x07b3, 0x0403, &plustek_u16b_model}, /* two ids? 403 seems to be more
> common */
>
> {0x07b3, 0x040b, &plustek_ops12_model},
>
> {0x07b3, 0x040e, &plustek_ops24_model},
>
> {0x07b3, 0x0412, &plustek_opticslim_m12_model},
>
> {0x07b3, 0x046e, &plustek_opticslim500plus_model},
>
> {0x07b3, 0x0413, &plustek_opticslim1200_model},
>
> {0x07b3, 0x0422, &plustek_opticslim2400_model},
>
> {0x07b3, 0x0467, &plustek_opticslim2600_model},
>
> {0x07b3, 0x045f, &iriscan_express_2_model},
>
> {0x0458, 0x2011, &genius_vivid3x_model},
>
> {0x0458, 0x2014, &genius_vivid4_model},
>
> {0x0458, 0x2017, &genius_vivid3xe_model},
>
> {0x0458, 0x201a, &genius_vivid4xe_model},
>
> {0x0458, 0x201b, &genius_vivid4x_model},
>
> {0x0458, 0x201d, &genius_vivid1200x_model},
>
> {0x0458, 0x201f, &genius_vivid1200xe_model},
>
> {0x0458, 0x2021, &genius_sf600_model},
>
> {0x04a7, 0x0444, &visioneer_onetouch_7300_model},
>
> {0x0458, 0x201E, &genius_colorpageslim_1200_model},
>
> {0, 0, NULL}
>
> };
>
> I of course commented-out the override after changing the source files. I
> tried my best to fill out the struct data as accurately as possible, but I
> only have so much data about the scanner and only know so much about what
> they mean.
>
> Image Sensor: CIS
>
> Optical Resolution: 1200 dpi
>
> Hardware Resolution: 1200 x 1200 dpi
>
> Scan Modes
>
> Color: 48-bit input, 24-bit output
>
> Grayscale: 16-bit input, 8-bit output
>
> B/W: 1-bit
>
> Scanning Speed: 20.1 sec (Grayscale mode, 300 dpi)
>
> Scanning Area (W x L)
>
> Max : 216 x 297 mm (8.5" x 11.69", A4/ Letter Size)
>
> Min : 12.7 mm x 12.7 mm ( 0.5" x 0.5")
>
> Action Button: Copy, OCR, E-Mail, Custom, PDF
>
> Interface: USB 1.1
>
> Net Weight: 1.4 Kgs (3.1 Lbs)
>
> Dimensions (W x D x H): 378 x 257 x 33 mm (14.88” x 10.12” x 1.30”)
>
> Protocol: TWAIN Compliant
>
> This information is taken from a 2013 Manualslib manual I found online.
> The scanner is now detected as the correct model (Plustek OpticSlim 2600),
> albeit only as root, but that’s a problem on my side. I tried scanning with
> both xsane and simple-scan, but they both only output a black page. They
> also both print these warnings/errors:
>
> [17:36:42.957798] [gt68xx] gt68xx_afe_cis_auto: setting AFE reached limit
>
> [17:36:55.379455] [gt68xx] gt68xx_afe_cis_auto: setting exposure reached
> limit
>
> I don’t know what these mean and can’t find much online. I don’t know if
> these are related to the output being pure black, while the scanned page
> had other contents (white page with stuff).
>
> I would really appreciate your expertise to help me get this scanner
> working on Linux.
>
> Thank you very much,
>
> Michael
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/sane-devel/attachments/20241226/1d496ec9/attachment-0001.htm>
More information about the sane-devel
mailing list