Osamu Sayama's Weblog

木曜日 12 28, 2006

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.rpm

o 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>/usbprt

o 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.

投稿されたコメント:

コメント
  • HTML文法 不許可

Calendar

Feeds

Search

Links

Navigation

Referrers