0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

技术分享 | I.MX8MP如何适配CUPS打印机

启扬ARM嵌入式开发 2026-04-16 17:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Linux中对打印机的支持比较有限,很多打印机厂家也很少有专门针对Linux适配的相关驱动,今天以I.MX8MP平台为例,介绍如何适配cups打印协议,该协议支持常见打印机通讯协议,无需复杂的厂商打印机驱动。

1b0d9a04-3976-11f1-ab55-92fbcf53809c.jpg

在部署测试之前我们需要查看cups所支持的一些后端协议,比如tcp/ip usb等等,在编译出来的/usr/libexec/cups/backend目录中可以查看到,如下图所示:

1b1fc436-3976-11f1-ab55-92fbcf53809c.png


本篇文章主要是以USB打印机为例,将cups部署在我司I.MX8MP开发板上。

这里直接从已经编译好的cups开始如何部署,编译是在yocto工程中进行的,可以使用bitbake -e cups | grep ^SRC_URI命令查看当前yocto工程是否包含相关配方,如果没有请按照对应的yocto工程适配。编译出来后主要是有以下目录,如下图所示:


1b2c89f0-3976-11f1-ab55-92fbcf53809c.png


其中我们需要将必要的文件对应拷贝到开发板的目录中,其中包括:

/etc/cups、/usr/lib/、/usr/libexec/cups、/usr/share/cups、/usr/bin/、/usr/sbin/,将所有的目录拷贝完成后可以通过cupsd -t命令检查是否有哪些文件缺失,如果所有环境都正常,会打印如下图所示的信息:


1b36e346-3976-11f1-ab55-92fbcf53809c.png


接下来还需要修改相关配置文件,将所属用户、权限等与我们当前的环境对齐,主要是修改/etc/cups/cups-file.con的内容,如下图所示:


1b40d3a6-3976-11f1-ab55-92fbcf53809c.png


以及我们默认移植进来后/usr/libexec/cups/backend目录下所属为weston:wetson,需要将其修改为root:lp,以及更改相关权限,使用如下命令:



chown -R root:lp /usr/libexec/cups/backend

chmod 2750 /usr/libexec/cups/backend

chmod 0750 /usr/libexec/cups/backend/*



按照上述步骤部署完成后,环境也就完成了,接下来需要具体设备的接入以及打印工作。

插入USB打印机,如果正常识别可以在lsusb中查看到自己的打印机设备,同时也可以使用/usr/libexec/cups/backend/usb命令查看,如果正常被cups识别到如下图所示:


1b497e8e-3976-11f1-ab55-92fbcf53809c.png


在以上环境部署正确,打印机也被完全识别到之后,开启打印机服务,输入命令cupsd -l &,服务会持续运行在后台,如果运行之后没有在后台中发现该进程,那么说明前面的配置哪里有问题,可以按照前面的步骤进行自查,正常服务起来后就可以添加打印机了,以XP237B为例,命令如下:



lpadmin -p XP237B -E -v "usb://Xprinter/XP-237B" -m raw



添加一个名叫XP237B的打印机,-E 使能打印机,-v指定设备URI,后面直接粘贴上面/usr/libexec/cups/backend/usb里检测到的内容,-m raw使用raw模式,数据直通打印机,不做任何数据转换,添加完成后就可以直接启动打印任务了。



echo -e "SIZE 40 mm,30 mm\nGAP 2 mm,0\nCLS\nTEXT 10,10,"2",0,1,1,"Test"\nPRINT 1\n" | lp -d XP237B




这里主要是以TSPL2指令发送打印任务,具体解析为:

设置标签尺寸为40*30,标签间隙2mm,清除图像缓冲区,在坐标(10,10)上打印文本“Test”,打印一份,一切正常就会看到在单张标签纸的左上角打印Test字样。


cups是一个功能十分强大的打印机协议,不仅仅后端协议支持广泛,还支持网页前端显示相关打印机以及打印任务,这里就不再展开描述了,有兴趣可以仔细参阅相关文档及教程。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20625

    浏览量

    336759
  • 打印机
    +关注

    关注

    10

    文章

    845

    浏览量

    48919
  • 开发板
    +关注

    关注

    26

    文章

    6405

    浏览量

    120542
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    树莓派之无线打印机

    一台无线打印机第一步:设置操作系统废话不多说。第二步:CUPSCUPS是一个打印机驱动程序,让Linux在打印机上变得像Windows系统。把 sudo apt-get install cup
    发表于 01-06 16:05

    请问I.MX8MP怎样把telnetd加进来?

    请问I.MX8MP怎样把telnetd加进来?
    发表于 12-30 06:59

    请问有好用的cups库,或者QT驱动打印机的方法么?

    有好用的cups库,或者QT驱动打印机的方法么
    发表于 01-11 06:22

    求分享如何特别移植i.MX8MP的信息?

    关于如何特别移植 i.MX8MP 的信息?与其他 i.MX 产品有什么不同,还是我在看一些不符合我目的的东西?此外,如果您对工作流程有任何建议,或者第一次启动 i.MX8MP 定制板时应该按什么顺序完成什么,我很想听听。
    发表于 03-23 07:41

    i.MX8MP/Linux 5.4.70.2.3.0 HDMI热插拔显示异常是怎么回事?

    平台:i.MX8MP EVKBSP:Linux 5.4.70.2.3.0客户报告在运行 L5.4.70.2.3.0 的 i.MX8MP 上进行 HDMI 热插拔时,HDMI 显示器上的 UI 异常并且左侧有更多线条。
    发表于 04-04 07:48

    memtool是否支持i.MX8MP

    你好我正在使用 SC2310H 将数据输出到 i.MX8MP 的 MIPI,但数据没有到达 VB2 队列。我想参考以下寄存器值来检查 i.MX8MP 是否可以接收 MIPI 数据。32E4_0020
    发表于 04-06 07:39

    i.MX8MP能够解码来自8MP USB摄像头的MJPEG视频吗?

    我想确认 i.MX8MP 是否能够解码来自 8MP USB 摄像头的 MJPEG 视频并将其编码为 H.265。
    发表于 04-27 06:57

    如何扩展imx8mp.dtsi中的i.mx8mp cpufreq设置以降低cpu温度?

    一、基本信息: i.mx8mp ,Linux5.10.35, Yocto hardknott 。 i.mx8mp 被设计为数据采集设备。 2、问题: 如何扩展 imx8mp.dtsi 中
    发表于 05-18 13:25

    打印机接口技术

    打印机接口技术:打印机接口技术10.1 Centronics 并行打印机接口结构并行接口的定义:是指它将一个字节
    发表于 06-12 22:22 59次下载

    CUPS打印控制管理系统

    本文给出了一种基于CUPS (Common Unix Printing System,通用Unix打印系统)的打印控制和管理方法。该方法首先设计并安装一个基于CUPS架构的虚拟
    发表于 12-11 17:09 2次下载
    <b class='flag-5'>CUPS</b>的<b class='flag-5'>打印</b>控制管理系统

    打印机的种类

    本视频主要详细介绍了打印机的种类,分别是便携式打印机、墨仓式(加墨式)打印机、激光打印机、喷墨打印机
    的头像 发表于 04-11 14:26 2.3w次阅读

    RFID打印机和条码打印机的区别

    RFID打印机和条码打印机有哪些区别?用于条码打印的叫做条码打印机,RFID打印机就是在一般的条码打印机
    发表于 08-07 17:37 2879次阅读

    强大视觉方案:i.MX8MP与AR0144的完美结合

    大联大友尚集团推出基于NXPi.MX8MP处理器和onsemiAR0144图像传感器的全新视觉方案。该方案不仅具备强大的图像处理能力,还能广泛应用于监控、智能零售、机器人视觉等领域。一、应用场景描述及市场优势该方案采用NXP的i.MX8MP作为主控平台,搭配onsemi的
    的头像 发表于 10-29 08:04 931次阅读
    强大视觉方案:<b class='flag-5'>i.MX8MP</b>与AR0144的完美结合

    基于AR1335和i.MX8MP的视觉方案

    在现代科技的推动下,视觉技术在各个领域的应用越来越广泛。你是否曾想过,如何在低光环境下依然能捕捉到清晰、细腻的图像?本文将为你揭示基于AR1335和i.MX8MP的视觉方案,如何在无人机、智能家居等
    的头像 发表于 11-13 01:01 907次阅读
    基于AR1335和<b class='flag-5'>i.MX8MP</b>的视觉方案

    强悍的I.MX8MP核心板

    在当今的嵌入式系统开发领域,一款性能卓越且尺寸小巧的核心板能够为众多项目带来极大的便利。今天,我们就来深入探讨一下 MYZR新款I.MX8MP 核心板,看看它究竟有哪些独特之处。 一、小巧精致的尺寸
    的头像 发表于 02-13 17:05 948次阅读