<chapter id="faq"> <title>&FAQ;</title> <sect1 id="faq-crash"> <title>&kpilot; Startup Problems</title> <qandaset> <qandaentry> <question> <para> What do I put after <option>--debug</option>? </para> </question> <answer> <para> Nothing. Most versions of &kpilot; don't even have a <option>--debug</option> option, and will complain if you use it. For those versions that <emphasis>do</emphasis> have it, use a value between 1 and 4, which will control the amount of debugging printed (a little). Using a value of 1 will print a fairly complete call trace without the really-boring functions, while 4 will include every trivial function in all of &kpilot;. </para> </answer> </qandaentry> <qandaentry id="faq-connection"> <question> <para> &kpilot; says <errorname>Can't connect to pilot</errorname> </para> </question> <answer> <para> This can have various causes. Check that: <itemizedlist> <listitem> <para> The pilot device (usually <filename class="devicefile">/dev/pilot</filename>) exists and points to the serial port the &PalmPilot; is actually connected to. </para> <para> To link the &PalmPilot; device to the correct serial port, you can either fill in <filename class="devicefile">/dev/ttyS<replaceable>n</replaceable></filename> in the <guilabel>Pilot Device</guilabel> field in the <link linkend="page-general">setup dialog</link> or (preferably) link <filename class="devicefile">/dev/pilot</filename> to <filename class="devicefile">/dev/ttyS<replaceable>n</replaceable></filename> with the following command (as <systemitem class="username">root</systemitem>): <userinput> <command>ln</command> <option>-s</option> <parameter>/dev/ttyS<replaceable>n</replaceable></parameter> <parameter>/dev/pilot</parameter></userinput> Here <filename class="devicefile">/dev/ttyS<replaceable>n</replaceable></filename> is the name of the serial port; replace <replaceable>n</replaceable> with the correct number (usually 0 or 1). </para> </listitem> <listitem> <para> Check that you have permission to read and write to the serial port. The permissions for the serial port should be such that you can write to it. This is most easily done by running the following (as root): <userinput> <command>chmod</command> <option>666</option> <parameter>/dev/ttyS<replaceable>n</replaceable></parameter> </userinput> </para> </listitem> <listitem> <para> Try starting the daemon by hand before starting &kpilot;. </para> </listitem> <listitem> <para> (For &Linux-Mandrake; 7 systems) Check the system security level: settings higher than 3 prevent some forms of inter-process communication which are necessary for &kpilot; to operate correctly. </para> <para> (<emphasis>&Linux-Mandrake; security information courtesy of Jay Summett</emphasis>) To set your <!-- TM? --><acronym>MSEC</acronym> <!-- TM? -->(Mandrake SECurity) settings to not block the &kpilot; socket (for connections to localhost) you can login as root and type <userinput> <command>/etc/security/msec/init.sh</command> <option>3</option> </userinput> Which will set your <!-- TM? --><acronym>MSEC</acronym> level to 3 (regular security). For more information about the various security levels, &etc;, see: <ulink url="http://www.linux-mandrake.com/userguide/en/reference/017.html#157"> the <!-- TM? -->Mandrake reference guide</ulink>. </para> </listitem> </itemizedlist> </para> </answer> </qandaentry> </qandaset> </sect1> <sect1 id="faq-database"> <title>Database Questions</title> <para> This section answers questions commonly asked about particular databases and how they interact with &kpilot;. </para> <qandaset> <qandaentry> <question> <para> Databases become corrupted after a sync, what should I do? </para> </question> <answer> <para> Certain databases (from third-party software manufacturers) appear not to follow the standard database layout. If you can find out what the creator id of the database is, you can add it to either the <guilabel>Backup Only:</guilabel> list or the <guilabel>Skip</guilabel> list in the <link linkend="page-backup">settings dialog</link>. </para> <para> The following table shows which databases should be skipped or backed-up only: <table id="dbskip"> <title>Databases needing Special Treatment</title> <tgroup cols="3"> <thead> <row><entry>Database</entry><entry>Creator ID</entry><entry>Action</entry></row> </thead> <tbody> <row> <entry>Launcher (the &PalmPilot;'s main menu)</entry> <entry>lnch</entry> <entry>Backup Only:</entry> </row> <row> <entry>Arranger</entry> <entry>Arng</entry> <entry>Backup Only:</entry> </row> <row> <entry>(unknown)</entry> <entry>PmDB</entry> <entry>Backup Only:</entry> </row> <row> <entry>AvantGo</entry> <entry>avgo</entry> <entry>Skip (Mostly because there's no point in backing up the news articles that AvantGo gives you)</entry> </row> </tbody> </tgroup> </table> </para> </answer> </qandaentry> <qandaentry> <question> <para> Is there a conduit for &Netscape; <application>Calendar</application>? </para> </question> <answer> <para> No, there isn't. Neither are there plans to include support or write a conduit for &Netscape; <application>Calendar</application>. </para> </answer> </qandaentry> </qandaset> </sect1> <sect1 id="faq-hotsync"> <title> Special HotSync Questions </title> <para> This section lists questions about HotSync methods that differ from the <quote>usual</quote> direct serial link method. </para> <qandaset> <qandaentry> <question> <para> How do I do an infrared (<acronym>IR</acronym>) HotSync? </para> </question> <answer> <para> First of all your &PalmPilot; has to actually support <acronym>IR</acronym> HotSyncs. This can be achieved through various means: &PalmOS; 3.3 and higher include support for it; there is an <acronym>IR</acronym> enhancements package for older &PalmOS; versions; <application>IrLink</application> from IsComplete apparently has the same capabilities. Check out the <ulink url="http://www.palmone.com/us/">PalmOne</ulink> web pages for more information. </para> <para> Assuming your &PalmPilot; now has <acronym>PC</acronym> HotSync support and it is setup to do <acronym>IR</acronym> HotSyncs (in the HotSync preferences on the &PalmPilot;), we can turn our attention to the <acronym>PC</acronym> you will be synchronization with. It needs an <acronym>IR</acronym> port. For laptops, this is trivial, desktop <acronym>PCs</acronym> may require some extra hardware. </para> <para> Your &Linux; kernel will need to support <acronym>IR</acronym> and the <acronym>IRCOMM</acronym> protocol. For stock &RedHat; systems, the following command should setup <acronym>IR</acronym> support (as <systemitem class="username">root</systemitem>): <screen width="40"> <prompt># </prompt><userinput><command>modprobe</command> <option>ircomm</option></userinput> </screen> Other distributions should follow the <filename>IR-HOWTO</filename>. Once <acronym>IR</acronym> support in the kernel has been activated, you need to make devices for the <acronym>IR</acronym> ports. The <filename>IR-HOWTO</filename> suggests (as <systemitem class="username">root</systemitem>): <screen width="40"> <prompt># </prompt><userinput><command>mknod</command> <option>/dev/ircomm0</option> <parameter>60</parameter> <parameter>64</parameter> </userinput> <prompt># </prompt><userinput><command>chmod</command> <option>666</option> <parameter>/dev/ircomm0</parameter></userinput> </screen> Next we need to start some daemons for <acronym>IR</acronym> services: <screen width="40"> <prompt># </prompt><userinput><command>irattach</command> <option>/dev/ttyS<replaceable>n</replaceable></option></userinput> <prompt># </prompt><userinput><command>irmanager</command> <option>-d</option> <parameter>0</parameter></userinput> </screen> Here <filename class="devicefile">/dev/ttyS<replaceable>n</replaceable></filename> is the serial port the <acronym>IR</acronym> port is using. <replaceable>n</replaceable> could be 0, 1, or some other number depending on your hardware setup. Follow the instructions in the <filename>IR-HOWTO</filename> for assistance (for desktop machines, it's usually a setting in the <acronym>BIOS</acronym>). </para> <para> Once you've gotten this far, just make <filename class="devicefile">/dev/pilot</filename> point to <filename class="devicefile">/dev/ircomm0</filename> and you're ready! </para> <para> The IR-HOWTO and other useful information on using IR may be found at <ulink url="http://mobilix.org/howtos.html">http://mobilix.org/howtos.html</ulink> and <ulink url="http://mobilix.org/software/irda/">http://mobilix.org/software/irda/</ulink>. </para> </answer> </qandaentry> <qandaentry> <question> <para>Can I do a &HotSync; with my (<acronym>USB</acronym>) <!-- TM? -->&Handspring; &Visor;? </para> </question> <answer> <para> Yes, you can. I don't have definitive information, but postings on the &kpilot; mailing-list have stated that you can point <filename class="devicefile">/dev/pilot</filename> to the <acronym>USB</acronym> device and everything will work fine. </para> </answer> </qandaentry> <qandaentry> <question><para>Is there any support for remote HotSyncs?</para> </question> <answer> <para> No, not yet. Maybe later. </para> </answer> </qandaentry> </qandaset> </sect1> <sect1> <title>&kpilot;'s &DCOP; interface</title> <qandaset> <qandaentry> <question> <para>What does &kpilot; use &DCOP; for?</para> </question> <answer><para> The daemon and &kpilot; communicate using &DCOP; for several purposes: logging messages, changing the &HotSync; type, and exchanging configuration information. </para></answer> </qandaentry> <qandaentry><question> <para>Which &DCOP; interfaces are there?</para></question> <answer><para> The daemon has two important interfaces: <interface>LogIface</interface> and <interface>KPilotDaemonIface </interface>. The <interface>LogIface</interface> interface is used to record messages in the sync log on the &handheld;, and is rarely used. The <interface>KPilotDaemonIface</interface> is the more important &DCOP; interface, and is used to control the kind of &HotSync; that &kpilot; will do. </para></answer> </qandaentry> <qandaentry><question><para> How can I tell the daemon to perform a specific kind of &HotSync;?</para></question> <answer><para> There are three &DCOP; functions that control what kind of &HotSync; the daemon will do next: <function></function> <function></function> </para></answer> </qandaentry> </qandaset> </sect1> </chapter>