CAN bus does not work properly with 1 Mbit/s baudrate

We have the problem that the CAN bus does not work properly with 1 Mbit/s baud rate. With 500 Kbit/s everything works fine.

Our test setup:
PCAN-USB - Drive PX2, Tegra A, CAN E
sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 up

nvidia@tegra-ubuntu:~$ dmesg | grep mttcan
[ 8.387595] net can0: mttcan device registered (regs=ffffff800abfb000, irq=370)
[ 8.444226] net can1: mttcan device registered (regs=ffffff800af1e000, irq=371)
[ 146.981276] mttcan c310000.mttcan can0: Bitrate set
[ 163.220042] mttcan_controller_config: ctrlmode 0
[ 163.220071] mttcan c310000.mttcan can0: Bitrate set
[ 208.331394] mttcan c310000.mttcan can0: entered error warning state
[ 208.331952] mttcan c310000.mttcan can0: entered error passive state

nvidia@tegra-ubuntu:~$ ip -details -statistics link show can0
6: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 10
link/can promiscuity 0
can state ERROR-PASSIVE (berr-counter tx 0 rx 121) restart-ms 0
bitrate 1000000 sample-point 0.750
tq 25 prop-seg 14 phase-seg1 15 phase-seg2 10 sjw 1
mttcan: tseg1 2…255 tseg2 0…127 sjw 1…127 brp 1…511 brp-inc 1
mttcan: dtseg1 1…31 dtseg2 0…15 dsjw 1…15 dbrp 1…15 dbrp-inc 1
clock 40000000
re-started bus-errors arbit-lost error-warn error-pass bus-off
0 0 0 1 1 0
RX: bytes packets errors dropped overrun mcast
16 2 0 2 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0

Dear High-OctaneMotorsports,

Could you please refer to below link and comment for your topic? Thanks.

“CAN controller always settings 500kbps as default baudrate,
please modify the Can_17_MCanP_PBCfg.c manually, if you would like to change the default baudrate settings.
paste the function as below for your reference, thanks”

https://devtalk.nvidia.com/default/topic/1036761/drive-hardware/how-to-save-aurix-configuration-/post/5280902/#5280902

Is the CAN E connector not directly connected to Tegra A?

Dear High-OctaneMotorsports,

Could you please refer to below info for your topic?

https://devtalk.nvidia.com/default/topic/1048869/drive-hardware/what-is-socket-can-port-on-tegra/post/5323787/#5323787

Harness cable

  • can-5 -------> can0 on Tegra A
  • can-6 -------> can1 on Tegra B
  • can-1 -------> channel A on Aurix
  • can-2 -------> channel B on Aurix
  • can-3 -------> channel C on Aurix
  • can-4 -------> channel D on Aurix

The fifth CAN connector is labeled CAN E on my Nvidia wiring harness and is directly connected to Tegra A. I can’t understand what your answer regarding the Aurix microcontroller has to do with my problem.

Dear High-OctaneMotorsports,

Sorry for confusing you.
We had updated the harness label the numbering to match the letters as below.
CAN A = CAN 1,
CAN B = CAN 2,
CAN C = CAN 3,
CAN D = CAN 4,
CAN E = CAN 5,
CAN F = CAN 6

Could you please refer to Table2 in DRIVE PX 2 AutoChauffeur Mechanical and Installation Guide (PDF) in https://developer.nvidia.com/drive/documentation?