*******
NB, I moved this from the "Extensions Category" since it wasn't getting any response.
I thought I had miscategorized the post.
***********
Started using TC about 2 weeks ago. Great! I plan to use a small mini-ITX box as a central
server. I have NFS running well and am trying to install SANE and a Brother DCP-7020 printer/scanner. Brother has .deb and .rpm files for Linux drivers. I used "ar" from base
to extract the files from the .deb archive. There are a couple of setup scripts and the
expected backend libraries.
Installed sane-backends no problem. I don't quite understand the architecture of TC. After
installing sane-backends I see there is a /usr/local/etc/sane.d/dll.conf (which is a link to
/tmp/tcloop/...). This file is "read-only". I can't "edit" this file, but I can "replace" the link
by "sudo cp myfile /usr/local/etc/sane.d/dll.conf", where "myfile" contains only the line
"brother2". Also, I can create /etc/sane.d and place a dll.conf in that directory. So I want
to understand the "precedence" or the right place to put dll.conf. Will /etc/sane.d/dll.conf
supersede the /usr/local/etc/sane.d/dll.conf?
When I used sane-find-scanner I can "see" the DCP-7020 (right bus, etc). When I try
to scan (scanimage -L or xsane) the scanner can't be found. I put the Brother drivers in
/usr/lib, /usr/bin, etc.
Am I on the right track? Or do I need to "install" some of the libraries and dll.conf into another
directory?
Thanks for any help!
******************************
UPDATE-
I still don't understand when "/etc/..." will take precedence over "/usr/local/etc..." but here's
what I have done for now, and what gives a satisfactory solution.
1) Install sane-backends
2) Install xsane
3) Use "ar" to extract files from Brother "brscan2" .deb archive.
4) The archive has the following files/structure:
/usr
/lib
libbrscandec2.so.1.0.0
libbrcolm.so.1.0.0
libbrscandec2.so.1 -> libbrscandec2.so.1.0.0 (soft link)
libbrscandec2.so -> libbrscandec2.so.1 (soft link)
libbrcolm.so.1 -> libbrcolm.so.1.0.0 (soft link)
libbrcolm.so -> libbrcolm.so.1 (soft link)
/sane
libsane-brother.so.1.0.7
libsane-brother.so.1 -> libsane-brother.so.1.0.7 (soft link)
libsane-brother.so -> libsane-brother.so.1 (soft link)
/bin
brsaneconfig
/local
/Brother
/sane
Brsane.ini
few more files related to using with "net and saned"
/GrayCmData
several directories (appear to be related to color mgmt, maybe not required)
5) After quite a bit of "google", trial and error experimentation, I ended up with the following:
a) Copy /usr/lib/libbr* (from archive) to /usr/lib
b) Copy /usr/lib/sane/libsane-br* (from archive) to /usr/local/lib/sane
c) Copy /usr/local/Brother/sane/Brsane.ini (from archive) to /usr/local/Brother/sane/Brsane.ini
d) cp /usr/local/etc/sane.d/dll.conf to /tmp/mydll.conf
e) edit mydll.conf and add "brother2" at end
f) cp /tmp/mydll.conf to /usr/local/etc/sane.d/dll.conf
6) Run scanimage -L and everything looks good! xsane also works as expected and
produces a good scan
I'm not sure if the "GrayCmData" files are required or not. I'll experiment some more
and see if I can find out if they are used for color management or something.
*****************************
In order to automate, I created an "extension", dcp-7020.tcz with the file structure
in 5) above. I edited bootlocal.sh and added a line "setup-dcp-7020.sh" which
deletes "/usr/local/etc/sane.d/dll.conf" and then "echo brother2 > dll.conf" to recreate
the dll.conf file. Since /usr/local/etc/sane.d/dll.conf is a "soft link" to a "read only" file, I couldn't figure out how to "edit" the file - so I deleted and recreated.
I tried making a /etc/sane.d/dll.conf, but I never could get it to work. It seemed like the
/usr/local/etc/sane.d/dll.conf was getting used instead. If anyone can explain that behaviour
to me I would appreciate it. I don't quite get the "heirarchy". Also, I don't quite understand
why I had to put some of the Brother files in /usr/lib and some in /usr/local/lib, but
apparently that was the key to getting things to work.
Hope this helps someone else...