Hi;

I'm quite new in USB programing so please forgive me my ignorance.
I don't understand the control transfer.
In usb specification there is that control transfer minimally have 2
stages, first is the status, and last is the answer from device
(opposite direction), in addition there may exist another stage - data
transfer.
In linux usb programming exists macro, which fill suitable urb structure
(FILL_CONTROL_URB).
Please tell me where are above stages in URB structure?
Am I right that:
    status is urb_s->setup_packet
    data   is urb_s->transfer_buffer
    answer is sending to urb->complete function in urb structure, but in
which field ???

I have been developed driver for MicroTouch USB Touchscreen device.
When I register my driver with allocation interface 0, endpoint 0x81
(FILL_INT_URB),
the irq_function isn't executed. Should I initialize device to get irq ?

I also allocate control endpoint (OUT direction 0x00 address), and send
to device
<R> command ( <reset> from "Touch Controllers Reference Guide",
unfortunately this book hasn't any word seems like "USB"). Next I try to
receive data from device (endpoint 0x80, FILL_CONTROL_URB) and then
appears something like this:

--May 12 10:12:31 kasaIBM kernel: usb-uhci.c: ENXIO 80400a80, flags 0,
urb ceda1bb4, --burb ceda1bb4

and usb_submit_urb() returns EINPROGRESS error, which seems quite
normal, because in a moment there appears message like:

--May 12 10:12:31 kasaIBM kernel: touchscreen.c: ctrl_touchscreen(0):
Or I incorrect interpretate these messages?

There are also a few messages like:

--May 12 10:44:31 kasaIBM kernel: usb-uhci.c: interrupt, status 2,
frame# 56
--May 12 10:44:31 kasaIBM kernel: usb-uhci.c: interrupt, status 2,
frame# 59

What does it mean?

  Could I hope that commands from "Touch Controllers Reference Guide"
for non USB controllers will work with my usb device?

Thanks for all constructing answers...

My usb device announced as:
MicroTouch USB Touchscreen
Manufacturer: MicroTouch Systems, Inc.
Speed: 12Mb/s
USB Version:  1.00
Device Class: 00(>ifc )
Device Subclass: 00
Device Protocol: 00
Maximum Default Endpoint Size: 8
Number of Configurations: 1
Vendor Id: 0596
Product Id: 0001
Revision Number:  2.00

Config Number: 1
 Number of Interfaces: 1
 Attributes: 80
 MaxPower Needed: 100mA

 Interface Number: 0
  Name: (none)
  Alternate Number: 0
  Class: 00(>ifc )
  Sub Class: 0
  Protocol: 0
  Number of Endpoints: 1

   Endpoint Address: 81
   Direction: in
   Attribute: 3
   Type: Int.
   Max Packet Size: 12
   Interval:   2ms


--
    >>> POS Experts Consulting <<<
Software developer : Radoslaw Garbacz
             e-mail : [EMAIL PROTECTED]
                tel : (048 71) 354 80 85




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to