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打印机。