| From | Sent On | Attachments |
|---|---|---|
| Xiaofan Chen | Apr 3, 2007 11:54 am | |
| Hans Petter Selasky | Apr 3, 2007 12:26 pm | |
| Xiaofan Chen | Apr 3, 2007 1:34 pm | |
| Hans Petter Selasky | Apr 3, 2007 2:42 pm | |
| Xiaofan Chen | Apr 3, 2007 11:55 pm | |
| Hans Petter Selasky | Apr 4, 2007 7:37 am | |
| Xiaofan Chen | Apr 4, 2007 11:34 am | |
| Xiaofan Chen | Jul 4, 2007 5:32 pm | |
| Hans Petter Selasky | Jul 5, 2007 3:24 pm | |
| Xiaofan Chen | Jul 8, 2007 12:25 am | |
| M. Warner Losh | Jul 8, 2007 5:11 am | |
| Xiaofan Chen | Jul 8, 2007 1:16 pm | |
| Xiaofan Chen | Jul 8, 2007 4:31 pm | |
| M. Warner Losh | Jul 8, 2007 8:00 pm | |
| Hans Petter Selasky | Jul 9, 2007 4:35 pm | |
| Xiaofan Chen | Jul 10, 2007 1:27 am | |
| Xiaofan Chen | Jul 13, 2007 10:32 pm | |
| Hans Petter Selasky | Jul 15, 2007 9:18 am | |
| Xiaofan Chen | Jul 16, 2007 3:44 pm | |
| Hans Petter Selasky | Jul 17, 2007 5:55 am | |
| Xiaofan Chen | Aug 11, 2007 4:45 am | |
| Xiaofan Chen | Sep 22, 2007 3:47 am |
| Subject: | libusb usb_interrupt_read hangs under FreeBSD | |
|---|---|---|
| From: | Hans Petter Selasky (hsel...@c2i.net) | |
| Date: | Jul 5, 2007 3:24:16 pm | |
| List: | org.freebsd.freebsd-usb | |
On Wednesday 04 July 2007 19:05, Xiaofan Chen wrote:
On 4/4/07, Hans Petter Selasky <hsel...@c2i.net> wrote:
On Wednesday 04 April 2007 01:55, Xiaofan Chen wrote:
On 4/3/07, Hans Petter Selasky <hsel...@c2i.net> wrote:
Hi,
I think that your device is broken, and goes bad when it receives a clear-stall request for the interrupt pipe. That is not very uncommon.
Could you be more clearer? I'd like to communicate this problem to the firmware developer of PICKit 2 inside Microchip. Thanks.
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.
I could be more detailed, but I think the developers will understand what I mean.
Sorry to dig out this again. I read a bit more on the firmware source code and I found the following. Seems a bit dubious. The USB controller used is Microchip 18F2550.
Any comments? Thanks in advance.
This pre-condition does not always hold:
* * PreCondition: A STALL packet is sent to the host by the SIE. *
Usually the clear-stall is specific to an endpoint, which is stored in the lower byte of "wIndex". Where does this "wIndex" end up?
if(UEP0bits.EPSTALL == 1) { USBPrepareForNextSetupTrf(); // Firmware Work-Around UEP0bits.EPSTALL = 0; } UIRbits.STALLIF = 0; }//end USBStallHandler
Maybe this code path has never been taken before?
--HPS





