bwegh

bwegh

Custom Rpi4-Nerves with CAN (MCP2515) support - Kernel issues?

Hi,
I am trying to make a custom nerves system for Raspberry Pi 4 with can support.
The system is booting yet I am not able to start the can device.
Does anyone have an Idea / a way to point me to?

Here are details that might help to pinpoint to the issue:

I have a booting nerves system with dmesg telling me (excerpt):

  • CAN device driver interface
  • can: controller area network core
  • NET: registered PF_CAN protocol family
  • can: raw protocol
  • can: broadcast manager protocol
  • can: netlink gateway - max hops=1
  • mcp251x spi0.0 can0: MCP2515 successfully initialized.

I can see the device in ifconfig:

iex(1)> ifconfig
....
can0: flags=[]

if I want to set it up and set the bitrate I get an error 2 (according to manages a kernel error)

iex(2)> System.cmd("ip", ~w{link set can0 up type can bitrate 1000000})
{"", 2}

iex(3)> :os.cmd('ip link set can0 up type can bitrate 1000000')
~c"ip: either \"dev\" is duplicated or \"type\" is garbage\n"

in the Kernel config I have two additional settings:

CONFIG_CAN_MCP251x=y
CONFIG_CAN=y

in the build root setting I have additionally:

BR2_PACKAGE_LIBSOCKETCAN=y
BR2_PACKAGE_CAN_UTILS=y

in config.txt I have the dtoverlay added and also added to fwup:

dtoverlay=mcp2515-can0,oscillator=12000000,interrupt=25,spimaxfrequency=2000000

Marked As Solved

bwegh

bwegh

the problem is the missing package ‘IPROUTES2’ in the build root config

BR2_PACKAGE_IPROUTES2=y

thanks to Gus for the hint

Last Post!

natewallis

natewallis

@bwegh Curious if you have any pointers here, I am trying this with an rpi4 carrier board:

It seems I am on a similar path to you - however can0 is not available using ifconfig when I first startup - I have tried to follow the instructions on their wiki about bringing it online, but haven’t had any luck yet:

Can you tell me which board you used or if there is anything else I need to do? I have also added the following lines to deps/nerves_system_rpi4/linux-6.12.defconfig:

CONFIG_CAN_MCP251X=y
CONFIG_CAN=y

And the following to deps/nerves_system_rpi4/nerves_defconfig

BR2_PACKAGE_LIBSOCKETCAN=y
BR2_PACKAGE_CAN_UTILS=y
BR2_PACKAGE_IPROUTES2=y

Where Next?

Popular in Questions Top

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
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New

Other popular topics Top

baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
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
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
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 49084 226
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42533 114
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement