On Tue, 31 Jan 2012, Ross Ryles wrote: > I've attached the output from usbmon. The complete log for ~11 > seconds is bzip2ed. The device is opened and closed 6 times with a 1 > second pause between each. I've also attached a grep of just the > control messages. > > To me, the last close (when it hangs) looks identical to all the others. No, it is not identical. Here's the first close: ffff8800b638dc00 2692516721 S Bi:4:002:1 -115 512 < ffff8800b4f27540 2692516868 S Co:4:002:0 s 40 02 0000 0000 0000 0 ffff8800b638dc00 2692517719 C Bi:4:002:1 0 2 = 0170 ffff8800b638dc00 2692517721 S Bi:4:002:1 -115 512 < ffff8800b4f27540 2692518719 C Co:4:002:0 0 0 ffff8800b638dc00 2692518723 C Bi:4:002:1 0 2 = 0170 ffff8800b638dc00 2692518724 S Bi:4:002:1 -115 512 < ffff8800b4f27540 2692518726 S Co:4:002:0 s 40 01 0300 0000 0000 0 ffff8800b638dc00 2692519719 C Bi:4:002:1 0 2 = 0170 ffff8800b638dc00 2692519721 S Bi:4:002:1 -115 512 < ffff8800b638dc00 2692520718 C Bi:4:002:1 0 2 = 0170 ffff8800b638dc00 2692520720 S Bi:4:002:1 -115 512 < ffff8800b4f27540 2692521719 C Co:4:002:0 0 0 ffff8800b638dc00 2692521723 C Bi:4:002:1 0 2 = 0170 ffff8800b638dc00 2692521724 S Bi:4:002:1 -115 512 < ffff8800b638dc00 2692522719 C Bi:4:002:1 -2 2 = 0170 And here's the last one: ffff8800b638dc00 2702189539 S Bi:4:002:1 -115 512 < ffff8800b638dc00 2702190537 C Bi:4:002:1 0 2 = 0170 ffff8800b638dc00 2702190538 S Bi:4:002:1 -115 512 < ffff8800b638dc00 2702191537 C Bi:4:002:1 0 2 = 0170 ffff8800b638dc00 2702191539 S Bi:4:002:1 -115 512 < ffff8800b4f27000 2702586670 S Co:4:002:0 s 40 02 0000 0000 0000 0 ffff8800b4f27000 2702588538 C Co:4:002:0 0 0 ffff8800b4f27000 2702588547 S Co:4:002:0 s 40 01 0300 0000 0000 0 ffff8800b4f27000 2702591537 C Co:4:002:0 0 0 Ignore the control transfers and look at the bulk-IN transfers. During the first close, every bulk-IN submission is followed by a bulk-IN completion, and the last completion's status value is -2, indicating the transfer was killed. But in the last close, we have a bulk-IN submission with no later completion. That's the problem. In fact, we start to see missing completions almost 400 ms before the final close. That's quite a long time and it suggests that your controller stopped working properly well before the port was closed. This certainly seems to be a hardware problem in your controller. Does the same thing happen if you plug the serial device into a different port (one on bus 3 instead of bus 4)? What about using the serial device on a different computer? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html