atom feed22 messages in org.freebsd.freebsd-usblibusb usb_interrupt_read hangs under...
FromSent OnAttachments
Xiaofan ChenApr 3, 2007 11:54 am 
Hans Petter SelaskyApr 3, 2007 12:26 pm 
Xiaofan ChenApr 3, 2007 1:34 pm 
Hans Petter SelaskyApr 3, 2007 2:42 pm 
Xiaofan ChenApr 3, 2007 11:55 pm 
Hans Petter SelaskyApr 4, 2007 7:37 am 
Xiaofan ChenApr 4, 2007 11:34 am 
Xiaofan ChenJul 4, 2007 5:32 pm 
Hans Petter SelaskyJul 5, 2007 3:24 pm 
Xiaofan ChenJul 8, 2007 12:25 am 
M. Warner LoshJul 8, 2007 5:11 am 
Xiaofan ChenJul 8, 2007 1:16 pm 
Xiaofan ChenJul 8, 2007 4:31 pm 
M. Warner LoshJul 8, 2007 8:00 pm 
Hans Petter SelaskyJul 9, 2007 4:35 pm 
Xiaofan ChenJul 10, 2007 1:27 am 
Xiaofan ChenJul 13, 2007 10:32 pm 
Hans Petter SelaskyJul 15, 2007 9:18 am 
Xiaofan ChenJul 16, 2007 3:44 pm 
Hans Petter SelaskyJul 17, 2007 5:55 am 
Xiaofan ChenAug 11, 2007 4:45 am 
Xiaofan ChenSep 22, 2007 3:47 am 
Subject:libusb usb_interrupt_read hangs under FreeBSD
From:Xiaofan Chen (xiao@gmail.com)
Date:Jul 8, 2007 1:16:36 pm
List:org.freebsd.freebsd-usb

On 7/8/07, M. Warner Losh <im@bsdimp.com> wrote:

In message: <a276@mail.gmail.com> "Xiaofan Chen" <xiao@gmail.com> writes: : On 7/5/07, Hans Petter Selasky <hsel@c2i.net> wrote: : > > > > The chip does not handle a clear-stall request on the control pipe to : > > > > clear-stall on the interrupt pipe. The result is that the interrupt : > > > > pipe stops, or at least all buffers are cleared. : > > > > : : The following is part of the usb firmware from Micrcohip.

I never learned the details, but a client of mine was able to get fixes from Microchip for their product. The exact problem was that endpoint stall clearing didn't work for these devices and it was a firmware bug.

Thanks a lot for the info.

I ran the old USBCheck Version 5.10 with PICKit 2 and find out that it is true that PICKit 2 failed to respond to a clear STALL feature request for endpoint 0 (IN and OUT) even though it successfuly responded to the clear STALL request for endpoint 1 (IN and OUT). So I think this is a potential bug with the Microchip USB firmware framework.

According to a reply from Microchip Forum: "There is a slight ambiguity in the USB spec concerning 'clear stall feature'. Endpoint 0 canot stall a request, so a request to unstall endpoint 0 is completely redundant. I recall that the required response is not clearly defined. Personally, I just accept the request and acknowledge it, but there is no real action to be taken. I guess other software writers have chosen a different path."

Why FreeBSD sends out the clear stall feature request for PICKit 2?

Regards, Xiaofan