How To Debug Firmware Update on Windows

How-To for Windows users experiencing any problems in firmware update process.

1. Install qFlipper

Download qFlipper: flipperzero.one/update and install it.

  • :warning: qFlipper supports only Windows 10 and newer. It wont work on Windows 7,8,XP
  • Make sure that you have latest version of qFlipper. It updates everyday.

Flipper can be defined in the system as two different devices:

  • COM Port (Serial) — In normal mode, when the main operating system is loaded, Flipper detects as a virtual serial port. It has VID: 0483 PID: 5740.

  • DFU Device — is a special service update mode, in which the Flipper is defined as a DFU device, and has VID: 0483 PID: DF11 the device is called DFU in FS Mode

2. Check the Flipper COM Port driver

  • Do not run qFlipper

  • Connect Flipper Zero to PC in normal (Not DFU mode). Read more about operating modes here

  • Open Device Manager and go to Ports (COM & LPT) and find Flipper Zero COM port. (Make sure that this COM device is 100% belongs to Flipper Zero. Disconnect Flipper and check that device is gone and reconnect it again)

  • Check that driver is correct. It should be Microsoft default driver. If you see something different, delete this driver and reconnect device until you get this Microsoft driver.

3. Check COM Ports Number Conflict

Windows have a bug when two different COM devices binds on the same port number. For example two devices both have COM 4 number. If you have this issue, try to change COM port number of Flipper Zero manually:

Go to device Properties —> Port Settings and change port number to free one:

4.Check the DFU mode driver

To reboot in DFU mode:

  1. Press Left + Back at the same time like a normal reboot

  2. Release Back but don’t release Left until the blue led lights up

  3. You will see a message on the screen that DFU mode is on.

Connect the Flipper to the PC:

  • Do not run qFlipper

  • Open Device manager and go to Universal Serial Bus driver and find DFU in FS mode

  • Check if the driver is installed correctly

If the device is not in this section, in Device Manager open Universal Serial Bus controllers and look for STM Device in DFU mode.

If the driver is incorrect, reinstall it:

  • Uninstall qFlipper via Apps & Features.

  • Install the latest version of the program from Flipper Zero Firmware Update

  • Check if the driver is correct.

2 Likes

So I tried this on a whim as this is very similar to issues I get with the com port for my STM32 drone flight controllers and it worked like a charm. After plugging in the device I ran the impulseRC driver fixer (found here) it errored out, but it fixed my com port issues.

1 Like

I’m having an issue where reinstalling doesn’t fix the DFU detection in Device Manager. The device seems to be behaving properly, but Windows 10 won’t see it, neither will qflipper 1.0.1 or 1.0.2.

Here are the logs:

206095 [RPC] Attempting to unload protobuf plugin…
206095 [RPC] Unloaded protobuf plugin.
206095 [RPC] RPC session stopped successfully.
206215 [REG] Device went offline: VID_0x483:PID_0x5740
208424 [REG] Detected new device: VID_0x483:PID_0xdf11
208426 [DBG] Failed to initialise WinUsb device
208426 [REG] Device initialization failed: Failed to initiate transaction
326210 [UTL] Start Recovery Mode @Unc1n4 ERROR: Failed to start recovery mode: operation timeout
326210 [DEV] Full Update @Unc1n4 ERROR: Failed to start recovery mode: operation timeout
326210 [BKD] Current operation finished with error: “Failed to start recovery mode: operation timeout”

My problem is that this post and the debug guide don’t provide guidance on actual debugging. They just tell you to check the driver versions. That’s not really helpful when there’s an error and the flipper isn’t showing up at all. Anyone find anything? Installing the impulse driver did not help.

This is usb 3 and 2, tried different ports for both. Win 10 fully updated. Device is also not showing up when I show hidden devices in Dev Man.

Please use the “OPEN FULL LOG” button in qFlipper just below the log screen to attach logs

Here you go. I had to pull some URLs out because I wasn’t able to post this w/ more than 2 links.

qflipper itself says “can’t find DFU device”. I found some STM32 drivers in another post, but I can’t install them. Windows says “the best driver for your device is already installed”. I also did a factory reset and reformatted the sd card between reinstalling qflipper. None of that helped. It still hangs trying to detect it in DFU mode, not showing up in dev man.

849 [APP] qFlipper version 1.0.2 commit 9284d92a 2022-04-27T09:52:33
850 [APP] OS info: Windows 10 Version 2009 10 10.0.19044
1156 [UPD] Fetched update information from
1247 [UPD] Fetched update information from
4206 [REG] Detected new device: VID_0x483:PID_0x5740
4208 [RPC] Starting RPC session…
4292 [RPC] RPC session started successfully.
4293 [RPC] (1) System Device Info START
4385 [RPC] (1) System Device Info SUCCESS
4385 [RPC] (2) Storage Info @/ext START
4436 [RPC] (2) Storage Info @/ext SUCCESS
4436 [RPC] (3) Storage Stat @/ext/Manifest START
4488 [RPC] (3) Storage Stat @/ext/Manifest SUCCESS
4489 [RPC] (4) System Get DateTime START
4539 [DBG] Flipper time skew is 508 milliseconds
4539 [RPC] (4) System Get DateTime SUCCESS
4539 [RPC] (5) System Set DateTime START
4590 [RPC] (5) System Set DateTime SUCCESS
4591 [RPC] Stopping RPC session…
4612 [RPC] Attempting to unload protobuf plugin…
4612 [RPC] Unloaded protobuf plugin.
4612 [RPC] RPC session stopped successfully.
4612 [REG] Registering the device
4612 [DEV] Version: 0.43.1 commit: a4267626 radio: 1.12.1
4612 [BKD] Current device changed to “Unc1n4”
4712 [RPC] Starting RPC session…
4787 [RPC] RPC session started successfully.
4787 [RPC] (1) Gui Start SreenStream START
4839 [RPC] (1) Gui Start SreenStream SUCCESS
12561 [RPC] (2) Gui Start VirtualDisplay START
12619 [RPC] (2) Gui Start VirtualDisplay SUCCESS
13081 [UPD] Fetched update information from https://update.flipperzero.one/firmware/directory.json
13140 [DEV] Full Update @Unc1n4 START
14362 [ZIP] Uncompressing file with size of 168696 bytes…
14364 [ZIP] Uncompression finished : No Error
14788 [ZIP] Uncompressing file with size of 26143 bytes…
14789 [ZIP] Uncompression finished : No Error
15437 [UTL] Backup /int @Unc1n4 START
15439 [RPC] (3) Storage List @/int START
15501 [RPC] (3) Storage List @/int SUCCESS
15503 [RPC] (4) Storage List @/int/ibutton START
15557 [RPC] (4) Storage List @/int/ibutton SUCCESS
15557 [RPC] (5) Storage List @/int/nfc START
15612 [RPC] (5) Storage List @/int/nfc SUCCESS
15612 [RPC] (6) Storage Read @/int/bt.keys START
15683 [RPC] (6) Storage Read @/int/bt.keys SUCCESS
15683 [RPC] (7) Storage Read @/int/bt.settings START
15737 [RPC] (7) Storage Read @/int/bt.settings SUCCESS
15737 [RPC] (8) Storage Read @/int/desktop.settings START
15791 [RPC] (8) Storage Read @/int/desktop.settings SUCCESS
15792 [RPC] (9) Storage Read @/int/dolphin.state START
15845 [RPC] (9) Storage Read @/int/dolphin.state SUCCESS
15845 [RPC] (10) Storage Read @/int/notification.settings START
15898 [RPC] (10) Storage Read @/int/notification.settings SUCCESS
15899 [RPC] (11) Storage Read @/int/nfc/Amex.nfc START
15955 [UTL] Backup /int @Unc1n4 SUCCESS
15955 [RPC] (11) Storage Read @/int/nfc/Amex.nfc SUCCESS
15955 [UTL] Start Recovery Mode @Unc1n4 START
15956 [RPC] (12) System Reboot START
15956 [RPC] (12) System Reboot SUCCESS
16009 [RPC] Serial connection was lost.
16009 [RPC] Stopping RPC session…
16009 [RPC] Attempting to unload protobuf plugin…
16009 [RPC] Unloaded protobuf plugin.
16009 [RPC] RPC session stopped successfully.
16156 [REG] Device went offline: VID_0x483:PID_0x5740
18381 [REG] Detected new device: VID_0x483:PID_0xdf11
18383 [DBG] Failed to initialise WinUsb device
18383 [REG] Device initialization failed: Failed to initiate transaction
136143 [UTL] Start Recovery Mode @Unc1n4 ERROR: Failed to start recovery mode: operation timeout
136143 [DEV] Full Update @Unc1n4 ERROR: Failed to start recovery mode: operation timeout

Please just attach the .txt file that it opens

qFlipper-20220503-081449.txt (3.2 KB)

1 Like

Please try the procedure described in this post, looks like forcing the driver manually would work in your case.

2 Likes

For some reason Windows 10 wouldn’t see a DFU device to install the driver. I installed Mint on my laptop and it immediately saw the flipper needed repair, then went through with the update. That’s what I get for using Windoze, I guess.

Thanks for all your help. Hopefully all this helps someone else if they stumble on it.

I ran into an issue where the update would hang every time at the co-processor firmware step. When I went to check the forums (here) I found they were IP blocked. So, on a hunch, I switched to a different VPN exit IP and the update runs immediately (and I have forum access again, obviously). So there’s got to be something in that step calling a different server somewhere that refuses connections from some IP addresses which causes the update to hang.

So, yay, another place I have to play VPN whack-a-mole with. Always fun.

Hi! We’ve identified that issue and it should be fixed now

image
When I try to run qflipper program it states a file is missing.
What am I doing wrong?

You need to download Microsoft Visual C++ Redistributable

qFlipper installer checks the Visual C++ runtime installation here. If it’s not installed, this means, that you have broken registry entry about this. Try to reinstall qFlipper again.

If you still get this error: The program can't start because vcruntime140_1.dll is missing from your computer. Try reinstalling the program to fix this problem.

You can try to install Visual C++ runtimes manually:

  1. Visual C++ 2010 x64 Redistributable
  2. Visual C++ 2019 x64 Redistributable

I have Visual C++ Redistributable. I just updated visual studios to be sure. It still is giving same error. I have also unistalled and reinstalled program 4 time.

The files you provided did it apparently I didnt have 2019. Thank you!!!

1 Like

Thank-you! This solved my DFU driver difficulties on Windows 10.

I did this:

  1. Run “impulseRC driver fixer” (link in PRD’s post)
  2. Put Flipper Zero (mine arrived today) in DFU mode (hold LEFT + BACK, release BACK, wait for DFU mode)
  3. Watch while “impulseRC driver fixer” detects the FZ and installs the DFU driver
  4. Run qFlipper. Gaze in awe at the happy message!

(also note, if you have access to a Linux box, it will play nice with qFlipper, too).