Hi Andreas,

I'd like to reproduce this problem in the lab. How can I get a CDC device?

Thanks,
-baolu

On 9/10/2014 3:04 PM, Kasberger Andreas wrote:
So I am back with more tests on this problem.
Intel itself told us it is a problem on the driver for the XHCI host 
controller. I will put some stuff here now what I goo from Intel:

Let me explain why I came back to you with this problem.
We have already tried the same thing with an "echo device" from Ellisys to see 
if the problem came from our board.
And we got also with this very simple device (just echoing) the same problem.
XHCI host controller do not respond anymore

So it has nothing to do with our board and it is a bug exisiting on the current 
Linux kernel

Here some short mail traiffic between Intel and our company. I removed the 
helpless parts

First Mail from us :

We have a problem with a CDC device that simulates a serial interface. Problem 
is that the host stops CDC BULK IN transfers after a while on those USB2.0 
ports that are connected to the chip set's internal rate matching hub, others 
seem to work fine.
We tried it with our own host hardware (using PCH 82QM87 [Lynx Point] chip set) as well as with 
your "CRB Emeral Lake 2". We also sent our hardware to a consulting company 
(http://thesycon.de/eng/home.shtml) for analysis. They tried our CDC device and their own "CDC 
echo device", both with same result. Tests have been done with unchanged Kubuntu 
3.13.0-24-generic and our own in-house Linux (kernel 3.6 with RT patches), without any differences. 
It also makes no difference if the device is connected directly or via external USB2.0 hub, same 
behavior.
We realized that it has to do with file open/close on Linux because if we open /dev/ttyACM0 once 
communication works fine for hours but if we re-open /dev/ttyACM0 for each message CDC BULK IN 
transfer is stopped within seconds (CDC BULK OUT still works). The problem could be reproduced with 
simply "cat" and "echo" in a loop as well as with an own written tool that just 
opens /dev/ttyACM0, writes something, expects an answer and closes the file again in a loop.
Please find attached a log file made with USB logger from Ellisys (software is 
available for free at Ellisys homepage if necessary: 
http://www.ellisys.com/products/usbex200/download.php) that contains whole CDC 
device transfer from being plugged in until CDC BULK IN transfer has been 
stopped. Furthermore find attached Thesycon’s device descriptor file. Both CDC 
devices differs in a way that our CDC device has only one interface whereas 
Thesycon’s has two.
So far we are not sure if the problem lays inside the host controller hardware 
or any of the Linux device drivers. Do you have ever heard about that problem, 
any suggestions, bug fixes or work arounds?
... to prevent confusion please note: Problem can only be reproduced on those 
USB2.0 ports that are NOT HANDLED by chip set's rate matching hub.

If we disable USB3.0 within the BIOS (or remove USB3.0 Linux drivers) all ports 
are handled via rate matching hub and therefore all ports seem to work, in that 
case the error cannot be reproduced anymore at any port.

Resposes from Intel
Sorry for the delay. I was not able to get in contact with Sarah Sharp like you 
told me, see seems to be out on vacations. Anyway,  I see the other issue was 
rejected in the Linux channel because they don't deal with peripheral drivers, 
just graphics drivers. I think we can veer towards the Linux community at this 
point. As we've discussed earlier, since the issue does not happen under the 
Windows environment, this more of linux driver issue that hardware.


We can conclude the same if we take into consideration that you see the same 
issue with the Intel CRB. Most of the times, Linux issues related to drivers 
have been already addressed and solved in the community, that's we strongly 
encourage you to ping them about it.


I've found a USB Linux drivers website that offers device driver support and it 
lists a bunch of USB devices as well as CDC class drivers. Perhaps this could 
help you out.


http://www.linux-usb.org/devices.html
Best Regards,

----------------------------------------
From: andreaskasber...@hotmail.com
To: st...@rowland.harvard.edu
CC: sarah.a.sh...@linux.intel.com; pe...@stuge.se; linux-usb@vger.kernel.org; 
mathias.ny...@intel.com
Subject: RE: PROBLEM: XHCI Host Controller on Intel Panther Point with CDC/ACM 
dead after massive NAK
Date: Thu, 13 Feb 2014 16:15:13 +0000

Does my log means it has nothing to do with kernel itself ?
Maybe you're experiencing a problem with link power management. Some
changes were just merged into Greg KH's development tree (the usb-linus
branch), and they should appear in the next 3.14-rc release. You could
try either one of those. Or you could try building a kernel without
CONFIG_PM_RUNTIME, which will disable link power management.

I will give the latest kernel a try in some days. The test with disabled power 
managment I have done already but maybe something is getting better with the 
new kernel anyway.


Andreas
                                          --
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to