Rasberry pi 4 with nerves won't boot

I flashed sd card with elixir nerves but the pi won’t boot up. I have connected the pi to my monitor with an HDMI cable but nothing shows up on the screen. The green led is blinking consistently. I have set the target to rpi4.
To test for hardware issues I even flashed it with the regular rasberry pi os and it works smoothly. I can see the ui on the screen as well.
Thanks in advance.

Nerves Livebook is currently headless. The way that you access the UI is by going to http://nerves.local via a web browser on your computer.

If you plug the RPi4 in via wired Ethernet, you should be able to access the UI. From there, you can set up WiFi via one of the notebooks. Another option is to connect the RPi4 via USB to your computer. The RPi4 draws a lot of power, so this doesn’t work for everyone, but when it does, it’s pretty convenient.

One other thing, the LED indicates network connectivity, so you should see it go solid when Nerves Livebook thinks it has a good network connection.

Hope this helps!

2 Likes

Thanks for the reply. I followed docs on Connecting to a Nerves Target — nerves v1.10.5
where it mentions that On some Raspberry Pi family of targets such as rpi3 and rpi4, the IEx console is displayed on the screen attached to the HDMI port by default. You can simply connect your target device to a monitor or TV. I am using macos to burn the firmware.
I also tried the vintage wifi config:

%{
  type: VintageNetWiFi,
  vintage_net_wifi: %{
    networks: [
      %{
        key_mgmt: :wpa_psk,
        ssid: "my_network_ssid",
        psk: "a_passphrase_or_psk"
      }
    ]
  },
  ipv4: %{
    method: :static,
    address: "192.168.9.232",
    prefix_length: 24,
    gateway: "192.168.9.1",
    name_servers: ["1.1.1.1"]
  }
}

Used my home wifi creds. Still it is not connecting. Even http://nerves.local
This is pretty weird 'cause the pi desktop was easily able to connect to the wifi.
On side note. I can ask on discord channel as well if it is more convenient.

Which VintageNetWifi are you using?
I had the same issue with v0.12.1. After upgrading to v0.12.3 everything works as expected:)

Are you able to ping 192.168.9.232? It could be that your WiFi access point is set up to block multicast DNS which would make nerves.local not work. Also, the latest version of Nerves Livebook (published today) has the new VintageNetWiFi version that fixes the issue that @n0gg1n ran into.

Fwiw, the WiFi drivers used in Nerves on Raspberry Pi’s are the same as in Raspberry Pi OS. Sometimes they’re older if something was fixed upstream, but they shouldn’t be too old.

@fhunleth @n0gg1n I checked my vintage wifi version. It is the latest version. This is my mix lock file.

"vintage_net_wifi": {:hex, :vintage_net_wifi, "0.12.3",

By access point you mean my machine right? It is a Mac. I guess Mac os has MDNS by default I suppose.
Could there be any config change required in my router?
Also i am not able to ping 192.168.9.232

Its was a very silly mistake from my end. I was burning the firmware into my sd card by connecting a multi USB drive to my mac. I was inserting the same drive with the sd card into the rasberry pi. Instead when I directly inserted the sd card into the rasberry pi slot it worked.
I am now able to ssh into the pi using my machine.
Thanks @fhunleth for taking the time.