Skip to content

Can not enter storage device on CM3+ #343

@PovilasID

Description

@PovilasID

Describe the bug

Could not get CM3+ module with emmc to boot as mass storage device or run recovery on it.
First I tried Balena etcher but it would show "Initializing the compute module" and then stop would not be on the list.
So I tried using this to boot it as storage devices and it also failed to do that.
I am on Windows.
After I plug the daughterboard I see 'BCM2710 Boot' under 'Universal Serial Bus devices'

Steps to reproduce the behaviour

Then I tried .\rpiboot.exe -d .\mass-storage-gadget64\
Got No 'bootcode' files found in '.\mass-storage-gadget64\'
So I tried running recovery:

.\rpiboot.exe -d .\recovery\
Until Cannot open file recovery.elf

Device(s)

Raspberry Pi CM3+

Compute Module IO board.

Nebra daughter board

Image

RPIBOOT logs

.\rpiboot.exe  -d .\mass-storage-gadget64\
RPIBOOT: build-date Oct 26 2022 version 20220815~145439 9e57f462
No 'bootcode' files found in '.\mass-storage-gadget64\'
Usage: rpiboot
   or: rpiboot -d [directory]
Boot a Raspberry Pi in device mode either directly into a mass storage device
or provide a set of boot files in a directory from which to boot.  This can
then contain a initramfs to boot through to linux kernel

To flash the default bootloader EEPROM image on Compute Module 4 run
rpiboot -d recovery

For more information about the bootloader EEPROM please see:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md


rpiboot                  : Boot the device into mass storage device
rpiboot -d [directory]   : Boot the device using the boot files in 'directory'
Further options:
        -l               : Loop forever
        -o               : Use files from overlay subdirectory if they exist (when using a custom directory)
                           USB Path (1-1.3.2 for example) is shown in verbose mode.
                           (bootcode.bin is always preloaded from the base directory)
        -m delay         : Microseconds delay between checking for new devices (default 500)
        -v               : Verbose
        -s               : Signed using bootsig.bin
        -0/1/2/3/4/5/6   : Only look for CMs attached to USB port number 0-6
        -p [pathname]    : Only look for CM with USB pathname
        -h               : This help
 .\rpiboot.exe  -d .\recovery\ -v
RPIBOOT: build-date Oct 26 2022 version 20220815~145439 9e57f462
Boot directory '.\recovery\'
Loading: .\recovery\/bootcode4.bin
Waiting for BCM2835/6/7/2711...
libusb: error [init_device] device '\\.\USB#VID_046D&PID_C326&MI_01#6&35ABC081&0&0001' is no longer connected!
Loading embedded: bootcode.bin
Device located successfully
Initialised device correctly
Found serial number 0
Sending bootcode.bin
libusb_bulk_transfer sent 24 bytes; returned 0
Writing 52456 bytes
libusb_bulk_transfer sent 52456 bytes; returned 0
Successful read 4 bytes
Waiting for BCM2835/6/7/2711...
libusb: error [init_device] device '\\.\USB#VID_046D&PID_C326&MI_01#6&35ABC081&0&0001' is no longer connected!
Loading embedded: bootcode.bin
Device located successfully
Failed to open the requested device
libusb: error [init_device] device '\\.\USB#VID_046D&PID_C326&MI_01#6&35ABC081&0&0001' is no longer connected!
Loading embedded: bootcode.bin
Device located successfully
Initialised device correctly
Found serial number 1
Second stage boot server
Received message GetFileSize: autoboot.txt
libusb_bulk_transfer sent 0 bytes; returned 0
Cannot open file autoboot.txt
Received message GetFileSize: config.txt
Loading: .\recovery\/config.txt
File size = 16 bytes
Received message ReadFile: config.txt
File read: config.txt
libusb_bulk_transfer sent 16 bytes; returned 0
Received message GetFileSize: recovery.elf
libusb_bulk_transfer sent 0 bytes; returned 0
Cannot open file recovery.elf
Received message GetFileSize: start.elf
Loading embedded: start.elf
File size = 523192 bytes
Received message ReadFile: start.elf
File read: start.elf
libusb_bulk_transfer sent 523192 bytes; returned 0
Received message GetFileSize: fixup.dat
libusb_bulk_transfer sent 0 bytes; returned 0
Cannot open file fixup.dat
libusb: warning [winusbx_submit_control_transfer] ControlTransfer failed: [22] The device does not recognize the command.
Second stage boot server done

Kernel logs

No response

Device UART logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions