Re: [PATCH] usbnet: Activate the halt interrupt endpoint to fix endless "XactErr" error
From: Ming Lei <hidden>
Date: 2012-06-11 02:27:02
On Sun, Jun 10, 2012 at 7:13 PM, Huajun Li [off-list ref] wrote:
On Sun, Jun 10, 2012 at 5:53 PM, Ming Lei [off-list ref] wrote:quoted
On Sun, Jun 10, 2012 at 9:07 AM, Huajun Li [off-list ref] wrote:quoted
However, the other interface can work, it is of "bInterfaceClass 10 CDC Data". I can set IP to usb0 and it work fine. BTW, the device has 2 interfaces, one is of "bInterfaceClass 10 CDC Data" which includes bulk in/out endpoint for rx/tx; the other is "bInterfaceClass 2 Communications" which contains the interrupt endpoint. From info dumped by "lsusb -v", the device is compliance with CDC protocol.Both the two interfaces belongs to cdc_ether device, see cdc spec and usbnet_generic_cdc_bind(), which will make cdc_ether dirver to claim data interface.Yes, you are right.quoted
quoted
quoted
quoted
quoted
BTW, the device can work well if I modprobe cdc_ether driver after changed the configuration.Maybe just the delay introduced by 'modprobe cdc_ether' fixes the problem.If you can change the firmware, please find the bug and fix it. Otherwise, you can add a simple quirk in cdc_ether.c for your device.Yes, this solution can solve the issue directly. However, besides "-EPIPE", I think usbnet.c should also handle the error of "-EPROTO".
Yes, you can clear halt for -EPIPE, and take Alan's suggestion to reset device if the error of "-EPROTO" is got. Thanks, -- Ming Lei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html