Jetson Nano 4GB MCP2515 CAN bus receiving wrong ID

Hi,
I have successfully connected 2 MCP2515 to Jetson Nano by following the instruction from this message:
https://forums.developer.nvidia.com/t/jetson-nano-and-mcp2515-can-module/112271/289
Now I am able to send and receive data via both MCPs, however, when I am trying to receive CAN messages with IDs higher than 0x400 I am quite often receiving messages with wrong IDs (message data is not corrupted, btw).
For example I am receiving CAN message with ID 0x731 from my STM32 board, and Jetson sees it as 0x735 when I am receiving this message through MCP2515 on the SPI1.
If I am receiving message via MCP2515 on SPI0, it receives message ID sometimes as 0x731 (correct), sometimes as 0x735 (wrong).
I tried same on other similiar Jetson, and there I received 0x734 instead of 0x731 ID.
Also, to check my hardware, I connected my shield with MCP2515 to Raspberry Pi 3, and everything worked perfectly, I received messages with correct ID all the time.
Also, I tried to connect different shields, with 8MHz and 16Mhz crystals, still receiving wrong CAN msg ID on Jetson.
I tried changing bit timing and speed too, no effect. Flashing with different JetPack versions also didn`t help.
It seems like a SPI or MCP2515 driver issue to me.
Mostly this happens with IDs from 0x430…0x439, 0x530…0x539, etc.
I would be really happy to hear any suggestions.

Screenshot from 2021-10-22 18-43-17

And when I am sending messages with loopback on, I send 1 message with frame ID 0x731, I am getting two on candump, one with ID 0x731, second with 0x735.

Sorry for the late response, is this still an issue to support?

Thanks

Thanks for response. Yes, it`s still an issue to support.
FYI, my Jetson Nano Devkit is flashed with Jetpack 4.5, because on Jetpack 4.6 CAN cannot be initialized as it mentioned here

It was SPI frequency and signal integrity on my extension board issue, when I set SPI frequency to 2MHz, error disappeared.