PICDEM FS USB Demo under FreeBSD with HPS Stack

Xiaofan Chen xiaofanc at gmail.com
Sat Oct 13 03:59:10 PDT 2007


On 10/13/07, Xiaofan Chen <xiaofanc at gmail.com> wrote:
> Oops, the original code is using bulk transfer. I changed it to interrupt
> transfer but the error is the same.
>
> ===[mcuee] ~/Desktop/build/fsusb/Demo # sudo ./fsusb_demo
> Locating Microchip(tm) PICDEM(tm) FS USB Demo Board (vendor
> 0x04d8/product 0x000c)
> usb_set_debug: Setting debugging level to 255 (on)
> setting USB debug on by adding usb_set_debug(255)
> 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 0xbfbfe858 8 1000
> usb_control_msg: 128 6 512 0 0x804b0e0 32 1000
> Found USB PICDEM FS USB Demo Board as device '/dev/ugen0' on USB bus /dev/usb1
> Communication established.
> USB error: error reading from interrupt endpoint /dev/ugen0.1:
> Resource temporarily unavailable
> usb PICDEM FS USB read: Resource temporarily unavailable
> Fatal error> USB read failed

So I go back to the old kernel and it actually works.

===[mcuee] ~/Desktop/build/fsusb/Demo # sudo ./fsusb_demo
Password:
Locating Microchip(tm) PICDEM(tm) FS USB Demo Board (vendor
0x04d8/product 0x000c)
usb_set_debug: Setting debugging level to 255 (on)
setting USB debug on by adding usb_set_debug(255)
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/ugen1 on /dev/usb1
usb_os_find_devices: Found /dev/ugen0 on /dev/usb1
usb_control_msg: 128 6 512 0 0xbfbfe868 8 1000
usb_control_msg: 128 6 512 0 0x804b100 32 1000
usb_control_msg: 128 6 512 0 0xbfbfe868 8 1000
usb_control_msg: 128 6 512 0 0x8052080 41 1000
skipped 1 class/vendor specific interface descriptors
usb_control_msg: 128 6 513 0 0xbfbfe868 8 1000
usb_control_msg: 128 6 513 0 0x804b160 32 1000
Found USB PICDEM FS USB Demo Board as device '/dev/ugen0' on USB bus /dev/usb1
Communication established.
answer was correct!
Onboard firmware version is 1.0
fsusb_demo: Software for PICDEM Full Speed USB demo board
fsusb_demo --ledon n, n=3 or 4: ON LED D3 or D4
fsusb_demo --ledff n, n=3 or 4: Off LED D3 or D4
fsusb_demo --readtemp: read out temperature
fsusb_demo --readpot: read out poti value
fsusb_demo --reset: to reset the PICDEM FS USB demo board
===[mcuee] ~/Desktop/build/fsusb/Demo # sudo ./fsusb_demo --readpot
Locating Microchip(tm) PICDEM(tm) FS USB Demo Board (vendor
0x04d8/product 0x000c)
usb_set_debug: Setting debugging level to 255 (on)
setting USB debug on by adding usb_set_debug(255)
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/ugen1 on /dev/usb1
usb_os_find_devices: Found /dev/ugen0 on /dev/usb1
usb_control_msg: 128 6 512 0 0xbfbfe848 8 1000
usb_control_msg: 128 6 512 0 0x804b100 32 1000
usb_control_msg: 128 6 512 0 0xbfbfe848 8 1000
usb_control_msg: 128 6 512 0 0x8052080 41 1000
skipped 1 class/vendor specific interface descriptors
usb_control_msg: 128 6 513 0 0xbfbfe848 8 1000
usb_control_msg: 128 6 513 0 0x804b160 32 1000
Found USB PICDEM FS USB Demo Board as device '/dev/ugen0' on USB bus /dev/usb1
Communication established.
answer was correct!
Onboard firmware version is 1.0
Potentiometer now reads 263
usb_os_close: closing endpoint 4

FreeBSD FreeBsd62.Mshome 6.2-STABLE FreeBSD 6.2-STABLE #1: Wed Apr  4
07:47:03 SGT 2007
root at FreeBsd61.Mshome:/home/obj/home/src/sys/USBDEBUG  i386

Xiaofan


More information about the freebsd-usb mailing list