CAN API's

Hi ,

I want to pass CAN signals through my .cpp code on Jetson TX2.
What are the specific paths in which source API’s for CAN protocol is present on Jetson TX2?

Kindly help
Thanks.

Hi,

For using CAN source code, you can start looking into this path:
kernel/nvidia/drivers/net/can/mttcan/native/m_ttcan_linux.c

And then the flow is sequential module wise.

Please let us know if you are looking for something else.

Thanks & Regards,
Sandipan

Hi Sandipan,

Thanks for your response.

I am unable to find the mttcan folder within - /lib/modules/4.4.38-tegra/kernel/drivers/net/can/
The files present within the CAN folder are - can-dev.ko , slcan.ko , vcan.ko and USB(folder).
I am unable to find the file - m_ttcan_linux.c

I am not facing any error when I run the commands :-
$ sudo modprobe can
$ sudo modprobe mttcan

Kindly help.

Thanks,
Pratosha

Hi Pratosha,

If you are able to do modprobe successfully, thn required modules must be present in your target’s lib/modules directory.

Can you check lib/modules//modules.order
Also for more clarity these files can be refered:
lib/modules//modules.alias
lib/modules//modules.builtin
lib/modules//modules.dep
lib/modules//modules.order

For m_ttcan_linux.c source file:
it must be present in your source code directory.
Please let us know which version of release code-line is being used at your setup. So it will be easier to point out the proper path.

Thanks & Regards,
Sandipan

Thanks & Regards,
Sandipan

Hi Sandipan,

Thanks for your support.

The kernel version on the jetson TX2 is - 4.4.38-tegra using 16.04 ubuntu.
lib/modules//modules.order
lib/modules//modules.alias
lib/modules//modules.builtin
lib/modules//modules.dep
lib/modules//modules.order
The above files are present.

For m_ttcan_linux.c source file:
I have searched for this file in the file system and home directory.
Yet unable to find .
Is there any repository to be installed for CAN setup to access m_ttcan_linux.c?

Kindly help.

Regards,
Pratosha

It is strange that m_ttcan_linux.c source is not present on your repository.

can you try with the following steps and let us know if it helps:

  1. Download the source code from below link.
    [url]https://developer.nvidia.com/embedded/downloads[/url]
    For Jetson TX2, you can set appropriate filter and narrow down the listing
    Or I can suggest this one directly:
    [url]https://developer.nvidia.com/embedded/dlc/l4t-sources-28-1[/url]
  2. Untar it into a new directory
    tar -xjvf source_release.tbz2

Try to build and use this.
There you should find m_ttcan_linux.c at this path:
<New_directory>/public_release/kernel/t18x/drivers/net/can/mttcan/m_ttcan_linux.c

Hope this helps.

Thanks & Regards,
Sandipan

Hi Sandipan,

Thanks for your response.

Yes I have installed the sources folder from the link - https://developer.nvidia.com/embedded/dlc/l4t-sources-28-1
And i found the file m_ttcan_linux.c from the path /sources/kernel/t18x/drivers/net/can/mttcan/native/m_ttcan_linux.c

Thanks again.