Re: usbser.sys throughput problem

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance




Hi,

Thank you for your replies. The speeds are in kilo bits per seconds. I
was using hyperterminal's SendTextFile to measure the speed, but I'll
try to use WriteFile directly, are there any suggestions for the
parameters to use with CreateFile/WriteFile with usb ?

The endpoints that I use for sending and receiving data are configured
based on a standard CDC device i.e. Bulk type. The endpoint's maximum
size is 64. And there is no other USB device attached to the same host
on the PC side (to make sure that the bandwidth is not used with some
other device).

About NAKs, I'm really looking for something to help me find out about
them, unfortunately, the USB controller that I'm using sends ACKs/NAKs
transparently and I can't see them, I also don't have any USB data
logger hardware to investigate the protocol. Is there any way that I
can find out about NAKs in windows system ?

About writing my own driver, I'm trying to avoid that as much as
possible, as I'm not familiar with driver developement in windows and
also I'm afraid that I have to implement one driver for each version of
windows (not sure about that though).

Regards,
Behzad

chris.aseltine@xxxxxxxxx wrote:
Hapary wrote:

When my device sends data to PC via its dedicated endpoint, I can reach
a throughput around 300kbps, however when PC sends data to my device,
the throughput is extremely low (around 10kbps). Both endpoints have
similar characteristics, and the endpoint size is defined as 64 bytes.
But I've seen that only one byte is transfered with every DATA OUT
packet (instead of maximum size of 64).

Is that kilobits per second or kilobytes per second? How are you
calling WriteFile() on the port? How are your endpoints configured on
the device?

Have you taken a USB log on the wire to see if the device is, say,
excessively NAKing the packets?

.



Relevant Pages

  • Re: Why do not CRT/LCD monitors come with USB?
    ... Existing ones like USB, Firewire, and SATA, ... given the slow 1.0 and 1.1 speeds. ... | re-written at the same the EHCI driver was added. ... |> USB device addressing is flaky in design. ...
    (comp.os.linux.hardware)
  • Re: Problems with USB
    ... Somewhere there abouts is a bug in that if an endpoint is active before the daemon is active, a wild pointer writes all over the kernel when the daemon attempts to hook the driver. ... I assumed that the USBD.sys driver would know first about devices (endpoints) being added or removed. ... It was pointed out to me by another that he has similar problem if his USB printer was powered on at boot time. ...
    (comp.os.os2.bugs)
  • Re: Switching device types in a USB device
    ... Enumerate as V1.1 device with next to no endpoints. ... Having seen USB 2.0 systems wait for the USB V1.1 transfer to complete ... If it stays in sync (driver and device) it is fine, ...
    (comp.arch.embedded)
  • Re: usbser.sys throughput problem
    ... Except for usb ... That's another reason why you should build your own driver. ... The endpoints that I use for sending and receiving data are configured ... can find out about NAKs in windows system? ...
    (microsoft.public.development.device.drivers)
  • Re: Why do not CRT/LCD monitors come with USB?
    ... Existing ones like USB, Firewire, and SATA, ... A better design would be an interface between driver and hardware that just ... USB device addressing is flaky in design. ... So why does the old OHCI driver not "just work" at faster speeds when a faster ...
    (comp.os.linux.hardware)