linux支持usb打印机

区块链

580人已加入

描述

配置CONFIG_USB_PRINTER=y

inux内核默认运行打印机 驱动,直接在配置上CONFIG_USB_PRINTER=y添加上去就好了。 make menuconfig 选上USB打印机选项: Device Drivers ---> [*] USB support ---> <*> USB Printer support 插入打印机就可以看到/dev/usb/lp0设备节点了

插入打印机有如下打印,证明节点生成,识别设备

:/dev/usb # [ 325.064966@0] usb 1-1: new high-speed USB device number 3 using xhci-hcd [ 325.235362@2] usblp 1-1:1.1: usblp0: USB Bidirectional printer dev 3 if 1 alt 0 proto 2 vid 0x03F0 pid 0x5817 :/dev/usb # /dev/usb # ls -al total 0 drwxr-xr-x 2 root root 80 2018-01-16 20:42 . drwxr-xr-x 18 root root 14160 2018-01-16 20:39 .. crw------- 1 root root 180, 0 2018-01-16 20:42 lp0 lrwxrwxrwx 1 root root 12 2018-01-16 20:42 usbmisc1-1:1.1 -> /dev/usb/lp0

上层都是操作/dev/usb/lp0 或/dev/lp0这个节点,USB设备都是要自报家门的。usb协议中有专门的打印协议,内核是「不生产信息只是软硬件之间的搬运工」 使用内核的usblp.c只是因为它是个通道,不是目的,目的是将数据传输给打印机。使用libusb(应用层的usb通信库)直接传输也是一样的,参见hplip的实现;真到Android中使用usb host api也是一样的,参见Google play中 USB打印APP 的实现

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分