LPT через Web страницу(Debian) (Управлять железом сервера через веб страницу.)

Модератор: Модераторы разделов

Goshadram
Сообщения: 9
ОС: Windows nCore

LPT через Web страницу(Debian)

Сообщение Goshadram »

С llnux работаю в первее.
Debian linux and apache2 php5 установлен.
Страница index.php доступна. Веб сервер работает.

Пробовал в php :fopen("/dev/lp0","a"); но сюда нет доступа!

Пробовал и так : exec ("/usr/sbin/lptout 0xFF"); Просто не работает, не знаю почему? lptout доступен всем!

lptout - программа на С меняет состояние регистров по адресу 0x378 на int argc в главной функции.
lptout в консоле работает как надо.

Вопрос: как менять состояние LPT порта через веб страницу?
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: LPT через Web страницу(Debian)

Сообщение sciko »

Так! Описываем, что нужно получить в результате. Сейчас явно попытка сделать всё через жопу.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: LPT через Web страницу(Debian)

Сообщение watashiwa_daredeska »

Goshadram писал(а):
04.02.2010 16:08
lptout - программа на С меняет состояние регистров по адресу 0x378 на int argc в главной функции.
Вы в каком году до нашей эры заснули?

Goshadram писал(а):
04.02.2010 16:08
lptout в консоле работает как надо.
Из под root? Возможно. apache2 работает не с правами root.
Спасибо сказали:
Goshadram
Сообщения: 9
ОС: Windows nCore

Re: LPT через Web страницу(Debian)

Сообщение Goshadram »

Я же писал: "С llnux работаю в первее"

Да Вы правы!

Вобщем нужно управлять не одним устройством и показывать тмпературу на датчиках через веб страницу, ну вот и все.
Спасибо сказали:
Goshadram
Сообщения: 9
ОС: Windows nCore

Re: LPT через Web страницу(Debian)

Сообщение Goshadram »

Зашел под другим пользователем.
lptout не работает
ioperm(,,) не может получить доступ к адресу 0x378

Как назначить права пользователю на использывание портов?
Под каким пользывателем apache2 работает?
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: LPT через Web страницу(Debian)

Сообщение BlackStar »

Я бы написал отдельно демона работающего из под root, который читает/пишет в порт и получает команды из вне через любой IPC (очереди сообщений, фифо, сокеты, файл) и пэхопэ скрипт который эти команды отправляет.
LightLang Team
Спасибо сказали:
Doublespace
Сообщения: 275
ОС: Debian Lenny,Squeeze,Centos

Re: LPT через Web страницу(Debian)

Сообщение Doublespace »

apache работает,естественно,не под рутом, у меня, скажем- user www-data group www-data. ioperm требует для выполнения прав рута. Попробуйте запихать ее в sudo.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: LPT через Web страницу(Debian)

Сообщение watashiwa_daredeska »

Goshadram писал(а):
04.02.2010 16:25
"С llnux работаю в первее"
Так даже под Windows и MacOS никто уже не делает. Так делали только до нашей эры в разных DOS'ах.

Goshadram писал(а):
04.02.2010 16:25
Вобщем нужно управлять не одним устройством и показывать тмпературу на датчиках через веб страницу, ну вот и все.
man 4 lp

Goshadram писал(а):
04.02.2010 16:52
Как назначить права пользователю
man chmod, man chown, man udev
Спасибо сказали:
Goshadram
Сообщения: 9
ОС: Windows nCore

Re: LPT через Web страницу(Debian)

Сообщение Goshadram »

watashiwa_daredeska писал(а):
04.02.2010 17:55
Goshadram писал(а):
04.02.2010 16:25
"С llnux работаю в первее"
Так даже под Windows и MacOS никто уже не делает. Так делали только до нашей эры в разных DOS'ах.

Goshadram писал(а):
04.02.2010 16:25
Вобщем нужно управлять не одним устройством и показывать тмпературу на датчиках через веб страницу, ну вот и все.
man 4 lp

Goshadram писал(а):
04.02.2010 16:52
Как назначить права пользователю
man chmod, man chown, man udev


так Windows выше 98 непозволет работать с железом напрямую, только через драйвер!

но linux позволяет. Так почему этим не пользоваться.

начинаю потехоньку понемать религию linux, или это мне кажеться, любое устройство это фаил!? даже винт, сетка, USB! интересно видео контролер тоже?

ща буду что-то пробывать делать.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: LPT через Web страницу(Debian)

Сообщение watashiwa_daredeska »

Goshadram писал(а):
04.02.2010 18:15
так Windows выше 98 непозволет работать с железом напрямую, только через драйвер!

но linux позволяет. Так почему этим не пользоваться.
В Windows NT можно работать с портами напрямую точно также, как и в Linux: запуская ПО с повышенными привилегиями. Только ни один вменяемый разработчик этого делать не будет ни там, ни там. Разве что для совсем уж наколеночных поделок для на полчаса.

Goshadram писал(а):
04.02.2010 18:15
начинаю потехоньку понемать религию linux
Никакой «религии Linux» нет. Понимание этого приходит при получении образования, так же как и грамотность.
Спасибо сказали:
Goshadram
Сообщения: 9
ОС: Windows nCore

Re: LPT через Web страницу(Debian)

Сообщение Goshadram »

Писать и читать файлы это не на прямую!
это сейчас LPT, а потом устройство на PCI, а может это все будет делать ARM. Учить все ровно надо, и желательно все пути.

Рели́гия — особая форма осознания мира(в донном случае linux), обусловленная верой в сверхъестественное, включающая в себя свод моральных норм и типов поведения, обрядов, культовых действий и объединение людей в организации (форумы,общи́ны ).

Я думаю тут можно все описать.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: LPT через Web страницу(Debian)

Сообщение watashiwa_daredeska »

Goshadram писал(а):
04.02.2010 18:54
Писать и читать файлы это не на прямую!
Через
Goshadram писал(а):
04.02.2010 16:08
lptout - программа на С меняет состояние регистров по адресу 0x378 на int argc в главной функции.
напрямую.

Goshadram писал(а):
04.02.2010 18:54
Рели́гия — особая форма осознания мира(в донном случае linux), обусловленная верой в сверхъестественное, включающая в себя свод моральных норм и типов поведения, обрядов, культовых действий и объединение людей в организации (форумы,общи́ны ).
Linux — не форма осознания мира и не сам мир. Разве что для совсем уж узколобых придурков, особенно тех, кто верит в сверхъестественное. Моральных норм Linux не определяет. Обрядов и культовых действий, связанных с Linux, нет. А объединяются люди и в клубы, и в партии, и во много чего ещё.

Тему религии тут прекращаю, ибо оффтоп. Если есть желание, можете в Разговоры обо всём тему создать.
Спасибо сказали:
Goshadram
Сообщения: 9
ОС: Windows nCore

Re: LPT через Web страницу(Debian)

Сообщение Goshadram »

писать и читать файлы это не на прямую(ну какой-то драйвер этим занимается)

а это напрямую:
MOV DX,0378H
MOV AL,n
OUT DX,AL
n -наши данные
ну LPT один, а физически минимум 3 регистра для работы
lptout тоже на прямую, по скольку функция берет адрес системы.

В Windows NT ядро берет под себя железо всей системы, на любых правах, и приходится работать с драйыером.
Спасибо сказали:
Аватара пользователя
Crazy
Сообщения: 862
Статус: Адепт Дзен.
ОС: Mint, Win7.

Re: LPT через Web страницу(Debian)

Сообщение Crazy »

Напоминаю что любые команды ввода/вывода, когда процессор находится в режиме пользователя, запрещены.

Desipere in loco
Спасибо сказали:
Goshadram
Сообщения: 9
ОС: Windows nCore

Re: LPT через Web страницу(Debian)

Сообщение Goshadram »

Буду всё описывать, все свои ошибки и не ошибки. администрация не против?

Теперь работает lptout и под обычным пользователем.
chmod +s /usr/sbin/lptout
Спасибо сказали:
Goshadram
Сообщения: 9
ОС: Windows nCore

Re: LPT через Web страницу(Debian)

Сообщение Goshadram »

теперь могу дергать ногами lpt порта через веб.

Но это действительно всё через *опу.

А как правельно?
Нужно и читать с порта и выводить на страницу.

Думаю черевато разрешать пользоваться этим фойлом всем!!!
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: LPT через Web страницу(Debian)

Сообщение watashiwa_daredeska »

Goshadram писал(а):
04.02.2010 21:02
А как правельно?
Правильно «правильно».
Как правильно работать с LPT написано выше: man 4 lp.

Goshadram писал(а):
04.02.2010 19:29
В Windows NT ядро берет под себя железо всей системы, на любых правах
Не на любых. По крайней мере, в NT 4 можно было использовать in/out. Подробностей уж не помню, чай больше 10 лет прошло.
Спасибо сказали:
Goshadram
Сообщения: 9
ОС: Windows nCore

Re: LPT через Web страницу(Debian)

Сообщение Goshadram »

правельно«правильно»
у нас в школе нет учителя русского языка!!!
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: LPT через Web страницу(Debian)

Сообщение NickLion »

Goshadram писал(а):
04.02.2010 21:09
правельно«правильно»
у нас в школе нет учителя русского языка!!!

А книжки почитать, посмотреть как умные люди пишут - не судьба? В конце-то концов, на украинском тоже не "правело", а "правило". Да и спеллчека два поставить на укр и рус - не проблема (у мну ещё и на англ). Короче - не отмазывайтесь :)
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: LPT через Web страницу(Debian)

Сообщение eddy »

Goshadram писал(а):
04.02.2010 21:02
Теперь могу дергать ногами lpt порта через веб.

Но это действительно всё через *опу.

А как правильно?
Нужно и читать с порта и выводить на страницу.

Думаю, чревато разрешать пользоваться этим файлом всем!!!

Вам уже говорили: пишите простенький демон, который будет иметь suid-права, и запускаться либо вручную, либо при первом обращении браузера. CGI, который выводит информацию вам на веб-страницу может общаться с демоном при помощи, например, именованного канала. С другой стороны, если вам надо только изредка "дергать" параллельный порт, то не так уж и страшно оставить все, как есть.
У меня самого CGI для работы с железом через RS-232 имеет suid-бит, запускается при первом обращении в режиме демона и контролирует себе все железяки, общение с ним идет при помощи разделяемой памяти (т.е. веб-страница раз в n секунд отправляет XML-запрос, CGI их выдает, JavaScript отображает).
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Northsoft
Сообщения: 14
ОС: Linux Mandriva 2010 Free

Re: LPT через Web страницу(Debian)

Сообщение Northsoft »

Имхо если сильно надо - написать CGI-программу на Си, написать в ней то, что надо, и сделать:
gcc -o lpt.cgi lpt.c
mv lpt.cgi ~/public_html/cgi-bin/ <-- здесь должна быть папка, в которой находятся CGI-файлы (cat `locate httpd.conf` | grep ScriptAlias)
chown root ~/public_html/cgi-bin/lpt.cgi
chmod u+s ~/public_html/cgi-bin/lpt.cgi
Спасибо сказали: