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
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
@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
Popular in Questions
Other popular topics
Latest Nerves Threads
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #hex
- #security











