The host issues a USB reset to the device, and the device then exports a second set of descriptors in preparation for the Transfer phase. This deactivates the run-time device drivers associated with the device and allows the DFU driver to reprogram the device's firmware unhindered by any other communications traffic targeting the device.
From Openmoko
- For USB devices, the USB hub driver sets the Removableparameter. It should not be modified by the function driver. If Removableis set to TRUE, the device is displayed in the Unplug or Eject Hardwareprogram, unless SurpriseRemovalOKis also set to TRUE.
- When either of these cases happens, the device manager is not able to recognize the device and is usually seen as an 'unknown device' when the microcontroller runs the sketch. There are ways to recover the an Atmega32U4 (i.e. LilyPad Arduino USB - Atmega32U4 board, FioV3 - Atmega32U4, Pro Micro 5V/16Mhz, Pro Micro - 3.3V/8Mhz, etc) if this happens.
- USB 2.0 high-speed host/device controller with on-chip high-speed PHY. USB 2.0 full-speed host/device controller with on-chip PHY and dedicated DMA controller supporting crystal-less operation in device mode using software library. See Technical note TN00032 for more details.
Languages: | English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
USB Device Firmware Upgrade (DFU) is an official USB device class specification of the USB Implementers Forum.
It specifies a vendor and device independent way of updating the firmware of a USB device. The idea is to have only one vendor-independent firmware update tool as part of the operating system, which can then (given a particular firmware image) be downloaded into the device.
In addition to firmware download, it also specifies firmware upload, i.e. loading the currently installed device firmware to the USB Host.
Alienware alienware drivers download for windows 10, 8.1, 7, vista, xp. The current version is 1.1, it can be found for free download at http://www.usb.org/developers/devclass_docs/DFU_1.1.pdf
ECS H61H-G11 (V2.0) Realtek LAN Driver for Vista windows free download. ECS H61H-G11 (V2.0) Realtek LAN Driver for Vista zip file by Realtek for free download fast with easy direct link. ECS H61H-G11 (v7.1) mainboard BIOS v.13.07.15. ECS H61H-G11 (v7.1). Alaska h61h-g11 v7.1 driver download for windows. H61H-G11 (V2.0) and related drivers. Realtek LAN Driver 7.53.216.2012 for Windows 7 2,266 downloads. Network Card REALTEK. Windows 7 64 bit, Windows 7. OS: Windows XP 64bit,Windows XP 32bit,Windows Vista 64bit,Windows Vista 32bit,Windows 8.1 64bit,Windows 8.1 32bit,Windows 8 64bit,Windows 8 32bit,Windows 7 64bit,Windows 7 32bit 9.5.15.1730 57.28 MB. ECS H61H-G11 (V2.0) Realtek LAN Driver for XP windows free download. ECS H61H-G11 (V2.0) Realtek LAN Driver for XP zip file by Realtek for free download fast with easy direct link.
Despite its clear architecture and DFU being an official USB standard, very few companies are known to have implemented it in their products. In the Free Software / Hardware area, most notably the OpenPCD project has used it for their Free RFID readers.
|
Openmoko and USB DFU
Since Openmoko is a big supporter of open standards and protocols, it has chosen USB DFU as the way to do 'firmware' (actually, general software) updates on its official devices.
USB DFU host utility
Please see dfu-util for more information.
USB DFU on the Neo1973
The DFU implementation is part of our version of the u-boot bootloader.
You can use it with any USB DFU 1.1 compliant utility. We also have developed our own dfu-util program.
Type of DFU Download
The Neo1973 has enough SDRAM to accomodate a download mechanism according to Chapter 6.1 Mechanism '1.' (to receive the entire image into a buffer and perform the actual programming during the manifestation phase). We are using this mechanism for the u-boot partition to prevent users from 'bricking' their device if something goes wrong during the transfer.
For other partitions (kernel, rootfs, ..) however, future devices will have more NAND than SDRAM. Thus, we implement a download mechanism according Chapter 6.1 Mechanism '2.' for all non-bootloader partitions.
USB DFU Interfaces
The DFU in the Neo1973 has a USB Alternate Interface name 'RAM 0x32000000' number 0 for downloading executable code into RAM (address 0x32000000) and executing it. The rest of the Alternate Interfaces are for each internal NAND flash partition.
Languages: | English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
I'm pretty happy with Windows 10 as my primary development box. It can do most anything I want, run a half-dozen Linuxes, and has a shiny new open source Terminal, and has great support for Docker now.
However.
Drivers Usb Device With Dfu Capabilities Iphone X
For years - YEARS I SAY - Windows has been a huge hassle when you want to flash the firmware of various devices over USB.
The term 'dfu' means Device Firmware Update and dfu-util is the Device Firmware Update Utility, natch.
Very often I'll find myself with a device like a Particle Photon, Wilderness Labs Meadow, or some STM32 device that uses the ST Bootloader.
The Mac and Linux instructions usually say something like 'plug it in and party on' but folks like myself with Windows have to set up a WinUSB Driver (libusb-win32 or libusbK) as dfu-util uses those libraries to speak to USB devices.
If you plug in a device, the vast majority of Windows users want the device to 'just work.' My non-technical parent doesn't want Generic USB drivers so they can flash the firmware on their mouse. I, however, as an aristocrat, sometimes want to do low-level stuff and flash an OS on a Microcontroller.
Today, the easiest way to swap the 'inbox' driver with WinUSB is using a utility called Zadig. Per their docs:
Zadig is a Windows application that installs generic USB drivers,
such as WinUSB, libusb-win32/libusb0.sys or libusbK, to help you access USB devices.
It can be especially useful for cases where:
- you want to access a device using a libusb-based application
- you want to upgrade a generic USB driver
- you want to access a device using WinUSB
If you follow the instructions when flashing a device and don't have the right USB driver installed you'll likely get an error like this:
That's not a lot to go on. The issue is that the default 'inbox' driver that Windows uses for devices like this isn't set up for Generic USB access with libraries like 'libusb.'
Install a generic USB driver for your device - WinUSB using Zadig
Run Zadig and click Options | List All Devices.
Here you can see me finding the ST device within Zadig and replacing the driver with WinUSB. In my case the device was listened under STM32 Bootloader. Be aware that you can mess up your system if you select something like your WebCam instead of the hardware device you mean to select.
In this state, you can see in the Device Manager that there's an 'STM Device in DFU Mode.'
Now I run Zadig and replace the driver with WinUSB. Here's the result. Note the SUCCESS and the changed Driver on the left.
If you follow the instructions when flashing a device and don't have the right USB driver installed you'll likely get an error like this:
That's not a lot to go on. The issue is that the default 'inbox' driver that Windows uses for devices like this isn't set up for Generic USB access with libraries like 'libusb.'
Install a generic USB driver for your device - WinUSB using Zadig
Run Zadig and click Options | List All Devices.
Here you can see me finding the ST device within Zadig and replacing the driver with WinUSB. In my case the device was listened under STM32 Bootloader. Be aware that you can mess up your system if you select something like your WebCam instead of the hardware device you mean to select.
In this state, you can see in the Device Manager that there's an 'STM Device in DFU Mode.'
Now I run Zadig and replace the driver with WinUSB. Here's the result. Note the SUCCESS and the changed Driver on the left.
Here the STM32 Bootloader device now exists in Universal Serial Bus Devices in Device Manager.
Now I can run dfu-util --list again. Note the before and after in the screenshot below. I run dfu-util --list and it finds nothing. I replace the bootloader with the generic WinUSB driver and run dfu-util again and it finds the devices.
At this point I can follow along and flash my devices per whatever instructions my manufacturer/project/boardmaker intends.
NOTE: When using dfu-util on Windows, I recommend you either be smart about your PATH and add dfu-util, or better yet, make sure the dfu-util.exe and libusb.dlls are local to your firmware so there's no confusion about what libraries are being used.
I'd love to see this extra step in Windows removed, but for now, I hope this write up makes it clearer and helps the lone Googler who finds this post.
Sponsor: Develop Xamarin applications without difficulty with the latest JetBrains Rider: Xcode integration, JetBrains Xamarin SDK, and manage the required SDKs for Android development, all right from the IDE. Get it today
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
Drivers Usb Device With Dfu Capabilities Recovery
AboutNewsletter