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 < [email protected]> 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 <[email protected]>. */ > > }; > > 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 >
