Jetpack 4.3 ACM Module

I am building on the MIT RACECAR platform and recently had to flash my TX2 and upgraded it to Jetpack 4.3. I have everything setup, but it seems my VESC is not being recognized when I run the included ROS node. I believe the issue stems from a lack of the ACM module. In a previous version I had build a new kernel that included it.From what I can tell, the tool I used does not work for this version. Running ls /dev , I don’t see any ttyACMx. I also added the following line in a .rules file in /ect/udev

KERNEL==“ttyACM[0-9]*”, ACTION==“add”, ATTRS{idVendor}==“0483”, ATTRS{idProduct}==“5740”, SYMLINK+=“vesc”

As it is, vesc will not show up. If I remove KERNEL==“ttyACM[0-9]*”, and run ls /dev then vesc shows up.

Running lsusb, the vesc shows up: Bus 001 Device 005: ID 0483:5740 STMicroelectronics STM32F407

Is the ACM module not included by default? If not, how can I go about adding it?

NVIDIA Jetson TX2
L4T 32.3.1 [ JetPack 4.3 ]
Ubuntu 18.04.3 LTS
Kernel Version: 4.9.140-tegra
CUDA 10.0.326

So I figured it out! The issue was in fact that the ACM module needed to be added to the kernel. Since the kernel is signed now (L4T 32 and later) the way to do this is a bit different. I used this github from JetsonHacks. Just run editConfig, add the modules, and then run makeModules. Ignore the other scripts.

There was then an issue where the VESC was not running due to a permissions error. This was solved by running:

sudo usermod -a -G dialout $USER