UOS上扫描仪驱动笔记

news/2024/11/16 13:23:57/

之前自己总结了打印机驱动以及打印连接协议等等,但对扫描仪一直没怎么注意,一是客户扫描仪用的少,二是遇到的客户扫描仪都能正常驱动,下载个扫描易就搞定了,尤其是很多一体机官网也带了驱动,但实际上现在的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_大名软件的博客-CSDN博客_twain这个文档扫描功能是软件开发者建立一个网站,内容管理系统,或办公自动化系统的重要组成部分。 市场上有几种不同的扫描驱动程序:TWAINWIAISISSANE当然,对于什么是最佳解决方案,您可能会感到困惑。TWAIN,WIA,ISIS和SANE都是支持从扫描仪获取物理图像并将数字图像存储在计算机上的扫描驱动程序。 尽管他们基本上试图实现相同的任务,但搜索热门度显示TWAIN处于领先地位。这四个...https://blog.csdn.net/weixin_44795817/article/details/104951687这个地址的介绍。


http://www.ppmy.cn/news/470585.html

相关文章

关于 打印机可打印无法扫描报错“使用该设备需要WIA驱动程序,请从安装CS或从...” 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/128906315 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

如何在Windows 10中修复卡住的“扫描和修复驱动器”

Windows 10 卡在扫描和修复驱动器 卡在扫描和修复驱动器很快就变成了Windows 10计算机用户最头痛的问题。chkdsk的扫描和修复驱动器似乎永远不会完成,停滞在一定数字的百分比不前进。 「我的联强计算机Window 10启动时卡在『正在扫描和修复驱动器(C:): 已完成11%』…

【Vue3 生态】Vue Router 路由知识概览

前言 在 Web 前端开发中,路由是非常重要的一环,但是路由到底是什么呢? 从路由的用途上讲 路由是指随着浏览器地址栏的变化,展示给用户不同的页面。 从路由的实现原理上讲 路由是URL到函数的映射。它将 URL 和应用程序的不同部分…

初识SLAM

SLAM的作用 想象一个叫小萝卜的机器人,小萝卜在未知环境走,肯定想让小萝卜在脑海中记住两件事: 1. 我在什么地方?——定位。 2. 周围环境是什么样?——建图。 这就和我们逛一个旅游景点一样,我们会潜意识…

设计模式之——单例模式

✍🏼作者:周棋洛,计算机学生 ♉星座:金牛座 🏠主页:点击学习更多 🌐关键:JavaScript 单例 设计模式 单例模式的定义是:保证一个类仅有一个实例,并提供一个访问…

Postman快速入门(一)

一、基本介绍 postman是一款流程的接口调试工具,其特点就是使用简单,功能强大。使用角色也非常广泛,后端开发,前端人员,测试人员都可以使用它进行接口调试或测试。 下图是基本功能介绍 发送第一个请求 如果你是第一次…

【动态规划】简单多状态dp问题(1)打家劫舍问题

打家劫舍问题 文章目录 【动态规划】简单多状态dp问题(1)打家劫舍问题1. 按摩师(打家劫舍Ⅰ)1.1 题目解析1.2 算法原理1.2.1 状态表示1.2.2 状态转移方程1.2.3 初始化1.2.4 填表顺序1.2.5 返回值 1.3 编写代码 2. 打家劫舍Ⅱ2.1 题…

基于Hexo搭建博客并部署到Github Pages

基于Hexo搭建博客并部署到Github Pages 之前在简书上写东西,觉得自己还是太浮躁。本来打算用Flask自己写一个,以为是微框架就比较简单,naive。HTML、CSS、JS等都要学啊,我几乎没有这方面的基础,写到Web表单那儿果断弃了…