General USB questions and comments

From: Henning Meier-Geinitz (
Date: Sat Jan 06 2001 - 07:54:04 PST

  • Next message: "RPM packaging in progress"


    I just started to write a backend for the Mustek BearPaw 1200 (based
    on the NS 9831 "Merlin" chip). Further more I want to add USB support
    for find-scanner.

    Some questions (mostly based on Linux and the USB driver "scanner"):

    * Is there any way to get the vendor and device ids for a given device
      file name? One problem for SANE-USB backends is that they can't easily
      check if the device file they are using is really coresponding to
      the USB scanner they support. It's easier for SCSI backends because
      they can just send an inquiry command.
    * Which device names are used? I have seen /dev/usbscanner0 (...15) and
      /dev/usb/scanner0 (...15) (and the usbscanner/scanner links). Any
      other names?

    * What's the meaning of the other files under /proc/bus/usb/? I'm
      talking of e.g. 001/001.

    * For find-scanner the idea was to scan /proc/bus/usb/devices. Look for
      new devices (starting with "T:" lines) and save all devices
      containing an "I: ... Driver=usbscanner" line. Get vendor and
      product ids from the "P:" line. Question: How to get the device file
      from this information? Can I just assume that the first usbscanner entry
      in this list is /dev/usbscanner0? Can the number of one device
      change if another one is conncted?
    * Should we add sanei/sanei-usb.c? Maybe with functions to open,
      close, read, and write a USB device file. There is nothing special
      with this under Linux but I don't know if this is the same with
      other OS. So it might be easier to add support for other OS in one
      file instead of changing lots of backends. Maybe add functions to
      identify the scanner, e.g.
      SANE_Word sanei_usb_get_vendor (SANE_String devicename) if this is
    * I wanted to add a file sanei/sanei-lm983x.c that allows simple read
      and write access to the scanners based on the 9831 and 9832 chips from
      National Semiconductor. This would be used by my backend and can be
      used by others. Any comments?

    Source code, list archive, and docs:
    To unsubscribe: echo unsubscribe sane-devel | mail

    This archive was generated by hypermail 2b29 : Sat Jan 06 2001 - 07:34:34 PST