Bitrate not being set

I have a pi4 with a waveshare hat and I am trying to connect to a Holley ecu.

I can see i am getting messages with candump with the channel started in the terminal with a bitrate of 1000k.

I am trying to set this up in realdash as a can input but the can monitor is showing no traffic.

I peeked at the channel with “ip -details - statistics link show can0” and it shows a bitrate of 500k even though I have configured the bitrate as 1000k in the settings. There is only one car in my garage and only one confiugured input.

Is there some other setting I could be missing that’s making realdash force using 500k?

Linux version of RealDash uses libsocketcan ‘can_set_bitrate’ function to change the CAN bitrate. Unfortunately we only have test devices with 500kbps bus, so I have not been able to do ‘real’ test on 1mbs CAN devices.

Can you try setting changing the can speed and verify if its changing the bitrate in the terminal?

I am also trying a fresh install

I setup my waveshare hat as per https://www.waveshare.com/wiki/2-CH_CAN_HAT#Install_libraries

and i followed Linux version info and install instructions for the realdash setup

now i am getting “RNETLINK answers: Operation not permitted” when running. And as per setup i was able to do the ```
sudo ip link set can0 up type can bitrate 500000 restart-ms 100

“Operation not permitted” sounds like permission issue as RealDash cannot be run with sudo.

After much head scratching, chat gpt gave me the answer

My setup was this

clean raspbian install (32bit bullseye)
followed install instructions with realdash-mrd_2.3.8-1_armhf.deb

The problem was the bitrate wasnt being set, in the terminal from which i ran realdash I got messages saying “rtnetlink operation not permitted”

What fixed it for me was “sudo setcap cap_net_admin+ep /usr/bin/realdash” which gives realdash the ability to do network administration

edit: upon reboot im hitting issues again, realdash isn’t starting the can network up

I’m still curious why this was necessary when pi by default is given sudo to ALL from the get go

When starting realdash, should i have the can network running (ip link set can0…) or not?

If i dont start it, it appears to lock the device/resource: I can’t manually start it while RD is running

If i do start it manually before realdash I get “RNETLINK answers: Device or resource busy”

Also, I read a lot that Bullseye was the target, can I run Bookworm?

Not, RealDash starts it when connecting to SocketCAN.

About Bookworm, I do not know. We just do not have resources nor time to test on all distros.

Ok so what do i do about the network not being managed correctly? Why does pi who has sudo NOPASSWD for all not cut it? If setcap worked i’d be content to do that but the network is never started.

Don’t know as its quite difficult to remotely troubleshoot your setup. Just tested on My RPi4 with SocketCAN connection to MaxxECU and it seems to work just fine for me.

So issue probably is that CAN speed of 1Mbps is not set properly by RealDash? I can test that on a simulator, but I do not have any 1Mbps CAN devices to test with.

Was it a fresh install or what version? 32 or 64 bit?

Raspbian 64bit, all latest updates.