在使用tx2的时候,当连接usb时,无法找套ttyUSB0
这种情况使因为没有当前使用的内核驱动,需要在tx2上安装内核驱动,
- TX2按黄CP210X驱动
可以先将设备连接到tx2上,使用lsusb来查看当前设备串口信息:
lsusb
然后会出现
Bus 001 Device 027: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
意思就是当前id为10c4:ea60,驱动内核位CP210X,无法识别是因为tx2默认没有安装CP210驱动
可以自行下载安装该区动
$ git clone https://github.com/jetsonhacks/buildJetsonTX2Kernel.git
$ cd buildJetsonTX2Kernel
然后编译内核:
./getKernelSources.sh
如果报错
==== L4T Kernel Version Mismatch! =============
使当前版本不对,可以通过uname -r来查看版本,或者直接根据报错即可知道正确版本
使用uname -r提示的消息是“4.4.15-tegra”,则说明版本是L4T 27.1;
使用uname -r提示的消息是“4.4.38-tegra”,则说明版本是L4T 28.1;
然后进行分支切换,根据不同的版本选择正确的分支
git checkout vL4T28.1
然后再次编译内核:
./getKernelSources.sh
等待大概3分钟。会出现一个配置框
设置 Genral Setup | Local version - append to kernel release
文本框内输入-jetsonbot-v0.1,回车,然后输入下面两行进行编译和镜像,编译超级慢,写到这里的时候已经编译了5-6分钟了,不知道还得多久。
./makeKernel.sh
./copyImage.sh
然后重启tx2,使配置生效。这样就可以找到ttyUSB0设备了。
由于设备ID 是固定的,因此可以将该串口进行改名,便于使用多个传感器便于区分,见下一节TX2+rplidar 之修改rplidar的串口名称。