Stjepan Groš

Palm TX stuff

I obtained Palm TX in March 2007 primarily for the following purposes:

But it also turned out that I can watch movies on it. Unfortunatelly, I can not turn this device into mobile phone because it lacks microphone input.

Here are random notes of what I did with the Palm and how did I configured/customized it.

Connecting Palm TX to the Internet

There are multiple ways you can connect your Palm TX to the Internet. Palm can be connected to the Internet via integrated Wi-Fi, Bluetooth, IR devices, or with the USB cable used for HotSync operation. Here, I'm mostly interested in connecting Palm to the Internet via some Linux machine, but for the sake of completnes, I'll list the other means also. Configurations listed here are done on Fedora Core 6, but they should work on any other decently new distribution.

Wi-Fi connection

If you have properly configured AP somewhere to access it with Palm should be without any problems. In case you don't have one, then, you can improvize with laptop (or any computer with wireless card). There are two ways in which you can conect the two. The first one is with ad-hoc mode, and the second one is to make laptop access point and then to connect the Palm to it.

To make AP of laptop is relatively easy. The only thing that has to be carefully configured is security. But first, let us configure the open AP. The scenario I'm assuming in the setup is shown in the following figure:

If you have Atheros chipset (as I do) then execute the following set of commands to activate AP:

# wlan ath0 destroy
# wlanconfig ath0 create wlandev wifi0 wlanmode ap
# iwconfig ath0 essid nx
# ip addr add 192.168.0.1/24 dev ath
# ip link set dev ath up

You should be now able to connect with Palm to the newly created AP. Note that there is no DHCP server so you'll have to manually enter IP data for connection in Palm device. For Palm's own IP address use 192.168.0.2, for default gateway use 192.168.0.1 and for DNS server use your provider's DNS servers.

The next set of commands will enable Palm to access the Internet:

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth0 -j MASQUERADE

Note that I assume you are using eth0 as your public interface. In case you are using something else, then change the command appropriately.

TODO: Add DHCP and security! Automate setup.

TODO: Add ad-hoc connection

USB cable connection

This is a great way to connect Palm to the Internet in case you don't need mobility for some reason. In my case, the problem is that when I'm not on my job, I connect to the Internet via UMTS PCMCIA card ant the laptop allows only one PCMCIA card. So, the idea is to use USB cable for serial connection and then to run PPP on top of this serial connection. Here are the steps necessary to make this scenario work:

First connect palm to the USB port of the computer and go to the Prefs launcher. There, select Network and then New. Fill in the data: Service name, then User Name (not used actually), Password you can leave unfilled. For Connection select Cradle/Cable. Finally, select Connect. Note that you should select Connect before doint anything on the computer as there is no appropriate device to operate on.

On the computer, as a root, execute the following command:

# pppd /dev/ttyUSB1 192.168.0.1:192.168.0.2 ms-dns <dnsip1>

You should change dnsip1 with the address of your provider's DNS.

The next set of commands will enable Palm to access the Internet. Those commands are the same as for the scenario with Wi-Fi.

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth0 -j MASQUERADE

And now you'll should be able to surf the Net via your Palm device. Note that it's good to turn off timeout value for connection in Palm device since reconnect doesn't work (pppd dies, and you have to restart it manually).

TODO: Automate initialization

TODO: Make laptop accesses Internet via Palm device!! (is this really possible?)

Bluetooth connection

To connect Palm to the Internet using Bluetooth connection is equally easy. The first step is to pair devices so that Bluetooth connection works. Then, on the computer, issue the following command:

# dund --nodetach --listen --persist --msdun call dun

On Palm, tap Bluetooth icon

Developing applications for Palm TX

I'm still totally blanked here! If you have some suggestion I'll be very happy to hear about it. What I'm interested in tools that will allow me to develop Palm OS applications. Apparently Access is working on this and they should release dev environment in this year, but I'm uncertain when this will happen.

Note the case when you run Linux on your Palm device (see below).

Synchronizing TODO lists and calendars

As of this writing I didn't succeed to syncronize Evolution with Palm. The problem is probably in the gnome-pilot package because setup wizard hangs while trying to connect to the device.

Synchronization with JPilot package works but I use Evolution so it's not the option.

Transfering files to Palm

Transfering different files to Palm works via HotSync mechanism (pilot tools) and via SD card. The catch with pilot tools is to press HotSync button before starting pilot-xfer or similar program. The reason is that after pressing HotSync button appropriate devices are created (ttyUSB0 and ttyUSB1). In case pilot-xfer is started before pressing HotSync button, ttyUSB2 and ttyUSB3 devices will be created, and thus, communication will not be established.

Reading different documents

PDF documents

For reading PDF documents I use PilotPDF. It works well apart from sporadic "NULL at..." error messages. This errors occur when magnification is to large and it seems that program has not enough memory. Immediately after this error occurs, application is restarted with lower color depth.

Reading PDF articles is bit tricky, but presentations are quite good!

Web pages

For reading Web pages I use Plucker. To prepare Web page for Palm plucker-build script is used. This script is actually a spider but it's not so flexible. For example, I had problems with certain HTML pages (as described later).

Text documents

Primary text documents I want to read are RFCs and Internet drafts. Unfortunatelly, this is not so well formated for Palm. The better results are obtained by using HTML documents (but few RFCs and IDs are in this format).

Mailing lists

Unfortunatelly, mail program delivered with device can not read mbox files, it has to have IMAP or POP account.

Thus, I converted mbox file into HTML, and then using plucker into format for reading on Palm device. For conversion I first used hypermail but it turned out that HTML generated by hypermail is problematic for plucker. Then I tried MHonArc and it worked.

Multimedia

For watching moves on Palm I use TCPMP that works great!

Linux

There is Linux distribution that works with Palm TX! You can download it from here. There are two versions of "desktop" for Palm. Opie and GPE. Opie is based on Qt and GPE is based on Gtk. It seems as Opie is in better shape, but maybe I missed something.

You need two things. Root file system with applications and boot loader. Boot loader is Palm application that you launch and that runs Linux. Linux want touch PalmOS, so, you are safe (at least it was so for me).

Additional usefull Palm OS applications

FileZ

IBM's Java ME for Palm

ICQ

TuSSH

Misc tips

Hard reset Palm TX

The text is taken from this link:

Press and hold the Power button up top, then tap and release the tiny "Reset" button in the back of the unit. Two screens will show up: the first one will have an orange Palm logo on it and will disappear after a short time. The second will have a large grey-colored Palm logo. When you see the second screen, release the power button.

If you did it correctly, you'll have a warning screen asking you in five languages, "Erase all data, Y/N?" Press the up direction on the 5-way navigator pad in front and it will do its thing, erasing and reinstalling the original programs.

Links

Synchronize your PalmOS® Handheld over Bluetooth in Linux