Hi, On 8/8/06, Johannes Meixner <jsm...@suse.de> wrote: > > Hello, > > On Aug 8 18:34 Parag N(????) wrote (shortened): > > On 8/8/06, Johannes Meixner <jsm...@suse.de> wrote: > > > On Aug 8 16:49 Parag N(????) wrote (shortened): > > > > What sane-find-scanner does > > > ... > > > > 3)check_usb_file will open each attached usb device and then collect > > > > USB ID's and it will show you that output. > ... > > > Right now I didn't check check_usb_file and the functions > > > which it calls in detail but according to > > > https://bugzilla.novell.com/attachment.cgi?id=95324&action=view > > > it seems sane-find-scanner lists any USB device as scanner when > > > either bDeviceClass = 255 (Vendor Specific Class) > > > or bDeviceClass = 0 (Defined at Interface level) > > > and bInterfaceClass = 255 (Vendor Specific Class) > > > because those USB devices are "The Usual Suspects" ;-) > > > > yeah i just checked with other USB webcams and barcode scanners and > > what i found is that your observation is correct. > > for all webcams i got > > either bDeviceClass = 255 (Vendor Specific Class) > > or bDeviceClass = 0 (Defined at Interface level) with bInterfaceClass > > = 255 (Vendor Specific Class) > > but for USB barcode scanner i got > > bDeviceClass = 0 (Defined at Interface level) with bInterfaceClass = 3 > > which is not detected by sane-find-scanner. > > As far as I have found out up to now, it is not check_usb_file() > but nowadays check_libusb_device() (if libusb is used) > and here the section > /* Some heuristics, which device may be a scanner */ > seems to be the crucial one: > ------------------------------------------------------------------- > case USB_CLASS_VENDOR_SPEC: > ++is_scanner; > break; > ... > case USB_CLASS_VENDOR_SPEC: > case USB_CLASS_PER_INTERFACE: > case 16: /* data? */ > ++is_scanner; > break; > ... > if (is_scanner > 0) > ... > printf ("found USB scanner ... > ------------------------------------------------------------------- > In particular it seems bInterfaceClass is not tested at all.
You can then file this problem in bugzilla and even submit patch for it. Regards, Parag.