Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Oct 2004 20:18:27 +0100
From:      Ben Paley <ben@spooty.net>
To:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   usb printer won't behave
Message-ID:  <200410242018.27626.ben@spooty.net>

next in thread | raw e-mail | index | archive | help
Hello,

I've just got a new epson stylus photo r300 - lovely, works like a dream... in 
windows.

But not in FreeBSD

su-2.05b# lptest 20 10 > /dev/ulpt0

makes the print heads move a little, then stop - sounds like it's getting 
ready to print, then changes its mind. If there's a sheet ready for printing 
it's ejected at that point. The same thing happens if I do 

su-2.05b# lptest 20 10 > ~/test
su-2.05b# cat ~/test > /dev/ulpt0

I installed the port print/pips-spr300_310, which is the proper driver for 
this printer - on install it created /etc/printcap:

# written for pips-spr300_310
spr300_310|EPSON SPR300_310:\
        :sd=/var/spool/lpd/spr300_310:\
        :mx#0:\
        :sh:\
        :lp=/var/ekpd/ekplp0:\
        :if=/usr/local/libexec/pips/SPR300_310/filter-spr300_310:\
        :lf=/var/log/lpd-errs:
# pips-spr300_310  end

as well as the corresponding spool directory and other files mentioned. It 
also prompts to add some lines to /etc/libmap.conf:

# Photo Image Print System (for EPSON bubble jet printer)
[/usr/local/lib/pips/libspr300_310.so]
libc.so.6                       pluginwrapper/pips.so
libdl.so.2                      pluginwrapper/pips.so

so I did that. Now, 

su-2.05b# lpr -Pspr300_310 ~/test
su-2.05b# lptest 20 10 | lpr -Pspr300_310
su-2.05b# lpq -Pspr300_310

Rank   Owner      Job  Files                                 Total Size
1st    root       10   /root/test                            210 bytes
2nd    root       11   (standard input)                      210 bytes

...and they'll stay there indefinitely without a peep from the printer, not 
even the throat-clearing it does redirecting directly to the device node...

The detection of the printer is pretty hit and miss - it only seems to work if 
the printer is off when bsd boots up, AND if I switch it on after I switch on 
my digital camera! (Odd, huh?) But when it does work, this is what I get:

umass0: EPSON USB2.0 MFP, rev 2.00/1.00, addr 2
ulpt0: EPSON USB2.0 MFP, rev 2.00/1.00, addr 2, iclass 8/6
ulpt0: using bi-directional mode
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <EPSON Stylus Storage 1.00> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: Attempt to query device size failed: NOT READY, Medium not present
(da0:umass-sim0:0:0:0): READ CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0
(da0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
(da0:umass-sim0:0:0:0): SCSI Status: Check Condition
(da0:umass-sim0:0:0:0): NOT READY asc:3a,0
(da0:umass-sim0:0:0:0): Medium not present
(da0:umass-sim0:0:0:0): Unretryable error
Opened disk da0 -> 6
(da0:umass-sim0:0:0:0): READ CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0
(da0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
(da0:umass-sim0:0:0:0): SCSI Status: Check Condition
(da0:umass-sim0:0:0:0): NOT READY asc:3a,0
(da0:umass-sim0:0:0:0): Medium not present
(da0:umass-sim0:0:0:0): Unretryable error
Opened disk da0 -> 6

...and then it makes the appropriate nodes (there's a /dev/unlpt0 as well, but 
it does even less than the one I'm using). On the vague off-chance it's 
relevant, here's the camera going on and off again:

ugen0: Eastman Kodak Company KODAK EasyShare DX4530 Zoom Digital Camera, rev 
2.0
0/1.00, addr 3
ugen0: at uhub0 port 2 (addr 3) disconnected
ugen0: detached

I don't understand why that would make any difference, they use different usb 
drivers... so, I dunno, is this a usb problem, or what? Oh yeah:

su-2.05b# uname -a
FreeBSD potato.hogsedge.net 5.3-BETA5 FreeBSD 5.3-BETA5 #1: Tue Oct 19 
08:53:58 BST 2004     root@potato.hogsedge.net:/usr/obj/usr/src/sys/POTATO  
i386

Thanks very much for your help,
Ben



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410242018.27626.ben>