[sane-devel] Ubuntu documentation

m. allan noah kitno455 at gmail.com
Sun Jun 23 18:14:43 BST 2019


I don't know of any reason that a sane backend would require the
firmware upload to be done as root. All of sane runs in user space.
Can you please elaborate?

allan

On Sun, Jun 23, 2019 at 12:33 PM Steven Santos <steven at simplycircus.com> wrote:
>
> I am working on some new documentation for the various SANE issues in Ubuntu 19.xx. I think this covers most of the known issues and work-arounds.
>
> One issue I struggle with is the need of some scanners to get a firmware update that it seems only root can do.  I am thinking of adding a script to run sane as root every hour to deal with that (then the scanner will work for normal users, as root did the firmware upload...) but that has obvious implications.
>
> Any and all feedback welcome.
>
>
>
>
> =Use the most up-to-date repository=
> Many SANE issues can be resolved by using the most up-to-date version of SANE.  You can add the SANE projects Ubuntu repository by running the following commands:
>
> : sudo add-apt-repository 'deb launchpad.net/~rolfbensch/+archive/ubuntu/sane-git main'
>
> : sudo apt update
>
> : sudo apt upgrade
>
> = The USB3 Issue =
> One of the most common issues Ubuntu users are having with scanners on SANE involves the use of USB3 ports.  The easiest solution is to move your scanner to a USB2 port.  If that is not possible, try running the following command:
>
> '$ SANE_USB_WORKAROUND=1 simple-scan'
>
> If simple-scan works as expected, you can edit the  /etc/systemd/user.conf file to change this environmental condition as follows:
>
> : sudo nano /etc/systemd/user.conf
>
> and at the bottom of the file add the line:
>
> : DefaultEnvironment=SANE_USB_WORKAROUND=1
>
> =The sym link and udev tricks=
> Sane drivers are usually located under /usr/lib/sane/, however, the system also looks for them under the /usr/lib/x86_64-linux-gnu/sane directory.  Many scanner issues can be resolved by placing the proper sym links.
>
> Likewise, Ubuntu 18.04 and above require the proper udev rules.  The following are the work-arounds for specific brands and models.  If your brand and model is not listed, the same techniques may give you a template for getting your scanner to work.
>
> == Brother ==
>
> Most Brother DCP and MFP's work with the latest Brother drivers (09/13/2018 or later), however these should be installed using the install script and following the manufacturer directions found on the download page to the letter. If you need to update a driver (say, to the 01/21/2019 driver), uninstall the old driver before installing the new one.
>
> === Installation ===
>
> Step1. Download the tool.(linux-brprinter-installer-*.*.*-*.gz)
>
> The tool will be downloaded into the default "Download" directory. (e.g. /home/(LoginName)/Download)
>
> : cd ~/Download
>
> : gunzip linux-brprinter-installer-*.*.*-*.gz*
>
> : sudo su
> : bash linux-brprinter-installer-*.*.*-* {Brother machine name} *
>
> The driver installation will start. Follow the installation screen directions.
>
>  When you see the message "Will you specify the DeviceURI ?",
>
>  For USB Users: Choose N(No)
>  For Network Users: Choose Y(Yes) and DeviceURI number.
>
> The install process may take some time. Please wait until it is complete.
>
> === brscan, brscan2, brscan3 ===
> If the above process does not work as expected, you can use the following sym link and udev trick to get most Brother scanners operational.
>
> : sudo ln -sfr /usr/lib64/libbr* /usr/lib/x86_64-linux-gnu
> : sudo ln -sfr /usr/lib64/sane/libsane-brother* /usr/lib/x86_64-linux-gnu/sane
> : sudo touch /etc/udev/rules.d/59-udev-local.rules
> : sudo nano /etc/udev/rules.d/59-udev-local.rules
>
> Add the following to that file:
> : # Brother brscan devices
> : ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="*", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"
>
> === brscan4 ===
> : apt-get update
> : apt-get upgrade
> : apt-get install libsane-extras
>
> install brscan4 as per the instructions above.
>
> : sudo ln -sfr /usr/lib64/sane/libsane-brother* /usr/lib/x86_64-linux-gnu/sane
> The following command  will give you the VendorId (04f9) and ProductID of your scanner:
> : lsusb
>
> Create '/etc/udev/hwdb.d/brother4.hwdb' using the following command
> : sudo touch /etc/udev/hwdb.d/brother4.hwdb
>
> Use nano to enter the needed info into that file:
> : sudo nano /etc/udev/hwdb.d/brother4.hwdb
>
> The content of that file should be
> : usb:v04f9pYYYY*
> : libsane_matched=yes
>
> Replacing YYYY with the product ID you got earlier.  The entry for the Brother MFC-1910W would be "usb:v04f9p035d", where 04f9 is vendor ID, and 035d is the product ID.
>
> edit '/etc/sane.d/dll.d/libsane-extras' to add the brother4 backend
> : nano  /etc/sane.d/dll.d/libsane-extras
> At the end of that file, add:
> : brother4
>
>
> == Epson ==
>
> === General ===
> This fixes the majority of Epson scanners, however you may still need to use the IScan work-around.
>
> Start by installing the latest Epson 1.3.38 driver released 10-18-2018.  This driver uses the multiarch folders and works out of the box for many Epson scanners.
>
> If this does not work,
>
> : sudo cp /usr/lib/sane/libsane-epk* /usr/lib/x86_64-linux-gnu/sane/
> : sudo nano /etc/udev/rules.d/79-udev-epson.rules
>
> Content:
> '# chmod device EPSON group
> # ACTION=="add", ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0666"
> ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0777"'
>
> For an Epson network scanner,
> Edit the file /etc/sane.d/epson2.conf
> Modify the line
> net 192.168.xxx.yyy (to match your scanner IP)
>
> === Epson Iscan ===
> : sudo ln -sfr /usr/lib/sane/libsane-epkowa* /usr/lib/x86_64-linux-gnu/sane
> : sudo touch /etc/udev/rules.d/79-udev-epson.rules
>
> content:
> # chmod device EPSON group
> ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0777"
>
> == Samsung ==
> === Samsung M2070 ===
>
> : sudo ln -sfr /usr/lib/sane/libsane-smfp* /usr/lib/x86_64-linux-gnu/sane'
> : sudo touch '/etc/udev/rules.d/59-smfp_samsung.rules
>
> content:
> ATTRS{idProduct}=="2070", ENV{libsane_matched}="yes"
>
> == Xerox ==
> === Xerox Workcentre 3225 ===
> : sudo ln -sfr /usr/lib/sane/libsane-smfp* /usr/lib/x86_64-linux-gnu/sane
> : sudo adduser $USER lp'
> --
> sane-devel mailing list: sane-devel at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>              to sane-devel-request at lists.alioth.debian.org



-- 
"well, I stand up next to a mountain- and I chop it down with the edge
of my hand"



More information about the sane-devel mailing list