CM4 detected via USB but OS flashing does not start 🥺
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.
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
- Set up cmprovision on a Raspberry Pi 4 server for USB provisioning.
- Run the cmprovision script.
- Connect a Compute Module 4 to the server via USB in rpiboot mode (jumper enabled).
- Observe the server logs, which show the device is detected successfully.
- Expected behavior: The OS image should be written to the CM4's eMMC.
- 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
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.
Here are the results from the HDMI display of the CMIO board during provisioning. I've attached a photo of the output.
I feel like it is not working as intended :/
It is not doing an USB gadget boot in your screenshot. Make sure your jumper cable is connected.
Oh sorry. Here is a picture of HDMI display when the jumper cable is connected.
Here is a picture of host and CMIO board being provisioned, just in case.
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.