cmprovision icon indicating copy to clipboard operation
cmprovision copied to clipboard

CM4 detected via USB but OS flashing does not start 🥺

Open 19shwang opened this issue 5 months ago • 5 comments

Hello,

I am using cmprovision for bulk provisioning of Compute Module 4 devices. My provisioning server is a Raspberry Pi 4 running a fresh install of Raspberry Pi OS Lite (64-bit).

Initially, I attempted to provision the CM4 via Ethernet but was unsuccessful. Due to time constraints, I have switched to the rpiboot (USB file server) method.

Environment

  • Tool: cmprovision
  • Provisioning Server: Raspberry Pi 4
  • Server OS: Raspberry Pi OS Lite (64-bit), fresh installation.
  • Target Device: Compute Module 4
  • Provisioning Method: USB (rpiboot)

Problem Description I am attempting to use cmprovision to flash a Compute Module 4 via the USB method. After connecting the CM4 in rpiboot mode, the server correctly detects the device, and the cmprovision log indicates that a new device has been found.

Image

However, despite the successful detection, the flashing process does not begin. The script appears to be waiting or stalled, and the OS image is not written to the CM4's eMMC.

Steps to Reproduce Image

  1. Set up cmprovision on a Raspberry Pi 4 server for USB provisioning.
  2. Run the cmprovision script.
  3. Connect a Compute Module 4 to the server via USB in rpiboot mode (jumper enabled).
  4. Observe the server logs, which show the device is detected successfully.
  5. Expected behavior: The OS image should be written to the CM4's eMMC.
  6. Actual behavior: The process stalls after detection, and no flashing occurs.

Previous Troubleshooting

  • I have confirmed the USB cable and CM4 IO board are working.
  • I have reviewed cmprovision issues #33 and #58. The solutions suggested there did not resolve this problem.

Following are the log and screenshots. 250701_cmprovision_USB file server log.txt

Image Image Image

19shwang avatar Jul 01 '25 08:07 19shwang

May want to connect the HDMI display to the CMIO board being provisioned. It USB boots a Linux utility operating system before doing anything else, so it outputs to display.

maxnet avatar Jul 01 '25 20:07 maxnet

Here are the results from the HDMI display of the CMIO board during provisioning. I've attached a photo of the output.

Image

Image

Image

Image

I feel like it is not working as intended :/

19shwang avatar Jul 02 '25 00:07 19shwang

It is not doing an USB gadget boot in your screenshot. Make sure your jumper cable is connected.

maxnet avatar Jul 02 '25 03:07 maxnet

Oh sorry. Here is a picture of HDMI display when the jumper cable is connected.

Image

Image

Here is a picture of host and CMIO board being provisioned, just in case. Image

19shwang avatar Jul 02 '25 10:07 19shwang

Either your yellow jumper cable is broken, and it is booting from eMMC instead of USB.

Or you modified a lot of stuff. Your photo says kernel version "6.12.25+rpt-rpi-v8 #1 Debian" and I have reason to believe that is not the cmprovision/scriptexecute kernel.

maxnet avatar Jul 05 '25 16:07 maxnet