Canon LBP2900使用Linux CAPT驅動,其最新版本是2017年3月的v2.71版,可從佳能中國官網下載。
由於驅動包不提供install.sh安裝腳本,某些依賴庫需要檢查后手動安裝,具體流程如下。
一、解壓驅動包,並使用dpkg命令安裝
----------
$ tar xvf linux-capt-drv-v271-uken.tar.gz
$ cd linux-capt-drv-v271-uken/64-bit_Driver/Debian
$ sudo dpkg -i cndrvcups-common_3.21-1_amd64.deb
$ sudo dpkg -i cndrvcups-capt_2.71-1_amd64.deb
$ sudo apt-get -f install
二、檢查並安裝缺少的依賴庫
----------
運行ldd命令后,會顯示缺少not found的庫名稱。
$ ldd /usr/bin/captfilter
linux-gate.so.1 (0xf779e000)
libpopt.so.0 => not found
libc.so.6 => /lib32/libc.so.6 (0xf75c4000)
/lib/ld-linux.so.2 (0x5662e000)
(如果返回顯示“不是動態可執行文件”,直接運行下面的安裝即可。)
運行下面的命令安裝libpopt0:i386庫。
$ sudo apt install libpopt0:i386
再次運行ldd命令后,確保所有的庫都已經顯示,沒有not found的庫。
$ ldd /usr/bin/captfilter
linux-gate.so.1 (0xf77b5000)
libpopt.so.0 => /lib/i386-linux-gnu/libpopt.so.0 (0xf7784000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf75cc000)
/lib/ld-linux.so.2 (0x565cb000)
三、安裝打印機
----------
插上打印機USB數據線,運行cd命令查看打印機端口名稱。一般為lp0或lp1。
$ ls /dev/usb
如果USB連接正常,會返回lp0或lp1。如果沒有顯示,嘗試拔掉USB數據線在連接一次。
運行lpadmin命令安裝打印機
$ sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59687 -E
注: 若打印機型號為LBP2900+,可使用CNCUPSLBP3000CAPTK.ppd
運行ccpdadmin命令配置打印機端口,與ls /dev/usb顯示的端口保持一致。
$ sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
四、重啟ccpd服務,並檢查狀態,active (running) 為正常。
----------
$ sudo service ccpd restart
$ sudo service ccpd status
● ccpd.service
Loaded: loaded (/etc/init.d/ccpd; generated; vendor preset: enabled)
Active: active (running) since Mon 2019-07-29 16:14:56 CST; 26s ago
Docs: man:systemd-sysv-generator(8)
Process: 2330 ExecStart=/etc/init.d/ccpd start (code=exited, status=0/SUCCESS)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/ccpd.service
├─2337 /usr/sbin/ccpd
└─2338 /usr/sbin/ccpd
July 29 16:14:56 fangde-VirtualBox systemd[1]: Starting ccpd.service...
July 29 16:14:56 fangde-VirtualBox ccpd[2330]: Starting /usr/sbin/ccpd: .
July 29 16:14:56 fangde-VirtualBox systemd[1]: Started ccpd.service.
五、運行captstatusui檢查打印機狀態
----------
$ captstatusui -P LBP2900
如果顯示“Ready to print”則為正常,可以打印,如果出錯,需要排除錯誤。
[補充說明]
經測試,ccpd服務能否正常運行,正常通信,可能還和硬件相關。
上面的方法,在Dell OptiPlex 990台式機上能正常打印,但在Lenovo Thinkpad T440p上卻有問題。
這可能是佳能驅動內部的Bug。目前佳能CAPT驅動已不再更新。
建議新購買打印機時,買佳能UFRII打印機,或干脆換其他品牌,例如最通用的HP打印機。