当前位置: 技术问答>linux和unix
linux 下使用USB条码扫描枪的错误,请帮我看一下
来源: 互联网 发布时间:2017-02-28
本文导语: 手头有两个条码扫描枪,不同的牌子,都按照说明书正确设置了USB键盘模式。两个扫描枪在windows下都能正常工作。 其中A扫描枪在linux下可以正常工作,B描枪插到linux系统后无法使用。 B扫描枪扫一下条码,就断开了...
手头有两个条码扫描枪,不同的牌子,都按照说明书正确设置了USB键盘模式。两个扫描枪在windows下都能正常工作。
其中A扫描枪在linux下可以正常工作,B描枪插到linux系统后无法使用。
B扫描枪扫一下条码,就断开了连接。
扫描后,终端下输入:
dmesg | grep usb
得到信息:
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.29.4-167.fc11.i586 ehci_hcd
usb usb1: SerialNumber: 0000:00:0b.0
usb usb1: configuration #1 chosen from 1 choice
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: OHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.29.4-167.fc11.i586 ohci_hcd
usb usb2: SerialNumber: 0000:00:06.0
usb usb2: configuration #1 chosen from 1 choice
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
usb 2-1: new full speed USB device using ohci_hcd and address 2
usb 2-1: New USB device found, idVendor=04b4, idProduct=bca1
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1: Product: Barcode Reader
usb 2-1: Manufacturer: Guest
usb 2-1: configuration #1 chosen from 1 choice
generic-usb: probe of 0003:04B4:BCA1.0001 failed with error -22
usb 2-1: USB disconnect, address 2
usb 2-1: new full speed USB device using ohci_hcd and address 3
usb 2-1: New USB device found, idVendor=04b4, idProduct=bca1
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1: Product: Barcode Reader
usb 2-1: Manufacturer: Guest
usb 2-1: configuration #1 chosen from 1 choice
generic-usb: probe of 0003:04B4:BCA1.0002 failed with error -22
这里面
generic-usb: probe of 0003:04B4:BCA1.0001 failed with error -22
这句话应该就是报出的错误吧。请问这是什么原因,怎么解决。谢谢。
其中A扫描枪在linux下可以正常工作,B描枪插到linux系统后无法使用。
B扫描枪扫一下条码,就断开了连接。
扫描后,终端下输入:
dmesg | grep usb
得到信息:
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.29.4-167.fc11.i586 ehci_hcd
usb usb1: SerialNumber: 0000:00:0b.0
usb usb1: configuration #1 chosen from 1 choice
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: OHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.29.4-167.fc11.i586 ohci_hcd
usb usb2: SerialNumber: 0000:00:06.0
usb usb2: configuration #1 chosen from 1 choice
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
usb 2-1: new full speed USB device using ohci_hcd and address 2
usb 2-1: New USB device found, idVendor=04b4, idProduct=bca1
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1: Product: Barcode Reader
usb 2-1: Manufacturer: Guest
usb 2-1: configuration #1 chosen from 1 choice
generic-usb: probe of 0003:04B4:BCA1.0001 failed with error -22
usb 2-1: USB disconnect, address 2
usb 2-1: new full speed USB device using ohci_hcd and address 3
usb 2-1: New USB device found, idVendor=04b4, idProduct=bca1
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1: Product: Barcode Reader
usb 2-1: Manufacturer: Guest
usb 2-1: configuration #1 chosen from 1 choice
generic-usb: probe of 0003:04B4:BCA1.0002 failed with error -22
这里面
generic-usb: probe of 0003:04B4:BCA1.0001 failed with error -22
这句话应该就是报出的错误吧。请问这是什么原因,怎么解决。谢谢。
|
struct usb_device_id 结构提供了这个驱动支持的一个不同类型 USB 设备的列表. 这个列表被USB 核心用来决定给设备哪个驱动, 并且通过热插拔脚本来决定哪个驱动自动加载, 当特定设备被插入系统时.
建议你找到 A 对应的驱动, 然后再修改 这个驱动支持的 设备列表 (应该是个头文件), 增加
idVendor=04b4, idProduct=bca1
建议你找到 A 对应的驱动, 然后再修改 这个驱动支持的 设备列表 (应该是个头文件), 增加
idVendor=04b4, idProduct=bca1
|
usb的pid 和 vid ,能唯一标识一种usb设备,网上这些知识很多
http://www.linux-usb.org/usb.ids 可查
22号错误是 错误的参数
怀疑传递的pid不被支持,现在强制让其支持
http://www.linux-usb.org/usb.ids 可查
22号错误是 错误的参数
怀疑传递的pid不被支持,现在强制让其支持
|
正解。
枪可以正常使用的:
usb 1-1.1: USB disconnect, address 4
usb 1-1.3: USB disconnect, address 5
usb 1-1.3: new low speed USB device using s3c2410-ohci and address 6
usb 1-1.3: New USB device found, idVendor=04b4, idProduct=0100
usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.3: Product: Barcode reader(v38b)
usb 1-1.3: Manufacturer: TechScan Korea
usb 1-1.3: configuration #1 chosen from 1 choice
input: TechScan Korea Barcode reader(v38b) as /devices/platform/s3c2410-ohci/usb
1/1-1/1-1.3/1-1.3:1.0/input/input3
generic-usb 0003:04B4:0100.0004: input: USB HID v1.00 Keyboard [TechScan Korea B
arcode reader(v38b)] on usb-s3c24xx-1.3/input0
=======================================
linux 能够正确的识别到 A的厂商号和产品号,或者说能找到 A 的驱动。
B 就不行了,没有找到对应的驱动, 所以linux 就随便找了个通用的驱动对付一下, 然后对付不过去,就放弃了。
从你的信息来看 A,B 应该是同一家厂商的东西, 但是型号不同, linux Kernel 有 A 的驱动, 却没有 B 的驱动。
所以它不工作。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。