I am using pilot-link 0.9.5 on a Linux 2.4.16 kernel. I find that I can run the various pilot-link tools just fine with $PILOTRATE set at or below 19200. However, faster rates (38400, 57600, 115200) simply do not work at all.
I am using a very modern machine with a very modern motherboard. "setserial" confirms that I've got a proper 16550A UART. Surely the hardware itself is capable of sustaining faster rates? (Or am I mistaken?) How should I go about trying to determine why faster rates fail? Serial communication is a mystery to me, and I'm really not sure where to begin. (Please forgive me if this is a FAQ; I suspect it must be. Honestly, I did hunt through mailing list archives, bug databases, and other web resources before posting. All I could find was a cryptic comment in the pilot-link README and man page: "You are welcome to try higher baud rates ... but various machines have various limitations." That's not very informative.) Technical details on the Palm side: hardware: Palm Vx OS: PalmOS 3.5.2 connection: DirectSerial; Speed: 115,200, Flow Ctl: Automatic hacks: none active Technical details on the Linux side: CPU: Athlon XP 1800+ motherboard: Abit KG7 north bridge: AMD-760 [Irongate] south bridge: VIA VT82C686 [Apollo Super South] kernel: 2.4.16 (self built) pilot-link: 0.9.5 (built by Ximian) connection: /dev/pilot symlinked to /dev/ttyS0 setserial -ga output: /dev/pilot, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test Representative example of a failed command: % PILOTRATE=38400 pilot-xfer -l Port: /dev/pilot Please press the HotSync button now... Connected... Exiting on cancel, stopped before listing databases. There's a delay of several seconds immediately after "Connected...", during which the Palm times out and presents an error dialog. On the Linux side, strace reveals that pilot-xfer is in a loop where it repeatedly executes the following three system calls: write(3, "\276\357\355\3\3\2\0\6\2\252\1\300\0\2.\0008Z", 18) = 18 nanosleep({0, 28000}, NULL) = 0 select(4, [3], NULL, NULL, {2, 0}) = 0 (Timeout) Looks like that loop runs about ten times. For the record, neither "setserial" nor "stty" has been used to change any port settings. Thanks in advance for any hints. _______________________________________________ Pilot-unix mailing list [EMAIL PROTECTED] http://hcirisc.cs.binghamton.edu/mailman/listinfo/pilot-unix