xylinux6 发表于 2015-04-28 17:00

基于ARM的cups移植,lpinfo -v 为什么没有显示我的USB打印机URI ?

本帖最后由 xylinux6 于 2015-04-28 18:00 编辑

大家好!:lol: 我在已经把cups-1.2.12移植到了ARM上并成功启动了cupsd服务。使用 lpinfo -l -v 命令显示可用的设备时发现USB连接的打印机怎么像是挂在了并口上?而在Ubuntu14.04上运行 lpinfo -l -v 则正常。
下边是在ARM上运行 lpinfo -l -v 的结果:# lpinfo -l -v
Device: uri = socket
      class = network
      info = AppSocket/HP JetDirect
      make-and-model = Unknown
      device-id =
Device: uri = parallel:/dev/lp0
      class = direct
      info = HP Deskjet 1000 J110 series LPT #1
      make-and-model = HP Deskjet 1000 J110 series
      device-id = MFG:HP;MDL:Deskjet 1000 J110 series;CMD:PCL,DW-PCL,DESKJET,DYN;CLS:PRINTER;DES:CH340D;CID:HPIJVIPAV1;LEDMDIS:USB#07#01#02,USB#FF#04#01;SN:CN36L18RBD05YD;S:038000C484001021002c1f01100c2881028;J:                  ;Z:0102,050361a700b228,0600,0c0,0e00000000,0f00000000,10000008000008,12000,143,150,16361a361a000116da189c0001,17000000000000;
Device: uri = http
      class = network
      info = Internet Printing Protocol (http)
      make-and-model = Unknown
      device-id =
Device: uri = ipp
      class = network
      info = Internet Printing Protocol (ipp)
      make-and-model = Unknown
      device-id =
Device: uri = lpd
      class = network
      info = LPD/LPR Host or Printer
      make-and-model = Unknown
      device-id =
Device: uri = scsi
      class = direct
      info = SCSI Printer
      make-and-model = Unknown
      device-id =
Device: uri = serial:/dev/ttyS0?baud=115200
      class = serial
      info = Serial Port #1
      make-and-model = Unknown
      device-id =
Device: uri = serial:/dev/ttyS1?baud=115200
      class = serial
      info = Serial Port #2
      make-and-model = Unknown
      device-id =
Device: uri = serial:/dev/ttyS2?baud=115200
      class = serial
      info = Serial Port #3
      make-and-model = Unknown
      device-id =
Device: uri = serial:/dev/ttyS3?baud=115200
      class = serial
      info = Serial Port #4
      make-and-model = Unknown
      device-id = 在Ubuntu14.04上运行 lpinfo -l -v 的结果:root@ubuntu:/home/xylinux/0001/cups-1.2.12/cups# lpinfo -l -v
Device: uri = socket
      class = network
      info = AppSocket/HP JetDirect
      make-and-model = Unknown
      device-id =
Device: uri = usb://HP/Deskjet%201000%20J110%20series?serial=CN36L18RBD05YD
      class = direct
      info = HP Deskjet 1000 J110 series USB #1
      make-and-model = HP Deskjet 1000 J110 series
      device-id = MFG:HP;MDL:Deskjet 1000 J110 series;CMD:PCL,DW-PCL,DESKJET,DYN;CLS:PRINTER;DES:CH340D;CID:HPIJVIPAV1;LEDMDIS:USB#07#01#02,USB#FF#04#01;SN:CN36L18RBD05YD;S:038000C484001021002c1f01100c2881028;J:                  ;Z:0102,050361a700b228,0600,0c0,0e00000000,0f00000000,10000008000008,12000,143,150,16361a361a000116da189c0001,17000000000000;
Device: uri = http
      class = network
      info = Internet Printing Protocol (http)
      make-and-model = Unknown
      device-id =
Device: uri = ipp
      class = network
      info = Internet Printing Protocol (ipp)
      make-and-model = Unknown
      device-id =
Device: uri = lpd
      class = network
      info = LPD/LPR Host or Printer
      make-and-model = Unknown
      device-id =
Device: uri = parallel:/dev/lp0
      class = direct
      info = LPT #1
      make-and-model = Unknown
      device-id =
Device: uri = scsi
      class = direct
      info = SCSI Printer
      make-and-model = Unknown
      device-id =
因添加打印机需要它连接的URI,为什么我的USB打印机在ARM上”像是“挂在了并口上?怎么能让它正确地挂在USB上呢?
谢谢。

xylinux6 发表于 2015-05-07 11:40

本帖最后由 xylinux6 于 2015-05-07 11:47 编辑

已解决。
导致我这个问题的原因在于:usblp模块没有加载进内核中。
解决步骤如下:
1.lsmod//发现内核没有加载上usblp模块2. 手动加载内核模块modprobe -a usblp//如若提示找不到模块,则需重新编译内核。重新编译后,加载成功3. 但 lpinfo -v 命令仍然无法发现usb打印机,ls -l /dev/usblp0//发现输出信息的第一列首字母不是c(字符设备)解决方法:进入到/dev/下,
            a.rm usblp0//删除节点b.mknod usblp0 c 180 0//手动新建节点,'c'表示字符设备,180表示major number, 0表示minor number。(这两个数字尚不清楚,见谅)c.chmod 744 usblp0//cups需要对usblp0文件具有可执行权限4. 对我来说,以上步骤解决了我的问题。
/*
      希望我的经历能够帮到其他人,谢谢。
*/

topo 发表于 2015-05-30 16:43

遇到相同问题,/dev/lp0创建,backend 的parrllel能发现设备,usb不行,一直找不到问题,usblp0查看加载模块的时候的确没有,但dmesg能看到影子,菜鸟,刚学,不知道原因,modprobe usblp 也不能创建,看来得重新编译内核了。多谢你的文章,有联系方式吗?加qq:38350771

xylinux6 发表于 2015-06-01 11:11

不客气,希望对你能有所帮助。回复 3# topo


   

ganyu999 发表于 2015-09-10 09:36

你好。我也是做了嵌入式linux系统,是用的Ramdisk的。我现在是要连接打印机,不知道怎么处理cups,还有开机启动cups服务。方便价格QQ或者什么交流下吗?
回复 1# xylinux6


   

xylinux6 发表于 2015-10-29 15:03

本帖最后由 xylinux6 于 2015-10-29 15:04 编辑

/* For PageSize=A4 */
float    PageLeft = 51.0f,               //Left margin
          PageRight = 544.0f,               //Right margin
          PageBottom = 56.0f,               //Bottom margin
          PageTop = 786.0f,               //Top margin
          PageWidth = 595.0f,               //Total page width
          PageLength = 842.0f;       //Total page length
页: [1]
查看完整版本: 基于ARM的cups移植,lpinfo -v 为什么没有显示我的USB打印机URI ?