minicom是一个串口通信工具,就像Windows下的超级终端。可用来与串口设备通信,如调试交换机和Modem等,它的使用完全依靠键盘的操作。
一、安装:
Linux各发行版因软件管理方式不同而不同,先通过软件管理从自己的软件仓库进行搜索安装。
二、查看串口设备及文件权限
1、linux下一切皆是文件,用户的所有操作都是对文件的操作,对串口设备操作也是如此,我们应该先确认自己对该文件有没有读写权限。
openSUSE:~ # ll /dev/tty* #查看权限
linux下的usb串口命名为ttyUSB*,运行上面命令,可以知道我们的串口设备是/dev/ttyUSB0 这个。
再用lsusb命令查看:
Bus 003 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port正是我们用的usb转串口线缆,使用的芯片是PL2303。
但是正如上面显示,ttyUSB0这个设备是root所有的,所以,我们以普通用户身份打开minicom是没法访问该文件的,使用Putty程序也是一样那,必须以root身份运行Putty程序才能使用这个ttyUSB0设备。
三、配置
1 、安装完毕后通过命令 “minicom” 运行软件,命令行输入命令回车,如下
2、minicom 使用经常遇到三个键的组合操作,如 “CTRL-A Z”,这表示先同时按下 CTRL 和 “A”(不区分大写),然后松开此二键再按下 “Z”。按照此方法,打开帮助说明,如下图:
3、可以看到有很多功能,这里只进行初步演示,按下 “O” 进入配置页,也可以直接在命令行运行 "minicom -s"命令直接进入配置页如下:
4、选择 “Serial port setup” 选项,然后按回车进入串口设置页,根据系统中的实际串口设备名更改成以下设置,串口COM1对应ttyS0,COM2对应ttyS1,如果直接用usb转串口则对应ttyUSB0。
进入串口配置
输入A配置串口驱动为/dev/ttyUSB0
输入F将 Hardware Flow Control 设 为 NO
输入G将 Software Flow Control 设 为 NO
输入E配置速率和停止位,输入C设置速率为9600 输入Q设置停止位为8N1
回车 退出:
由于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem, 所以需要修改Modem and dialing, 将Init string, Reset string, Hang-up string设置为空. 设置完成后选择Save setup as dfl将当前设置保存为默认设置.
5、设置好以后返回到上一级,选择 “Save setup as dfl” 进行保存即可,然后 Exit。
6、然后重启minicom(即直接在shell下执行minicom命令就可以进入minicom的控制台)使刚才的配置生效。
7、有时串口输出一行信息比较多,一行显示不下,这个时候,我们可以用minicom的本身组合键设置,超过一行时自动卷起。
组合键的用法是:先按Ctrl+A组合键,然后松开这两个键,再按Z键。另外还有一些常用的组合键。
(1)S键:发送文件到目标系统中;
(2)W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用。
(3)C键:清除屏幕的显示内容;
(4)B键:浏览minicom的历史显示;
(5)X键:退出mInicom,会提示确认退出。
四、配置文件所在目录
通过命令“minicom -s”进入配置界面,选择Filenames and paths 选项
1、按A键输入下载文件的存放位置(串口设备 ---> PC)
串口设备上的文件将被传输到PC机上的指定文件夹。
2、按B键输入读取上传的文件的位置(PC ---> 串口设备)
PC机向串口设备发送文件,需要发送的文件在指定目录下(PC机上的目录)。做了此项配置后,每次向串口设备发送文件时,只需输入文件名即可,无需输入文件所在目录的绝对路径。
五、Linux下使用USB转串口设备注意事项。
对没有串口的笔记本使用者来说,在调试串口设备如交换机,路由器等经常为没有串口而烦恼,不过现在有了USB转串口设备。但是新的问题又出现了,比如说对于minicom下的PC机和目标机通信还是存在着一些配置问题,下面就说一下linux下USB转串口的具体配置和问题:
注意:默认情况下很多linux发行版已经安装了USB转串口驱动(pl2303)。
1、openSUSE:~ # lsmod | grep usbserial
如果有usbserial,说明系统支持USB转串口。
2、插上USB转串口,在终端输入命令#dmesg | grep ttyUSB0,如果出现连接成功信息,则说明Linux发行版已经识别该设备了。