特殊:Badtitle/NS100:PalmDeviceSetup:修订间差异
小无编辑摘要 |
小无编辑摘要 |
||
第1行: | 第1行: | ||
{{From|https://help.ubuntu.com/community/PalmDeviceSetup}} | {{From|https://help.ubuntu.com/community/PalmDeviceSetup}} | ||
{{Languages|UbuntuHelp:PalmDeviceSetup}} | {{Languages|UbuntuHelp:PalmDeviceSetup}} | ||
== Easy Palm Device Setup == | == Easy Palm Device Setup == | ||
Most other instructions on how to use Palm devices on Linux involve HotSync Button voodoo. This document will explain how to use your Palm device without having to even think about <code><nowiki>/dev/ttyUSB1</nowiki></code>. Behold the power of UDEV... | Most other instructions on how to use Palm devices on Linux involve HotSync Button voodoo. This document will explain how to use your Palm device without having to even think about <code><nowiki>/dev/ttyUSB1</nowiki></code>. Behold the power of UDEV... | ||
=== Instructions === | === Instructions === | ||
# Open a terminal window by going to Applications -> System Tools -> Terminal | |||
2. Type the following line: (enter your password when asked) | |||
* | |||
<pre><nowiki> | <pre><nowiki> | ||
gksudo gedit /etc/udev/rules.d/10-custom.rules</nowiki></pre> | gksudo gedit /etc/udev/rules.d/10-custom.rules</nowiki></pre> | ||
* For Ubuntu 5.10 (Breezy Badger) you may want to use a file name of <code><nowiki>010-custom.rules</nowiki></code> to ensure that this file is read before <code><nowiki>020_permissions.rules</nowiki></code> | |||
3. Insert the following line into the empty file: | |||
* | |||
<pre><nowiki> | <pre><nowiki> | ||
BUS="usb", SYSFS{product}="Palm Handheld*", KERNEL="ttyUSB*", NAME{ignore_remove}="pilot", MODE="666"</nowiki></pre> | BUS="usb", SYSFS{product}="Palm Handheld*", KERNEL="ttyUSB*", NAME{ignore_remove}="pilot", MODE="666"</nowiki></pre> | ||
* For Ubuntu 5.10 (Breezy Badger) you may need to use "==" instead of "=" for some options | |||
<pre><nowiki> | <pre><nowiki> | ||
BUS=="usb", SYSFS{product}=="Palm Handheld*", KERNEL=="ttyUSB[13579]", NAME="pilot", GROUP="uucp", MODE="0660"</nowiki></pre> | BUS=="usb", SYSFS{product}=="Palm Handheld*", KERNEL=="ttyUSB[13579]", NAME="pilot", GROUP="uucp", MODE="0660"</nowiki></pre> | ||
4. Save the file, close gedit and close the terminal window. | |||
5. For Ubuntu 7.04 (Feisty Fawn) and 7.10 (Gutsy Gibbon) when still not working add the visor module to etc/modules. | |||
* | |||
<pre><nowiki> | <pre><nowiki> | ||
gksudo gedit /etc/modules</nowiki></pre> Add after last line | gksudo gedit /etc/modules</nowiki></pre> Add after last line | ||
* | |||
<pre><nowiki> | <pre><nowiki> | ||
visor</nowiki></pre> and save the file. Restart your computer. | visor</nowiki></pre> and save the file. Restart your computer. | ||
You can load the module immediately without restarting by issueing | You can load the module immediately without restarting by issueing | ||
* | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo modprobe visor</nowiki></pre> This worked fine for jpilot. First start the synchronizing on the palm, after that in jpilot. | sudo modprobe visor</nowiki></pre> This worked fine for jpilot. First start the synchronizing on the palm, after that in jpilot. | ||
=== Conclusion === | === Conclusion === | ||
There you go. Every Palm synchronizing application I know of looks for the device at <code><nowiki>/dev/pilot</nowiki></code>. Gnome-pilot does, for sure. This simple fix allows your Palm device to finally be plug-and-play. | There you go. Every Palm synchronizing application I know of looks for the device at <code><nowiki>/dev/pilot</nowiki></code>. Gnome-pilot does, for sure. This simple fix allows your Palm device to finally be plug-and-play. | ||
== Extra Information == | == Extra Information == | ||
Information for this article comes from [http://www.reactivated.net/writing_udev_rules.html#example-pilot Writing UDEV Rules] | Information for this article comes from [http://www.reactivated.net/writing_udev_rules.html#example-pilot Writing UDEV Rules] | ||
==== Possible future TODO: ==== | ==== Possible future TODO: ==== | ||
*See if newer "PalmOne", Handspring, or Treo devices have different <code><nowiki>product</nowiki></code> names, requiring more lines in the file. | |||
*See if <code><nowiki>ttyUSB*</nowiki></code> is good enough for the majority, or if we need to use <code><nowiki>ttyUSB[13579]</nowiki></code>. | |||
=== Notes from other users === | === Notes from other users === | ||
* All Palm handhelds create 2 connections when the HotSync button is pushed. In most cases these are /dev/ttyUSB0 and /dev/ttyUSB1. Your connections may vary, depending on what other USB devices you have connected. | |||
* For most Palm devices, the data communication takes place on the second connection created (i.e. /dev/ttyUSB1). There are a handful of Palm devices which use the first connection to do data communication. You may have to try both to discover which is appropriate for your particular device. I once found a list specifying which devices went which way; alas I have lost it. | |||
* I could not use the "ttyUSB*" kernel option, as udev kept creating the /dev/pilot symlink pointing to /dev/ttyUSB0. I had to specify "ttyUSB[13579]". | |||
* Before creating too quickly a rule if your sync doesn't work, check if you don't already have a similar rule or line related to a Palm device. It was the case for me in Ubuntu 5.10. I had 2 custom rules (created before, in previous attempts) plus a basic one in the udev.rules file. To make it work, I had to delete all rules or lines related to Palm in my udev tree. Then create a brand new one as explained. Then test the results in pressing the Hotsync button and doing a ls -l /dev/ttyUSB* or ls -l /dev/pilo*. Something must show up if the rule is working. Once you're done go ahead for jpilot/gnomepilot/kpilot or wathever. | |||
* To get my Palm T5 to sync I added line (BUS="usb", SYSFS{product}="palmOne Handheld*", KERNEL="ttyUSB[13579]", SYMLINK="pilot), without (), to above described created file (gksudo gedit /etc/udev/rules.d/010-custom.rules). This was done with information found on link (http://andyspace.me.uk/node/250). | |||
*Using the information from the link provided above I was able to setup my Treo650 to work on Ubuntu 5.10 (Breezy Badger). I ammended the line in the "010-custom.rules" file to the following: BUS=="usb", SYSFS{product}=="Palm Handheld*", KERNEL=="ttyUSB[13579]*", SYMLINK=="treo". Then run the PalmDevices setup. | |||
*I'm using Breeze Badger and I was having trouble syncing with all the information provided on this link. It would sync once and then not again, or maybe it was random but it didn't sync every time I tried. I switched to jpilot and changed the "010-custom.rules" file to: BUS=="usb", SYSFS{product}=="PalmOne Handheld*", KERNEL=="ttyUSB*", NAME{ignore_remove}=="treo", MODE=="666". That worked like a charm for the Treo 650. Now it syncs every time. | |||
*I'm using Edgy with Treo 650. I created a file named "/etc/udev/rules.d/010-custom.rules" containing 'BUS=="usb", SYSFS{product}=="*[vVisor]*", KERNEL=="ttyUSB[13579]", SYMLINK+="pilot", GROUP="dialout", MODE="0660"'. I'm not sure if it's necessary, but I then did "/etc/init.d/udev restart". Even though it makes no sense, synchronization wasn't possible until I upped the speed in JPilot to 57600. Yeah, I know--it shouldn't matter--but it does. Now it syncs every time. If you're fighting with this, make sure you "sudo tail -f /var/log/messages" and keep an eye on "ls -l /dev/pilot". Also, make sure you're user has dialout permissions. | |||
*Just a note on the difference between "==" and "=" in the above. The former is used for equality comparisons (as in BUS, SYSFS, & KERNEL), whereas the latter is for assignments (as in NAME & MODE). This is a very important distinction which if ignored will yield a rather elaborate udev no-op line in your rules file! | |||
* Important for all '''Treo 650 users trying to sync with Evolution''': before doing anything, you should make sure that you add the lines <!-- Treo 650 --> and <device vendor_id="0830" product_id="0061" /> to your /usr/share/gnome-pilot/devices.xml file. Without this line, your Treo will behave erratically when syncing and may crash Gnome Pilot (especially if you are trying to sync tasks). | * Important for all '''Treo 650 users trying to sync with Evolution''': before doing anything, you should make sure that you add the lines <!-- Treo 650 --> and <device vendor_id="0830" product_id="0061" /> to your /usr/share/gnome-pilot/devices.xml file. Without this line, your Treo will behave erratically when syncing and may crash Gnome Pilot (especially if you are trying to sync tasks). | ||
=== Treo 680 on Feisty === | === Treo 680 on Feisty === | ||
I found that Feisty comes with all the right settings; notably no changes are needed to the rules files. However, the rules are set up such that the link /dev/pilot is created dynamically when the OS recognizes the palm device, at the time the hotsync button is pressed. This has complications for the sync software such as kpilot. | I found that Feisty comes with all the right settings; notably no changes are needed to the rules files. However, the rules are set up such that the link /dev/pilot is created dynamically when the OS recognizes the palm device, at the time the hotsync button is pressed. This has complications for the sync software such as kpilot. | ||
The sync software (notably the daemon that's opening the device node) must be started _after_ the hotsync button is pressed. Otherwise the OS might reassign the device node and the daemon will be looking at a stale device node. | The sync software (notably the daemon that's opening the device node) must be started _after_ the hotsync button is pressed. Otherwise the OS might reassign the device node and the daemon will be looking at a stale device node. | ||
This can be avoided by having the sync software talk to /dev/ttyUSB0 directly, rather than via the /dev/pilot, but if you use multiple serial devices, then they might confuse each other, as the OS will pick the next free device node, e.g. ttyUSB1, ... | This can be avoided by having the sync software talk to /dev/ttyUSB0 directly, rather than via the /dev/pilot, but if you use multiple serial devices, then they might confuse each other, as the OS will pick the next free device node, e.g. ttyUSB1, ... | ||
---- | ---- | ||
[[UbuntuHelp:[[category:CategoryDocumentation]]]] [[UbuntuHelp:[[category:CategoryPDA]]]] | [[UbuntuHelp:[[category:CategoryDocumentation]]]] [[UbuntuHelp:[[category:CategoryPDA]]]] | ||
[[category:UbuntuHelp]] | [[category:UbuntuHelp]] |
2007年11月30日 (五) 20:57的版本
文章出处: |
{{#if: | {{{2}}} | https://help.ubuntu.com/community/PalmDeviceSetup }} |
点击翻译: |
English {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/af | • {{#if: UbuntuHelp:PalmDeviceSetup|Afrikaans| [[::PalmDeviceSetup/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/ar | • {{#if: UbuntuHelp:PalmDeviceSetup|العربية| [[::PalmDeviceSetup/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/az | • {{#if: UbuntuHelp:PalmDeviceSetup|azərbaycanca| [[::PalmDeviceSetup/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/bcc | • {{#if: UbuntuHelp:PalmDeviceSetup|جهلسری بلوچی| [[::PalmDeviceSetup/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/bg | • {{#if: UbuntuHelp:PalmDeviceSetup|български| [[::PalmDeviceSetup/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/br | • {{#if: UbuntuHelp:PalmDeviceSetup|brezhoneg| [[::PalmDeviceSetup/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/ca | • {{#if: UbuntuHelp:PalmDeviceSetup|català| [[::PalmDeviceSetup/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/cs | • {{#if: UbuntuHelp:PalmDeviceSetup|čeština| [[::PalmDeviceSetup/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/de | • {{#if: UbuntuHelp:PalmDeviceSetup|Deutsch| [[::PalmDeviceSetup/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/el | • {{#if: UbuntuHelp:PalmDeviceSetup|Ελληνικά| [[::PalmDeviceSetup/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/es | • {{#if: UbuntuHelp:PalmDeviceSetup|español| [[::PalmDeviceSetup/es|español]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/fa | • {{#if: UbuntuHelp:PalmDeviceSetup|فارسی| [[::PalmDeviceSetup/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/fi | • {{#if: UbuntuHelp:PalmDeviceSetup|suomi| [[::PalmDeviceSetup/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/fr | • {{#if: UbuntuHelp:PalmDeviceSetup|français| [[::PalmDeviceSetup/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/gu | • {{#if: UbuntuHelp:PalmDeviceSetup|ગુજરાતી| [[::PalmDeviceSetup/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/he | • {{#if: UbuntuHelp:PalmDeviceSetup|עברית| [[::PalmDeviceSetup/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/hu | • {{#if: UbuntuHelp:PalmDeviceSetup|magyar| [[::PalmDeviceSetup/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/id | • {{#if: UbuntuHelp:PalmDeviceSetup|Bahasa Indonesia| [[::PalmDeviceSetup/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/it | • {{#if: UbuntuHelp:PalmDeviceSetup|italiano| [[::PalmDeviceSetup/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/ja | • {{#if: UbuntuHelp:PalmDeviceSetup|日本語| [[::PalmDeviceSetup/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/ko | • {{#if: UbuntuHelp:PalmDeviceSetup|한국어| [[::PalmDeviceSetup/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/ksh | • {{#if: UbuntuHelp:PalmDeviceSetup|Ripoarisch| [[::PalmDeviceSetup/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/mr | • {{#if: UbuntuHelp:PalmDeviceSetup|मराठी| [[::PalmDeviceSetup/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/ms | • {{#if: UbuntuHelp:PalmDeviceSetup|Bahasa Melayu| [[::PalmDeviceSetup/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/nl | • {{#if: UbuntuHelp:PalmDeviceSetup|Nederlands| [[::PalmDeviceSetup/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/no | • {{#if: UbuntuHelp:PalmDeviceSetup|norsk| [[::PalmDeviceSetup/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/oc | • {{#if: UbuntuHelp:PalmDeviceSetup|occitan| [[::PalmDeviceSetup/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/pl | • {{#if: UbuntuHelp:PalmDeviceSetup|polski| [[::PalmDeviceSetup/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/pt | • {{#if: UbuntuHelp:PalmDeviceSetup|português| [[::PalmDeviceSetup/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/ro | • {{#if: UbuntuHelp:PalmDeviceSetup|română| [[::PalmDeviceSetup/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/ru | • {{#if: UbuntuHelp:PalmDeviceSetup|русский| [[::PalmDeviceSetup/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/si | • {{#if: UbuntuHelp:PalmDeviceSetup|සිංහල| [[::PalmDeviceSetup/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/sq | • {{#if: UbuntuHelp:PalmDeviceSetup|shqip| [[::PalmDeviceSetup/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/sr | • {{#if: UbuntuHelp:PalmDeviceSetup|српски / srpski| [[::PalmDeviceSetup/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/sv | • {{#if: UbuntuHelp:PalmDeviceSetup|svenska| [[::PalmDeviceSetup/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/th | • {{#if: UbuntuHelp:PalmDeviceSetup|ไทย| [[::PalmDeviceSetup/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/tr | • {{#if: UbuntuHelp:PalmDeviceSetup|Türkçe| [[::PalmDeviceSetup/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/vi | • {{#if: UbuntuHelp:PalmDeviceSetup|Tiếng Việt| [[::PalmDeviceSetup/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/yue | • {{#if: UbuntuHelp:PalmDeviceSetup|粵語| [[::PalmDeviceSetup/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/zh | • {{#if: UbuntuHelp:PalmDeviceSetup|中文| [[::PalmDeviceSetup/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/zh-hans | • {{#if: UbuntuHelp:PalmDeviceSetup|中文(简体)| [[::PalmDeviceSetup/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuHelp:PalmDeviceSetup | UbuntuHelp:PalmDeviceSetup | {{#if: | :}}PalmDeviceSetup}}/zh-hant | • {{#if: UbuntuHelp:PalmDeviceSetup|中文(繁體)| [[::PalmDeviceSetup/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuHelp:PalmDeviceSetup|:PalmDeviceSetup|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :PalmDeviceSetup/zh | | {{#ifexist: PalmDeviceSetup/zh | | {{#ifeq: {{#titleparts:PalmDeviceSetup|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:PalmDeviceSetup|1|-1|}} | zh | | }}
Easy Palm Device Setup
Most other instructions on how to use Palm devices on Linux involve HotSync Button voodoo. This document will explain how to use your Palm device without having to even think about /dev/ttyUSB1
. Behold the power of UDEV...
Instructions
- Open a terminal window by going to Applications -> System Tools -> Terminal
2. Type the following line: (enter your password when asked)
gksudo gedit /etc/udev/rules.d/10-custom.rules
- For Ubuntu 5.10 (Breezy Badger) you may want to use a file name of
010-custom.rules
to ensure that this file is read before020_permissions.rules
3. Insert the following line into the empty file:
BUS="usb", SYSFS{product}="Palm Handheld*", KERNEL="ttyUSB*", NAME{ignore_remove}="pilot", MODE="666"
- For Ubuntu 5.10 (Breezy Badger) you may need to use "==" instead of "=" for some options
BUS=="usb", SYSFS{product}=="Palm Handheld*", KERNEL=="ttyUSB[13579]", NAME="pilot", GROUP="uucp", MODE="0660"
4. Save the file, close gedit and close the terminal window. 5. For Ubuntu 7.04 (Feisty Fawn) and 7.10 (Gutsy Gibbon) when still not working add the visor module to etc/modules.
gksudo gedit /etc/modules
Add after last line
visor
and save the file. Restart your computer.
You can load the module immediately without restarting by issueing
sudo modprobe visor
This worked fine for jpilot. First start the synchronizing on the palm, after that in jpilot.
Conclusion
There you go. Every Palm synchronizing application I know of looks for the device at /dev/pilot
. Gnome-pilot does, for sure. This simple fix allows your Palm device to finally be plug-and-play.
Extra Information
Information for this article comes from Writing UDEV Rules
Possible future TODO:
- See if newer "PalmOne", Handspring, or Treo devices have different
product
names, requiring more lines in the file. - See if
ttyUSB*
is good enough for the majority, or if we need to usettyUSB[13579]
.
Notes from other users
- All Palm handhelds create 2 connections when the HotSync button is pushed. In most cases these are /dev/ttyUSB0 and /dev/ttyUSB1. Your connections may vary, depending on what other USB devices you have connected.
- For most Palm devices, the data communication takes place on the second connection created (i.e. /dev/ttyUSB1). There are a handful of Palm devices which use the first connection to do data communication. You may have to try both to discover which is appropriate for your particular device. I once found a list specifying which devices went which way; alas I have lost it.
- I could not use the "ttyUSB*" kernel option, as udev kept creating the /dev/pilot symlink pointing to /dev/ttyUSB0. I had to specify "ttyUSB[13579]".
- Before creating too quickly a rule if your sync doesn't work, check if you don't already have a similar rule or line related to a Palm device. It was the case for me in Ubuntu 5.10. I had 2 custom rules (created before, in previous attempts) plus a basic one in the udev.rules file. To make it work, I had to delete all rules or lines related to Palm in my udev tree. Then create a brand new one as explained. Then test the results in pressing the Hotsync button and doing a ls -l /dev/ttyUSB* or ls -l /dev/pilo*. Something must show up if the rule is working. Once you're done go ahead for jpilot/gnomepilot/kpilot or wathever.
- To get my Palm T5 to sync I added line (BUS="usb", SYSFS{product}="palmOne Handheld*", KERNEL="ttyUSB[13579]", SYMLINK="pilot), without (), to above described created file (gksudo gedit /etc/udev/rules.d/010-custom.rules). This was done with information found on link (http://andyspace.me.uk/node/250).
- Using the information from the link provided above I was able to setup my Treo650 to work on Ubuntu 5.10 (Breezy Badger). I ammended the line in the "010-custom.rules" file to the following: BUS=="usb", SYSFS{product}=="Palm Handheld*", KERNEL=="ttyUSB[13579]*", SYMLINK=="treo". Then run the PalmDevices setup.
- I'm using Breeze Badger and I was having trouble syncing with all the information provided on this link. It would sync once and then not again, or maybe it was random but it didn't sync every time I tried. I switched to jpilot and changed the "010-custom.rules" file to: BUS=="usb", SYSFS{product}=="PalmOne Handheld*", KERNEL=="ttyUSB*", NAME{ignore_remove}=="treo", MODE=="666". That worked like a charm for the Treo 650. Now it syncs every time.
- I'm using Edgy with Treo 650. I created a file named "/etc/udev/rules.d/010-custom.rules" containing 'BUS=="usb", SYSFS{product}=="*[vVisor]*", KERNEL=="ttyUSB[13579]", SYMLINK+="pilot", GROUP="dialout", MODE="0660"'. I'm not sure if it's necessary, but I then did "/etc/init.d/udev restart". Even though it makes no sense, synchronization wasn't possible until I upped the speed in JPilot to 57600. Yeah, I know--it shouldn't matter--but it does. Now it syncs every time. If you're fighting with this, make sure you "sudo tail -f /var/log/messages" and keep an eye on "ls -l /dev/pilot". Also, make sure you're user has dialout permissions.
- Just a note on the difference between "==" and "=" in the above. The former is used for equality comparisons (as in BUS, SYSFS, & KERNEL), whereas the latter is for assignments (as in NAME & MODE). This is a very important distinction which if ignored will yield a rather elaborate udev no-op line in your rules file!
- Important for all Treo 650 users trying to sync with Evolution: before doing anything, you should make sure that you add the lines and <device vendor_id="0830" product_id="0061" /> to your /usr/share/gnome-pilot/devices.xml file. Without this line, your Treo will behave erratically when syncing and may crash Gnome Pilot (especially if you are trying to sync tasks).
Treo 680 on Feisty
I found that Feisty comes with all the right settings; notably no changes are needed to the rules files. However, the rules are set up such that the link /dev/pilot is created dynamically when the OS recognizes the palm device, at the time the hotsync button is pressed. This has complications for the sync software such as kpilot. The sync software (notably the daemon that's opening the device node) must be started _after_ the hotsync button is pressed. Otherwise the OS might reassign the device node and the daemon will be looking at a stale device node. This can be avoided by having the sync software talk to /dev/ttyUSB0 directly, rather than via the /dev/pilot, but if you use multiple serial devices, then they might confuse each other, as the OS will pick the next free device node, e.g. ttyUSB1, ...
[[UbuntuHelp:]] [[UbuntuHelp:]]