Ubuntu 20.04下更新sane-backends及解决CanonScan Lide 300扫描I/O错误咨询
Ubuntu 20.04下更新sane-backends及解决CanonScan Lide 300扫描I/O错误咨询
看起来你遇到的问题大概率是系统自带的sane-backends版本太老旧导致的——毕竟1.0.29确实是比较久远的版本了,而CanonScan Lide 300这类相对较新的扫描仪,对SANE后端的版本兼容性要求会更高。下面给你几个可行的解决方向,不管是更新版本、排查权限还是获取更清晰的错误信息都有覆盖:
一、更新sane-backends到最新稳定版
因为Ubuntu 20.04仓库里的版本停留在1.0.29,咱们可以通过源码编译安装最新版:
- 先卸载旧版本的相关包:
sudo apt remove --purge sane sane-utils - 安装编译所需的依赖:
sudo apt install build-essential libusb-1.0-0-dev libjpeg-dev libtiff-dev - 前往SANE官方平台下载最新稳定版的源码包,解压后进入对应的目录
- 完成编译安装:
./autogen.sh ./configure --prefix=/usr --sysconfdir=/etc make sudo make install - 最后重启系统或者重新加载SANE服务,让新设置生效:
sudo systemctl restart saned
二、排查设备权限问题
I/O错误有时候并不是版本问题,而是当前用户没有访问扫描仪设备的权限:
- 先通过
lsusb命令找到你的CanonScan Lide 300的设备ID,它的典型ID是04a9:190e(如果不一样,找描述里带“Canon”的条目即可) - 创建一个udev规则来赋予权限:
- 新建规则文件:
sudo nano /etc/udev/rules.d/99-canon-scanner.rules - 在文件里写入:
(注意把SUBSYSTEM=="usb", ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="190e", MODE="0666", GROUP="scanner"idProduct换成你实际查到的ID) - 保存退出后,重新加载udev规则:
sudo udevadm control --reload-rules && sudo udevadm trigger
- 新建规则文件:
三、获取更详细的错误日志
如果上面的方法都没解决,咱们可以开启SANE的调试模式,拿到更具体的错误信息,方便精准排查:
- 针对Pixma后端(CanonScan Lide 300用的是这个后端)开启调试,运行命令:
SANE_DEBUG_PIXMA=255 scanimage > scanlog.txt 2>&1 - 之后查看生成的
scanlog.txt文件,里面会有详细的设备交互日志,能帮你定位到底是连接问题、驱动问题还是其他诱因。
四、替代方案:换用第三方扫描工具
要是你不想折腾源码编译,也可以试试用Simple Scan、gscan2pdf这类图形化扫描工具,它们有时候会自带一些兼容性处理,说不定能直接识别并正常使用扫描仪。
备注:内容来源于stack exchange,提问作者reducing activity
相关产品推荐
相关产品推荐

