Ubuntu的机子上,插上USB2COM线,准备开工。

检查USB2COM在本机上的tty文件名,输入命令:

 $ dmesg

注意到尾部有类似于如下信息

 
[ 4858.701759] usb 1-1.1: new full-speed USB device number 7 using ehci_hcd
[ 4858.802660] ftdi_sio 1-1.1:1.0: FTDI USB Serial Device converter detected
[ 4858.802754] usb 1-1.1: Detected FT232RL
[ 4858.802759] usb 1-1.1: Number of endpoints 2
[ 4858.802764] usb 1-1.1: Endpoint 1 MaxPacketSize 64
[ 4858.802770] usb 1-1.1: Endpoint 2 MaxPacketSize 64
[ 4858.802774] usb 1-1.1: Setting MaxPacketSize 64
[ 4858.803468] usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUSB0

OK,证明串口线连上了,设备文件名是ttyUSB0。顺便赞一个,客户真不错,用的FTDI的线。

然后查看设备文件有没有存在:

ls /dev/ttyUSB0
/dev/ttyUSB0

好的,这么顺利,驱动也不要,那让我们装个putty吧。

 $sudo apt-get install putty

OK, 装好打开,设置连接方式为serial,Serial line里填上设备的绝对文件名:/dev/ttyUSB0,设好相应的speed,点击连接,意外出现了,putty死活不干,总是提示“unable to open serial port”,shift(我们要文明)!

想了想,有这个文件,那么就是权限了,再显示一下文件全部吧,

 
$ ll /dev/ttyUSB0    // ll是一个命令别名,如果你不能运行ll,那么就把ll改成ls -al,一样的效果
crw-rw---- 1 root dialout 188, 0  7月 16 11:27 /dev/ttyUSB0
 

仔细看,就root用户和dialout组的用户有读写权,我不可能天天为了putty去sudo吧,那把自己加到dialout组里去吧。

先看看自己在哪些组里面:

 
id -Gn
username adm cdrom sudo dip plugdev lpadmin sambashare

果然不在dialout组里,加进去吧:

 sudo adduser username dialout    //这里把username换为你自己的用户名

然后注销或重启后检查一次:

id -Gn
username adm dialout cdrom sudo dip plugdev lpadmin sambashare

好了,进去了,再用putty连接,搞定。That's fucking cool.

总之,在Linux下面权限很重要啊!遇到文件存在但访问有问题的,请首先查看权限问题。

 
05-01 05:39