Re: Handshaking on USB serial devices

From: Greg KH
Date: Thu Feb 14 2008 - 15:55:36 EST


On Thu, Feb 14, 2008 at 03:04:41PM -0500, Gene Heskett wrote:
> On Thursday 14 February 2008, Alan Cox wrote:
> >> byte of a packet is being thrown away about .1% of the time for the
> >> pl2303, but I'm not sure if the FTDI driver still suffers from a similar
> >> rash. I
> >
> >A 20 byte low speed message is too small for flow control to account for
> >it.
>
> Where then could the first byte go? Note I'm not fussing about flow controls
> per sei, so the subject line maybe needs to be adjusted, but they obviously
> work well enough that a multimegabyte transfer to my printer works very well,
> but about usb trying to entirely replace serial here. There does seem to be
> a problem but I'm not 100% positive where it is in the chain of a usb packets
> travels. What I've observed, with hidraw I think it was, is that the
> first 'wake up' byte incoming didn't seem to be there.

I have not seen this kind of error in years, why have you not reported
it?

Can you enable debugging in the pl2303 driver with a simple:
modprobe pl2303 debug=1
or when the driver is running with:
echo 1 > /sys/module/pl2303/parameters/debug

That way you can see the data flowing through the device. If the host
sends it to the device, perhaps your device is just dropping it somehow?

These pl2303 devices are really cheap, there are lots of different
variations of them, and none of them are documented at all. We might be
missing some kind of interaction here, but in my tests, I have not had
any lost data.

Are you sure your userspace program isn't constantly setting the line
settings? We have seen instances where the device does get confused and
resets itself if that happens a lot. That was just fixed in the last
kernel release.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/