--- On Fri, 2/26/10, Robert Bonomi <[email protected]> wrote:


From: Robert Bonomi <[email protected]>
Subject: Re: Printing via USB Port
To: [email protected]
Date: Friday, February 26, 2010, 8:29 PM


> From [email protected]  Fri Feb 26 18:20:29 2010
> Date: Fri, 26 Feb 2010 16:19:40 -0800 (PST)
> Cc: [email protected]
> Subject: Re: Printing via USB Port
>
>
> >
> > From: Warren Block <[email protected]>
> > Subject: Re: Printing via USB Port
> > Date: Friday, February 26, 2010, 5:38 PM
> >
> > On Fri, 26 Feb 2010, Bill Tillman wrote:
> > > 
> > > Thanks again for your valuable input. I have set up lpd printing on my 
> > > old 
> > > FreeBSD server at least a dozen times and it became a simple routine to 
> > > do 
> > > with apsfilter.Let me see if I can place all my cards in one place and 
> > > perhaps we can find the bug.
> >
> > I think I found it. The HL-2040 is a GDI printer, aka winprinter (aka "oh 
> > no,
> > one of those", aka "I guess I didn't really want to print that after all").
> > It won't respond to PCL, unlike the one I looked up first, the HL-2060.
> >
> > Based on http://beej.us/hl2040/:
> >
> >  % cd /usr/local/libexec
> >  % cp ps2pcl ps2hl1250
> >
> > Change the line in ps2hl1250 to:
> >
> > /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=hl1250 -sOutputFile=- -
> >                                                 ^^^^^^
> > And change the if= line in the printcap to refer to ps2hl1250.
> >
> > (And remember, buying winprinters just encourages them to make more.)
> >
> > -Warren Block * Rapid City, South Dakota USA
>
> Warren,
>
> Once again many thanks, but that is one of the first things I tried. By 
> checking ghostcript's drivers
>
> #gs -h | grep hl
>
> I found many drivers for the HL-12xx models. I have used this in my previous 
> setup with my old parallel server. I actually tried what you suggested and it
> only worked when using the parallel cable, not the USB. For some reason the 
> USB connection on this and any other FreeBSD server I connect to is DOA for
> printing. I run mouse and keyboard via USB. But these print jobs are lining 
> up in the queue and just sit there no matter how many times I reconnect the 
> printer, or reboot it or reboot the computer. And once again I'm seeing two 
> instances of lpd running when I only launched it from the command-line once,
> no entry in /etc/rc.conf.
>
> BigDell# ps -ax | grep lpd
> 1311 ?? Is 0:00.00 lpd
> 1329 ?? IE 0:00.00 lpd
>
> BigDell# lpq
> no entries
>
> BigDell# lpc status all
> lp:
>  queuing is enabled
>  printing is enabled
>  no entries in spool area
>  printer idle
>
> BigDell#
>
> This just don't make sense and I hope when we find it it's something we can
>  laugh about.
>

OK, it's time to try some _basics_.   Can you throw data _directly_ at the
printer (i.e., *NOT* through lpr/lpd), and will it print?

You can't use a simple  'echo Hello, World! >/dev/lp' to find out, because its 
a fscking 'winprinter'.

power everything down, connect the USB cable only, power up the printer first,
then the computer.

When it has come up, do you have a /dev/usb/lp0 device?

Have you created a symlink at /dev/lp that points to /dev/usb/lp0?


What happens if you do (as root) where 'testfile.ps' is a simple Postscript 
doc]:
    # /usr/local/libexec/ps2hl1250 < testfile.ps >/dev/usb/lp0

how about: 
    # /usr/local/libexec/ps2hl1250 < testfile.ps >/dev/lp


For that matter, what does "find /dev -name '*lp*' -ls" show?

If any of the names show as symlinks, do an 'ls -l' on the symlink target.

I'm guessing that /dev/lp is a 'character device' node, pointing to the 
parallel port; and when lpd tries tyo print to _that_ -- with only the USB
connection, --  it *doesn't*work* (for what is now an 'obvious' reason :)
 
Okay guys this is finally working. I found the answer here:
 
http://forums.freebsd.org/showthread.php?p=64508
 
This didn't come up in my other searches. This morning I put in "freebsd hl2040 
usb" into my yahoo search and this came up.
 
Seems this guy got it to work by using unlpt0 not ulpt0. I had tried this 
before and was using the ifhp filter but that didn't work. So I did this with 
/etc/printcap:
 
lp|HL2040|Brother HL-2040:\
        :lp=/dev/unlpt0:\
        :af=/home/bill/hl1250.ppd:\
        :if=/usr/local/bin/foomatic-rip:\
        :lf=/var/log/lpd/hl2040.log:\
        :sh:sd=/var/spool/lpd/laser:

I got the hl1250.ppd file from openprinting.org. I edited the file like the 
poster said to do to be sure the gs program was pointed to by it's complete 
pathname. I then installed the foomatic-filter port because the foomatic-rip 
program was not on this machine. I also made myself a member of the deamon 
group like this post said, but I don't think this will actually be required. 
 
I'm in another room doing most of this by ssh to the FreeBSD box with the 
printer in another part of the house. I ran a postscript file through this and 
thought I heard the printer ejecting pages down the hall. To my surprise there 
were four perfectly formatted pages sitting in the output bin waiting for me.
 
I setup one of the IBM Postscript printers on one of my Windows clients and 
pointed it to the lpr port on the FreeBSD server. Then I sent it a test page 
and all is well. Now I have got this bitch working and can thow the old server 
and the parallel cable into the closet.
 
Thanks for everyone's help. Wish this hadn't been so cryptic, but then again 
this is why my friends who run Linux are always laughing their ass off at me.
 



_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[email protected]"

Reply via email to