Date: Sat, 4 Jun 2011 16:19:00 -0600 (MDT) From: Warren Block <wblock@wonkity.com> To: Scott Gasch <scott.gasch@gmail.com> Cc: questions@freebsd.org Subject: Re: Usb printers take the same port deterministically? Message-ID: <alpine.BSF.2.00.1106041610280.34154@wonkity.com> In-Reply-To: <BANLkTinNzPUtfMa5xbxn-z=sjm6QRBvWNw@mail.gmail.com> References: <BANLkTinNzPUtfMa5xbxn-z=sjm6QRBvWNw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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"; };
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1106041610280.34154>