devployment

devployment

Compute Module 5 supported?

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.

Marked As Solved

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.

Also Liked

devployment

devployment

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

Wow, you got a CM5 quickly!

I don’t have one, but I know at least one issue. It’s fixed in Add CM5 device tree files · nerves-project/nerves_system_rpi5@bec066a · GitHub, but that change has not been posted in a release.

You could build nerves_system_rpi5 main. You’ll need to comment out or delete the other nerves_system_* dependencies in the mix.exs to avoid a version conflict on another library.

An easier option to try is to mount the MicroSD card in your computer. You should see a bunch of .dtb files. Download bcm2712-rpi-cm5*.dtb from GitHub - raspberrypi/rpi-firmware: Firmware files for the Raspberry Pi · GitHub and copy them to that directory. I can tell already that they added more .dtb files than what I saw last November when I first looked, so that commit that I pointed you to above may be incomplete.

As a side note, the fact that you’re not seeing any output on the UART is normal when the device tree files aren’t there. If you connect the HDMI output, you should see more signs of life.

Let me know how this works! If it starts looking good, I’ll just make a release with the updates so it will just work for the next person. But hopefully I’ll be able to try out a CM5 soon too!

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.

Where Next?

Popular in Questions Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
chokchit
** (DBConnection.ConnectionError) connection not available and request was dropped from queue after 2733ms. You can configure how long re...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New

Other popular topics Top

Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 42920 311
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 53690 245
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 47930 226
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New

We're in Beta

About us Mission Statement