您当前的位置:首页 > 计算机 > 系统应用 > Linux

UOS上扫描仪驱动笔记

时间:07-19来源:作者:点击数:

之前自己总结了打印机驱动以及打印连接协议等等,但对扫描仪一直没怎么注意,一是客户扫描仪用的少,二是遇到的客户扫描仪都能正常驱动,下载个扫描易就搞定了,尤其是很多一体机官网也带了驱动,但实际上现在的Linux平台都是采用SANE这个框架来进行扫描了,扫描本身比较简单,不像打印各种历史协议,打印设备也是五花八门。

SANE框架里面,前段应用软件和后端的驱动分开,扫描易,Xsane界面,命令行scanimage,都是扫描前端,驱动这些是后端,后端除了实际的驱动也包括网络以及特殊后端 元(meta)backend

SANE配置目录 /etc/sane.d/

dll.conf 决定了要加载哪些后端模块(这些模块在官网也有对应的描述及man手册)后端可以理解为驱动,特殊的后端包括网络,网络上其他saned服务也可以是后端,可以配置/etc/sane.d/net.conf文件,输入网络上saned服务的机器IP,这样可以通过添加扫描别人的机器上的扫描仪了。

dll.conf 里定义的后端在同样的目录会存在 模块名.conf的配置文件,扫描仪测试过程中最主要的问题就是查看后端驱动是否支持,可以用

export SANE_DEBUG_DLL=255

xsane

这样的方法来启动xsane这个前段,启动的时候会列出他加载了哪些后端,然后去寻找了哪些backend的so.这样就知道你的物理打印机驱动是不是被添加上了。

添加驱动理论上就是加后端或者在后端的配置文件添加VID PID 或者设备文件名

然后对应的后端的so文件所在的包是libsane:amd64 和libsane:i386两个包。

摘取canon_dr.conf配置文件中的一段

# DR-C120
usb 0x1083 0x1651

# P-201
usb 0x1083 0x1652

# DR-F120
option duplex-offset 1640
usb 0x1083 0x1654

可以看到,canon_dr.conf 配置文件里面是配置了很多型号的打印机,摘取的部分是usb连接的,写入了usb设备的 VID PID

SANE先通过 /etc/sane.d/dll.conf 和dll.d目录里面的配置文件查看要加载哪些后端,然后在 /etc/sane.d下加载对应的.conf配置文件以及对应的后端so驱动

比如 dll.conf里配置了canon_dr ,他会读取canon_dr.conf 以及

/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1或者

/usr/lib/i386-linux-gnu/sane/libsane-canon_dr.so.1

这样就完成了驱动的加载。这时候通过前端程序就可以查看到连接到系统的扫描设备了。

实际测试64位的xsane无法调用到32位的so文件,所以如果安装的

佳能驱动是32为的后端,就得安装32位的xsane sudo apt install xsane:i386

另外发现佳能的私有驱动和现有标准SANE后端有一些不同,需要添加的时候单独对待。这个有时间单独再记录。

当然,扫描驱动的协议除了SANE ,还有TWAIN等其他集中,可以参考

​​​​​​文件扫描-TWAIN,WIA,ISIS,SANE这个地址的介绍。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门