gentoo usb serial ch340 16进制读写
首先安装包含 lsusb 命令的 usbutils, emerge -v usbutils.
使用 lsusb后,可以查看到 ch340 的信息:
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
然后在内核中开启 USB-ACM, 位置在 Device Drivers -> USB support (USB_SUPPORT [=y]) -> Support for Host-side USB (USB [=m]) -> USB Modem (CDC ACM) support (USB_ACM),
重新编译后,在 /dev 中还是找不到 ttyusb0, 使用 dmesg 有错误提示:
[ 172.647083] ch34x: Unknown symbol usb_serial_port_softint (err 0)
[ 172.647136] ch34x: Unknown symbol usb_serial_deregister_drivers (err 0)
[ 172.647150] ch34x: Unknown symbol usb_serial_register_drivers (err 0)
继续在内核中寻找,发现 usb 有以下的选项:
-->[m] usb serial convert support
-->[*] usb generic serial driver
-->[m] usb winchiphead ch341 single port serial driver
-->[m] usb ftdi single port serial driver
-->[m] usb prolific 2303 single port serial driver
重新编译内核和模块,多了 usbserial,ch341,ftdi_sio,pl2303,usb-serial-simple 这几个模块。
然后重启系统后,插入 usb,自动加载了 usbserial 和 ch341 模块,同时 /dev/ttyUSB0 也出来了。
初步判断,可能不需要 usb-acm 模块。
对于CH340,内核里面有相应的驱动,所以不需要从官网上面下载驱动CH341SER_LINUX,而且官网驱动直接编译有错误。github 上面修改后的驱动 juliagoda/CH341SER
https://github.com/juliagoda/CH341SER
CH341SER-master 也是不需要的,直接用内核驱动即可。
把CH340 编译为内核模块后,不需要其他设置,直接插入 usb,会自动加载 usbserial, ch341 内核模块。
串口调试工具下载了 minicom, putty, ckermit。minicom 中可以设置使用 ckermit 来进行 kermit 的传输。先按照网络上面的教程创建了 .kermrc 文件,增加内容:
set line /dev/ttyUSB0 //如果是串口就是ttyS0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
然后输入 kermit 启动软件,提示 /var/lock: Permission denied, 没有相应的权限。
gpasswd -a $USER uucp
gpasswd -a $USER lock
如果提示有用户组不存在,那么使用 groupadd 命令来添加新的用户组,查看已有的用户组可以直接用
groupadd 用户组
cat /etc/group | grep 用户组
别忘了退出当前的终端重新进入,这样就有相应的权限了。
把 USB2SER 模块的 232 的RXD和TXD短接,进行回环测试。
使用 ckermit 发现只能使用 ASCII 进行传输,putty 也是只能用 ASCII 传输。只能试试 minicom,发现 minicom -H 只能输出16进制,输入还是不能16进制,只能重新寻找串口软件。
找到了16进制的串口软件是 cutecom 和 xgcom,gentoo 中直接直接安装 cutecom, emerge -v cutecom。
cutecom 中配置后,可以有时间戳,16进制和ASCII 同时显示,输出作为 log 文件,保存到相应的目录,但是只能在关闭软件后自动保存。还是比较希望能有软件按照时间把输入输出一起保存下来。不过暂时 cutecom 也够用了。
gentoo usb serial ch340 16进制读写的更多相关文章
- pyserial 16进制显示与发送
pyserial 16进制显示与发送 http://www.centoscn.com/python/2013/0817/1320.html 十六进制显示的实质是把接收到的字符诸葛转换成其对应的ASCI ...
- java利用16进制来辨别png格式的图片
很多人知道利用.png的字符串结尾可以判断前端传入的图片是否为png格式,但是这只是潜意识的判断!那么如何利用png读写的特殊内容来深意识地判断图片格式呢?最近在做东西的时候遇到了点问题,在加载图片的 ...
- 16进制ascii码转化为对应的字符,付ipmitool查询硬件信息
最近工作需要在用ipmitool查询服务器硬件信息.ipmitool查询硬件信息 比如电源,使用命令: 获取PSU0信息:Ipmitool raw 0x3a 0x71 0x00: 获取PSU1信息:I ...
- iOS根据16进制的色号来设置颜色,适合封装工具类
iOS中有时候UI给的一个色号就像 #54e1b7 这个,而我们一般设置颜色都是根据RBG来设置的,所以这里需要把这个16进制的色号转为RGB值,这里我们就使用一下的方法来调用设置颜色. + (UIC ...
- Emacs 16进制模式
http://blog.163.com/lan_ne/blog/static/1926701702012112272840545/ ALT+X hexl-mode 进入16进制模式 在这一模式,直 ...
- PHP 通过Socket收发16进制数据
最近在php下做关于Socket通讯的相关内容,发现网络上好多人在了解如何进行16进制收发,研究了下,代码如下,欢迎拍砖. <?php $sendStr = '30 32 30 3 ...
- 使用AS3输出ByteArray为16进制
package { import flash.utils.ByteArray; /** * 输出ByteArray为16进制 * @author Rise */ public class Byte2H ...
- js字符串与16进制互相转换
// \x65\x76\x61\x6c是否启用\x加密 <script type="text/javascript"> function JavaDe() { var ...
- 16进制字符串转换为3进制(扩展至K进制)
[本文链接] http://www.cnblogs.com/hellogiser/p/16-to-3-or-k.html [题目] 写代码把16进制表示的串转换为3进制表示的串.例如x=”5”,则返回 ...
随机推荐
- Python开发【项目】:学员管理系统(mysql)
需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下 讲师视图: 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节上课纪录对应多条学员 ...
- MySQL-8.0.15在Win10和Ubuntu上安装&使用
一.Windows环境下安装: 1.下载MySQL压缩包 官网地址:https://dev.mysql.com/downloads/mysql/ 点击直接下载: 2.解压到本地目录,并添加一个配置文件 ...
- OC关于项目里面的代码统计次数
备注:这里只是个人的观点,有的地方也是copy,多多指教,个人笔记,有侵犯你们版权的地方还望海涵!!! 1.打开终端 2.cd 进入项目根目录 3.输入命令 find . "(" ...
- 配置selenium grid
本文对Selenium Grid进行了完整的介绍,从环境准备到使用Selenium Grid进行一次完整的多节点分布式测试. 运行环境为Windows 10,Selenium版本为 3.5.0,Chr ...
- 改善Python程序的条条建议
1:引论 建议1.理解Pythonic概念—-详见Python中的<Python之禅> 建议2.编写Pythonic代码 避免不规范代码,比如只用大小写区分变量.使用容易混淆的变量名. ...
- 创建一个vue 项目 必备的几个插件
第一步npm安装 首先:先从nodejs.org中下载nodejs 打开控制命令行程序(CMD),node -v 检查是否正常 使用淘宝NPM 镜像 npm install -g cnpm - ...
- 移动端IOS 固定下方的输入框,点击输入框位置会变的修复
if(data=="ios"){ var _this = $(".publish"); //无键盘时输入框到浏览器窗口顶部距离 var noInputViewH ...
- selenium-java,selenium版本和火狐浏览器版本对应关系
selenium3.5.0,firefox57,geckodriver-v0.19.1
- Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- 深入学习Motan系列(四)—— 客户端
困惑的袋鼠,对框架的把握有些茫然,但是仍然一步步向前,行动总比一直迷茫停止不前要好,您说呢,各位客官? 这篇开始客户端的分析.有些地方的代码,就不每段都标出了,中间有跳跃的地方,请自己对照代码来看.鄙 ...