devployment

devployment

Is the Compute Module 5 supported? Currently playing around with a CM5 and IO Board. Tried a new project with MIX_TARGET=rpi5 mix firmware.burn. In the end I cannot connect to the rpi. No HDMI output no nothing. All I can see is that the red power led turns on on power connect, then turns off and the green status led is lit. After some time this cycle keeps repeating.

Feels like some boot loop is going on. Leading to the next problem.

I cannot get the uart debug enabled. For a regular rpi OS, running on CM5, I can enable it by adding this to config.txt. By that I can use GPIO14/15 to connect to the debug uart.

dtparam=uart0
dtparam=uart0_console

No matter what I try for the Nerves firmware, not output is available.

Any input very welcome.

Showing Posts 12 to 3

devployment

devployment OP

Amazing. It works. Can confirm it works on my CM5 using 0.4.1. Need to check the UART connection for the sake of completeness. But ssh connection works.

Thanks a lot for taking care. :heart_hands:t3: Will try to go on with my pet project I have in mind. Hopefully it turns into something. Will probably have more annoying questions to come.

fhunleth

fhunleth

Co-author of Nerves

CM5 support is in the nerves_system_rpi5 v0.4.1 release. In theory, you should just need to update your project dependencies, rebuild, and try the new firmware.

See Release v0.4.1 · nerves-project/nerves_system_rpi5 · GitHub for the change notes.

fhunleth

fhunleth

Co-author of Nerves

I still don’t have a CM5, but I did update nerves_system_rpi5 with Linux 6.6.64 and the new device tree files. If it’s convenient for anyone to test the main branch, I’d be curious if that helped.

devployment

devployment OP

Well, sorry. Same for me. No output at all, but the HDMI brightens up a bit, and then turns completely black on cycle.

Basically same as for me. At least relieved it’s not only me. :slight_smile:

lawik

lawik

Nerves Core Team

Built that updated system and it still just power-cycles. Nothing over serial, not getting a /dev/ttyUSB0 to connect something to. Maybe I just killed my serial cable :person_shrugging:

When running the flashing process via usbboot:

sudo ./rpiboot -d mass-storage-gadget64

Then I do get a persistent HDMI as it starts that gadget OS. I also get HDMI flickering on an displaying black before it restarts with the Nerves system. So not nothing.

lawik

lawik

Nerves Core Team

Pulled that updated nerves system and will try compiling and see how it does. I ran into the exact same thing with my FTDI cable not giving me a serial to know why it power-cycled on the IO board.

fhunleth

fhunleth

Co-author of Nerves

Hmm… This is going to be tough to debug remotely. It looks like I’ll have access to a CM5 in about a week or so. We’ll get this working.

If you want to push onward, the only files that Nerves customizes in that filesystem are config.txt, cmdline.txt, and kernel8.img. When I’m desperate, I just copy over files from Raspberry Pi OS until something happens. If that doesn’t work, I take the original Raspberry Pi OS image and copy files from Nerves until it breaks.

Here’s what I’m going to do once I get access to it:

  1. Update the Linux kernel to the latest from the Raspberry Pi organization. I don’t think this is the issue, but there’s a really cool PIO driver in the latest kernel that I really want to try anyway and no point testing with older code for a relatively new module.
  2. Pull in the other CM5 device tree files. You copied them over manually, so this shouldn’t be the issue, but still needs to be done.
  3. Compare the Nerves config.txt and the Raspberry Pi OS config.txt to see if something stands out.

After that, I’ll try the desperation options above and review the latest docs until I get a hint.

I’ve had a really good experience with all Raspberry Pis, so I have no doubt we’ll get there.

devployment

devployment OP

Pardon me, as I might have to ask some very basic questions, as I never dealt with these things on that level.

An easier option to try is to mount the MicroSD card in your computer. You should see a bunch of .dtb files

I suppose the card in question is the one I burned the nerves firmware to. In my case, it would be the internal eMMC of the CM5, accessed via usbboot.

But there I can only see a single *.dtb file, not “a bunch” as mentioned above.

inode Permissions Links  Size Blocksize User Group Date Modified Name
36300 drwx------      1     -         - dw   staff  5 Jan 12:47   .fseventsd
36024 .rwx------      1  78Ki      79Ki dw   staff  1 Jan  1980   bcm2712-rpi-5-b.dtb
 5898 .rwx------      1   486       512 dw   staff  1 Jan  1980   cmdline.txt
 5894 .rwx------      1 1.8Ki     2.0Ki dw   staff  1 Jan  1980   config.txt
    4 .rwx------      1 8.3Ki     8.5Ki dw   staff  1 Jan  1980   fixup4.dat
 5899 .rwx------      1  15Mi      15Mi dw   staff  1 Jan  1980   kernel8.img
    3 drwx------      1     -         - dw   staff  1 Jan  1980   overlays
   21 .rwx------      1 2.9Mi     2.9Mi dw   staff  1 Jan  1980   start4.elf

Nonetheless, just copying the mentioned bcm2712-rpi-cm5*.dtb files to that eMMC location and boot with these files does not change anything. No output anywhere. Feeling a bit dumb right now, but someone has to start somewhere.

lawik

lawik

Nerves Core Team

Oh, right. I got one of those but didn’t have time to try it. I should :slight_smile:

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
samoloth
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
FlyingNoodle
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews