存档

文章标签 ‘Serial’

苹果键盘没有Pause/Break的解决

2009年9月26日 1 条评论

一般的中断进程,当然Ctrl-C就搞定了,但只能要Break键的理由很简单,破解Cisco路由器密码需要Ctrl-Break(为了进入ROMMON)。上午需要用,结果发现自己的MacBook不能用来干这个,郁闷……还好当时带多了一台IBM的本子,把工作搞定了。回来研究这个问题,花了两三个小时,终于搞明白,似乎不大可能直接解决。关键在于,Break键并不是一个字符,其实是串口帧错误的信号,不能直接映射到某个组合键。据说扩展的Apple键盘可以定义到F16,但要随身带个大键盘似乎也不合理,另外也看到不少帖子说这样也无效。

还好,搜索过程中,找到了Cisco的官方解决方案,提及了MAC OS X上Z-Terminal可以用Command+B代替,不过没能找到这个软件,最终用了替代解决方法,虽然Cisco写了一大段,其实也很简单:

  1. 用1200bps连接串口,也就是screen /dev/tty.usbserial 1200,这时中断提示都是乱码或者没有提示,请无视;
  2. 重启路由器,按住空格键,保持15秒,仍然是乱码,继续无视;
  3. 关闭你的终端窗口,然后进进程管理器把screen进程杀掉;
  4. 开个终端,现在正常连接,也就是screen /dev/tty.usbserial 9600。此时应该提示进入ROMMON了,继续你的破解进程吧。

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

2009年5月12日 17 条评论

国内大概用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口的速率。