PICkit 2 again with HPS stack

Xiaofan Chen xiaofanc at gmail.com
Fri Oct 12 03:32:47 PDT 2007


I have updated the kernel and the new HPD stack and now
PICkit 2 is again not working. I have updated the firmware
based on the newly released Microchip stack and I thought
I solved the data toggle problem by changing a line as
suggested by Leo Bodnar.
http://forum.microchip.com/tm.aspx?m=275422&mpage=2

Apparent there is still a problem with the clear feature
request. Enclosed is the running log. Since the file ugen.c
is now changed, I dare not to apply the old patches provided
by Hans.

FreeBSD FreeBsd62.Mshome 6.2-STABLE FreeBSD 6.2-STABLE #2: Thu Oct 11
19:50:55 SGT 2007
root at FreeBsd62.Mshome:/home/obj/home/src/sys/USBDEBUG  i386

===[mcuee] ~/Desktop/build/pk2-2.04 # sudo sysctl hw.usb.debug=15
Password:
hw.usb.debug: 0 -> 15
===[mcuee] ~/Desktop/build/pk2-2.04 # sudo ./pk2 --on

PK2 version 2.04 - 2006/12/17
 ./pk2 --on
usb_set_debug: Setting debugging level to 255 (on)

Locating USB Microchip PICkit2 (vendor 0x04d8/product 0x0033)
usb_os_find_busses: Found /dev/usb0
usb_os_find_busses: Found /dev/usb1
usb_os_find_busses: Found /dev/usb2
usb_os_find_devices: Found /dev/ugen0 on /dev/usb1
usb_control_msg: 128 6 512 0 0xbfbfe7e8 8 1000
usb_control_msg: 128 6 512 0 0x806b080 41 1000
skipped 1 class/vendor specific interface descriptors
usb_control_msg: 128 6 513 0 0xbfbfe7e8 8 1000
usb_control_msg: 128 6 513 0 0x8066100 32 1000
Found USB PICkit as device '/dev/ugen0' on USB bus /dev/usb1
Setting USB configuration is okay.
Claiming USB interface is okay.
Sending GETVERSION command using interrupt transfer.
USB> 76
Receiving PICkit VERSION information using interrupt transfer.
USB error: error reading from interrupt endpoint /dev/ugen0.1:
Resource temporarily unavailable
Fatal error> USB read did not return 64 bytes

===[mcuee] ~/Desktop/build/pk2-2.04 # dmesg | grep ugen
ugen0: <Microchip Technology Inc. PICkit 2 Microcontroller Programmer,
class 0/0, rev 2.00/0.01, addr 126>
ugenopen: flag=1, mode=8192
ugenioctl: cmd=40125569
ugenclose: flag=1, mode=8192
ugenopen: flag=3, mode=8192
ugenioctl: cmd=80045572
ugenioctl: cmd=c018556f
ugenioctl: cmd=80045572
ugenioctl: cmd=c018556f
ugenioctl: cmd=80045572
ugenioctl: cmd=c018556f
ugenioctl: cmd=80045572
ugenioctl: cmd=c018556f
ugenclose: flag=3, mode=8192
ugenopen: flag=3, mode=8192
ugenioctl: cmd=80045565
ugen_set_config: configno 1, sc=0xc31bf000
ugenclose: flag=0, mode=0
ugenopen: flag=3, mode=8192
ugenioctl: cmd=80045572
ugenwrite:
ugenwrite: transferred 64 bytes
ugen_write_clear_stall_callback: sce=0xc31bf084: stall cleared
ugen_default_write_callback: waking 0xc31bf084
ugenioctl: cmd=80045572
ugenioctl: cmd=80045571
ugenread:
ugen_open_pipe_read: interrupt open done
ugen_read_clear_stall_callback: sce=0xc31bf084: stall cleared
ugenclose: flag=3, mode=8192
ugenclose: flag=3, mode=8192


===[mcuee] ~/Desktop/build/pyusb-0.4.1/samples # sudo usbdevs -v
Controller /dev/usb0:
addr 127: full speed, self powered, config 1, OHCI root hub(0x0000),
nVidia(0x0000), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
 port 4 powered
Controller /dev/usb1:
addr 126: full speed, power 100 mA, config 1, PICkit 2 Microcontroller
Programmer(0x0033), Microchip Technology Inc.(0x04d8), rev 0.01
addr 127: full speed, self powered, config 1, OHCI root hub(0x0000),
nVidia(0x0000), rev 1.00
 port 1 powered
 port 2 addr 126: full speed, power 100 mA, config 1, PICkit 2
Microcontroller Programmer(0x0033), Microchip Technology Inc.(0x04d8),
rev 0.01
 port 3 powered
 port 4 powered
Controller /dev/usb2:
addr 127: high speed, self powered, config 1, EHCI root hub(0x0000),
nVidia(0x0000), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
 port 4 powered
 port 5 powered
 port 6 powered
 port 7 powered
 port 8 powered


Xiaofan


More information about the freebsd-usb mailing list