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]