Участник:Petr-akhlamov/Мои приключения с Palm

Материал из ALT Linux Wiki
Palm.png

Купил я себе на Авито PDA Palm. У вас сразу вопрос: "зачем"? Мне очень понравилась их концепция:

  • у меня записи - заметки, планы, календари, список дел - на компе, в облаке, на бумаге, на телефоне.
  • единого места нет
  • на бумаге вести не удобно - старые записи не выкинешь (не вырвешь страницу) но при этом они не нужны и мешают
  • смартфон использовать для этого не очень удобно - переключая режимы звуков (я видимо такой ленивый) постоянно пропускаются сигналы календарей и пр. + из-за "энергосбережения" некоторые напоминания "съезжают" по времени
  • в PDA все - заметки, список дел, календарь, адресная книга - все в одном месте всегда с собой
  • работает на AAA аккамуляторах - легко заменить или зарядить - стандарт

Единственное нужно привыкнуть к:

  • стилусу
  • ручной настройке контраста экрана
  • вводу текста

Но, встает вопрос, как синхронизировать сей девайс с Альтом. Все-таки аппарат б/у шный, записи важные, нужно делать бэкап.

На данной странице буду описывать-разрабатывать описание как его синхронизировать под ALT.

Софт

Pilot-link

Pilot-link - консольная утилита для работы с Palm-устройствами, в основном используется для синхронизации.

J-Pipot

J-Pipot - оболочка для просмотра баз и pilot-link. С Pilot-link она не собирается, будем использовать ее для просмотра баз.

Jpilot.png

MyPalm

MyPalm - современная утилита для синхронизации Palm.

Mypalm.png

Установка

Все эти утилиты можно установить одной командой.

1. С https://altlinux.space/petr-akhlamov/-/packages/alt/petr-repo качаем и устанавливаем пакет с репозиторием Петра А.

2. Устанавливаем пакет

# apt-get update
# apt-get install petr-task-palm

Оборудование

  • Для подключения используется специальная док-станция с кабелем с COM-разъемом от 3com.
  • USB2.0 to RS232 Convertor - не с длинным шнуром, а коротенький
USD2RS232.png

Ниже буду описывать попытки подключения.

Шаг 1

Дано:

  • Linux 6.12.65
  • USB-COM переходник ([0x0403] Future Technology Devices International, Ltd [0x6001] FT232 Serial (UART) IC)
  • Palm III xe
  • док-станиця
  • J-pilot

Готовим оборудование

1. Подключаем USB-COM переходник

2. Подключаем в него док-станцию

3. Этиловым спиртом (если вы давно не пользовались/купили с рук на Авито) я использовал 80% - внимание! опасно для жизни!, ватной палочкой прочищаем контакты док-станции и Palm-а

Примечание:

Если ttyUSB0 появляется и тут же пропадает

Это классический симптом:

❌ плохого контакта в cradle

или

❌ грязных / окисленных контактов Palm

Palm III — чемпион по этой проблеме.

Что реально помогает (практика):

  • Почистить контакты Palm

Рекомендуется:

  • ватная палочка
  • изопропиловый спирт (или хотя бы спирт)
  • аккуратно протереть контактную гребёнку снизу Palm
  • дать высохнуть
⚠️ Не WD-40, не масло.

Даем (грубо) права на доступ к порту

# chmod 666 /dev/ttyUSB0

или добавить себя в группу dialout/uucp (в зависимости от дистрибутива).

Ставим ПО

pilot-link
jpilot
mypalm

Настройка J-Pilot

1. Запускаем программу (раздел Офис)

2. Заходим Preferences → Settings / Port

В поле Port указываем:

/dev/ttyUSB0

Настройка Palm

Идем в: Prefs ⇾ Connections ⇾ Cradle/Cable ⇾ Edit ⇾ Connect to PC, Via Craddle/Cable ⇾ Details ⇨ ставим Speed в bps

Конфликт с brlytty

COM-порт конфликтует с консолью драйвера дисплея Брайля.

Либо удаляем
# apt remove brltty
Создаем файл udev/rules
# mcedit /etc/udev/rules.d/99-disable-brltty.rules

Содержимое:

ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ENV{BRLTTY_BRAILLE_DRIVER}="none"

Применяем:

# udevadm control --reload
# udevadm trigger

Настраиваем параметры COM-порта

# stty -F /dev/ttyUSB0 9600 cs8 -cstopb -parenb crtscts -ixon -ixoff

Присваиваем имя

$ pilot-install-user -p /dev/ttyUSB0 "PalmIII"

Если не присвоилось, делаем принудительно:

$ pilot-install-user -p /dev/ttyUSB0 -n petr

Проверяем, выводим список БД:

  • выполняем команду:
$ pilot-xfer -p /dev/ttyUSB0 -l
  • жмем кнопку на док станции, получаем:
$ pilot-xfer -p /dev/ttyUSB0 -l

  Listening for incoming connection on /dev/ttyUSB0... connected!

  Reading list of databases in RAM...
  AddressDB
  DatebookDB
  ExpenseDB
  MailDB
  MemoDB
  ConnectionMgrDB
  NetworkDB
  npadDB
  ToDoDB
  Graffiti
  AddressCitiesDB
  CitiesDB
  AddressCompaniesDB
  AddressCountriesDB
  psysLaunchDB
  Graffiti ShortCuts
  Unsaved Preferences
  Net Prefs
  System MIDI Sounds
  Saved Preferences
  AddressStatesDB
  AddressTitlesDB
  VendorsDB

  List complete. 23 files found.


  Thank you for using pilot-link.

Синхронизация

Чтобы синхронизация сработала корректно, важно нажать кнопку HotSync на док-станции (или Palm) перед тем, как запустить синхронизацию в J-Pilot.

То есть:

  • Вставь Palm в крэдл
  • Нажми HotSync на Palm / док-станции
  • Ждёшь пару секунд
  • Нажимаешь Sync или «Синхронизация» в J-Pilot

Часто бывает так, что устройство «захватывает» USB-порт только после нажатия HotSync, и Linux уже видит правильный ttyUSB-порт.

Доступные функции

С помощью J-Pilot ты сможешь синхронизировать:

  • Адресную книгу
  • Заметки
  • Дни рождения/задачи/календарь (возможны ограничения в зависимости от версии Palm OS)
  • Резервные копии баз данных

J-Pilot предоставляет полноценную работу с базами Palm и хранит их в ~/.jpilot/.

Утилиты

Тестирование подключения

$ pilot-xfer -p /dev/ttyUSB0 -l

Если видишь:

  • Timeout
  • No response
  • Protocol error

→ это железо / драйвер, не J-Pilot.

Отключение USB-энергосбережение (autosuspend) (критично!)

FTDI стабилен, но autosuspend всё равно может рвать сессию.

Временно:

# echo -1 | tee /sys/module/usbcore/parameters/autosuspend

Или навсегда через udev

Проверка, что это именно FTDI-драйвер

# dmesg | grep -i ftdi

Должно быть что-то вроде:

ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
ttyUSB0

Если видишь ftdi_sio — отлично.

Жёстко инициализируем COM-порт

Перед каждой попыткой синхронизации:

# stty -F /dev/ttyUSB0 9600 cs8 -cstopb -parenb crtscts -ixon -ixoff
Примечание: даже если pilot-link умеет auto — ему не доверяем.


Если 9600 вдруг не пойдёт, пробуем:

# stty -F /dev/ttyUSB0 57600 crtscts

Проверка напрямую через pilot-link (без J-Pilot)

Это критично — если тут не работает, GUI не виноват.

$ pilot-xfer -p /dev/ttyUSB0 -l

Ожидаемый результат:

  • Palm: экран HotSync
  • В терминале: список баз данных

Правильный порядок действий (важно!)

  • Вставь Palm в cradle
  • Нажми HotSync на Palm
  • Подожди 1–2 секунды
  • Выполни pilot-xfer или Sync в J-Pilot

⚠️ Если нажать HotSync после — FTDI может уже «не поймать» начало пакета.

Настройка J-Pilot (когда pilot-xfer работает)

  • Preferences → Settings
  • Port: /dev/ttyUSB0
  • Speed: 9600
  • Flow control: ✅ RTS/CTS
    • ❌ НЕ usb:

После этого J-Pilot обычно синхронизируется стабильно.

Полезные FTDI-хаки (если всё ещё капризничает)

🔧 Сброс буферов перед синком

Иногда помогает:

# stty -F /dev/ttyUSB0 hupcl

🔧 Проверка линии управления

Palm реально использует DTR/RTS:

# stty -F /dev/ttyUSB0 -clocal

Работа с pilot-link

Список баз

$ pilot-xfer -p /dev/ttyUSB0 -l

Синхронизация (бэкап)

$ pilot-xfer -p /dev/ttyUSB0 -b backup/

Восстановление

$ pilot-xfer -p /dev/ttyUSB0 -r backup/
Примечание: Данные будут перезаписаны!


Установка программ

  • Подключить Palm к cradle
  • Выполнить на ПК:
pilot-install-user -p /dev/ttyUSB0 oktopus_en.prc

Альтернатива:

pilot-xfer -p /dev/ttyUSB0 -i oktopus_en.prc
  • Когда программа попросит — нажать кнопку HotSync на Palm.

Пример нормального вывода:

Listening for incoming connection on /dev/ttyUSB0... connected!
Palm user: petr
UserID: 12345
Installing oktopus_en.prc

Чтобы программа появилась в списке, после установки нужно выполнить soft-reset:

  • Найти маленькое отверстие на корпусе (обычно сзади).
  • Разогнуть скрепку
  • Коротко нажать кнопку внутри отверстия.

Palm перезагрузится, данные и программы не пропадут.

Важные моменты по использованию!

  • Память Palm энергозависимая. Не вытаскивайте аккумуляторы и не разряжайте их в ноль, если у вас нет бэкапа и вы не хотите потерять информацию!
  • Делайте бэкапы на комп хотя бы два раза в неделю