LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1307|回复: 5

嵌入式USB打印问题!

[复制链接]
发表于 2009-11-10 11:25:09 | 显示全部楼层 |阅读模式
大家好,
      我想要在PowerPC  ppc405上通过USB连接打印机实现打印,在Kernel配置中已选择“USB printer”。当连接打印机到USB口时,提示usblp0: HP1160(所使用的打印机),但是没有usb/lp0节点,然后自己手动创建该节点,#mknod /dev/usb/lp0 c 180 0,进行#date > /dev/usb/lp0没有反应,一会出来一堆看不懂的信息。
      是不是还需要进行什么设置?或者 大家有什么好的方法、建议,谢谢。
 楼主| 发表于 2009-11-12 08:36:58 | 显示全部楼层
谢谢大家,以后会尽量把问题描述清楚。
1、cat /proc/devices 显示如下
Character devices:
  1 mem
  2 pty
  3 ttyp
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
10 misc
13 input
21 sg
29 fb
89 i2c
90 mtd
128 ptm
136 pts
180 usb
189 usb_device
249 fb_dma
250 USB printer gadget
251 usb_endpoint
252 fpga_addr
253 bsg
254 rtc

Block devices:
  1 ramdisk
  8 sd

打印机应该是Character devices,如果把打印机连接到PC后用的设备号是180 usb,这里显示有180 usb,那驱动是安装了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-12 08:38:17 | 显示全部楼层
2、连接USB打印机后显示的信息为
usb 1-1.1: new full speed USB device using dwc_otg and address 4            
usb 1-1.1: configuration #1 chosen from 1 choice                                
usblp0: USB Bidirectional printer dev 4 if 0 alt 1 proto 2 vid 0x03F0 pid 0x1E17
usb 1-1.1: New USB device found, idVendor=03f0, idProduct=1e17                  
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3            
usb 1-1.1: Product: hp LaserJet 1160 series                                    
usb 1-1.1: Manufacturer: Hewlett-Packard                                       
usb 1-1.1: SerialNumber: 00CNK2D23569
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-12 08:38:57 | 显示全部楼层
3、# date > /dev/bus/lp0,“一堆看不懂的信息”
BUG: soft lockup - CPU#0 stuck for 61s! [sh:813]
NIP: c01ae1b8 LR: c01ab5ec CTR: c01ab5d8
REGS: cdbefbf0 TRAP: 1001   Not tainted  (2.6.25)
MSR: 00029030 <EE,ME,IR,DR>  CR: 44004044  XER: 00000000
TASK = ca2123f0[813] 'sh' THREAD: cdbee000
GPR00: 04200031 cdbefca0 ca2123f0 ccd8f0c0 ccd8f000 c0012594 ccd8f0e0 ccd8f0e0
GPR08: ffffffff d1060014 00000001 d1060000 24004048
NIP [c01ae1b8] dwc_otg_hcd_handle_intr+0x30/0x124
LR [c01ab5ec] dwc_otg_hcd_irq+0x14/0x30
Call Trace:
[cdbefca0] [bfd222a0] 0xbfd222a0 (unreliable)
[cdbefcc0] [c01ab5ec] dwc_otg_hcd_irq+0x14/0x30
[cdbefcd0] [c01872c0] usb_hcd_irq+0x40/0x9c
[cdbefce0] [c0046468] handle_IRQ_event+0x5c/0xb0
[cdbefd00] [c00482a4] handle_level_irq+0x90/0x11c
[cdbefd10] [c0016b6c] uic_irq_cascade+0x108/0x138
[cdbefd30] [c0004d4c] do_IRQ+0xa0/0xc4
[cdbefd40] [c000e3d4] ret_from_except+0x0/0x18
[cdbefe00] [00000003] 0x3
[cdbefe30] [c0004228] do_softirq+0x58/0x5c
[cdbefe40] [c0025334] irq_exit+0x48/0x58
[cdbefe50] [c0004d50] do_IRQ+0xa4/0xc4
[cdbefe60] [c000e3d4] ret_from_except+0x0/0x18
[cdbeff20] [c007dda8] sys_fcntl64+0x58/0xb8
[cdbeff40] [c000dd8c] ret_from_syscall+0x0/0x3c
Instruction dump:
7c0802a6 9421ffe0 bf810010 90010024 81230000 7c7d1b78 81690004 392b0014
7c0004ac 7c004c2c 0c000000 4c00012c <700a0001> 3b800000 41820088 7c0004ac
回复 支持 反对

使用道具 举报

发表于 2009-11-15 01:57:54 | 显示全部楼层
似乎你内核里的打印机驱动出错了(不应该)。最好把 .config 贴出来看看。怀疑 lp0 是不正确的,你最好找找 usblp0。

建议 1. 看看 x86 + Linux 平台下是否正常,用的是什么设备。
       2. 测试的时候用 echo "test line" > /dev/xxx,用 date 有符号总归把问题复杂化了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-17 08:38:05 | 显示全部楼层
Post by mopz0506;2045958
似乎你内核里的打印机驱动出错了(不应该)。最好把 .config 贴出来看看。怀疑 lp0 是不正确的,你最好找找 usblp0。

建议 1. 看看 x86 + Linux 平台下是否正常,用的是什么设备。
       2. 测试的时候用 echo "test line" > /dev/xxx,用 date 有符号总归把问题复杂化了。


谢谢mopz0506关注。
现在的问题是:
       1、在X86+ubuntu,X86+Puppy下用相同的打印机(HP1160)是可以正常打印的;
       2、用 echo "test line" > /dev/usb/lp0 这样也不行,出现同样的问题;
       3、用open函数打开该设备fd = open("/dev/usb/lp0", O_RDWR );,发现返回值为负数。
难道真的是内核里的打印机驱动出错了?该怎么验证呢?
另外,在该usb接口上U盘可以正常使用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表