4

Over the past week, I have searched endlessly for documentation on the PalmOS HotSync protocol. I have tried many different search terms. I asked ChatGPT and it gave me some stuff on the packet structure

---------------------------------------------------------------------------------------------
|  SYNC HEADER  |  PACKET LENGTH  |  MESSAGE TYPE  |  TARGET ID  |  SOURCE ID  |  DATA  |
---------------------------------------------------------------------------------------------

For clarity:
I have a Palm Tungsten E running PalmOS 5.2.1 with HotSync 5.0P
My goal is to write a website that utilizes WebUSB to sync information from the device,

I am able to communicate with the device:
Once I connect and run device.transferIn(2,64) I get the following bytes back

1,255,0,0,0,22

Repeating this I get

144,1,0,0,0,0,0,0,0,32,0,0,0,8,0,0,1,0,0,0,0,0

I am not sure what this means,

I can send data to the device after that but it doesn't respond, after about 30 seconds the operation is canceled by the device, USB is disconnected and program errors out.
I have tried looking through PRC files to no avail, I have tried looking through some of the files in pilot-link library on GitHub which gave me some info, but I cannot understand what it means. I have tried looking for IntelliSync documentation. The search for documentation is driving me insane.

Does anyone have any documentation on HotSync?

1

1 Answer 1

6

The pilot-link library you mentioned should contain all the information you need.

For example, the pi-dlp.h describes the Direct Protocol Interface for the HotSync protocol

Direct protocol interface to the device using the HotSync protocol.

The DLP layer is the lowest interface layer applications can use to access a handheld. It provides equivalents to Palm Conduit Development Kit (CDK)'s SyncXXX functions, as well as a number of convenience functions that are not found in the CDK.

The "internal structures" further down describe what goes over the wire. It looks pretty complicated, so I guess you just will have to work your way through it.

My goal is to write a website that utilizes WebUSB to sync information from the device,

So convert the pilot-link library code to whatever language you are using. Somebody has already done all the work for you, you just need to pick it up and use it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .