Итак, как же быть линуксоиду, решившему заюзать прибор с Window$ CE?
Ответ прост: Заюзать synce!
С версиями Windows Mobile до 2003 включительно все было просто:
Устанавливаем
synce-kde
synce-dccm
synce-serial
и все остальное, что оно потяенет за собой apt по зависимостям.
Если по какой-то причине у вас в сизифе не окажется synce-kde — дайте знать, эту оплошность нужно исправлять!
Ну а дальше все просто.
Подключаем устройство к ПК. Система должна рапортануть что найдено новое устройство, для которого загружен модуль ipaq. Советую вам использовать ядро версии не ниже 2.6.10, потому как именно там появилась поддержка всех устройств, описанных в M$ Activesync 3.8. До этого (ядра предыдущих версий) приходилось править модуль ipaq и пересобирать ядро, изменяя значения vendorid и productid в заголовочных файлах (ipaq.h).
итак, сообщения в логах будут выглять примерно вот так:
как видим, загрузился модуль usbserial и ipaq.
ну а дальше:
# synce-serial-config /dev/ttyUSB0 (нужно сделать 1 раз)
# synce-serial-start (делается при каждом старте соединения)
$ dccm или dccm -p pass (pass — код доступа к устройству)
вместо dccm можно запустить raki из комплекта synce-kde.
synce-serial-start всего навсего запускает pppd call synce, т.е. устанавливает ppp-соединение. Сценарий настройки можно посмотреть в /etc/ppp/peers/synce-device. Ну а что делать с ppp-соединением, я думаю объяснять не надо. Хочешь в интернет его пускай (NAT, proxy_arp), хочешь фаерволом фильтруй, хочешь еще что...
С выходом версии WM5 и последующих процесс соединения с КПК сильно изменился.
На смену dccm пришел odccm (с версии 0.11 odccm умеест работать с pre-WM5 устройствами не требующими пароля).
В простейшем случае необходимо запустить odccm с правами root, и подключить кпк к USB-порту.
Если запустить odccm в режиме вывода отладочных сообщений (с ключом -f, который не дает уйти в режим демона), при подключении устройства он должен выдавать примерно следующее:
Проверить состояние подключения можно через pstatus из консоли.
Для синхронизации КПК с ПК необходим пакет synce-sync-engine, из комплекта которого надо выполнить команду:
Ну и напоследок, несколько команд, для работы с КПК из командной строки:
pcp | скопировать файл на КПК |
pstatus | посмотреть информацию о состоянии |
pmkdir | создать каталог на КПК |
prmdir | удалить каталог на КПК |
synce-install-cab | установить cab-файл |
synce-list-programs | список установленных программ |
synce-remove-program | удалить программу с КПК |
Возможно, при подключении КПК ядро не выдает сообщение о обнаружении PocketPC PDA и загрузке модуля ipaq, а пишет только такое:
Скорее всего, это означает, что USB-порт КПК работает в режиме с поддержкой RNDIS (Remote Network Driver Interface Specification). Этот режим поддерживается модулем rndis_host ядра (который вроде бы входит в ядра версий 2.6.21 и выше). Если версия ядра меньше, необходима сборка драйвера usb-rndis-lite.
Многие современные КПК позволяют переключать режим работы USB-порта. Например, для ASUS P535 (возможно, это является общим для устройств с WM6) таких режима может быть три:
* synce-sync-engine (выложен в Daedalus)
* usb-rndis-lite
* synce-kpm (пришел на смену synce-kde)
* synce-gnome
* synce-gnome-vfs
* synce-trayicon (не знаю что это и зачем надо)