Chinaunix
标题:
基于ARM的cups移植,lpinfo -v 为什么没有显示我的USB打印机URI ?
[打印本页]
作者:
xylinux6
时间:
2015-04-28 17:00
标题:
基于ARM的cups移植,lpinfo -v 为什么没有显示我的USB打印机URI ?
本帖最后由 xylinux6 于 2015-04-28 18:00 编辑
大家好!
我在已经把cups-1.2.12移植到了ARM上并成功启动了cupsd服务。使用
lpinfo -l -v
命令显示可用的设备时发现USB连接的打印机怎么像是挂在了并口上?而在Ubuntu14.04上运行
lpinfo -l -v
则正常。
下边是在ARM上运行 lpinfo -l -v 的结果:
[root@x210ii ~]# 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
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2