为龙芯笔记本安装联想 M7600D 打印机
之前在我的龙芯笔记本上安装好 Gentoo,之后,我就把它连上了打印机,准备实现远程打印。
我家的打印机是十几年前的联想 M7600D 激光打印机,官方有 Linux 的驱动,不过只支持 X86 架构,因此只能自己找驱动编译。
好在联想打印机的驱动很多和兄弟(Brother)打印机是通用的,而 lsusb
命令的输出也验证了这一点:
1 | Bus 002 Device 002: ID 04f9:5608 Brother Industries, Ltd |
电脑甚至直接把它识别成了 Brother 打印机!
因此,只需要安装兄弟打印机的驱动就可以了。根据 Wiki,安装 net-printers/brlaser
即可。
1. 安装 CUPS
1 | ## 启用常见的 USE flag |
2. 安装驱动
1 | echo 'net-print/brlaser * ~*' >> /etc/portage/package.accept_keywords/cups |
3. 开始打印
1 | ## 启用 CUPS 服务 |
之后就可以添加打印机,随便选择一个型号(我记得当时选的是 DCP-7060D),就可以成功打印了。
4. 双面打印
如果只需要单面打印,上面的步骤就足够了。但是在尝试双面的打印的时候,却遇到了问题。因为我发现不管选择什么驱动,双面打印出来的方向都不对,无论我选择长边翻页还是短边翻页,打印出来都是短边翻页的效果。我把支持双面打印机(型号后面带 D)的驱动几乎试了个遍,结果都一样。
经过研究发现,在 brlaser 的配置文件中,双面打印的配置都带有 Duplex rotated
的选项。
运行 cat /usr/share/cups/drv/brlaser.drv | grep DCP-7060D -A3 -B1
可以看到:
1 | { |
简单搜索文档 就可以找到这个选项的说明:
rotated
- double-sided printing is supported, but the back side image needs to be rotated 180 degrees for DuplexNoTumble
即在长边翻页的时候,将后面一页旋转 180°。而我的联想打印机应该选择 normal
才对。
根据 lpinfo --include-schemes usb -l -v
的输出:
1 | Device: uri = usb://Lenovo/M7600D |
我干脆直接修改了源代码,见 #4f19837,然后把它 patch 进来,重新编译安装 brlaser 即可。:
1 | mkdir -p /etc/portage/patches/net-print/brlaser |
之后重新添加打印机,并设置默认双面打印:
1 | ## 添加打印机 |
打印时候,可以直接使用 lpr
或者 lp
命令,后者可以使用 -P 1-3,5
指定要打印的页码。
其它常用命令:
1 | ## 查看打印机 |