Нужны такие очевидные вещи, как компьютер с портами USB, hand visor (с разъемом USB), Linux и т.д. Так же вам необходимо знать, как пересобрать ядро. Если вы не знаете, как это сделать, то возможно kernel-HOWTO будет вам полезно: http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html.
Прежде всего вам необходимо получить ядро, которое поддерживает USB. Вы можете либо получить последнее разработанное ядро версии 2.4.0-test5 () (7 августа 2000) по адресу: ftp://ftp.kernel.org/pub/linux/kernel/v2.4/, либо можете взять последнюю устойчивую версию ядра версии 2.2.16 по адресу: ftp://ftp.kernel.org/pub/linux/kernel/v2.2/ и драйвера для USB. Последние драйвера для USB можно взять с: http://www.suse.cz/development/usb-backport/ Текущая версия (август 2000): usb-2.4.0-test2-pre2-for-2.2.16-v3. Могут быть доступны патчи на: http://sourceforge.net/patch/?group_id=1404. Загрузите и установите исходный код, включая драйвер для usb, если вы используете версию 2.2. Ниже показан пример установки версии 2.2 и драйвера USB.
cd /usr/src tar xzvf linux-2.2.14.tar.gz cd linux gzip -dc ../usb-2.3.50-1-for-2.2.14.diff.gz | patch -p1 make distclean
Затем ответственный шаг - определить, какой контроллер USB вы имеете. USB контроллер - аппаратное обеспечение на вашем компьютере, который управляет вводом/выводом USB. На материнской плате с чипсетом Intel, напр. с чипсетом BX - обычный UHCI контроллер. Большинство карт имеют OHCI контроллер. Вы можете определить тип аппаратного обеспечения USB, используя команду 'lspci -v' (смотрите Ссылки если у вас нет lspci). Если вы увидите приблизительно следующее:
USB Controller: ...... Flags: ..... I/O ports at ....
Тогда у вас UHCI контроллер. Если вы увидите приблизительно следующее:
USB Controller: ..... Flags: .... Memory at .....
Тогда у вас OHCI контроллер. (Документация по определению типа контроллера была взята из документаци ядра, Documentation/usb/scanner.txt). Вы можете обратится к http://www.linux-usb.org для дополнительных подробностей. Документация (Documentation/usb/usb.txt) может также быть полезна в определении вашего типа контроллера.
Если у вас нет USB контроллера, вам необходимо либо купить USB-крэдл для последовательного порта для Visor (что вы делаете читая это?), либо купить устройство с USB (например плату расширения или материнскую плату).
Теперь вам нужно сконфигурировать и собрать ядро. Во время конфигурации убедитесь, что вы разрешаете:
USB support (CONFIG_USB),
соответствующий контроллер - UHCI, альтернатива UHCI или OHCI (CONFIG_USB_UHCI, CONFIG_USB_UHCI_ALT или CONFIG_USB_OHCI)
Поддержка последовательного USB конвертера (CONFIG_USB_SERIAL)
Драйвер USB Handspring Visor (CONFIG_USB_SERIAL_VISOR)
(Я не уверен, что существует разница между драйверами UHCI и тем который рекомендуется для использования). Я собрал их с ядром и как модули ядра. Оба работали. Разработчик предпочитает модульный метод, но вы, как хотите.
После того, как вы это сделаете, закончите установку ядра и перезагрузите компьютер.
Еще не все! Чтобы заставить работать драйвер Visor, нам нужно сделать драйвер USB для последовательного порта. Для этого просмотрите документацию к ядру Linux: Documentation/usb/usb-serial.txt. Там в основном описывается, как создать файлы устройств. Вы можете это сделать командами (под root):
mknod /dev/ttyUSB0 c 188 0 mknod /dev/ttyUSB1 c 188 1 и т.п. ... chmod 666 /dev/ttyUSB*
Вам понадобится создать шестнадцать соединений/портов/устройств, с номерами от 0 до 15. Команда chmod разрешает пользователям доступ к устройству Visor. Это личное мнение автора документа, т.к. это персональный компьютер.
Когда Visor соединен, открыты 2 порта. (Для большинства это будут устройства /dev/ttyUSB0 и /dev/ttyUSB1, или подобные). Первый порт (0) - универсальное подключение. Второй порт - для горячей синхронизации (hotsync). Эта особенность будет разработана в будущем, например, чтобы экспортировать файловую систему с Visor. Будет полезным - создать ссылку на hotsync порт и программное обеспечение для синхронизации будет использовать соответствующее устройство по умолчанию. Вы можете сделать это:
cd /dev ln -s /dev/ttyUSB1 pilot
Только ради забавы, вы можете создать ссылку /dev/visor на /dev/ttyUSB1. Фактический номер устройства можно изменить, в зависимости от того, сколько много (активных?) USB устройств вы имеете в системе. В сообщении отображается устройство, которое фактически используется, когда нажата кнопка горячей синхронизации.
Для тех, кто компилирует USB драйвер, как модули, необходимо также вставить модули в ядро. Запустите (под root):
/sbin/modprobe usb-uhci /sbin/modprobe usb-ohci /sbin/modprobe usb-serial
ColdSync - пакет, который содержит программы, для взаимодействия с вашим Visor (или с вашим Palm(tm), если вы имеете один из них). Другой относительно популярный пакет - pilot-link. Однако, он, кажется, имеет некоторые ошибки при работе, особенно с драйверами USB. Т.о. рекомендуется использовать ColdSync. Система основанная на UHCI, работает прекрасно с coldsync, а с OHCI имеются некоторые проблемы (В обоих случаях использование pilot-link - хуже). За подробностями обратитесь к странице: http://www.geocrawler.com/lists/3/SourceForge/1169/.
На 7 августа 2000 г., последняя устойчивая версия - ColdSync 1.2.5. Последняя версия pilot-link (которая мне известна) - 0.9.3. Одно преимущество pilot-link - имеется графический интерфейс, у coldsync не имеет графический интерфейс.
Программы можно найти здесь:
ftp://ryeham.ee.ryerson.ca/pub/PalmOS/pilot-link.0.9.3.tar.gz или возможно тут: http://pilot-link.sourceforge.net/
Загрузите и установите программу, которую вы желаете использовать. (coldsync имеет файл INSTALL, который вы должны прочитать.)
cd /usr/src gzip -dc coldsync-1.2.5.tar.gz | tar xvf - cd coldsync-1.2.5 ./configure make make install
Если вы ленивы, можете сделать установку с помощью redhat и debian пакетов. Я не поддерживаю это.
Мы почти все сделали. Сейчас нам нужно все проверить. Естественно, что visor нужно вставить в крэдл, а крэдр подключить к вашему USB порту.
Чтобы протестировать, мы должны использовать coldsync. Для того, чтобы дать понять компьютеру, что visor подсоединен, вы должны нажать кнопку hotsync на крэдле. (Когда USB устройство соединяется, на экране появляется информация, в случае, если включена отладка). В конечном счете, драйвер будет находится в /proc/drivers/visor. Теперь вы можете запустить coldsync:
coldsync -p /dev/visor
(Помните, /dev/visor - символьная ссылка на /dev/ttyUSB1). С этого момента используйте другую документацию, в частности, страницы руководства.