Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have a Microtek Imagemaker 4800 connected to a Dell Optiplex GX620 running Xubuntu (Which Xubuntu? That's a good question. How do I find out?). Anyway, the scanner works, sort-of, the scans are way too dark. Two programs; Xsane and Simple Scan produce identical results. The avalable image correction controls on both programs don't seem to have the range to correct image.
A few things:
The Imagemaker 4800 is one of the few SANE supported Microtek Scanners. but it reports as 3840 and uses the SM-3840 SANE backend. Acording to the SANE website.
When I look at /usr/lib/sane I see:
gordon@gordon-OptiPlex-GX620:/usr/lib/sane$ ls
libsane-hpaio.so.1 libsane-hpaio.so.1.0.0
Looks like I have the wrong SANE backend?? is this possible?? Or am I looking in the wrong place??
And then there is this:
gordon@gordon-OptiPlex-GX620:~$ scanimage -L
device `sm3840:libusb:003:002' is a Microtek ScanMaker 4800 flatbed scanner
That seems to say that the sm3840 backend is being used (Where is it??)
Does the SANE backend or applications have a config file that can be edited to adjust the scan settings to get a good scan??
I'm a bit confused here. Any help is apprieciated.
(Which Xubuntu? That's a good question. How do I find out?).
You could use
Code:
cat /etc/os-release
Quote:
The Imagemaker 4800 is one of the few SANE supported Microtek Scanners. but it reports as 3840 and uses the SM-3840 SANE backend.
The scanner chipset (check 'lsusb') is explcitly listed in /etc/sane.d/sm3840.conf, and that probably determines how the device is reported
Code:
# usb vendor product
# Microtek ScanMaker 3840 ID
usb 0x05da 0x30d4
# Microtek ScanMaker 4800 ID
usb 0x05da 0x30cf
Quote:
Looks like I have the wrong SANE backend?? is this possible?? Or am I looking in the wrong place??
I doubt that. If the correct backend didn't exist, you'd get no communication with the scanner. (If a 64-bit system, did you check /usr/lib64/sane/ as well?)
More info via
Code:
man sane-sm3840
For local scanners, udev rules help identify the scanner hardware and the correct SANE backend is used when the frontend is launched. Usually, /etc/sane.d/dll.conf should contain the uncommented backend entry as well.
Anyway, the scanner works, sort-of, the scans are way too dark. Two programs; Xsane and Simple Scan produce identical results. The avalable image correction controls on both programs don't seem to have the range to correct image.
If you believe that the driver is not operating optimally with respect to controlling the brightness or contrast, then I would consider reporting a bug with the SANE developers
/etc/sane.d/dll.d contains a file called hplip.
etc/sane.d contains a butt load of conf files named after various scanners. Included are two microtek.conf files as well as the sm3840.conf file.
I don't see where there is anything that controls which SANE backend to load.
Um... What does this mean??
"For local scanners, udev rules help identify the scanner hardware and the correct SANE backend"
The hplip backend is for supporting a number of HP devices - not relevant to you here. (It will have been added as part of HPLIP printer software installation.) The /etc/sane.d/dll.conf file is used to list backends (scanner drivers) that can be dynamically loaded on demand. However, most backends are pre-loaded as part of the SANE libary build, so do not have to be listed here. (Often, proprietary driver entries are added here explicitly to make sure they are loaded when required.)
More info
Code:
man sane-dll
Quote:
Um... What does this mean??
"For local scanners, udev rules help identify the scanner hardware and the correct SANE backend"
Well, udev is the device manager for the Linux kernel, and used to recognise hardware, and create device nodes, set environment variables etc. As part of this, there are large sets of rules to handle various types of hardware - the system rules are located in /usr/lib/udev/rules.d/, including rules for supported scanners. Amongst the scanner rules, your model is listed with an entry that looks similar to this
Ok,
Thanks for your patients. I'm really trying to learn what's going on here, not just find some magic that makes things better. Thus, a nice detour through the SANE and UDEV documentation.
In any case, It does seem that the sm3840 backend is loaded as some sort of default process and is not done explicitly by a rule or user setting. It was probably done as part of the Unbuntu instal process. I'm looking into this (that need to understand).
Anyway, Ill take your suggestion to file a bug with the Sane project. But I doubt they will take much intrest in this old scanner.
In any case, It does seem that the sm3840 backend is loaded as some sort of default process and is not done explicitly by a rule or user setting.
The udev rule is used to recognise the device as a scanner. That's what the 'ENV{libsane_matched}="yes"' assignment key does. When the front-end is run, SANE uses the device chipset to identify the correct SANE backend. That's why no user configuration is needed (for local scanners already supported by SANE).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.