On Sat, 4 Jun 2011, Scott Gasch wrote:
Thanks, Warren. Works great, mostly :)
I actually need the "unlpt*" device because of publishing the raw printers. Hooking the
attach/detach of those device names directly did not work. Adding an action to the "ulpt"
device does work... but I then ran into the problem of pulling the number out
of the $device variable to figure out what port just attached. After some
messing around (I tried to match
the device and serial variables) I gave up and just made two entries per
printer: one for ulpt0 and one for ulpt1 (see below).
"action" can be a whole script. Of course the quoting can get ugly.
Here's what I use for a scanner. The backtick portion was from someone
on the mailing lists. Can't recall who came up with it, but they
deserve credit anyway:
attach 20 {
device-name "ugen[0-9].[0-9]";
match "vendor" "0x04b8";
match "product" "0x010a";
action "usb_devaddr=`echo $device-name | sed 's#^ugen##'` && \
chown root:saned /dev/usb/${usb_devaddr}.* && \
chmod 0660 /dev/usb/${usb_devaddr}.* && \
su saned -c '/usr/local/bin/scanbuttond \
-s /usr/local/etc/scanbuttond/buttonpressed.sh \
-S /usr/local/etc/scanbuttond/initscanner.sh \
-b /usr/local/lib/libscanbtnd-backend_epson.so'";
};
usb_devaddr is created by removing "ugen" from device-name. Then it
sets owner and permissions on the device and runs scanbuttond as user
"saned".
Just because I'm a pain, how does this work if you have two printers
from the same vendor? Epson's product code 0x0009, for example, means
"high speed usb 2.0 printer". So I'm guessing, really, that any epson
printer would match?
Different models should have different product codes. Failing that,
there might be other information available, like a model number or
serial number._______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[email protected]"