Вот некоторая информация по программированию основных портов, которые можно использовать для ввода/вывода на устройствах общего назначения (TTL или CMOS).
Если вы хотите использовать эти или другие порты по их непосредственному назначению (напр. для управления принтером или модемом), лучше всего использовать существующие драйвера (которые обычно включены в ядро) вместо того, чтобы работать с портами так, как это описано в этом HOWTO. Этот раздел предназначен для людей, желающих подключить ЖК-индикатор, шаговый двигатель или другую электронику к стандартным портам компьютера.
Если вы хотите работать с таким распространенным устройством, как сканер, сначала поищите для него драйвер под Linux. Начать лучше всего с Hardware-HOWTO.
http://www.hut.fi/Misc/Electronics/