Ports and Interfaces > USB

Error writing HID device

<< < (2/5) > >>

Jan Andersson:

--- Quote from: Ron Hemphill on February 09, 2011, 10:48:17 pm ---In your 2nd post you implied, but did not really answer whether your device is FS or LS.  Assuming it is, one thing you might try is to ask your customer to try putting a high-speed (USB 2.0) hub between the device and the PC/laptop.  The hub will then handle transactions to/from the host in high-speed and translate them to FS or LS for the device.  Also, if you're using a hub on your test system, remove it and connect the device directly to a root port (but be aware that some PCs use on-board hubs to distribute USB ports; make sure you're on an actual root port).

--- End quote ---
I did not see any question about the type of device, so therefore I did not "answer" ;) It is a full-speed device though, so your idea is definitely worth trying! Thanks!

Jan Andersson:

--- Quote from: mdlayt on February 09, 2011, 06:48:37 pm ---
--- Quote ---Is it possible laptops handle USB different in general?
--- End quote ---

Yes, but the variable is not laptop versus desktop.

The variable is, when some component is different, then it might act differently.  In this case, the most relevant components are, the host controller (ie root hub), the driver code, the app code, and any hubs you may have in the system.

That is why you need to look in your device manager to figure out if there is a specific set of host controllers (ie chips on your motherboard for USB) that do or don't work.  Eg in my device manager I see I have an "Intel(R) 82801G (ICH7 Family) USB2 Enhanced Host Controller."
--- End quote ---
I happen to have that controller too. Will try to get info about which controllers there are at the problematic sites.

Jan Axelson:
As others have suggested, the host needs to comply with the spec but has some leeway in how to do it. For example, for an interrupt endpoint with a max latency of 10 ms, the host can poll at any rate of every 10 ms or less.

Jan

Jan Andersson:

--- Quote from: Jan Axelson on February 10, 2011, 10:16:47 am ---As others have suggested, the host needs to comply with the spec but has some leeway in how to do it. For example, for an interrupt endpoint with a max latency of 10 ms, the host can poll at any rate of every 10 ms or less.

Jan
--- End quote ---
OK, I see.. Well that could cause problems if the host happens to be a poll-to-often-type.. Hmm.. Would be great if there was a way of knowing the poll rate, preferably from the PC itself.

Jan Axelson:
The device doesn't have to know the poll rate. It just needs to respond to what the host does.

Typically interrupt OUT endpoints are set up in hardware to NAK after receiving data until firmware retrieves the data and resets the endpoint to ACK new data.

What device controller chip does the device use? Are you using interrupt endpoints only?

Jan

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version