"Linux Gazette...making Linux just a little more lovable!"

Utilizing the US Robotics Pilot with Linux
by James McDuffie,mcduffie@scsn.net

Why the Pilot?

There are a lot of Personal Digital Assistants available on the market these days. These include the Newton, Windows CE machines, and Psion. But the PDA being discussed here is the US Robotics Pilot. Before purchasing a PDA I thought carefully about a number of issues. These included cost, portability, and how well it could be expanded.

The are a couple reasons why I purchased the Pilot. For one thing the Pilot is not very expensive. The Pilot comes in two different versions, called the Pilot 1000 and the Pilot 5000. These are the exact same except for the amount of memory they have loaded. The Pilot 1000 has 128k of memory while the Pilot 5000 has 512k of memory. What I did was purchase a Pilot 1000 and a 1 MB upgrade chip at the same time. This way I saved money in the long run than if I had purchased a Pilot 5000 and then later upgraded to 1 MBB of memory. The Pilot is considerably cheaper than other PDAs. Such as the Newton which is priced as under $800. The Pilot 1000 can be found for as low as $224 and the Pilot 5000 for as low as $269. The 1 MB upgrade chip can be found for as little as $89. Prices such as this make the Pilot a cost effective solution.

Another issue was how portable the Pilot is. Carrying around a heavy PDA all day is not very comfortable. But the Pilot is very portable. It measures 4.7 x 3.2 x .7 inches, small enough to fit comfortably in your hand. The Pilot only weighs 5.7 ounces, with batteries. Because of this the Pilot can fit comfortably in your shirt pocket or your pants pocket. The Pilot's power supply is two 2 triple A batteries. These batteries can last you up to a month if you use the Pilot moderately. After all a PDA is supposed to help you, not burden you down by being bulky and heavy.

The Pilot is very expandable too. Such is the case with the 1 MB upgrade chip that can be purchased from varies places. I find that 1 MB of memory is more than enough memory for my needs. The Pilot is also expandable in that you can upload any of numerous shareware or commercial applications for the Pilot. There is even a program that allows you to hook your Pilot up to a modem and dial into your ISP and then check your POP mail! These applications are very small. The average application made for the Pilot runs about 10k. With a 1 MB chip you could theoretically have 100 10k apps on the Pilot. The Pilot features a RS-232 serial connector on the bottom of it. The connector is used for syncing the Pilot with your desktop computer or for other uses. Other uses include hooking up a modem or hooking up a soon to be release wireless modem and pager. The Pilot can grow as your need for it grows.

Using the Pilot with Linux

Right now there is software available for use with the Pilot and Linux and other Unix flavors. You can obtain the software for use with Linux from:
This software is still in development, but is highly usable. To use this software all you have to do is get the latest pilot-link package and untar/ungzip it. Once you have it expanded all it takes is to run the configure script and then do a make. You will then have about 16 programs depending on what version you have. I suggest that you install all of these programs into their own directory. I have mine installed in /usr/local/pilot and have included this directory in my path statement. This will make it easier for you to play around with the software. If you want to run the software as any user other than root, you will have to set them suid root. I have done this but restricted their execution to a group that only my login is a member of. This allows the software to execute the serial port.

The software is simple enough to use. You simply supply supply the program name, the serial port and other information such as a filename. The pilot-xfer program allows you to install programs or data files that programs use into the Pilot. To install program all you would have to do is use the command pilot-xfer /dev/cua?? -i [program name]. After entering this your press the hot-sync button on the Pilot cradle and the Pilot installs the program. The program is then available for immediate use. Or if you wanted to install a text file into the memo you would simply enter install-memo /dev/cua?? [file name]. There are plenty of other programs that help you transfer information with other applications such as the date book, the address book and the to do list.

For me, the name of these programs are pretty long and with typing the serial device name it gets tedious fast. So I set up a couple of aliases to speed up things. Some of my aliases are:
alias pxi='pilot-xfer /dev/cua2 -i'
alias im='install-memo /dev/cua2'
These are the functions I use the most, because I hardly ever download applications from my Pilot since I already have them on my hard drive. The same goes for memos I install. But for the information that I create in the Pilot I use the sync-memodir program. It puts every memo in a separate fill. But the down side is that does not put the files in categories as they are on your Pilot. The up side is that the Windows software is not required.

What to do if you do not have a free serial port

One problem I encountered was that I did not have a free serial port. My mouse is on cua0 and my modem on cua1. For a while I had to switch the Pilot cradle with my modem. This was highly annoying because I could not use the modem while I was playing with my Pilot. I solved this with a $29 dollar ISA card I found at a local computer story, local as in locally owned and operated. The card is called the COM-5 card and is manufactured by Mouse Systems.

The card is useful because if COM1 and COM2 are in use then COM3 and COM4 are not available. A COM port is simply a label that identifies a specific IRQ and address. COM1 and COM3 share the same IRQ as does COM2 and COM4. But this card allows you to add another serial port at any combination of IRQ and address that you desire. I have mine set on IRQ 12 and address 238. To get this to work with Linux all I had to do was tell Linux to map this specific address and IRQ combination to the device /dev/cua2. The following command does this:
setserial /dev/cua2 port 0x238 irq 12 autoconfig
It tell Linux where the serial port is available and to what device to map it. With this working I was able to play around with my Pilot while using my modem. Also I now have an extra serial port should I need it for other tasks.

Logging in to a Linux computer via the Pilot

Logging into a Linux computer via the Pilot is possible. It is not really that hard once you have the correct software. All you need is the application called Simple Term which can be obtained from Adam's Software Archive listed in the links section. Install the software on the Pilot and then make sure the Pilot is hooked up to the serial port. Run agetty on the serial device such as with this command:
/sbin/agetty 19200 cua2 vt100
And then put the Pilot in the cradle and hit online. You should then be able to talk with your Linux computer. The reason this works with the cradle is because the cradle is basically just a null modem hook up to the computer. Because of this a null modem adapter put on the cradle will allow you to use the Pilot on a modem, because of the fact that it reverses the null modem feature of the cradle. Logging into your Linux computer via the Pilot is not the most useful thing in the world since the program does not contain any terminal emulation. But it is possible which makes it fun.


US Robotics Pilot Page
Scott's Pilot Page
Adam's USR Pilot Software Archive
Aslan's Pilot PDA Links

These links should be enough to learn about the US Robotics Pilot and how to use them. I hope this information will be helpful. If you have any questions what so ever, please contact me.

Pilot-Unix Mailing List

The pilot-unix mailing list is for discussion and idea-sharing for those interested in using the US Robotics Pilot PDAs with UNIX systems. This includes people who are interested in helping to develop tools to allow the Pilot to operate with UNIX, and possibly to develop an SDK for the Pilot for Unix.

All postings to the list should be sent to the address


Commands, such as subscribe or unsubscribe requests should be sent to the address


Note that there are two list modes - normal (you receive each message as it is sent) and digest. The default mode is digest mode. To subscribe to the digest, send an email message with the single word "subscribe" in the message body to "pilot-unix-request@lists.best.com". To subscribe to the normal list, use the word "subsingle" in the message body. You can also get a list of commands which the list server understands by sending mail with the single word "help" in the body to the -request address.

If you have administrative questions or requests which require the intervention of a person, please send those to


Copyright © 1997, James McDuffie
Published in Issue 14 of the Linux Gazette