Hi, On Thu, Aug 13, 2015 at 01:37:19PM -0500, Felipe Balbi wrote: > Hi, > > I have reproduced this write failure very reliably with two different > hosts (my xHCI Desktop and AM335x with MUSB). > > It's very simple to reproduce with the ruby script below: > > #!/usr/bin/env ruby > > 1000000.times do |amt| > File.open("/dev/ttyUSB0", 'w') do |write| > str = "a" * (amt + 1) > puts "writing #{str.length} bytes to #{write.path}" > write.puts str > end > end > > > Basically, CP2108 stops sending data and starts NAKing any IN tokens > from the host. Attached you can find a fresh sniffer capture of the > problem reproduced with AM335x running today's linux-next. > > To read the sniffer capture, you'll need DataCenter SW which can be > downloaded from [1] (there are binaries for Windows, Linux and Mac. > You'll need gstreamer0.10 to run). > > There are ways to make it behave. If I add a reading thread reading from > ttyUSB1 with a null modem cable routed from ttyUSB0 to ttyUSB1, then it > works. It also works by adding a sleep or enough debugging messages. > > Let me know if you need any extra information to reproduce this problem. > > Attached you can also find a screenshot with a snipet of the sniffer > capture showing the timed out control transfer and a little context > around it. > > [1] http://www.totalphase.com/products/data-center/ resending without attachments, you guys already got it anyway :-p -- balbi
Attachment:
signature.asc
Description: Digital signature