精华内容
下载资源
问答
  • TX2 安装ttyACM串口驱动

    千次阅读 2018-10-25 09:44:24
    NVIDIA Jetson TX2 编译并启动ttyACM模块 平台: TX2 L4T 27.1 系统:ubuntu 16.04 传感器:hokuyo UTM-30LX laser 有两个TX2,第一个连上hokuyo激光时,直接就能识别ttyACM。当用另一台TX2读取hokuyo UTM-...

    NVIDIA Jetson TX2 编译并启动ttyACM模块

    平台: TX2 L4T 27.1
    系统:ubuntu 16.04
    传感器:hokuyo UTM-30LX laser


    有两个TX2,第一个连上hokuyo激光时,直接就能识别ttyACM。当用另一台TX2读取hokuyo UTM-30LX 激光的数据时,运行ls -l /dev/ttyACM*时发现,TX2的串口并没有识别hokuyo。后来发现,是新的这台没有启动ttyACM模块,从而导致无法识别hokuyo。网上有一些中文问题总结,但是不全面,有些关键步骤漏掉了,这是我多次按照他们方法配置仍失败的原因。我把原始的英文教程总结,以备查阅。

    1. 出处

    原始英文配置教程对于TX2系统的两个版本分别有两套配置教程,BumBleBee009|CSDN博客中给出如何查看版本,引在此处:

    Note
    如何区分自己的版本是L4T 27.1还是L4T 28.1
    使用uname -r提示的消息是“4.4.15-tegra”,则说明版本是L4T 27.1
    使用uname -r提示的消息是“4.4.38-tegra”,则说明版本是L4T 28.1

    Build Kernel and Modules – NVIDIA Jetson TX2–L4T 27.1

    Build Kernel and Modules – NVIDIA Jetson TX2–L4T 28.1

    如果,想参照原始英文教程配置,建议先科学上网,参照里面的youtube视频教程进行,文字教程省略了很多关键步骤。重点!!!!

    本文剩余部分的内容是对视频教程内容的总结与说明,以NVIDIA Jetson TX2--L4T 27.1版本为例,它比NVIDIA Jetson TX2--L4T 28.1的配置多一步,待会会重点强调。

    2. L4T 27.1配置启动ttyACM模块

    1. 下载脚本文件(27.1与28.1的区别在此步骤,多最后一行命令
    $ git clone https://github.com/jetsonhacks/buildJetsonTX2Kernel.git
    $ cd buildJetsonTX2Kernel
    # 如果你使用的`Tegra`版本是 `L4T 27.1`, 那么需要切换分分支:
    $ git checkout vL4T27.1
    

    一共有3个脚本文件。

    1. 获取内核源码

    第一个脚本getKernelSources.sh从NVIDIA developer网站获取内核源码, 然后将源码解压到/usr/src/kernel目录中。

    $ ./getKernelSources.sh
    

    源码下载完毕后,脚本会打开一个xconfig配置界面。

    此处需要说明的是,xconfig实际上在位于/usr/src/kernel/kernel -4.4文件夹下,如果第一次配置不成功,不需要重新运行./getKernelSources.sh。可以运行以下命令,打开xconfig配置界面。

    cd /usr/src/kernel/kernel -4.4
    make xconfig
    
    1. 设置Genral Setup->Local version - append to kernel release ,双击Local version - append to kernel release在文本框内输入-jetsonbot-v0.1,回车;如图所示:在这里插入图片描述

    2. xconfig中按Ctrl+F,弹出一个搜索框。
      在这里插入图片描述

    3. 输入ACM,点击search按钮,点击搜索结果中的CDC ACM多点击几次,直到左边框中显示对钩),最后结果如图所示:
      在这里插入图片描述

    4. 输入CH341,在显示的结果中,点击(多点击几次,直到框中显示为圆点),然后点退出关闭该子窗口。

    在这里插入图片描述

    1. 一定一定记得到点击File--->save,保存刚才的设置,最后点击Quit键退出xconfig。

    在这里插入图片描述

    1. 编译内核
    $ ./makeKernel.sh
    

    第二个脚本makeKernel.sh, 会给一部分Makefile文件更新补丁以满足Jetson TX2平台的编译条件,之后就开始内核编译。 脚本中的make modules install命令会将模块安装到/lib/modules/目录中。

    1. 将之前的启动镜像更新为新的镜像
    $ ./copyImage.sh
    

    第三个脚本文件copyImage.sh会将新的编译镜像ImagezImage文件拷贝到/boot目录。
    一般不会出错,若出现没有目标文件的错误时,请检查,新的镜像是否生成成功。

    cd /usr/src/kernel/kernel-4.4/arch/arm64/boot/
    

    看该文件夹下是否有ImagezImage文件。如果没有,重新运行第8步的./makeKernel.sh,再试。

    1. reboot TX2
    reboot
    

    开机后,就可以检测到连接的hokuyo。

    1. 如果以上操作都成功,并且成功安装了ACM模块,请删除之前安装时用到的源文件。
    cd /usr/src
    sudo rm -rf kernel sources r27.1.0_sources.tbz2 kernel_src.tbz2
    

    END

    展开全文
  • no such file or directory dev/ttyACM0
  • dev 文件中没有ttyACM0这个文件 etc/udev/rulers.d只有99-com.rules. 99-comrules文件中没有关于ACM0的描述 试过sudo usermod -aG dialout pi. 还是不行
  • sudo echo KERNEL=="ttyACM*", OWNER="root", GROUP="users", MODE="0666" > /etc/udev/rules.d/my_usb_dev.rules sudo service udev restart

    有时插入USB串口设备会出现无法打开进行读写的现象,即使使用sudo chmod命令强行对该device进行属性修改,拔掉这个设备之后,该操作就会失效,下次插入时还得重新手动输入。其实可以通过修改udev规则来方便地更改device的属性。

    sudo echo KERNEL=="ttyACM*", OWNER="root", GROUP="users", MODE="0666" > my_usb_dev.rules
    sudo cp my_usb_dev.rules /etc/udev/rules.d
    sudo service udev restart
    
    展开全文
  • 在${TOP}/out/target/product/rk3126c/root/ueventd.rc中,仿照文件中已有的内容添加权限/dev/ttyACM0 0666 root root,重新编译烧录系统即可实现ttyACM0插入后权限自动设置为0666。 已在rk3128测试成功,Android...

    问题:
    Android APP访问USB串口设备权限不足无法访问,虽然可以使用adb通过chmod修改权限,但是重启或设备热插拔后就会恢复,无法保存

    解决方法:
    需要修改系统源码。
    ${TOP}/out/target/product/rk3126c/root/ueventd.rc中,仿照文件中已有的内容添加权限/dev/ttyACM0 0666 root root,重新编译烧录系统即可实现ttyACM0插入后权限自动设置为0666。

    已在rk3128测试成功,Android系统版本:7.1.2

    其他:
    1、我在系统源码中发现,存在system/core/rootdir/ueventd.rc文件,和out/target/product/rk3126c/root/ueventd.rc文件内容完全相同,修改这个文件能否达到同样的效果,尚未测试。

    2、有文章提出还需要关闭selinux,在我的板卡中使用getenforce查看,发现selinux未开启,也就没有进行相应的修改,在源码中也未找到文章提到的system/core/init/selinux.cpp文件,如果需要修改,可以参考https://blog.csdn.net/qq_30025621/article/details/105658829,我并未测试。
    seLinux是Linux的一个安全子系统,还没有进行深入研究。

    参考:
    1、https://blog.csdn.net/qq_30025621/article/details/105658829
    2、https://www.linuxprobe.com/selinux-introduction.html
    3、https://blog.csdn.net/yanjun821126/article/details/80828908

    展开全文
  • 文章目录前言ubuntu下查看串口USBCAN1与工控机接线ubuntu下找不到ttyACM0 前言 最近真的是非常忙,好久没有更新了。 今天遇到一个值得记录的问题。 工控机以稳定、接口多而得到广泛的应用。 本人使用的工控机内部...


    前言

    最近真的是非常忙,好久没有更新了。
    今天遇到一个值得记录的问题。
    工控机以稳定、接口多而得到广泛的应用。
    本人使用的工控机内部搭配了EMUCB202,CAN扩展卡
    CAN扩展卡以串口为媒介进行数据传输。


    提示:以下是本篇文章正文内容,下面案例可供参考

    ubuntu下查看串口

    dmesg | grep ttyS* //罗列出所有ttyS开头的串口

    USBCAN1与工控机接线

    ubuntu下,
    2-L
    3-GND
    7-H
    在这里插入图片描述
    仅仅接两个接头是不行的,会导致一直发送的错误。

    然而在Windows下接两个接头,没有这样的错误,实在奇怪。

    ubuntu下找不到ttyACM0

    最开始的想法就是工控机的扩展卡坏掉了。
    然后去windows下,发现端口处有EMUCB202的驱动,经过测试能够利用USBCAN1实现工控机与笔记本的收发。故而确定can扩展卡是好的。
    在这里插入图片描述
    问题就是ubuntu下不能用,而在Ubuntu内核版本大于2.6之后,该扩展卡不需要安装驱动。
    查看内核版本:uname -sr
    发现是5.4.0.70-generic
    然后确定应该是内核版本的问题,最后打算更换当前内核版本,于是去安装最新的或其他版本的,结果安装过程中有这样那样的错误。
    查看已经安装的内核:sudo dpkg --get-selections | grep linux-image

    最后安装新内核失败的条件之下,发现本机安装了多个版本的内核,因此在开机的时候进入高级启动选项去选择其他的内核版本,最后在4.15.0版本的内核下运行成功。

    展开全文
  • Turtlebot3 could not open port /dev/ttyACM0:[errno 13] Permission denied:’/dev/ttyACM0’
  • 2. L4T 27.1配置启动ttyACM模块 下载脚本文件(27.1与28.1的区别在此步骤,多最后一行命令) $ git clone https://github.com/jetsonhacks/buildJetsonTX2Kernel.git $ cd buildJetsonTX2Kernel # 如果你使用...
  • linux 串口ttyS, ttyACM 还是ttyUSB?

    千次阅读 2019-06-18 16:28:26
    tty,ttyS,ttyACM,ttyUSB。。。 STM32 的OTG CDC 方式的串口,链接到windows 的WSL 认出来的是ttySxx,在windows 上认出了COM36,那么,在WSL 中为ttyS36,。 不过到了ubuntu 系统中,却认出了ttyACM。...
  • tty - Under Ubuntu 16/18, ttyACM sends unwanted AT commands on connection how to stop this ? I have some external hardware running embedded Linux (a relatively old version of the kernel), ...
  • 1.每次用m2时启动roalaunch后终端都要输入一次密码赋予权限,比较麻烦。 sudo usermod -aG dialout liuze liuze是用户名 2.测试一下,是永久生效了。
  • <pre><code>os.OpenFile("ttyACM0", syscall.O_RDWR|syscall.O_NOCTTY|syscall.O_NONBLOCK, 0666) </code></pre> <p>results with <p>ttyACM0: no such file or directory <p>The problem is not the path ...
  • usb模拟串口设备,设备节点为 ttyACM0,正常写test测试程序,运行可以open此节点,但是apk方式去open,会出现failed,原因为selinux以及权限问题,手动执行: setenforce 0 关闭selinux chmod 777 /dev/ttyACM1 ...
  • Unable to open serial port /dev/ttyACM0 ubuntu 这是由于没有权限的问题 解决方法: 打开终端输入:(若使用的是ttyACM将ttyusb替换即可) sudo gedit /etc/udev/rules.d/70-ttyusb.rules 在文件内增加一行: ...
  • 普通用户增加/dev/ttyACM0操作权限

    千次阅读 2019-01-10 11:28:01
    调试开发板,每次插入USB,ACM0都需要授权,否则无法读写...chmod 777 /dev/ttyACM0   可以使用:   sudo usermod -aG dialout gzdlw  gzdlw是用户名,然后注销一下,就不用每次都授权了。    
  • Permission denied: '/dev/ttyACM0’怎么办 意思就是:无法打开端口/dev/ttyACM0,访问/dev/ttyACM0端口权限被拒绝: 原因 在普通用户下,没有进行USB 设置,这将允许USB 端口在没有 root 权限的情况下控制OpenCR ...
  • mega 2560连接pi3b进行串口通信,发现没有ttyACM1只有ttyUSB0。 而且arduino ide 里tools菜单里面的serial port是灰色无法点击,上传程序报错找不到com1口。 不知道到底哪里出了问题。
  • TX2自带的linux系统只能识别出ttyUSB,并不能识别出ttyACM,需要对内核重新配置。 参考: https://blog.csdn.net/u013468614/article/details/83374800 (建议看视频)   note: 按照教程执行 ./...
  • 调试了一个USB接口的GPS模块,做一些记录,希望能给读者一些参考 开始调试的时候,把下面的文件做了修改,但是并没有修改到文件,也就是说在: \out\target\product\rk3326_m2g\system\etc的u-blox.conf的这个文件没修改到...
  • 基于NUC123的usb虚拟串口,在Linux下显示ttyacm,如何使得Linux识别为ttyusb,应该修改NUC123开发板程序设计还是Linux的驱动程序?
  • 没成功,那就看下报错信息吧,原来是没有找到ttyACM。  然后手动输了遍命令看看情况。  ls /dev/tty*  果然没有找到串口。咋办,先在百度上找资源,公司工作时间可以用外网真不错,哈哈。很幸运的...
  • 如果出现上述错误 打开窗口,运行 top 命令 找到 hokuyo_node对应的编号,如图中,编号为11598 运行命令 kill 11598 重新运行打开hokuyo_node节点命令即可。
  • 理解为何有的USB串口叫ttyUSB而有的叫ttyACM 对于转换桥,功能较单一,归类为ttyUSB。驱动在drivers/usb/serial/usb-serial.c。 比如FDTI转换芯片虚拟出的串口,在ubuntu上都识别为ttyUSB*. 对于带通信规约的...
  • What is the difference between /dev/ttyUSB and /dev/ttyACM? Samuel Tardieu, 2013-03-05 site:https://www.rfc1149.net/blog/2013/03/05/what-is-the-difference-between-devttyusbx-and-devttyacmx/
  • 理解为何有的USB串口叫ttyUSB而有的叫ttyACM 对于转换桥,功能较单一,归类为ttyUSB。驱动在drivers/usb/serial/usb-serial.c。 比如FDTI转换芯片虚拟出的串口,在ubuntu上都识别为ttyUSB*. 对于带通信规约...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,651
精华内容 660
关键字:

ttyacm