MAC OS X(Leopard)上使用USB串口线

国内大概用MAC OS X的设计师、艺术工作者什么的比较多,IT工程师就少很多了。昨天就发现MAC上如何用USB的串口线都很少中文资料。之前在macfans上发了个帖子问相关问题,总算有人回答是可以的,昨天中午就跑去买了根力特的“USB2.0通用串口线”,做工尚可,拿回来发现最大的问题是没有型号。

没有型号最大的问题就是找不到驱动了。左翻右翻在包装里找到一个小光盘(马上反应过来,这东西不能放MB的吸入式光驱用哦),打开找到一个MAC的文件夹,高兴。拷到我的466里,安装顺利,系统重启后插入线缆一点反应都没有,“网络”里都不提示有新连接,郁闷了!

好,自立根生吧。上力特公司的网站,发现同名驱动好几个,随便下载一个,这次学聪明了,打开包看看。果然和光盘里一样,是FDTI芯片的驱动。没办法,英文google吧。终于让我找到个不错的英文版总结(SerialIO.com),简单来说,就是USB串口线的驱动主要是根据其中的芯片来定。大体上有Prolific和FDTI,另外还有一种PL2303的驱动。Prolific其实就是PL2303的芯片,但是前面这个苹果网站上的通用型驱动似乎装上以后也没反应。最终还是用了Prolific的官方驱动。搜索中还发现,国外比较流行的线是KeyPan的,有完善驱动支持,口碑似乎也不错,建议有机会在国外买的考虑下。

其实一个非常简洁的判断方法是,插上线,查看系统信息(左上角的苹果——关于本机——更多信息)里的USB,一般可以识别到USB-To-Serial Controller,点中以后下面会提示厂商信息。

怎么大概判断驱动可用呢?打开“网络”设置,选择左边的加号,也就是新增端口配置,应该提示找到诸如“USB-Serial Controller”之类的新端口。

顺便提供一个卸载驱动的方法:

rm -rf /System/Library/Extensions/XXXX.kext
rm -rf /System/Library/Extensions.kextcache
rm -rf /System/Library/Extensions.mkext
kextcache -k /System/Library/Extensions

这些指令需要管理员权限,建议使用root用户或者sudo -s。其中XXXX.kext就是驱动的名字,比如这里的两种USB-Serial驱动分别是Prolific和FDTI打头的。

安装好驱动,怎么用呢?最简单的方法就是在终端程序里用

screen /dev/tty.usbserial 9600

注意这个设备文件对不同的驱动是不同的名字,自己注意就行了。9600是连接一般路由器Console口的速率。