Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1289232
  • 博文数量: 840
  • 博客积分: 10001
  • 博客等级: 上将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 14:31
文章分类

全部博文(840)

文章存档

2011年(1)

2008年(839)

我的朋友

分类: LINUX

2008-08-29 14:34:00

 
  OS:Ubuntu606Kernel=2.6.15-23-686
  PalmTreo650(PalmOS5.4H)

  Palm官方提供的同步套件只有Windows版和MacOSX版的。虽然在Linux下给Palm设备安装软件已经可以解决(CardReader RescoExplorer),但是同步PIM的话还是无能为力。

  搜索到的文档大多都是说的2.6.9的kernel之前的。那时只要简单的做一个到/dev/ttyUSB*的连接就可以通过一些套件同步了。但是现在的kernel已经加入了udev,这个东西对U盘等设备来说是很爽的。但是,她的先进通讯机制却让Plam设备不爽了。因为她是在插入USB设备后动态生成/dev/ttyUSB*的。也就是说。在初始状态下,插入Palm后并按下同步按钮之后会生成/dev/ttyUSB0和/dev/ttyUSB1这两个设备,取消同步之后这两个ttyUSB就会消失。问题就在这,因为这样的话就不能给/dev/ttyUSB*做一个名为/dev/pilot的固定连接。

  OK,从头开始。首先安装pilot-link。可以到抓源码自己编译安装,也可以直接apt。接着安装jpilot。一样,可以到抓源码或者apt。

  接下来就是解决udev的问题。在/etc/udev/rules.d/目录下建立10-local.rules这个档案,内容如下:

  BUS="usb"SYSFS{product}="PalmHandheld*"KERNEL="ttyUSB*"SYMLINK="pilot"MODE="666"KERNEL="ttyUSB*"SYMLINK="pilot"

  然后重启udev:
  /etc/init.d/udevrestart

  这时,若是使用Gnome自带的那个gpilot的话,在设备那里添上/dev/pilot,就可以使用gpilot和Evolution来同步了。。但是我不喜欢evolution,也早已删除了他。

  我选择了jpilot做为同步工具。运行jpilot,在偏好设定中设置字符集为"GBK",连接端口为/dev/pilot。

  这个时候你去同步的话会告诉你/dev/pilot不存在的。因为jpilot是先检测/de/pilot这个设备,然后在去同步的,但是udev的特性让Palm在接入并且按了同步按钮之后才会生成/dev/ttyUSB0和/debv/ttyUSB1这个两个设备,然后根据前文所写的udev设备规则(10-local.rules),生成一个到/dev/ttyUSB1的连接,连接名为/dev/pilot。之所以gpilot可以同步成功是因为gpilot是不断的去检测/dev/pilot是否有讯号,但不去检测/dev/pilot是否真的存在,在按下同步按钮之后生成了/dev/pilot,所以gpilot就OK了。

  所以,我做了一个到/dev/ttyUSB1的死链接(因为在按下同步按钮之前,ttyUSB1是不存在的):

  ln-s/dev/ttyUSB1/dev/pilot

  然后在jpilot介面点击同步按钮,接着过几秒钟再按下Palm同步线或者同步底座上的同步按钮。记住一定要等几秒钟,不能像网上的那些比较老的文档中所说的那样,按下同步按钮后接着迅速按Palm上的同步按钮,因为那是对付没有udev的系统的。这时jpilot检测到/dev/pilot“存在”,并在你按下Palm上的同步按钮之后开始同步操作。同步完成之后,系统会自动释放/dev/pilot这个连接的,所以若是想再次同步,必须再执行ln-s/dev/ttyUSB1/dev/pilot这个操作。

  需要注意的是假若某次同步不成功,可能会导致系统没有成功释放/dev/ttyUSB0和/dev/ttyUSB1这两个设备。所以再ln-s/dev/ttyUSB1/dev/pilot会无法同步的,因为此时Palm会接驳在/dev/ttyUSB2和/dev/ttyUSB3上,依此类推。所以要ln-s/dev/ttyUSB3/dev/pilot。可以用ls/dev/ttyUSB*来查看。

在Linux下同步Palm(with udev)在Linux下同步Palm(with udev)在Linux下同步Palm(with udev)在Linux下同步Palm(with udev)在Linux下同步Palm(with udev)在Linux下同步Palm(with udev)在Linux下同步Palm(with udev)在Linux下同步Palm(with udev)在Linux下同步Palm(with udev)在Linux下同步Palm(with udev)
阅读(1195) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~