Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No ACK for CanFD frame reception when FD and BRS are both on #24

Open
ChandlerLiu3 opened this issue Apr 15, 2021 · 0 comments
Open

No ACK for CanFD frame reception when FD and BRS are both on #24

ChandlerLiu3 opened this issue Apr 15, 2021 · 0 comments

Comments

@ChandlerLiu3
Copy link

ChandlerLiu3 commented Apr 15, 2021

Describe the bug

While the can0 is able to send out CanFD frames with BRS is on, it failed to receive any CanFD frames. The reason is the sample points of the arbitration and data fields are differently set.

To Reproduce
Steps to reproduce the behavior:

  1. start up one CAN interface:
    sudo ip link set can0 up type can bitrate 500000 dbitrate 2000000 restart-ms 1000 berr-reporting on fd on
  • we can check the sample points via "ip link -details"
  1. With a CAN bus tool, send a CAN-FD frame with BRS on
  2. The bus tool complains there is no ACK is given by other node, here, it should be the CAN-HAT.

Expected behavior

ACK bit should be set.

Screenshots
If applicable, add screenshots to help explain your problem.

** RPi **

Pi 3B

Additional context
Workaround: configure the sample point in the "ip link" command line.

sudo ip link set can0 up type can bitrate 500000 sample-point 0.8 dbitrate 2000000 dsample-point 0.8 restart-ms 1000 berr-reporting on fd on

The driver shall make sure the sample points between the two fields are identical, although this might be an issue of the MCP25xxFD, which failed to sample the data field due to different sample point, and the CRC was wrong, and then the controller refuses to set the ACK bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant