PICkit 2 again with HPS stack

Xiaofan Chen xiaofanc at gmail.com
Tue Oct 16 05:42:38 PDT 2007


On 10/16/07, Hans Petter Selasky <hselasky at c2i.net> wrote:
> On Saturday 13 October 2007, Xiaofan Chen wrote:
> > On 10/13/07, Hans Petter Selasky <hselasky at c2i.net> wrote:
> > > Resource temporarily unavailable maps to EAGAIN
> > > according to "man errno". From what I can see from the log
> > > you have provided this means that the "msleep()"
> > > call in "ugenread" timed out.
> > >
> > > What timeout have you programmed in your PICkit ?
> >
> > It is 1000ms. I change it to 10000ms but this does not help.
>
> Do you see this timeout ? Does the code actually wait 10 seconds ?

I think so.

> In the file "ugen.c" in the function "ugen_open_pipe_read()" you will find
> a "case UE_INTERRUPT:". Some lines further down you will find:
>
>                   /* first transfer clears stall */
>                   sce->read_stall = 1;
>
> This you can set to "0". Then recompile and install the "ugen" module and/or
> kernel.
>
> Does your USB hardware work now ?
>

Yes with the changes, PICkit 2 is happy again under Linux.

===[mcuee] ~/Desktop/build/mypk2 # sudo python testpk2.py
set Configuration 1
claim Interface 0
Turing power on by USB interrupt write
Sending version command by USB interrupt write
Getting version command by USB interrupt read
(2, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

Thanks a lot. So it seems there is still a bug in the firmware. Maybe two.
The first one caused the stall (why?). The second one is still related to
dealing with clear stall feature request. Right?

Regards,
Xiaofan


More information about the freebsd-usb mailing list