On Sun, 29 Aug 2010, Hans Petter Selasky wrote: > On Sunday 29 August 2010 02:01:33 Artem Makhutov wrote: > > > As for FreeBSD... How can you be sure that these errors don't occur > > > under that OS? Maybe they are simply being ignored instead of reported > > > by the driver and in the log. > > > > I am not absolutely sure here. > > Hi, > > The new USB stack in FreeBSD 8.x has several differences from the Linux one. I > will list two: > > 1) Clear-stall is integrated as a state in the USB transfer statemachine. That > means you only have to set a flag on the transfer to have the USB stack > execute clear-stall before the transfer starts. This flag is usually set on > any error except from cancelling an USB transfer. In Linux I've seen that once > the modem gets a STALL PID there is no recovery at all. I'm not sure what you mean here. The modem protocols don't ever stall the bulk or interrupt endpoints, as far as I know. And STALLs on the control endpoint don't require any recovery. In the log posted by Artem, the problem was not STALLs but transaction errors. > 2) The EHCI was in the 8.x release programmed with CERR=0, with a few > exceptions. That means it tries harder to transmit/receive data. That might indeed make a significant difference. Artem, you can achieve the same effect in Linux by editing the source file drivers/usb/host/ehci-hcd.c. Change the line that says #define EHCI_TUNE_CERR 3 /* 0-3 qtd retries; 0 == don't stop */ and replace the 3 with a 0. 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