PORTS Forum
Ports and Interfaces => USB => Topic started by: Jan Axelson on May 04, 2013, 10:37:39 am
-
I've updated my Visual C# .NET application for accessing devices that use the WinUSB driver and companion PIC firmware:
http://www.janaxelson.com/winusb.htm
-
Have problems with your firmware.
When i try microchip's example firmware "Device - WinUSB - High Bandwidth Demo" - my device (PICDEM_FSUSB) works just fine, i use INF file from drivers folders and my device detected.
When i use your firmware - i have always "unknown device" in my device manager. Can't use driver from Device - WinUSB - High Bandwidth Demo - it says that there is no driver for my device. Where can i take driver for your firmware ? Or i must edit it somehow ? Please point me what i've missed ?
OS: Windows 7
IDE: MPLAB X IDE v1.60
Hardware: PICDEM_FSUSB (18f4550)
-
If using the system WinUSB INF file (not a device-specific INF) the GUID in the device firmware must match the GUID in the application you use to access the device.
My firmware and application use the same GUID, but it's a different GUID than the Microchip firmware and application uses. So if you want to use my firmware and the Microchip PC application, you need to change one of the GUIDs or provide a device-specific INF file.
-
(http://i40.tinypic.com/rwibt5.jpg)
You have error in code, missed one field in device descriptor, should be
/* Device Descriptor */
ROM USB_DEVICE_DESCRIPTOR device_dsc=
{
0x12, // (bLength) Size of this descriptor in bytes
USB_DESCRIPTOR_DEVICE, // (bDescriptorType)DEVICE descriptor type
0x0200, // (bcdUSB)USB Spec Release Number in BCD format
0x00, // (bDeviceClass)Class Code
0x00, // (bDeviceSubClass)Subclass code
0x00, // (bDeviceProtocol)Protocol code
USB_EP0_BUFF_SIZE, // (bMaxPacketSize0)Max packet size for EP0, see usb_config.h
0x0925, // (idVendor)Vendor ID: 0x0925 is Lakeview Research's Vendor ID
0x150c, // (idProduct) Product ID
0x01, // (bcdDevice) Device release number in BCD format
0x01, // (iManufacturer)Manufacturer string index
0x02, // (iProduct)Product string index
0x00, // (iSerialNumber)Device serial number string index
0x01, // (bNumConfigurations)Number of possible configurations
};
-
Thank you for finding that!