赞
踩
如果使用了USB转串口,一般情况下也不需要安装驱动了,目前linux系统已经包含了该驱动,可以自动识别,亦可通过以下命令查看以便确认是否支持。
- # lsmod |grep pl2303
- pl2303 18629 0
- usbserial 29865 1 pl2303
如果看到类似于上述信息,则表明能正确识别该设备,否则安装该设备的驱动。
- # dmesg | tail -f
-
- drivers/usb/serial/usb-serial.c: USB Serial support registered for PL-2303
- pl2303 3-1:1.0: PL-2303 converter detected
- usb 3-1: PL-2303 converter now attached to ttyUSB0
- usbcore: registered new driver pl2303
- drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver v0.11
如果看到类似上述信息,可知usb转串口芯片PL-2303的驱动已经注册加载,对应系统设备是/dev/ttyUSB0
注意:默认情况下ubuntu已经安装了USB转串口驱动(pl2303)。
1、# lsmod | grep usbserial
如果有usbserial,说明系统支持USB转串口。
2、插上USB转串口,在终端输入命令#dmesg | grep ttyUSB0,如果出现连接成功信息,则说明ubuntu系统已经识别该设备了。
注意:虚拟机环境下的ubuntu默认情况下是不能自动识别的,需要在虚拟机窗口右下角点击"Prolific USB-Serial Controller",然后选择"Connect (Disconnect from Host)",这样才能被ubuntu系统识别。
3、在上面minicom的配置中设置Serial Device: /dev/ttyUSB0,重启开发板,这样基本上就可以正常使用minicom来打印串口信息了。
4、问题
如果经过上面的步骤minicom还是不能正常工作,出现如下错误提示:
# sudo minicom
minicom: cannot open /dev/ttyUSB0: 没有该文件或目录
这时可以尝试换一个USB口,然后再次操作以上流程。如果还是提示这个错误,那么可以使用下面的方法来解决。
这 种方法是在硬件里添加串口设备,将window下的设备添加到虚拟机里。也就是说,要在window获得焦点的时候加入usb转串口,然后再到虚拟机下将 这个设备添加进去,这时就可以在ubuntu下查看添加的这个设备的设备文件,一般是/dev/tty0或者 /dev/ttyS0。
这种方法其实是将window的usb转串口作为虚拟机的串口,所以就是tty0或者ttyS0了,而不是真正在ubuntu下加载的。
具体步骤如下:
(1)打开虚拟机环境,然后选择"VM-->Settings(Ctrl+D)"。
(2)点"Add",进入添加硬件向导,选择"Serial Port",点"Next"。
(3)选择第一项"Use physical port on the host",点"Next"。
(4)选择"Physical serial port"方式为"Auto detect",勾选"Connect at power on",点"Finish"完成。
STM32的USB转串口驱动
1、安装驱动
在版本比较新的Linux内核中应该都集成该驱动,可以通过下边这个命令查看是否已安装驱动
1 | $ modinfo ftdi_sio |
会出现大概如下的信息
01 | filename: /lib/modules/2.6.28-oshirix-special-edition/kernel/drivers/usb/serial/ftdi_sio.ko |
02 | author: Greg Kroah-Hartman <greg@kroah.com>, Bill Ryder <bryder@sgi.com>, Kuba Ober <kuba@mareimbrium.org> |
03 | description: USB FTDI Serial Converters Driver |
04 | license: GPL |
05 | vermagic: 2.6.28-oshirix-special-edition SMP preempt mod_unload modversions 586 |
06 | depends: usbserial,usbcore |
07 | alias: usb:v0403pFF00d*dc*dsc*dp*ic*isc*ip* |
08 | alias: usb:v0403pFFA8d*dc*dsc*dp*ic*isc*ip* |
09 | alias: usb:v0403p9F80d*dc*dsc*dp*ic*isc*ip* |
10 | alias: usb:v0403pD010d*dc*dsc*dp*ic*isc*ip* |
11 | alias: usb:v0403pD011d*dc*dsc*dp*ic*isc*ip* |
12 | alias: usb:v0403pD012d*dc*dsc*dp*ic*isc*ip* |
13 | 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 |
如果出现上边的一大堆信息,就说明你的内核已经集成列该驱动,如果没有的话,就要去下载自己安装。
2、查看驱动的另一种方法
01 | 1.原有内容 |
02 | luther@gliethttp:~$ ls /sys/bus/usb-serial/drivers/ |
03 | generic |
04 | 2.插入usb-serail之后内容 |
05 | luther@gliethttp:~$ ls /sys/bus/usb-serial/drivers/ |
06 | ftdi_sio generic |
07 | 或者使用dmesg 查看 |
08 | luther@gliethttp:~$ dmesg |grep 'interface driver' |
09 | 3.删除已经加载了的built-ind的模块 |
10 | luther@gliethttp:~$ lsmod |grep ftdi_sio |
11 | ftdi_sio 55944 0 |
12 | usbserial 39528 1 ftdi_sio |
13 | usbcore 148848 8 ftdi_sio |
14 | luther@gliethttp:~$ sudo rmmod ftdi_sio |
15 | luther@gliethttp:~$ lsmod |grep ftdi_sio |
16 | 4.将其添加到驱动黑名单中 |
17 | luther@gliethttp:~$ sudo vim /etc/modprobe.d/blacklist |
18 | # 文件结尾追加如下一行内容 |
19 | blacklist ftdi_sio |
20 | 5.这样再次插入usb-serial,该设备的驱动已经没有了 |
21 | luther@gliethttp:~$ lsmod |grep ftdi_sio |
参考:
http://blog.csdn.net/david_xtd/article/details/24542595
https://my.oschina.net/u/246816/blog/59528
http://blog.csdn.net/david_xtd/article/details/24542595
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。