<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>I had it, and I lost it.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>After BR, Louis wrote:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>"If /usr/lib64/sane is empty you probbly don;t have sane-backends-drivers-scanners installed: yum install sane-backends-drivers-scanners should solve your problem...."<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I followed his advice, ran "yum install sane-backends-drivers-scanners" and scanimage -L detected my Canon Canoscan N124OU.  I left things alone for a couple of weeks, and when I came back to it I'm now back to getting "no scanners were identified".  (Incidentally, I'm signed on as root).  The only thing I did in the interim was move my home directory from the SSD, where Linux lives, to the RAID, which is much bigger.  It's hard to see how that would effect scanimage, but what so I know? FWIW, I'm pretty sure I got all the hidden files, etc, moved to the new location and got all the ownership and permissions the same as they were in the old location, which I have not deleted.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>logging in as root and typing "scanimage -L" gives me, after a very long time, "device 'plustek:libusb:001:002 is a Canon CanoScan N1240U/LiDE30 flatbed scanner"<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>sane-find-scanner still gives me:<o:p></o:p></p><p class=MsoNormal>found USB scanner (vendor=0x04a5 [Canon], product=0x220e [Canoscan] ) at libusb:001:002<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Following debugging suggestions from:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://www.unix.com/man-page/centos/7/sane/<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I ran "export SANE_DEBUG_DLL=128"<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Now scanimage -L gives me<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[sanei_debug] Setting debug level of dll to 128.<o:p></o:p></p><p class=MsoNormal>[dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.24<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_dlld: attempting to open directory './dll.d'<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_dlld: attempting to open directory '/etc/sane.d/dll.d'<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_dlld: using config directory '/etc/sane.d/dll.d'<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_dlld: done.<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_config: reading dll.conf<o:p></o:p></p><p class=MsoNormal>[dll] add_backend: adding backend 'net'<o:p></o:p></p><p class=MsoNormal>[dll] add_backend: adding backend 'plustek'<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_devices<o:p></o:p></p><p class=MsoNormal>[dll] load: searching backend 'plustek' in 'usr/lib64/sane'<o:p></o:p></p><p class=MsoNormal>[dll] load: trying to load 'usr/lib64/sane/libsane-plustek.so.1'<o:p></o:p></p><p class=MsoNormal>[dll] load: dlopen()ing 'usr/lib64/sane/libsane-plustek.so.1'<o:p></o:p></p><p class=MsoNormal>[dll] init: initializing backend 'plustek'<o:p></o:p></p><p class=MsoNormal>[dll] init: backend 'plustek' is version 1.0.0<o:p></o:p></p><p class=MsoNormal>[dll] load: searching backend 'net' in 'usr/lib64/sane'<o:p></o:p></p><p class=MsoNormal>[dll] load: trying to load 'usr/lib64/sane/libsane-net.so.1'<o:p></o:p></p><p class=MsoNormal>[dll] load: dlopen()ing 'usr/lib64/sane/libsane-net.so.1'<o:p></o:p></p><p class=MsoNormal>[dll] init: initializing backend 'net'<o:p></o:p></p><p class=MsoNormal>[dll] init: backend 'net' is version 1.0.24<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_devices: found 0 devices<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>No scanners were identified.  If you were expecting something different,<o:p></o:p></p><p class=MsoNormal>check that the scanner is plugged in, turned on, and detected by the<o:p></o:p></p><p class=MsoNormal>sane-find-scanner tool (if appropriate).  Please read the documentation<o:p></o:p></p><p class=MsoNormal>which came with this software (README, FAQ, manpages).<o:p></o:p></p><p class=MsoNormal>[dll] sane_exit: exiting<o:p></o:p></p><p class=MsoNormal>[dll] sane_exit: calling backend 'plustek's exit function<o:p></o:p></p><p class=MsoNormal>[dll] sane_exit: calling backend 'net's exit function<o:p></o:p></p><p class=MsoNormal>[dll] sane_exit: finished<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Investigating:<o:p></o:p></p><p class=MsoNormal>I can't find  a directory ./dll.d<o:p></o:p></p><p class=MsoNormal>The directory /etc/sane.d/dll.d exists, but appears to be empty<o:p></o:p></p><p class=MsoNormal>There is a dll.conf file in /etc/sane.d, which has everything in it commented out except 'net' and 'plustek'<o:p></o:p></p><p class=MsoNormal>/usr/lib64/sane does contain a libsane-plustek.so.1, as well as a libsane-plustek.so and a libsane-plustek.so.1.0.24<o:p></o:p></p><p class=MsoNormal>/usr/lib64/sane does contain a libsane-net.so.1, as well as a libsane-net.so and a libsane-net.so.1.0.24<o:p></o:p></p><p class=MsoNormal>It's interesting that even though there are .so, .so.1 and .so.1.0.24 versions of both plustek and net, with net it seems that the 1.0.24 version is loaded whereas with plustek it's the 1.0.0 version. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>At a later time I rebooted and logged on with my usual user log on and repeated the process, and pot something different:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[sanei_debug] Setting debug level of dll to 128.<o:p></o:p></p><p class=MsoNormal>[dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.24<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_dlld: attempting to open directory './dll.d'<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_dlld: attempting to open directory '/etc/sane.d/dll.d'<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_dlld: using config directory '/etc/sane.d/dll.d'<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_dlld: done.<o:p></o:p></p><p class=MsoNormal>[dll] sane_init/read_config: reading dll.conf<o:p></o:p></p><p class=MsoNormal>[dll] add_backend: adding backend 'net'<o:p></o:p></p><p class=MsoNormal>[dll] add_backend: adding backend 'plustek'<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_devices<o:p></o:p></p><p class=MsoNormal>[dll] load: searching backend 'plustek' in 'usr/lib64/sane'<o:p></o:p></p><p class=MsoNormal>[dll] load: trying to load 'usr/lib64/sane/libsane-plustek.so.1'<o:p></o:p></p><p class=MsoNormal>[dll] load: dlopen()ing 'usr/lib64/sane/libsane-plustek.so.1'<o:p></o:p></p><p class=MsoNormal>[dll] init: initializing backend 'plustek'<o:p></o:p></p><p class=MsoNormal>[dll] init: backend 'plustek' is version 1.0.0<o:p></o:p></p><p class=MsoNormal>[dll] load: searching backend 'net' in 'usr/lib64/sane'<o:p></o:p></p><p class=MsoNormal>[dll] load: trying to load 'usr/lib64/sane/libsane-net.so.1'<o:p></o:p></p><p class=MsoNormal>[dll] load: dlopen()ing 'usr/lib64/sane/libsane-net.so.1'<o:p></o:p></p><p class=MsoNormal>[dll] init: initializing backend 'net'<o:p></o:p></p><p class=MsoNormal>[dll] init: backend 'net' is version 1.0.24<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_devices: found 1 devices<o:p></o:p></p><p class=MsoNormal>[dll] sane_open: trying to open 'plustek:libusb:001:002'<o:p></o:p></p><p class=MsoNormal>[dll] sane_open: open sucessful<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=0)<o:p></o:p></p><p class=MsoNormal>[dll] sane_control_option(handle=0x55ae00675b00,option=0,value=0x7ffc9c3ccb1c,info=(nil)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=2)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=3)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=4)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=5)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=6)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=7)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=8)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=9)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal>[dll] sane_get_option_descriptor(handle=0x55ae00675b00,option=1)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Rebooting the server, logging on as root, and running<o:p></o:p></p><p class=MsoNormal>export SANE_DEBUG_PLUSTEK=128<o:p></o:p></p><p class=MsoNormal>then running scanimage -L gives me a lot of output that rapidly scrolls off screen, before slowing down to what appears to be the important stuff<o:p></o:p></p><p class=MsoNormal>.<o:p></o:p></p><p class=MsoNormal>.<o:p></o:p></p><p class=MsoNormal>.<o:p></o:p></p><p class=MsoNormal>[plustek] pos_shading_y  : -1<o:p></o:p></p><p class=MsoNormal>[plustek] neg_x    : 0<o:p></o:p></p><p class=MsoNormal>[plustek] neg_y   : 0<o:p></o:p></p><p class=MsoNormal>[plustek] neg_shading_y  : -1<o:p></o:p></p><p class=MsoNormal>q[plustek] tpa _x    :0<o:p></o:p></p><p class=MsoNormal>[plustek] tpa _y    :0<o:p></o:p></p><p class=MsoNormal>[plustek] tpa _shading_y    :-1<o:p></o:p></p><p class=MsoNormal>[plustek] red gain : -1<o:p></o:p></p><p class=MsoNormal>[plustek] green gain : -1<o:p></o:p></p><p class=MsoNormal>[plustek] blue gain   :  -1<o:p></o:p></p><p class=MsoNormal>[plustek] red offset  :  -1<o:p></o:p></p><p class=MsoNormal>[plustek] green offset  :  -1<o:p></o:p></p><p class=MsoNormal>[plustek] blue offset  :  -1<o:p></o:p></p><p class=MsoNormal>[plustek] red lampoff   : -1<o:p></o:p></p><p class=MsoNormal>[plustek] green lampoff   : -1<o:p></o:p></p><p class=MsoNormal>[plustek] blue lampoff   : -1<o:p></o:p></p><p class=MsoNormal>[plustek] red Gamma : 1.00<o:p></o:p></p><p class=MsoNormal>[plustek] green Gamma : 1.00<o:p></o:p></p><p class=MsoNormal>[plustek] blue Gamma : 1.00<o:p></o:p></p><p class=MsoNormal>[plustek] gray Gamma : 1.00<o:p></o:p></p><p class=MsoNormal>[plustek] ------------------------------------<o:p></o:p></p><p class=MsoNormal>[plustek] usbdev_open(libusb:001:002,0x04A9-0x220E) - 0x564f6b8573a0<o:p></o:p></p><p class=MsoNormal>[plustek] Vendor ID=0x4a9, Product ID=0x220E<o:p></o:p></p><p class=MsoNormal>[plustek] usbio_DetectLM983x<o:p></o:p></p><p class=MsoNormal>[plustek] usbio_DetectLM983x<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[plustek] Device WAF   :0x00004002<o:p></o:p></p><p class=MsoNormal>[plustek] transferrate : 1000000 Bytes/s<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[plustek] Calibration file-names set to:<o:p></o:p></p><p class=MsoNormal>[plustek] >/root/.sane/Canon_CanoScan_N12<o:p></o:p></p><p class=MsoNormal>[plustek] root sane<o:p></o:p></p><p class=MsoNormal>[plustek] * PL=295, coeffsize=216, scaler=3<o:p></o:p></p><p class=MsoNormal>[plustek] * PauseLimit=2 [0x4e] = 0x01, [0x4f] = 0x01<o:p></o:p></p><p class=MsoNormal>[plustek] * Scansteps=80 (10*1200/150)<o:p></o:p></p><p class=MsoNormal>[plustek] usb_set_ScanParameters().<o:p></o:p></p><p class=MsoNormal>[plustek] Scanner not ready!!!<o:p></o:p></p><p class=MsoNormal>[plustek] UIO Error<o:p></o:p></p><p class=MsoNormal>[plustek] UIO Error<o:p></o:p></p><p class=MsoNormal>[plustek] usbdev_GetCaps()<o:p></o:p></p><p class=MsoNormal>[plustek] Scanner Information:<o:p></o:p></p><p class=MsoNormal>[plustek] Vendor  :  Canon<o:p></o:p></p><p class=MsoNormal>[plustek] Model   : CanoScan N1240U/LIDE30<o:p></o:p></p><p class=MsoNormal>[plustek] Flags :  0x00000000<o:p></o:p></p><p class=MsoNormal>[plustek] drvclose()<o:p></o:p></p><p class=MsoNormal>[plustek] usbDev_stopScan<o:p></o:p></p><p class=MsoNormal>[plustek] usbDev_ScanEnd(), start =0, park=0<o:p></o:p></p><p class=MsoNormal>[plustek] UIO Error<o:p></o:p></p><p class=MsoNormal>[plustek] usbDev_close()<o:p></o:p></p><p class=MsoNormal>[plustek] attach: model = > CanoScan N1240U/LIDE30<<o:p></o:p></p><p class=MsoNormal>[plustek] sane_get_devices (0x7ffdeece7bc0, 0)<o:p></o:p></p><p class=MsoNormal>device 'plustek:libusb:001:002" is a Canon CanoScan N1240U/LIDE30 flatbed scanner<o:p></o:p></p><p class=MsoNormal>[plustek] sane_exit<o:p></o:p></p><p class=MsoNormal>[plustek] Shutdown called (dev->fd=-1, libusb:001:002)<o:p></o:p></p><p class=MsoNormal>[plustek] Waiting for scanner-ready...<o:p></o:p></p><p class=MsoNormal>[plustek] Scanner not ready!!!<o:p></o:p></p><p class=MsoNormal>[plustek] Switching lamp off...<o:p></o:p></p><p class=MsoNormal>[plustek] LAMP-STATUS:  0x00000000 (off)<o:p></o:p></p><p class=MsoNormal>[plustek] LAMP-STATUS:  0x00000000 (off)<o:p></o:p></p><p class=MsoNormal>[plustek] Lamp-Timer stopped<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Running "scanimage -d test -T" gives me all "PASS"<o:p></o:p></p><p class=MsoNormal>Running "scanimage -d plustek -T" gives me similar to above up to<o:p></o:p></p><p class=MsoNormal>[plustek] usbio_DetectLM983x<o:p></o:p></p><p class=MsoNormal>then<o:p></o:p></p><p class=MsoNormal>[plustek] * could not read version register!<o:p></o:p></p><p class=MsoNormal>[plustek] open failed: -1<o:p></o:p></p><p class=MsoNormal>[plustek] sane_open -<o:p></o:p></p><p class=MsoNormal>scanimage: open of device plustek failed: Invalid argument<o:p></o:p></p><p class=MsoNormal>[plustek] sane_exit<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Tried renaming /usr/lib64/sane/libsane-plustek.so to /usr/lib64/sane/xlibsane-plustek.so<o:p></o:p></p><p class=MsoNormal>cp /usr/lib64/sane/libsane-plustek.so /usr/lib64/sane/xlibsane-plustek.so<o:p></o:p></p><p class=MsoNormal>rm /usr/lib64/sane/libsane-plustek.so.1 <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Tried renaming /usr/lib64/sane/libsane-plustek.so.1 to /usr/lib64/sane/xlibsane-plustek.so.1<o:p></o:p></p><p class=MsoNormal>cp /usr/lib64/sane/libsane-plustek.so.1 to /usr/lib64/sane/xlibsane-plustek.so.1<o:p></o:p></p><p class=MsoNormal>rm /usr/lib64/sane/libsane-plustek.so.1<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Running "scanimage -d plustek -T" gives<o:p></o:p></p><p class=MsoNormal>scanimage: open of device plustek failed: invalid argument<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note: there is no /usb in /proc/bus<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>