Does jetpack 6.0 not support gs_usb(usb to can)?

Hi. Nvidia export.

I have robotics project. So, i have to use jetson agx orin 32GB.

I will use scout_mini. It is mobile robot.

I changed my jetson kernal and append gs_usb.

But, there was not communite each other!

What can I do??

Hi tmddnjs0507,

Are you using the devkit or custom board for AGX Orin?
What’s the Jetpack version in use?

Please check if CONFIG_CAN_GS_USB is enabled in your kernel config.

$ zcat /proc/config.gz | grep CONFIG_CAN_GS_USB 

Thank you reply for me kevinFFF. I am using devkit and 6.0(L4T 36.3.0).

And, I was resolve my issue.

I was helped at

Missing gs_usb kernel module for Jetpack 6.

And, Kernel Customization — NVIDIA Jetson Linux Developer Guide 1 documentation

When I did, customized kernal(CONFIG_CAN_GS_USB=m)and build.

I’m Sorry to you, my english is not good.

I really thanks to you

May I ask if this operation(Kernel Customization -Nvidia Jetson Linux Developer Guide 1documentation) can solve the problem

Hi tmddnjs0507,

Good to hear that!

Hi 306808477,

I think enabling that kernel config(CONFIG_CAN_GS_USB) could resolve the current issue.
To apply the change in kernel, you have to rebuild kernel source so that you should refer to the document of Kernel Customization.
If it has been built as a loadable kernel module(=m), then you can just run modprobe to load it.

1 Like

you’re right!!

Hi, 306808477. you should be read Kernel Customization — NVIDIA Jetson Linux Developer Guide 1 documentation.

first, you have to
$ cd /Linux_for_Tegra/source
$ ./source_sync.sh -k -t

then you can see

…/Linux_for_Tegra/source/kernel/kernel-jammy-src/arch/arm64/configs.

you can change defconfig file to gedit or vscode.

I was added CONFIG_CAN_GS_USB = M.

and build my kernal.

Good Luck!

Hi
Just need to execute until ā€œBuilding the Jetson Linux Kernelā€ it’s done?

I have reached (Kernel Customization -Nvidia Jetson Linux Developer Guide 1documentation) "Building the Jetson Linux Kernel"and used start quick, but I am unable to open devkit

umm… you must flash your jetson.

when you flash your jetson such as sdkmanager or manual flahsing for jetson, you can find Linux_for_Tegra. it is very important folder.

and then
first, $cd /Linux_for_Tegra/source
and $ ./source_sync.sh -k -t

wait a few minute, /Linux_for_Tegra/source/kernel/kernel-jammy-src/arch/arm64/configs

And you can set your customization kernal

Did you change or add your ā€˜defconfig’ kernal?

I have rebuilt the kernel, but when I am using gs_usb, I cannot listen to the can0 bus information. Do you have this problem

I noticed that you are also using agilex robots. Can you use them normally

yes. my robot can use nomarlly. And if you use can 0, it doesn’t move because, agx model’s can 0 and can1 is assigned other maybe. so, you should be use can2.

sudo ip link set can2 up type can bitrate 500000

and check candump can2!

1 Like

Do I need to execute this line of code(sudo ip link set can2 up type can bitrate 500000) in the terminal first? If I enter candump can2 directly, the result will be an error

first, ā€˜sudo modprobe gs_usb’
if you are not error, it’s great.

next, ā€˜sudo ip link set can2 up type can bitrate 500000’

last ā€˜candump can2’

if you see a lot of log your terminal, you solve your problem

Thank you very much for your help. I have successfully run the robot!

What I am doing now is similar to yours. Can I add your contact information so that we can communicate more in the future

Easily build and install the gs_usb CAN kernel module for NVIDIA Jetson devices running L4T R36.4.3 (Linux for Tegra). Supports both native (ARM64) and cross-compilation (x86_64) workflows.

Hi,

I hope this script can help others facing the same CAN module challenges. I’ve created an automated solution to simplify building the gs_usb kernel module:

Native Compilation (on Jetson)

Step 1: Download and run the build script

wget -q https://github.com/lucianovk/jetson-gs_usb-kernel-builder/raw/main/jetson-gs_usb-kernel-builder.sh
chmod +x jetson-gs_usb-kernel-builder.sh
sudo ./jetson-gs_usb-kernel-builder.sh

Cross-Compilation

jetson-gs_usb-kernel-builder/README.md at main Ā· lucianovk/jetson-gs_usb-kernel-builder Ā· GitHub

2 Likes

I’m sorry for asking this kind of question, because I have refreshed my Jetson Orin nano so many times, I want to do some double check.
Now I’m using scout mini, an AGV robot, and my control board is Jetson Orin nano.
Running L4T 36.4.3, kernel version is 5.15.148-tegra.
When I tried to do ā€œsudo modprobe gs_usbā€ to connect with can, the error ā€œmodprobe: FATAL: Module gs_usb not found in directory /lib/modules/5.15.148-tegraā€ come out.
Is there a big chance to solve this problem?

Hey @anderson900724,
JetPack 6.0 doesn’t include the gs_usb module by default, but you can build and install it manually. I used this script and it worked great on my Jetson running L4T R36.4.3:

wget -q https://github.com/lucianovk/jetson-gs_usb-kernel-builder/raw/main/jetson-gs_usb-kernel-builder.sh
chmod +x jetson-gs_usb-kernel-builder.sh
sudo ./jetson-gs_usb-kernel-builder.sh

jetson@jetson-desktop:~$ sudo modinfo gs_usb
filename: /lib/modules/5.15.148-tegra/kernel/net/can/usb/gs_usb.ko
license: GPL v2
description: Socket CAN device driver for Geschwister Schneider Technologie-, Entwicklungs- und Vertriebs UG. USB2.0 to CAN interfaces
and bytewerk.org candleLight USB CAN interfaces.
author: Maximilian Schneider mws@schneidersoft.net
alias: usb:v1209p2323ddcdscdpiciscipin00
alias: usb:v1D50p606Fddcdscdpiciscipin00
depends:
name: gs_usb
vermagic: 5.15.148 SMP preempt mod_unload modversions aarch64
I haved tried your command, and there is the info. There is nothing error, but whenI type ā€œcandump can0ā€ there is nothing come out.