PICDEM FS USB Bootloader under FreeBSD

Xiaofan Chen xiaofanc at gmail.com
Sat Apr 26 05:07:36 UTC 2008


On Sat, Apr 26, 2008 at 12:46 PM, Xiaofan Chen <xiaofanc at gmail.com> wrote:
> On Sat, Apr 26, 2008 at 11:50 AM, Xiaofan Chen <xiaofanc at gmail.com> wrote:
>  >
>  >  >  2) Patch /sys/dev/usb/ugen.c
>  >  >
>  >  >  Change all lines looking like the following, that are not in a function
>  >  >  named "xxx_callback":
>  >  >
>  >  >  sce->read_stall = 1;
>  >  >  sce->write_stall = 1;
>  >  >
>  >  >  Into:
>  >  >
>  >  >  sce->read_stall = 0;
>  >  >  sce->write_stall = 0;
>  >  >
>  >  >  Recompile ugen an try again.
>  >
>  >  Maybe this is a stupid question but how do I compile ugen only and not
>  >  the whole kernel?
>  >
>  >  Normally I will use the following command with this modifications.
>  >  [root at freebsd7 /usr/src]# make buildkernel installkernel
>  >  KERNCONF=custom -DNOCLEAN -DNO_CLEAN -DNO_KERNELDEPEND
>  >
>  >  But with major updates I will just use
>  >  make buildkernel installkernel KERNCONF=custom
>  >
>  >  I will try this out and report back.
>
>  This does not help.
>

On the other hand, reading the hex file works. It worked with the same change
for PICkit 2 actually.

[mcuee at freebsd7 /usr/home/mcuee/Desktop/build/fsusb/fsusb-0.1.11-2]$
./fsusb --read demo1.hex
Locating USB Microchip(tm) PICDEM-FS USB(tm) (vendor 0x04d8/product 0x000b)
Found USB PICDEM-FS USB as device '/dev/ugen1' on USB bus /dev/usb1
Communication established.  Onboard firmware version is 1.0
Finished reading

[mcuee at freebsd7 /usr/home/mcuee/Desktop/build/fsusb/fsusb-0.1.11-2]$
sudo sysctl hw.usb.debug=1

[mcuee at freebsd7 /usr/home/mcuee/Desktop/build/fsusb/fsusb-0.1.11-2]$
./fsusb --read demo2.hex
Locating USB Microchip(tm) PICDEM-FS USB(tm) (vendor 0x04d8/product 0x000b)
Found USB PICDEM-FS USB as device '/dev/ugen1' on USB bus /dev/usb1
Communication established.  Onboard firmware version is 1.0
Finished reading

dmesg output is truncated. But here is a short version from /var/log/messages:

Apr 26 13:00:58 freebsd7 sudo:    mcuee : TTY=ttyp1 ;
PWD=/usr/home/mcuee/Desktop/build/fsusb/fsusb-0.1.11-2 ; USER=root ;
COMMAND=/sbin/sysctl hw.usb.debug=1
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4272070,
pipe=0xc40bc9b0, nframes=2, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc40bc9b0
edesc=0xc40bcc7d isoc_next=0 toggle_next=0 bEndpointAddress=0x00
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc40bc9b0
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4272070,
pipe=0xc40bc9b0, nframes=2, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc40bc9b0
edesc=0xc40bcc7d isoc_next=0 toggle_next=0 bEndpointAddress=0x00
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc40bc9b0
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4272070,
pipe=0xc40bc9b0, nframes=2, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc40bc9b0
edesc=0xc40bcc7d isoc_next=0 toggle_next=0 bEndpointAddress=0x00
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc40bc9b0
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4272070,
pipe=0xc40bc9b0, nframes=2, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc40bc9b0
edesc=0xc40bcc7d isoc_next=0 toggle_next=0 bEndpointAddress=0x00
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc40bc9b0
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc46d9070,
pipe=0xc4e6e9b0, nframes=2, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9b0
edesc=0xc4e6ec7d isoc_next=0 toggle_next=0 bEndpointAddress=0x00
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9b0
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc46d9070,
pipe=0xc4e6e9b0, nframes=2, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9b0
edesc=0xc4e6ec7d isoc_next=0 toggle_next=0 bEndpointAddress=0x00
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9b0
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f05070,
pipe=0xc4e6e9c4, nframes=1, dir=write
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9c4
edesc=0xc40cb232 isoc_next=0 toggle_next=0 bEndpointAddress=0x01
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9c4
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f16070,
pipe=0xc4e6e9d8, nframes=1, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9d8
edesc=0xc40cb239 isoc_next=0 toggle_next=0 bEndpointAddress=0x81
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9d8
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f05070,
pipe=0xc4e6e9c4, nframes=1, dir=write
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9c4
edesc=0xc40cb232 isoc_next=0 toggle_next=1 bEndpointAddress=0x01
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9c4
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f16070,
pipe=0xc4e6e9d8, nframes=1, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9d8
edesc=0xc40cb239 isoc_next=0 toggle_next=1 bEndpointAddress=0x81
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9d8
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f05070,
pipe=0xc4e6e9c4, nframes=1, dir=write
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9c4
edesc=0xc40cb232 isoc_next=0 toggle_next=0 bEndpointAddress=0x01
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9c4
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f16070,
pipe=0xc4e6e9d8, nframes=1, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9d8
edesc=0xc40cb239 isoc_next=0 toggle_next=0 bEndpointAddress=0x81
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9d8
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f05070,
pipe=0xc4e6e9c4, nframes=1, dir=write
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9c4
edesc=0xc40cb232 isoc_next=0 toggle_next=1 bEndpointAddress=0x01
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9c4
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f16070,
pipe=0xc4e6e9d8, nframes=1, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9d8
edesc=0xc40cb239 isoc_next=0 toggle_next=1 bEndpointAddress=0x81
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9d8
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f05070,
pipe=0xc4e6e9c4, nframes=1, dir=write
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9c4
edesc=0xc40cb232 isoc_next=0 toggle_next=0 bEndpointAddress=0x01
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9c4
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f16070,
pipe=0xc4e6e9d8, nframes=1, dir=read
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9d8
edesc=0xc40cb239 isoc_next=0 toggle_next=0 bEndpointAddress=0x81
Apr 26 13:01:11 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9d8
Apr 26 13:01:11 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f05070,
pipe=0xc4e6e9c4, nframes=1, dir=write
...
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9c4
edesc=0xc40cb232 isoc_next=0 toggle_next=0 bEndpointAddress=0x01
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9c4
Apr 26 13:01:19 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f16070,
pipe=0xc4e6e9d8, nframes=1, dir=read
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9d8
edesc=0xc40cb239 isoc_next=0 toggle_next=0 bEndpointAddress=0x81
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9d8
Apr 26 13:01:19 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f05070,
pipe=0xc4e6e9c4, nframes=1, dir=write
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9c4
edesc=0xc40cb232 isoc_next=0 toggle_next=1 bEndpointAddress=0x01
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9c4
Apr 26 13:01:19 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f16070,
pipe=0xc4e6e9d8, nframes=1, dir=read
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9d8
edesc=0xc40cb239 isoc_next=0 toggle_next=1 bEndpointAddress=0x81
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9d8
Apr 26 13:01:19 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f05070,
pipe=0xc4e6e9c4, nframes=1, dir=write
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9c4
edesc=0xc40cb232 isoc_next=0 toggle_next=0 bEndpointAddress=0x01
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9c4
Apr 26 13:01:19 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f16070,
pipe=0xc4e6e9d8, nframes=1, dir=read
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9d8
edesc=0xc40cb239 isoc_next=0 toggle_next=0 bEndpointAddress=0x81
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9d8
Apr 26 13:01:19 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f05070,
pipe=0xc4e6e9c4, nframes=1, dir=write
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9c4
edesc=0xc40cb232 isoc_next=0 toggle_next=1 bEndpointAddress=0x01
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9c4
Apr 26 13:01:19 freebsd7 kernel: usbd_start_hardware: xfer=0xc4f16070,
pipe=0xc4e6e9d8, nframes=1, dir=read
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_pipe: pipe=0xc4e6e9d8
edesc=0xc40cb239 isoc_next=0 toggle_next=1 bEndpointAddress=0x81
Apr 26 13:01:19 freebsd7 kernel: usbd_dump_queue: pipe=0xc4e6e9d8

Xiaofan


More information about the freebsd-usb mailing list