How to debug nerves boot problems

I followed the nerves guide and burned a firmware for rpi0. When the Pi starts it just shows a raspberry in the top left corner and nothing more is happening, no output no nothing.

I tried the latest raspbian on the same SD-card which works, so I do not think there is a hardware issue.

Do you have any clues on how I can debug this?

$ elixir --version
Erlang/OTP 23 [erts-11.0.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe] [dtrace]

Elixir 1.10.4 (compiled with Erlang/OTP 23)

OSX 10.15.5

“Latest” version of nerves, fresh new app with mix nerves.new <app name>.

Hey @kwando - For the rpi0, this is actually expected and intended behavior because HDMI output to the console is disabled by default. This is because the other USB port in rpi0 systems is set to OTG mode to allow for direct connection to the host which prevents it from being used with USB peripherals, like a keyboard, etc.

There are a few options when dealing with a rpi0:

  1. By default, it uses the OTG USB as a network interface. If you connect to your board with that USB port, you should be able to ssh nerves.local (or whatever hostname you’ve set for the device)
  2. You can use a FTDI cable (like this one or this) to connect to the console via the UART pins
  3. Change your target to rpi which essentially functions the same as rpi0, but OTG mode is not enabled and HDMI console is enabled
1 Like

Wow, thanks a bunch for this answer!

This is actually documented in the README of the rpi0github repo which I wish I had read before asking this question. I had this working almost a year ago and then it displayed stuff on HDMI. Maybe I changed something then or used the rpi target and forgot about it.

Also a bonus thank you for making me try the other USB port, now I got the ssh nerves.local to work too (never got that working last time I played with this since I used the PWR usb connection), which I assumed I should use to power the device.

1 Like