- Windows 2000 and Vista USB driver issues
- Posted by wilhelm.lundgren@gmail.com on August 31st, 2006
Hello,
I am currently developing a USB driver that reads data from the FT245RQ
chip.
The driver works well in Windows XP, both on laptop and stationary
computer,
but on Windows Vista and Windows 2000, both are laptop computers, I am
experiencing weird problems.
I have not been able to verify if these issues are related to that they
both are
Laptops or not.
Anyway:
Problem number 1, only related to Windows 2000:
When inserting the USB device into the computer, Driverentry and all
other
Start up functions are called successfully. When remove the USB device,
the unload
Routine is also called successfully. But when I try to insert it a
second time, nothing
Happens. That is, my DriverEntry not any other functions on my drivers
is called and the
Device is left as an unidentified USB device in device manager. Right
clicking on properties
for the USB device tells me that the driver for this device is not
installed, which of course is wrong.
Trying to reinstalling it makes windows wanna use the usb.inf file and
not my .inf file.
I have not clue on what could be causing this since this is not an
issue in WinXp and Vista.
I have compiled the driver with a windows 2000 checked build
environment, version 3790.1830
Do you have any ideas at all on what could be causing this behavior?
Problem number 2, related to Windows 2000 and Windows Vista.
This driver reads a lot of data from the chip, and then passes it on to
a
User mode application. This works flawlessly in Windows XP.
But in 2k and Vista, I am hardly getting any data. I am requesting appr
200000 bytes
Per read and almost always I get back around 200 bytes or just random
amount of bytes.
In XP I always get what I asked for.
I use the same environment as mentioned above, and the USB device is
version 1.1, 2.0 compatible.
The USB root hubs is 2.0 in all environments.
If you could help me with any of these issues I would very grateful.
And if you need more information, source code
Or anything I will gladly supply it.
Regards
Wilhelm Lundgren
- Posted by chris.aseltine@gmail.com on August 31st, 2006
wilhelm.lundgren@gmail.com wrote:
At least in Windows 2000, I don't think you can submit a bulk read for
more than 4096 bytes. If your application is asking for more than
that, you may need to buffer it in your driver.
- Posted by wilhelm.lundgren@gmail.com on September 1st, 2006
Yes, thats the default max transfer size. But you can change it by
creating a configuration urb och settings the speed you want.
chris.aseltine@gmail.com skrev:
- Posted by Tim Roberts on September 3rd, 2006
wilhelm.lundgren@gmail.com wrote:
What? I don't think that's true. As far as I know, the maximum bulk URB
is a fixed attribute of the host controller. If you have a pointer, I'd
love to read it.
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
- Posted by Ali on September 3rd, 2006
Tim Roberts wrote:
Ok! a chip(host controller) from ABC company can provide any aaritrary
URB configuration. So what do you think now? I have to agree with OP
for his thought for urb och configuration settings; the speed you
want.
ali
- Posted by Tim Roberts on September 4th, 2006
"Ali" <abdulrazaq@gmail.com> wrote:
It's not the chip -- it's the host controller DRIVER.
What I think now is that the point is true but irrelevant.
99.9% of Windows 2000 users (and probably more) use one of the standard
Microsoft host controller drivers. The standard host controller drivers in
Windows 2000 are limited to 4096 bytes for a bulk transfer, and that cannot
be changed by sending a configuration request.
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
- Posted by wilhelm.lundgren@gmail.com on September 5th, 2006
Hi and thanks for your answers.
Still no real progress, except wierd stuff. For example, the issue when
i remove and insert the device and windows 2k does not recognise it
anymore goes away when i connect the device via an usb hub. But never
works when connceting directly to the computer. Even tried a clean
installation of win2k.
Do you have any clue on why this is so ?
Regards
Wilhelm
Tim Roberts skrev: