Hello,
I am trying to write a driver for two touchscreen devices to be connected with the PC using USB. I am using Jungo Windriver to make it faster to develop and this far i sucessfully connected and wrote a driver for one of the touchscreens (calling it T1).
Problem started when i got the second touchscreen (calling it T2) and tried to make them work together. For my surprise, both of them (T1 and T2) have the same Vendor ID and Product ID which is FFFF. Windows recognize T1 to be the one of my INF file and sends to my previously coded driver, but T2 is recognized as an absolute driver and i see no way to connect to it once it has the same Vendor ID and Product ID as T1.
I discovered that the first touchscreen connected to the PC receives my coded driver and the second always receive the absolute mouse driver. I cant find a way to control this.
I found this thread that seems to be a similar thing: “http://www.osronline.com/showThread.CFM?link=173616”
And some of you sugested changing the devices ID. Is it something we do by firmware or can i change it on windows? How is this Device ID coded on the touchscreen?
Anyone could give me a light? One option I am considering is to take advantage my touchscreen has also an output for RS232 and use a RS232/USB converter to gain a new Product ID…
>using Jungo Windriver to make it faster to develop
This product is known to have lots of bugs. I think you will not get much support here, except the suggestion to switch to KMDF instead.
–
Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com
MY problem is not with jungo. My problem is with the touchscreens having the same device id and vendor id. I will see this KMDF though.
You problem is more about lack of fundamental understanding on how a
driver works. What you try to achieve is I guess a little harder than what
you expect and I believe anyone with this understanding would not pick up
Jungo to “speed up the development” in this case.
Even if you could “change” the device id, which is done in firmware btw,
the “same” driver would tend to create the same driver nodes in the
system.
Same goes on the API side, the API is communicating with a file node.
Your driver has to deal with two identical devices, creating one device
context per touchscreen. Then your API should provide your application
with one handle per device.
Also, if you do DMA with your touchscreen, you will need to be tricky
around asynchronous operations as you can write to two devices in the same
time…
Well I wish you good luck 
Rgds,
Arnaud
PS: Throw away your jungo project, do not look at KDMF yet also. Try to
understand what is involved and how the things work first of all
MY problem is not with jungo. My problem is with the touchscreens having
the same device id and vendor id. I will see this KMDF though.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
xxxxx@gmail.com wrote:
I am trying to write a driver for two touchscreen devices to be connected with the PC using USB. I am using Jungo Windriver to make it faster to develop and this far i sucessfully connected and wrote a driver for one of the touchscreens (calling it T1).
Problem started when i got the second touchscreen (calling it T2) and tried to make them work together. For my surprise, both of them (T1 and T2) have the same Vendor ID and Product ID which is FFFF. Windows recognize T1 to be the one of my INF file and sends to my previously coded driver, but T2 is recognized as an absolute driver and i see no way to connect to it once it has the same Vendor ID and Product ID as T1.
How did you install your driver? Do you actually have it in the driver
store, or did you get the first one working just by hacking it in?
If your driver is actually in the driver store, then when two devices
with the same VID/PID are presented, Windows will use the same driver
for both.
By the way, FFFF is not a valid VID and PID. You cannot ship those
devices in that condition.
Is it something we do by firmware or can i change it on windows? How is this Device ID coded on the touchscreen?
It is embedded in the firmware.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.