Troubles flashing a new BalenaFin

Hi Team, its seems I am having trouble flashing a new balenaFin with etcher. The CM3 module gets detected by etcher but it seems to just get stuck “initializing device” (see attached screenshot). I have tried a few different micro usb cables but they all result in the same issue. Etcher version is 1.5.122 . Any suggestions on how to troubleshoot? A few things to note. This is a brand new fin and CM3 module, so don’t think its ever had anything flashed on it. The power supply I am using might be under spec, so next thing to try is switch that out. I also have a few other older version Fins lying around here so will try see if those have the same issue. Any help would be much appreciated :smiley:

Hi Shaun! Along what you already mentioned, I would try also with a different - possibly shorter - data cable to connect the Fin

Update: Have tried to flash 3 different fins, one of them an older v1.0 and all seem to hang. I have also tried powering the fin from the 5v GPIO headers with a well spec’d 5V supply and neither helped. Never had this much of an issue flashing a fin.

Could the fact that I am on a Apple M1 chip be the cause, not sure how well etcher is supported/tested on the M1?

Hey @thundron I’ve tried 4 different data cables. The one I’m using now is my “trusty” Anker one that is about 15cm long and probably the best micro USB cable I own, the other ones are much more sketchy :frowning:

well next step then I would try node-raspberrypi-usbboot and if that doesn’t work, try usbboot alone and see if those two bear different results (keep in mind to only open one at a time, as they compete for resources)

cool, yeah that was gonna be my next step :+1: , lets see what that yields.

for reference, https://github.com/balena-io-modules/node-raspberrypi-usbboot
while usbboot alone is available here https://github.com/raspberrypi/usbboot

@thundron I managed to get it to mount using rpiboot binary, even though the verbose logs look like it failed :confused:

shaunmulligan@shauns-air usbboot % sudo ./rpiboot -v
Waiting for BCM2835/6/7/2711...
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...
Loading embedded: bootcode.bin
Device located successfully
Failed to open the requested device
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
libusb_bulk_transfer sent 0 bytes; returned 0
Cannot open file config.txt
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 = 438936 bytes
Received message ReadFile: start.elf
File read: start.elf
libusb_bulk_transfer sent 438936 bytes; returned 0
Received message GetFileSize: fixup.dat
libusb_bulk_transfer sent 0 bytes; returned 0
Cannot open file fixup.dat
libusb: error [submit_control_transfer] control request failed: no connection to an IOService
Second stage boot server done
libusb: warning [darwin_release_interface] USBInterfaceClose: no connection to an IOService
libusb: warning [darwin_close] USBDeviceClose: no connection to an IOService

I was then able to flash it with etcher once it was mounted but it looks like there might be an issue with fin flashing on the newer macOS or M1 devices, not sure though :man_shrugging:

Hey Shaun!

I just tried flashing a band new CM3 on my NUC running Ubuntu and partially replicated your issue.

To being with the CM3 only showed up in Etcher as initialising and then completely disappeared. But after quite a long wait (~3 minutes) as I was busy cloning rpiboot, the device suddenly showed up in the OS and etcher found and flashed it.

Just to check - did yours never show up at all?

Phil

Heya @phil-d-wilson , yeah for me it showed up as initialising but never progressed past that point no matter how long I waited. I was only able to provision after using usbboot manually to make it show up as a drive. I’m bringing up a new fin today for a 2nd 3D printer so will see if I get the same issue again. I can try grab some logs if you guys give me some instructions on how best to do that?

@shaunmulligan - we are finding the people on the team with both a Fin and an M1, to try and replicate the issue.