Osamu Sayama's Weblog
Printing with BrandZ and Linux native driver - English
In the linux world, the inkjet printer drivers from the major printer manufacturers in Japan such as Canon or Epson can be downloaded from the web site like Canon (English version here, PIXMA iP4200 only?) or Epson (English verion here). So it's great if these drivers can be leveraged for Solaris with a minimum configuration. Fortunately, CentOS3 under BrandZ includes cups-1.1.17 and ghostscript-7.05 which works fine with these drivers so that these would be used without a modification. Here is the configuration I tried. Since USB port cannot be accessed in BrandZ, the result of the conversion is backed to Solaris and then it is sent to a printer on Solaris if the USB printer is used. However, a network printer can be accessed in BrandZ, the result is sent directly.
o When a USB printer is used,
Solaris remote printer - > BrandZ Linux Printer - > Solaris USB local printer -> USB printer
o When a network attached printer is used,
Solaris remote printer - > BrandZ Linux Printer - > Network printer
I could use both cases with using Canon PIXUS iP4100 on nevada_b54 + b55 lpsched (See bug of 6502814). Also coud use Epson PM-A820 USB printer. The following is the step how to do. To do this, you must set up BrandZ and install CentOS from here. Please see here how to install.
1. Setting of Solaris USB local printer (Option USB printer only)
Since a spooled content is already converted to the native printer code of Canon/Epson, no more conversion is needed here. So a USB printer without a filter should be set up. Here is the example of this setting.
# lpadmin -p usbprt -v /dev/printers/0 -I any -i /usr/lib/lp/model/standard -o "stty=-opost" -o banner=never
# /usr/sbin/accept usbprt
# /usr/bin/enable usbprt
usbprt is printer name. Also open rfc1179 service to enable brandZ host to access global zone's spooler. Please try telnet <machine> 515 from a remote machine after enabled. If connected, it works fine.
# svcadm enable svc:/application/print/rfc1179:default
2. BrandZ Linux Printer
Install the driver rpms and set up cups. I downloaded bjfilter-common-2.50-2.i386.rpm and bjfilter-pixusip4100-2.50-2.i386.rpm from Canon site. Also libxml-1.8.17-9.2.i386.rpm is downloaded from rpmfind because it is needed. In the case of Epson PM-A820, only pipslite-cups-1.0.0-1.i386.rpm is needed. (Also to use Epson pipslite, you must create a ppd file to connect USB printer through linux. See avasys FAQ for this if you use knoppix. Once created, copy /usr/share/cups/model/ekpma820.ppd to brandZ).
o Canon PIXUS iP4100
brandz# rpm -Uvh libxml-1.8.17-9.2.i386.rpm bjfilter-common-2.50-2.i386.rpm bjfilter-pixusip4100-2.50-2.i386.rpmo Epson PM-A820
brandz# rpm -Uvh pipslite-cups-1.0.0-1.i386.rpm
brandz# /etc/init.d/cups start
brandz# chkconfig cups-lpd on < - from global zone it can access with lpd,
Also /etc/{rc2.d,rc3.d}/lx_S55cups should be moved to S55cups to start cupsd automatically. After that, cups in BrandZ can configure with using mozilla. Here is the example.
% ssh -X brandz /usr/bin/mozilla http://localhost:631/
o USB printer
Since the filter output is backed to global zone printer which is defined in 1), the printer defined in 1) is specified.
Printer name: lxprt
URI: lpd://<global IP>/usbprto Network printer
The filter output is directly sent to the printer.
Printer name: lxprt
URI: socket://<printer IP>:9100
3. Solaris remote printer
Finally the remote printer is set on the global zone of Solaris.
# lpadmin -p canon -s <brandz IP>\!lxprt
# lpadmin -d canon
After that, you can printer PS file to send this remote printer.
% lp t.ps
If you cannot print well, please check the following
- telnet <brandZ> 515 in global zone, telnet <global zone> 515 in brandZ work fine?
- How is the cusps status?
- Change /dev/printers/0 to a file and check whether a context is increased when printing.
Posted at 07:19午後 12 28, 2006 by sayama in English | 投稿されたコメント[0]