Skip to content

Windows installer fails to install BCM2711 USB Boot driver (Code 28) – Zadig/WinUSB workaround #383

Description

@nsmaree

Describe the bug

Windows installer fails to install BCM2711 USB Boot driver (Code 28) – Zadig/WinUSB workaround

Environment

  • Board: Waveshare Compute Module 4 PoE 4G Board
  • Module: Raspberry Pi Compute Module 4 (eMMC version)
  • OS: Windows 11
  • usbboot: Latest rpiboot_setup.exe from the Releases page

Problem

After installing rpiboot_setup.exe, I was unable to flash the CM4 eMMC.

With the nRPIBOOT jumper fitted, Windows consistently detected the module as:

BCM2711 Boot

The hardware ID reported by Device Manager was:

USB\VID_0A5C&PID_2711

However, Device Manager showed:

The drivers for this device are not installed. (Code 28)

There are no compatible drivers for this device.

Running rpiboot only displayed:

Please fit the EMMC_DISABLE / nRPIBOOT jumper...
Waiting for BCM2835/6/7/2711/2712...

and never progressed.

Installer output

During installation, I noticed the following messages:

Installing BCM2708 driver...
Driver install returned -11

Installing BCM2710 driver...
Driver install returned -3

Installing BCM2711 driver...
Driver install returned -3

Installing BCM2712 driver...
Driver install returned -3

This suggested the installer itself was unable to bind the USB driver.

Troubleshooting performed

Before finding the solution I verified:

  • Different Windows PC (same behaviour)
  • Different USB cable
  • Different USB ports
  • Correct USB SLAVE port
  • Correct nRPIBOOT jumper
  • External power supplied to the carrier board
  • Reinstalled rpiboot
  • Ran installer as Administrator

The CM4 was consistently detected as USB\VID_0A5C&PID_2711, so USB communication with the boot ROM appeared to be working.

Workaround / Solution

The issue was resolved by manually installing the WinUSB driver using Zadig.

Steps:

  1. Run Zadig as Administrator.
  2. Enable Options → List All Devices.
  3. Select BCM2711 Boot.
  4. Install the WinUSB driver.

Immediately afterwards:

  • Device Manager no longer showed Code 28.
  • rpiboot connected successfully.
  • The CM4 eMMC appeared as a USB mass-storage device.
  • Raspberry Pi Imager successfully flashed Raspberry Pi OS.

Question

Is this a known issue with the Windows installer or the bundled driver installation process?

The behaviour suggests that rpiboot_setup.exe is not successfully binding the WinUSB driver to USB\VID_0A5C&PID_2711 on my Windows 11 systems, while manually installing WinUSB via Zadig resolves the problem immediately.

If additional logs or testing would be helpful, I'd be happy to provide them.

Steps to reproduce the behaviour

Steps to reproduce the behaviour

  1. Install the latest rpiboot_setup.exe from the official Raspberry Pi usbboot GitHub releases.
  2. Connect a Compute Module 4 (eMMC version) to a Waveshare Compute Module 4 PoE 4G Board.
  3. Fit the nRPIBOOT / EMMC_DISABLE jumper to place the CM4 into USB boot mode.
  4. Connect the board to a Windows 11 PC using the USB SLAVE port and apply external power.
  5. Verify that Windows detects the device as BCM2711 Boot.
  6. Launch rpiboot.exe.

Observed behaviour

  • rpiboot displays:
Please fit the EMMC_DISABLE / nRPIBOOT jumper before connecting the power and USB cables to the target device.

Waiting for BCM2835/6/7/2711/2712...

and never progresses.

  • In Device Manager, the device appears as BCM2711 Boot with a yellow warning icon.

  • Device Status reports:

The drivers for this device are not installed. (Code 28)

There are no compatible drivers for this device.
  • During installation of rpiboot_setup.exe, the following messages are reported:
Installing BCM2708 driver...
Driver install returned -11

Installing BCM2710 driver...
Driver install returned -3

Installing BCM2711 driver...
Driver install returned -3

Installing BCM2712 driver...
Driver install returned -3

Expected behaviour

The installer should successfully install the WinUSB driver for USB\VID_0A5C&PID_2711. Running rpiboot should then immediately detect the CM4, upload the USB mass-storage gadget, and expose the eMMC as a USB drive ready to be flashed with Raspberry Pi Imager.

Workaround

Installing the WinUSB driver manually using Zadig for the BCM2711 Boot device immediately resolves the issue. After doing so, rpiboot connects successfully and the CM4 eMMC becomes available as expected.

Device(s)

Raspberry Pi CM4

Compute Module IO board.

No response

RPIBOOT logs

No response

Kernel logs

No response

Device UART logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions