2010-05-17 (Mon)

_ [debian][amd64] 続・LBP3100 vs cndrvcups

ようやく印刷できるようになった。以下 Canon CAPT プリンタ を Ubuntu/amd64 で使う を参考にさせていただいた手順。 まず i386 パッケージを –force-architecture でインストール。

# dpkg -i --force-architecture cndrvcups-common_2.00-2_i386.deb cndrvcups-capt_2.00-2_i386.deb

プリンタを cups に登録。

# lpadmin -p LBP3100 -m CNCUPSLBP3100CAPTJ.ppd -v ccp://localhost:59687 -E
#

プリンタを ccpd に登録。

# ccpdadmin -p LBP3100 -o /dev/usb/lp0 

 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787

 Entry Num  : Spooler	: Backend	: FIFO path		: Device Path 	: Status 
 ----------------------------------------------------------------------------
     [0]    : LBP3100 	: ccp 		: //localhost:59687 	: /dev/usb/lp0 : New!!

# 

次に、libcanonc3pl.so.1.0.0 と libcanoncapt.so.1.0.0 をコンパイルして置き換え。

% tar xfz cndrvcups-common-2.00-2.tar.gz 
% cd c3plmod_ipc
% make
# cp libcanonc3pl.so.1.0.0 /usr/lib

% tar xfz cndrvcups-capt-2.00-2.tar.gz
% cd cndrvcups-capt-2.00/driver
% ./autogen.sh
% make
# cp .libs/libcanoncapt.so.1.0.0 /usr/lib

ccpd を起動。

# /etc/init.d/ccpd start
Starting /usr/sbin/ccpd: .

これで OK。

0.4. Build cndrvcups-common-1.70

Change “Architecture: i386” in debian/control to “Architecture: amd64”

0.5. Build cndrvcups-capt-1.70

Change “Architecture: i386” in debian/control to “Architecture: amd64” Change “ dh_shlibdeps” in debian/rules to “# dh_shlibdeps”

ref. Ubuntu 9.04 amd64 and Canon LBP2900

とやってビルドしたパッケージは ccpdadmin が SIGABRT するようになって駄目だった。

2010-05-16 (Sun)

_ [debian][amd64] LBP3100 vs cndrvcups

ということで LBP3100 が届いた。接続すると

usb 1-6: new high speed USB device using ehci_hcd and address 3
usb 1-6: New USB device found, idVendor=04a9, idProduct=26db
usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-6: Product: Canon CAPT USB Device
usb 1-6: Manufacturer: Canon
usb 1-6: SerialNumber: 0000A1A1LBpb
usblp0: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x04A9 pid 0x26DB
usbcore: registered new interface driver usblp

こんな感じ。 ccpd が起動してなかったが、readme-capt-2.0xJ.pdf に insserv 用のエントリが載ってたので、

### BEGIN INIT INFO
# Provides:          ccpd
# Required-Start:    $local_fs $remote_fs $syslog $network $named
# Should-Start:      $ALL
# Required-Stop:     $syslog $remote_fs
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Description:       Start Canon Printer Daemon for CUPS
### END INIT INFO

/etc/init.d/ccpd に追加して起動。起動したら登録。

# ccpdadmin -p LBP3100 -o /dev/usb/lp0 

 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787

 Entry Num  : Spooler	: Backend	: FIFO path		: Device Path 	: Status 
 ----------------------------------------------------------------------------
     [0]    : LBP3100 	: ccp 		: //localhost:59687 	: /dev/usb/lp0 : New!!

# 

# lpadmin -p LBP3100 -P /usr/share/cups/model/CNCUPSLBP3100CAPTJ.ppd -v ccp://localhost:59687 -E
#

これで印刷できるかなーと思ったけど、

PID 19721 (/usr/lib/cups/filter/pstocapt3) crashed on signal 13!
[Job 22] Job stopped due to filter errors; please consult the error_log file for details.
        :
[Job 22] printer-state=3(idle)
[Job 22] printer-state-message="/usr/lib/cups/filter/pstocapt3 failed"
[Job 22] printer-state-reasons=none

ってなってうまくいかないな…。

2010-05-15 (Sat)

_ [debian][amd64] cndrvcups-common 2.00-2, cndrvcups-capt 2.00-2

CAPT Printer Driver for Linux Ver2.00 がバイナリ deb は i386 しか提供されてなかったので、ソースからリビルドしてみた。ところがパッケージ作成の最後で、

dh_builddeb
 dpkg-genchanges -sa >../cndrvcups-common_2.00-1vd1_amd64.changes
dpkg-genchanges: error: cannot read files list file: そのようなファイルやディレクトリはありません

となってしまうので何だろうと思ったら、debian/control で

Architecture: i386

になってたからだった。any に直したら通るようになった。 というかこれどうやら i386 専用らしい。Canon CAPT プリンタ を Ubuntu/amd64 で使う にある通り、dpkg -i –force-architecture で無理矢理突っ込んだ。