On Sat, 4 Jun 2011, Scott Gasch wrote:
Hi,
I have two usb printers on my freebsd machine and I'm using cups. One of
the things I've done is publish a raw (no driver) printer for each of them
and use that to share them with other machines in the house that have
drivers.
My problem is that every once in a while, when I boot up, the order of the
printers on the usb ports seems to change. For example, right now I've got:
Jun 4 11:24:34 foo kernel: ulpt0: <Brother HL-2140 series, class 0/0, rev
2.00/1.00, addr 2> on uhub1
Jun 4 11:24:34 foo kernel: ulpt0: using bi-directional mode
Jun 4 11:28:13 foo kernel: ulpt1: <EPSON USB2.0 Printer (Hi-speed), class
0/0, rev 2.00/1.00, addr 2> on uhub7
But when I lost power the other night the machine came up with them reversed
-- the brother on ulpt1 and the epson on ulpt0.
As far as I can tell, cups printers.conf ties to a particular port. So, you
can probably see where this is going... when they bind in the wrong order
and someone prints I get a ton of crap printed out and waste a ton of paper.
How can I make it so that a particular printer binds to a particular usb
port deterministically?
devd.conf. But I don't think there's any control over ulpt. Instead,
maybe create links so /dev/ulpt-hl2140 and /dev/ulpt-epson12 are linked
to the right devices, and use those where static devices are needed.
Untested...
attach 20 {
device-name "ulpt[0-9]";
match "vendor" "0x1234"; # Brother
match "product" "0x4321"; # HL-2140
action "ln -s /dev/$device-name /dev/ulpt-hl2140";
};
detach 20 {
device-name "ulpt[0-9]";
match "vendor" "0x1234"; # Brother
match "product" "0x4321"; # HL-2140
action "rm /dev/ulpt-hl2140";
};
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[email protected]"