2009-12-23 12:57 AM
USB / Run-Time DFU Interface Descriptor
#usb-run-time-dfu-interface-descr2011-05-17 04:34 AM
Hi!
After cleaning up the code (ahem), I'm making progress with my USB functions.. currently, I'm trying to add DFU support to my device. As I understand, the DfuSe Demo application should support the detach request, as lined out in the DFU specification. So I added a DFU Run-Time descriptor after the normal CDC/ACM descriptors: // Run-Time DFU Interface Descriptor taken from the // USB Device Firmware Upgrade Specification, Rev. 1.1 // 9, // bLength DESC_INTERFACE, // bDescriptorType 0x02, // bInterfaceNumber 0x00, // bAlternateSetting 0x00, // bNumEndpoints 0xFE, // bInterfaceClass: Application Specific Class 0x01, // bInterfaceSubClass: Device Firmware Update 0x01, // bInterfaceProtocol: Runtime protocol 0x00, // iInterface 9, // bLength 0x21, // bDescriptorType: DFU_FUNCTIONAL 0x0B, // bmAttributes: WillDetach, CanUpload, bitCanDownload 0xff, 0x00, // wDetachTimeOut: 255 ms 0x00, 0x04, // wTransferSize: 1024 byte 0x00, 0x01, // bcdDFUVersion But still, the DfuSe Demo won't list my devices in the drop-down box. The device enumerates correctly, and the descriptor shows up in the USB analyzer (USBlyzer). What do I have to do to make my device recognized by DfuSe?2011-05-17 04:34 AM
Hi tkindler,
I faced exactly the same issue as you! :| But when I open the DfuSe application on my PC, I see that the detach command is relative to the HID mode (the label on the detach button)??????? Does it mean that the only run time mode supported by the DFuse application is the HID?? :o :o :o Someone has an answer please? Meanwhile, I will try to do the same thing with an HID application.2012-01-18 04:21 PM
Hi Chikos and Tkindler
I am troubled by the same question for weeks, only I am one step behind your guys. I added the DFU run-time descriptors to my Mass Storage Device. The VID/PID used for the MSD device was not included in the DFU driver INF file. So I modified the INF and added one line : %USB\VID_0483&PID_5742_DeviceDesc%=STTub30.Device,USB\VID_0483&PID_5742&MI_01When the device is connected to the PC, it enumerates itself as a composite device as expected. The MSD interface is functional. All read/write to the storage media work as expected. As for the DFU interface, the PC recognizes the DFU interface and pops up the Driver Installation Wizard. I manually installed the driver STtub30.sys (version 3.0.1.0 ) by pointing to the INF file I modified. The driver is being installed successfully. After the installation completes, the Wizard reports ''this device cannot start. (Code 10)''. I checked under Device Manager, the DFU device is shown with a yellow extension mark on it. Could someone please shed some light on the problem? Any pointer will be greatly appreciated. RegardsFrank2012-04-18 01:37 AM
Hi,
I am also trying to add the DFU run-time descriptors to my Mass Storage Device. Did you succeed ? Don't you have to change the other line, in the inf file, to add the InterfaceNumber of DFU?VID_0483&PID_DF11&MI_02 Regards, Greg2012-05-09 08:46 AM
Hi Frank,
Did you succeed doing it?I m not able to do it yet...Any help would be appreciate.Thanks,Greg