Category: Projects Related to Palm OS PDAs
Published on: 2019-11-18
Most modern PCs or laptops do not have a serial interface anymore. However, there are useful USB-Serial converters on the market. I used a "USB 2.0 to RS232 converter cable with PL2303 Chipset" in this case. It worked without any problem with Ubuntu 18.04 and out of the box.
After the "USB 2.0 to RS232 converter cable" is plugged in, it should show up in "dmesg":
sudo dmesg | grep "tty"
In my case, "/dev/ttyUSB0" was the correct port.
"jpnevulator" is a suitable serial-port sniffer for Linux and can be installed via:
sudo apt-get update && sudo apt-get install jpnevulator
The first thing to do is set the baud rate to the value we are using in the Palm application "SerialComm". Theoretically, it can be any common value (up to 115200) for serial communication. But keep in mind: The higher the value, the higher the error rate of faulty bits. For this example, we will use "9600 [bits per second]":
stty -F /dev/ttyUSB0 9600
(It is already defined in the SerialComm application, see: Serial Communication with Palm OS - The Palm OS Application)
In the next example, the value "/dev/ttyUSB0" should be replaced with the value from "dmesg".
To continuously read from the serial port, just run:
sudo jpnevulator --ascii --timing-print --tty /dev/ttyUSB0 --read
All parameters that can be used can be found here: jpnevulator manual
To test the setup, a Palm should be attached to the computer (over the serial port) and should execute a hotsync (no need for a real hotsync, the Palm should just send some data). Make sure nothing is blocking the port, like jPilot or something else. This should be the result:
If the application "SerialComm" on a Palm (e.g., m100) is used and data is sent to the server (PC), it should look like this:
The next part (3/4) describes how the data from the application can be read with Java on Ubuntu:
Serial Communication with Palm OS on Ubuntu 18.04 and Java