(I’m pretty sure that these directions will also work for older versions of ubuntu.)

You need to install a program on your Treo 650 that will let it become a USB modem like:
Treo USBModem or PdaNet
If anyone knows of any free / open source software for the palm that will do the same thing let me know!

/etc/chatscripts/USBModem:

TIMEOUT 5
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO ANSWER\r'
ABORT '\nNO CARRIER\r'
ABORT '\nNO DIALTONE\r'
ABORT '\nRINGING\r\n\rRINGING\r'
'' \rATZ
TIMEOUT 12
OK ATD#777
TIMEOUT 22
CONNECT ""

/etc/ppp/peers/USBDialup:

noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/USBDialup"
defaultroute
usepeerdns
/dev/ttyACM0 115200
local
novj

You may notice that when you turn on the usbmodem software on the Treo and plug it in you may see something like this in dmesg:

[110049.340000] usb 3-1: new full speed USB device using uhci_hcd and address 5
[110049.508000] usb 3-1: configuration #1 chosen from 1 choice
[110049.512000] cdc_acm 3-1:1.0: ttyACM0: USB ACM device

That’s where you find out what tty port the USB modem will be communicating on: /dev/ttyACM0. And that’s the port used in /etc/ppp/peers/USBDialup.

The rest is easy…

pon USBDialup

And you’re gold! You can then tail -f /var/log/messages to ensure it’s connecting alright.