>>> We have a stand-alone device with a USB I/F for downloading code to
Flash
>>> memory.  Currently the only means of downloading the Flash code is via
a
>>> DOS program (actually running from DOS, not Windows).  We are trying to
>>> move this to Linux to eliminate the need for DOS.  A skeleton driver is
up
>>> and answers the probe requests.
>>> The question is, how does an application attach to and send IOCTL to a
USB
>>> driver?

>>If you are only downloading firmware, I'd recommend using
>>usbdevfs/usbfs.  This allows userspace programs to talk to usb devices.
>>See libusb for an easier interface to the devices: http://libusb.sf.net/
>>
>>As for sending an ioctl to a driver, see the ioctl(2) man page :)
>>
>>thanks,
>>
>>greg k-h

>It is not the ioctl command itself that I really had a question about.  My
>real question should have been:
>What parameter do you pass to the 'open' command to retrieve a file
>descriptor to use in subsequent ioctl commands?

If the USB driver registered and the physical device shows up, should the
driver show up under /dev/usb?
Output of /proc for usb is below:

/proc/bus/usb/drivers:
           usbdevfs
           hub
           acm
           usb-storage
   96-111: ggusb


/proc/bus/usb/devices:
  T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
  B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
  D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
  P:  Vendor=0000 ProdID=0000 Rev= 0.00
  S:  Product=USB UHCI-alt Root Hub
  S:  SerialNumber=fca0
  C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
  I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
  E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
  T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  8 Spd=12  MxCh= 0
  D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
  P:  Vendor=0572 ProdID=cafe Rev= 0.01
  S:  Manufacturer=?
  S:  Product=??????????????
  S:  SerialNumber=????????
  C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
  I:  If#= 0 Alt= 0 #EPs= 7 Cls=00(>ifc ) Sub=00 Prot=00 Driver=ggusb
  E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
  E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
  E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
  E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
  E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
  E:  Ad=03(O) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
  E:  Ad=84(I) Atr=03(Int.) MxPS=   8 Ivl=200ms

/proc/bus/usb/001:
    001
    008


Thanks,
Dan




_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to