2014-12-17 2 views
2

в настоящее время получить доступ к параллельному порту так:Доступ параллельный порт, используя Linux

ioperm(data->baseaddr,5,1); 
outb(0x00,data->controlport); 
inb(data->statusport); 

Большой недостаток: он требует корневые-привилегий и работает с реальным параллельного порта аппаратного обеспечения только (значит USB-2-LPT преобразователи не поддерживается).

Итак: есть ли другой способ чтения/записи данных из/в параллельный порт?

Спасибо!

+0

В целом, что вы пытаетесь сделать? Я могу догадаться, но было бы хорошо, если бы вы объяснили, что это такое, поскольку здесь может быть несколько возможных решений. –

+0

@Mats Petersson: отправить данные управления подключенному устройству. Это устройство (действительно очень экзотическое) XY-таблица, ожидающее команды движения ASCII на параллельном порту. – Elmi

+0

Большинство адаптеров USB для параллельных адаптеров специально разработаны для использования с принтерами. Они несовместимы со всеми параллельными устройствами. – duskwuff

ответ

1

Как вы упомянули, пользователь должен иметь права доступа к параллельному порту для успешного запуска исполняемого файла. Как правило, только пользователи root имеют права доступа к портам, поэтому программа должна запускаться с привилегиями root. Тем не менее, должно быть возможно разрешить пользователям без полномочий root запускать исполняемый файл, выполнив следующие действия:

1) Сделать root владельцем исполняемого файла. Один из способов сделать это - скомпилировать программу как root.

2) Предоставьте пользователям права на выполнение программы, но при этом программа запускается с правами root при запуске пользователями без полномочий root. Вы можете установить программу для запуска с правами владельца (т. Е. Права root), используя следующую команду (с правами root): chmod +s /name/of/executable

+1

Решение, упомянутое выше, требует привилегий root, поскольку оно выполняет прямой доступ к аппаратным средствам. Взлом с разрешениями исполняемого файла не будет подходящим решением, так как он откроет те же дыры в безопасности. Поэтому решение, упомянутое выше в комментариях с доступом к устройству в «/ dev /», является тем, что я ищу. – Elmi

Смежные вопросы