Question About CAN Bus Functionality on RevPi Connect 5

Topics about the Hardware of Revolution Pi
Post Reply
justinharris92
Posts: 1
Joined: 02 Mar 2026, 10:25

Question About CAN Bus Functionality on RevPi Connect 5

Post by justinharris92 »

Hello support team,

I am currently working with a Connect S device using RevPi ConCAN and need to transmit a CAN frame on a bus where no additional nodes are present. Since there will be no acknowledgment from other devices, I understand that either one-shot mode or presume-ack needs to be enabled. However, my current setup does not seem to provide these options.

I would appreciate clarification on the following:

Is there any method to enable one-shot or presume-ack functionality on Connect S when used with ConCAN?

Does the CAN interface on Connect 5 support one-shot transmission or presume-ack configuration?

Thank you for your assistance.
User avatar
Amar
KUNBUS
Posts: 199
Joined: 15 Jul 2019, 12:58

Re: Question About CAN Bus Functionality on RevPi Connect 5

Post by Amar »

Hi,
Unfortunately, neither one-shot nor presume-ack is supported on either platform.
Connect S + ConCAN
The driver for the ConCAN controller does not expose these control modes via SocketCAN.
Connect 5 (built-in CAN FD)
The same limitation applies. On the Connect 5 running the Bookworm image with the mcp251xfd driver, both modes return:

Code: Select all

sudo ip link set can0 type can bitrate 500000 presume-ack on
# RTNETLINK answers: Operation not supported

sudo ip link set can0 type can bitrate 500000 one-shot on
# RTNETLINK answers: Operation not supported
This is not a kernel version issue. Looking at the upstream Linux kernel source, the mcp251xfd driver explicitly defines its supported control modes as LOOPBACK, LISTENONLY, BERR_REPORTING, FD, FD_NON_ISO, CC_LEN8_DLC, TDC_AUTO, and TDC_MANUAL — ONE_SHOT and PRESUME_ACK are absent. This is a driver implementation gap that applies across all kernel versions.

Regards, Amar
KUNBUS
justinharris92
Posts: 1
Joined: 02 Mar 2026, 10:25

Re: Question About CAN Bus Functionality on RevPi Connect 5

Post by justinharris92 »

Amar wrote: 06 Mar 2026, 14:12
Unfortunately, neither one-shot nor presume-ack is supported on either platform.
Connect S + ConCAN
The driver for the ConCAN controller does not expose these control modes via SocketCAN.
Connect 5 (built-in CAN FD)
The same limitation applies. On the Connect 5 running the Bookworm image with the mcp251xfd driver, both modes return:

Code: Select all

sudo ip link set can0 type can bitrate 500000 presume-ack on
# RTNETLINK answers: Operation not supported

sudo ip link set can0 type can bitrate 500000 one-shot on 
# RTNETLINK answers: Operation not supported
This is not a kernel version issue. Looking at the upstream Linux kernel source, the mcp251xfd driver explicitly defines its supported control modes as LOOPBACK, LISTENONLY, BERR_REPORTING, FD, FD_NON_ISO, CC_LEN8_DLC, TDC_AUTO, and TDC_MANUAL — ONE_SHOT and PRESUME_ACK are absent. This is a driver implementation gap that applies across all kernel versions.

Regards, Amar
Thanks for the clarification. In that case, would the only workaround be adding a second node on the bus to provide the ACK, or is there any recommended approach when running a single device setup?
User avatar
Amar
KUNBUS
Posts: 199
Joined: 15 Jul 2019, 12:58

Re: Question About CAN Bus Functionality on RevPi Connect 5

Post by Amar »

Yes, the workaround is a USB-CAN adapter (e.g., PEAK PCAN-USB or any gs_usb-based device) connected to the bus with 120Ω termination at both ends. This gives you a second node on the bus that provides the missing ACK, with no additional drivers needed on Linux.

Since can0 is already the onboard interface, the USB adapter will appear as can1. Bring it up on the same bitrate:

Code: Select all

ip link set can1 type can bitrate 500000
ip link set can1 up
Alternatively, a second CAN node in listen-only mode may also generate ACK bits in practice (controller-dependent), though this isn't guaranteed by the CAN spec.

Regards, Amar
KUNBUS
Post Reply