Tk1上使用rpLidar,并解决找不到 ttyUSB0的问题!
2016-10-23 16:56
183 查看
背景:开始在笔记本上对rpLidar进行了调试,调试教程在下边这个网址中
https://github.com/robopeak/rplidar_ros/wiki
但是,当在TK1上进行调试时,第一步就出现了问题:把rpLidar插入Hub,然后输入命令
ls –l /dev | grep ttyUSB
后,并没有出现/dev/ttyUSB0 !!!
然后就各种度、各种歌,最后找到如下网址:
https://devtalk.nvidia.com/default/topic/890599/?comment=4710941
http://elinux.org/Jetson/Tutorials/Program_An_Arduino
http://www.jetsonhacks.com/2016/06/29/build-custom-kernel-nvidia-jetson-tk1/
问题的原因是(第一个网址中提到):CP210x驱动没有在L4T内核中组建,但是其已经在L4T内核资源树种。所以,我们需要添加cp210x驱动。添加方法主要参考第三个网址(第二也行,但是第三个比较方便),此处注意第二和第三个网址是添加FTDI驱动,此处我们添加的是cp210x驱动,在 makexconfig或make menuconfig的时候要注意选对,即Device
Drivers -> USB Support -> USB Serial Converter Support 选择CP210x。若使用makexconfig,则以“圆圈”的形式选中,若使用make menuconfig,则设为‘m’。还有,在配置.config的时候,要用命令uname –r ,看看你的本地版本信息,Tk1一般为“-gdacac96”,并把它添加到LOCALVERSION处。
推荐步骤:
$ git clone https://github.com/jetsonhacks/buildJetsonTK1Kernel.git $ cd buildJetsonTK1Kernel
$ ./getKernelSources.sh
(这里与第三个网址不同,他应该是写错了,因为getKernelSources.sh就是执行installKernelSources.sh文件,而installKernelSources.sh文件在scripts下,具体可以看https://github.com/jetsonhacks/buildJetsonTK1Kernel)
再打开一个终端窗口
$ cd /usr/src/kernel
$ sudo gedit .config
把里边的“LOCALVERSION”,设置成” -gdacac96”,(具体跟你uname –r得到的本地版本而定)
回到第一个窗口
$ ./buildKernel.sh
此命令结束后,会出现一个设置窗口,此步骤非常重要,在窗口中找到Device Drivers -> USB Support -> USB Serial Converter Support->CP210x,并以圆圈的形式(模型模式)选中,这里也可以顺便把FTDI那个(USB FTDI Single Port Serial Driver)选中,然后记得保存!
$ ./copyzImage.sh
大功告成!!!
回头看看,这个问题并没有那么复杂,但是花了我两天的时间,大周末都没休息好 T T,主要是因为对Linux内核什么的一点不了解,只能是摸着石头过河。在网上查找解决方法的时候,好多人也都遇到了一样的问题,但是根据官方的解答,大多数都能解决!最重要的是一定要静下心来!开始我就是先看到的第一个网址,然后有点懵逼,放弃了它。在第三个网址折腾一天没有结果后,又回头看了看这个网址,发现了一句关键的话“selecting
'CP210x' instead of 'FTDI' during menuconfig”,然后所有问题瞬间就解决了!
https://github.com/robopeak/rplidar_ros/wiki
但是,当在TK1上进行调试时,第一步就出现了问题:把rpLidar插入Hub,然后输入命令
ls –l /dev | grep ttyUSB
后,并没有出现/dev/ttyUSB0 !!!
然后就各种度、各种歌,最后找到如下网址:
https://devtalk.nvidia.com/default/topic/890599/?comment=4710941
http://elinux.org/Jetson/Tutorials/Program_An_Arduino
http://www.jetsonhacks.com/2016/06/29/build-custom-kernel-nvidia-jetson-tk1/
问题的原因是(第一个网址中提到):CP210x驱动没有在L4T内核中组建,但是其已经在L4T内核资源树种。所以,我们需要添加cp210x驱动。添加方法主要参考第三个网址(第二也行,但是第三个比较方便),此处注意第二和第三个网址是添加FTDI驱动,此处我们添加的是cp210x驱动,在 makexconfig或make menuconfig的时候要注意选对,即Device
Drivers -> USB Support -> USB Serial Converter Support 选择CP210x。若使用makexconfig,则以“圆圈”的形式选中,若使用make menuconfig,则设为‘m’。还有,在配置.config的时候,要用命令uname –r ,看看你的本地版本信息,Tk1一般为“-gdacac96”,并把它添加到LOCALVERSION处。
推荐步骤:
$ git clone https://github.com/jetsonhacks/buildJetsonTK1Kernel.git $ cd buildJetsonTK1Kernel
$ ./getKernelSources.sh
(这里与第三个网址不同,他应该是写错了,因为getKernelSources.sh就是执行installKernelSources.sh文件,而installKernelSources.sh文件在scripts下,具体可以看https://github.com/jetsonhacks/buildJetsonTK1Kernel)
再打开一个终端窗口
$ cd /usr/src/kernel
$ sudo gedit .config
把里边的“LOCALVERSION”,设置成” -gdacac96”,(具体跟你uname –r得到的本地版本而定)
回到第一个窗口
$ ./buildKernel.sh
此命令结束后,会出现一个设置窗口,此步骤非常重要,在窗口中找到Device Drivers -> USB Support -> USB Serial Converter Support->CP210x,并以圆圈的形式(模型模式)选中,这里也可以顺便把FTDI那个(USB FTDI Single Port Serial Driver)选中,然后记得保存!
$ ./copyzImage.sh
大功告成!!!
回头看看,这个问题并没有那么复杂,但是花了我两天的时间,大周末都没休息好 T T,主要是因为对Linux内核什么的一点不了解,只能是摸着石头过河。在网上查找解决方法的时候,好多人也都遇到了一样的问题,但是根据官方的解答,大多数都能解决!最重要的是一定要静下心来!开始我就是先看到的第一个网址,然后有点懵逼,放弃了它。在第三个网址折腾一天没有结果后,又回头看了看这个网址,发现了一句关键的话“selecting
'CP210x' instead of 'FTDI' during menuconfig”,然后所有问题瞬间就解决了!
相关文章推荐
- 密钥发行中心(KDC)找不到相应的证书用于智能卡登录,或者无法验证 KDC 证书。如果不解决该问题,智能卡登录可能不会正常工作。若要更正该问题,请使用 certutil.exe 验证现有的 KDC 证书或注册新的 KDC 证书。
- 【C/S通信交互之Http篇】Cocos2dx(Client)使用Curl与Jetty(Server)实现手机网游Http通信框架(内含解决curl.h头文件找不到问题)
- 【C/S通信交互之Http篇】Cocos2dx(Client)使用Curl与Jetty(Server)实现手机网游Http通信框架(内含解决curl.h头文件找不到问题)
- 遗传算法解决TSP问题c++ 可使用(找不到出处了)
- Mac OS X中WireShark的使用,及找不到网卡问题的解决方法
- [网络收集]解决在母版页中使用Page.FindControl方法找不到指定控件的问题
- 手动配置使用Apache Flex SDK 4.9.1以及解决部分mx包中的类找不到的问题
- 解决ubuntu 64bit AndroidStudio中的SDK无法使用的问题,提示找不到该文件或目录
- GridView中使用类似于Button btnToped = (Button)e.Row.FindControl("btnToped");提示“未将对象引用到实例”,也就是找不到控件的问题的解决方法
- [Mac]Mac OS X中WireShark的使用,及找不到网卡问题的解决方法
- 页面中使用已经引入的jquery插件,结果却提示JS报错找不到函数【问题解决】
- 使用libxml提示libxml/tree.h找不到的问题解决
- 使用bat文件快速解决adb找不到设备的问题
- 如何解决Mysql "发生系统错误2,找不到指定的文件" 的问题(第一次安装使用)
- 使用libxml提示libxml/tree.h找不到的问题解决
- 【C/S通信交互之Http篇】使用Curl与Jetty(Server)实现手机网游Http通信框架&解决curl.h头文件找不到问题
- 使用WebView加载数据出现找不到网页的问题之解决办法(转)
- Eclipse CDT动态库Shared Library配置与使用,解决找不到.so的问题
- 解决 FastReport 使用存储过程 找不到临时表问题
- Eclipse CDT动态库Shared Library配置与使用,解决找不到.so的问题