Skip to content

Commit 4f2974e

Browse files
committed
Initial Commit
1 parent 7b479b0 commit 4f2974e

File tree

4 files changed

+52
-0
lines changed

4 files changed

+52
-0
lines changed

LICENSE

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1919
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2020
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2121
SOFTWARE.
22+
23+

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,20 @@
11
# installACMModule
2+
MIT License
3+
4+
Copyright (c) 2017 Jetsonhacks
5+
26
Install the CDC ACM Module for the Jetson TX1 or Jetson TX2 Development Kit
7+
8+
On the NVIDIA Jetson TX2 and Jetson TX1 Development Kits running L4T 28.1, this script adds a module for USB Host functions to support Communication Device Class (CDC) Abstract Control Module (ACM) USB Devices.
9+
10+
Typically these USB devices report as ttyACM* (where * is an integer). ACM devices have a lineage that goes back to modems and other network types of devices. However, many USB devices (such as an Arduino) are implemented using this simple USB protocol. The stock L4T 28.1 kernel does not have a CDC ACM module built in to the kernel, or as a separate module. This script adds cdc-acm.ko as a module so that such devices can be accessed through ttyACM*.
11+
12+
To install:
13+
14+
$ sudo ./installCDCACM.sh
15+
16+
The script checks the version magic of the module and compares it to the kernel version running on the machine. If the two do not match, the user is asked if they still want to continue the installation. If the two match, the module is installed.
17+
18+
Note that on a version mismatch, the user can still install the module. However, some extra steps may be needed after the installation to get the module installed fully. The steps are not covered here, but should be readily available elsewhere.
19+
20+

cdc-acm.ko

405 KB
Binary file not shown.

installCDCACM.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/bash
2+
# Install the cdc-acm module
3+
# First, does the module version magic match the current kernel version?
4+
5+
MAGICVERSION=$(modinfo cdc-acm.ko | grep vermagic)
6+
MODULEVERSION=$(echo $MAGICVERSION | cut -d " " -f 2)
7+
KERNELVERSION=$(uname -r)
8+
if [ "$MODULEVERSION" == "$KERNELVERSION" ]
9+
then
10+
echo "Kernel and Module Versions Match"
11+
else
12+
echo "The Kernel version does not match the Module Version"
13+
echo "Kernel Version: " $KERNELVERSION
14+
echo "Module Version: " $MODULEVERSION
15+
while true; do
16+
read -p "Would you still like to install the module? [Y/n] " response
17+
case $response in
18+
[Yy]* ) break ;;
19+
[Nn]* ) exit;;
20+
* ) echo "Please answer Yes or no. " ;;
21+
esac
22+
done
23+
# The module version did not match the kernel version, but user selected to install anyway
24+
echo "You may have to force the module to be inserted, i.e. "
25+
echo "$ sudo modprobe -f cdc-acm"
26+
fi
27+
# Install the cdc-acm module
28+
sudo cp -v cdc-acm.ko /lib/modules/$(uname -r)/kernel/drivers/usb/class
29+
sudo depmod -a
30+
echo "Installed cdc-acm Module"
31+
32+

0 commit comments

Comments
 (0)