Re: USB Barcode Scanner Won't Load

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 16 Nov 2010, Charles Tassell wrote:

> Here is a copy of the usbmon output and /var/logmessages output from
> plugging in, scanning a barcode, and unplugging the device.  I also
> commented out some of the error checking in hid_reset but that didn't
> work either.

Okay, this explains to some extent what's going on.  The usbmon trace 
starts after the beginning of the system log, so I'll skip directly to 
that point.

> Nov 16 12:55:21 eliza kernel: usb 7-1: new low speed USB device using
> uhci_hcd and address 11
> Nov 16 12:55:21 eliza kernel: usb 7-1: New USB device found,
> idVendor=0c2e, idProduct=0200
> Nov 16 12:55:21 eliza kernel: usb 7-1: New USB device strings: Mfr=1,
> Product=2, SerialNumber=0
> Nov 16 12:55:21 eliza kernel: usb 7-1: Product: Metrologic Scanner
> Nov 16 12:55:21 eliza kernel: usb 7-1: Manufacturer: Metrologic
> Nov 16 12:55:21 eliza kernel: input: Metrologic Metrologic Scanner as
> /devices/pci0000:00/0000:00:1d.1/usb7/7-1/7-1:1.0/input/input11

This is all part of normal device initialization and enumeration, and 
the corresponding messages show up in the usbmon log.  One additional 
piece of information visible there, but not here, is that the device 
describes itself as a keyboard, not a scanner!  The configuration 
string is "HID Keyboard".

However, when the system tries to use it as keyboard, the device stops
responding and about 1/4 second later, disconnects itself
electronically from the bus.  No program causes this; the device is
entirely responsible.  I have no idea why it behaves this way.

> Nov 16 12:55:21 eliza kernel: usb 7-1: USB disconnect, address 11

Then a little more than 3 seconds after that, it reconnects.  But 
something has changed...

> Nov 16 12:55:25 eliza kernel: usb 7-1: new low speed USB device using
> uhci_hcd and address 12
> Nov 16 12:55:25 eliza kernel: usb 7-1: New USB device found,
> idVendor=0c2e, idProduct=0700

Compare this with the corresponding line from above.  The product ID
has changed from 0200 to 0700.  The configuration string is now "POS
USB", as in your lsusb output.  (I'd guess that the "POS" stands for
"Point-Of-Sale".)  The descriptors are now vendor-specific, so of
course the kernel doesn't think it is an input device.

> Nov 16 12:55:25 eliza kernel: usb 7-1: New USB device strings: Mfr=1,
> Product=2, SerialNumber=0
> Nov 16 12:55:25 eliza kernel: usb 7-1: Product: Metrologic Scanner
> Nov 16 12:55:25 eliza kernel: usb 7-1: Manufacturer: Metrologic

Then eventually you give up and unplug it.

> Nov 16 12:56:20 eliza kernel: usb 7-1: USB disconnect, address 12

It's possible that the device would work correctly if the kernel 
treated it as HID.  You can test this by doing:

	modprobe usbhid
	echo 0c2e 0700 >/sys/bus/usb/drivers/usbhid/new_id

before plugging in the scanner.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux