- Linux.yaroslavl.ru
- Работа с портом LPT в линуксе
- работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: Re: работа с lpt на с, perl, pythoon под linux
- работа с кофе под linux
- Re: Re: Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с кофе под linux
- Re: Re: работа с lpt на с, perl, pythoon под linux
- Re: Re: работа с lpt на с, perl, pythoon под linux
- Re: Re: работа с кофе под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- To anonymous (*) (2002-06-04 00:04:23.226)
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- про АТС
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: Re: Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
- Re: работа с lpt на с, perl, pythoon под linux
Linux.yaroslavl.ru
Существует два полностью отличающихся драйвера устройства для параллельного порта; что вы используете, зависит от версии ядра (которую вы можете узнать с помощью команды uname -a ). Драйвер изменен в Linux версии 2.1.33.
Несколько деталей одинаковы для обоих типов драйвера. Скорее всего, много людей обнаружат, что Linux не обнаруживает параллельного порта, до тех пор пока они не запретят «Plug and Play» в их PC BIOS. (это не является сюрпризом; отслеживание данных о PnP не-PCI устройствах в Windows и где-нибудь еще могут быть чем-то вроде бедствия).
Некоторые пользователи сообщили, что их двунаправленные lp порты не определяются, если они использовали старые однонаправленные кабеля. Проверьте, что вы используете нужный кабель.
Некоторые люди не могут запустить драйвера plip и lp в одно и тоже время на любом заданном порту (в любом случае под 2.0). Однако вы можете загрузить тот или иной драйвер вручную или с помощью kerneld для версий 2.x (и позже 1.3.x) в заданное время. При правильной установке прерываний и подобных вещей, вы по идее можете запустить plip на одном порту, а lp на другом. Некоторые люди делали это редактированием исходного текста драйверов; я с нетерпением ожидаю сообщение о том, что кто-то сделал это только с помощью правильной командной строки.
Существует маленькая утилита, названная tunelp , предназначенная для того, чтобы вы, как администратор, могли настроить для устройств lp Linux 2.0 используемые прерывания, скорость опроса и прочие опции.
Если драйвер встроен в ядро, то ядро может воспринимать опцию lp= для установки прерываний и адресов ввода/вывода:
Когда драйвер загружен как модуль, то возможно указать адреса ввода/вывода и прерывания в командной строке программы insmod (или в файле /etc/conf.modules , при использовании kerneld) используя обычный синтаксис. Параметры следующие: io=port0,port1,port2 и irq=irq0,irq1,irq2 . Прочитайте справочную страницу для команды insmod для более детальной информации об этом.
**Для тех из вас, кто (подобно мне) никогда не может найти номера стандартных портов когда это нужно, я привел два примера выше. Номер другого порта (для lp0 ) равен 0x3bc. У меня нет никаких идей о том какое прерывание обычно используется.
Исходный код для драйвера параллельного порта Linux 2.0 находится в файле /usr/src/linux/drivers/char/lp.c.
Начиная с ядра 2.1.33 (и доступно как заплатка к ядру 2.0.30), устройство lp является просто клиентом нового устройства parport. Добавление устройства parport исправляет некоторое количество проблем, которые были из-за старого устройства lp — оно может разделять порты с другими устройствами, оно динамически присваивает доступные параллельные порты номерам устройств, вместо использования фиксированных соотношений между адресами ввода/вывода и номером порта, и так далее.
Введение устройства parport позволило создать целую группу новых драйверов параллельного порта для устройств подобных дискам Zip, Backpack CD-ROM и дискам, и так далее. Некоторые из них доступны в ядрах версии 2.0; посмотрите в интернете.
Главное отличие, которое вы отметите, в том, что ядра, основанные на parport динамически присваивают устройства lp для параллельных портов. Так что, то что было lp1 в Linux 2.0 может оказаться lp0 в Linux 2.2. Убедитесь, что вы проверили это если вы делаете обновление с ядра, работающего с драйвером lp на ядро с драйвером parport.
Кажется, что основные проблемы с этим устройством проистекают от неправильной его настройки:
Некоторые дистрибутивы Linux продаются с неправильно настроенными /etc/modules.conf (или /etc/conf.modules), так что драйвер не загружается когда вам это нужно. При использовании недавних версий modutils, правильные строки в modules.conf должны выглядеть так:
Много BIOS для персональных компьютеров представляют параллельный порт как устройство Plug-and-Play. Это только добавляет ненужную сложность к великолепному простому устройству, которое почти всегда присутствует; отключите PnP настройки для вашего параллельного порта (который называется «LPT1» во многих BIOSах) в том случае если ваш параллельный порт не определяется драйвером Linux. Правильные настройки часто называются «legacy», «ISA», или «0x378», но скорее всего не «disabled».
Вы также можете прочитать файл Documentation/parport.txt в исходных текстах ядра, или посмотреть на сервере parport.
Последовательные устройства под Linux называются подобно /dev/ttyS1 . Утилита stty позволит вам интерактивно просмотреть или установить параметры последовательного порта setserial позволит вам контролировать некоторые расширенные атрибуты и настроить IRQ и адреса ввода/вывода для нестандартных портов. Дополнительные обсуждения последовательных портов в Linux вы можете найти в Serial-HOWTO.
При использовании медленных последовательных принтеров с контролем потока, вы можете обнаружить, что некоторые из ваших заданий оборваны. Это может быть из-за последовательного порта, чье действие по умолчанию — удалить любые не переданные символы из своего буфера через 30 секунд после того как устройство закрыто. Буфер может содержать до 4096 символов, и если ваш принтер использует контроль потока и медлен настолько, что не может принять все данные из буфера за 30 секунд после того как программа печати закрыла последовательный порт, то конец содержимого буфера будет потерян. Если команда cat file > /dev/ttyS2 делает полный печатный вывод для коротких файлов, но обрезает длинные файлы, то у вас может быть такая проблема.
Источник
Работа с портом LPT в линуксе
Работа с LPT портом
Здравствуйте, не могу разобраться(нагуглить) инфо по работе с lpt портом. Нужно отправлять данные.
Работа с LPT портом
Добрый день форумчане, столкнулся с проблемой. Печатающее устройство получает информацию через.
Работа с LPT портом.
Добрый день. Необходимо написать программу которая бы поочередно посылала импульсы на 2 (D0) 3(D1).
Работа с LPT портом
Доброго времени суток. Имеется матричный принтер. Для вывода текста использую рулонную бумагу. При.
Вложения
LPTstatus.rar (175.0 Кб, 7 просмотров) |
Добавлено через 6 минут
Как читать биты 0x379h ,0x37Ah , как управлять направлением для ECP+EPP , как читать 0x378h ?
Как использовать ReadFile , WriteFile, CreateFile , GetCommState для LPT? А в линуксе для CH382 ? Когда будут драйвера ?
Вот описание по работе с LPT-портом в трёх режимах (через raw IO, через /dev/lp и через /dev/parport) https://mockmoon-cybernetics.c. rport.html
А в стиле Access via /dev/lp, Full access via /dev/parport только для /dev/usblp0 , /dev/usb/lp0 для PL2305 (VEN11,VEN12)
Добавлено через 47 секунд
067B:2305 по lsusb
The port BASE+0 (Data port) controls the data signals of the port (D0 to D7 for bits 0 to 7, respectively;
states: 0 = low (0 V), 1 = high (5 V)). A write to this port latches the data on the pins. A read returns the data
last written in standard or extended write mode, or the data in the pins from another device in extended read
mode.
The port BASE+1 (Status port) is read−only, and returns the state of the following input signals:
• Bits 0 and 1 are reserved.
• Bit 2 IRQ status (not a pin, I don’t know how this works)
• Bit 3 ERROR (1=high)
• Bit 4 SLCT (1=high)
• Bit 5 PE (1=high)
• Bit 6 ACK (1=high)
• Bit 7 −BUSY (0=high)
The port BASE+2 (Control port) is write−only (a read returns the data last written), and controls the
following status signals:
• Bit 0 −STROBE (0=high)
• Bit 1 −AUTO_FD_XT (0=high)
• Bit 2 INIT (1=high)
• Bit 3 −SLCT_IN (0=high)
• Bit 4 enables the parallel port IRQ (which occurs on the low−to−high transition of ACK) when set to
1.
• Bit 5 controls the extended mode direction (0 = write, 1 = read), and is completely write−only (a read
returns nothing useful for this bit).
• Bits 6 and 7 are reserved.
Pinout (a 25−pin female D−shell connector on the port) (i=input, o=output):
1io −STROBE, 2io D0, 3io D1, 4io D2, 5io D3, 6io D4, 7io D5, 8io D6,
9io D7, 10i ACK, 11i −BUSY, 12i PE, 13i SLCT, 14o −AUTO_FD_XT,
15i ERROR, 16o INIT, 17o −SLCT_IN, 18−25 Ground
Добавлено через 1 минуту
Для примера кода
Источник
работа с lpt на с, perl, pythoon под linux
Программирование lpt, несколько примеров и ссылки на более или менее продвинутые рабочие программы с объяснениями, где и какую педаль нажать, чтобы заработало.
Re: работа с lpt на с, perl, pythoon под linux
Вопрос в том — нафига это нужно, работать с LPT? если принтер пользовать, то lpd/cups есть, если ввсякие девайсы кривые — то там почти всегда кернел драйвер все равно нужен.
Re: Re: работа с lpt на с, perl, pythoon под linux
это на случай если ты решишь спаять девайс для например отпирания магнитного замка двери и управлять им через комп. Фактически просто в консоли написал open_the_door и вот тебе дверь входная открылась. На эту тему я даже как-то видел как приляпять кофеварку и заставить ее варить кофе по таймеру. документ кажется звался kaffee-howto
работа с кофе под linux
Документ назывался /usr/doc/Linux-mini-HOWTO/Coffee, а koffee — это что-то для KDE. Описывается как из консоли делать echo capuchino > /dev/coffee. Только лучше не к параллельному, а к последовательному кофеварку припаивать.
Re: Re: Re: работа с lpt на с, perl, pythoon под linux
Так вить в юзерспейсе прерывание не поймаешь. А постоянно поллить девайс — плохо.
Re: работа с lpt на с, perl, pythoon под linux
А кого нить есть Сотинка для Турбо В6 под линух?
Re: работа с lpt на с, perl, pythoon под linux
Плохая дока лучше ее отсутствия! (как и секс 🙂 )
Re: работа с lpt на с, perl, pythoon под linux
Не подскажет ли кто нить перлового модуля для работы с com портами?
Чтоб можно было слушать порт и иногда посылать туда данные.
Re: работа с lpt на с, perl, pythoon под linux
green, а почему постоянно полить (через select(2) или poll(2)) — плохо? Ресурсы это ведь большие не жрет, тем более камень..
Re: работа с lpt на с, perl, pythoon под linux
Геге, вот примерно так и представляли себе кухонный комбайн в начале 80-х, наэрно ;). Сервачок-с с сервисами, коннектишься клиентом к нужному порту, [топчешь кнопки|кликаешь мышкой] и вуаля, пожалте за тостиком.
Re: работа с lpt на с, perl, pythoon под linux
в смысле, тот, что на форках — для семьи. Тот, что на select/poll — корпоративный 😉
Re: работа с кофе под linux
> Только лучше не к параллельному, а к последовательному кофеварку > припаивать.
А лучше к USB, если не хочется через неск. лет кофеварку выкидывать.
По статье: я так понимаю, написание подобных статей ставит целью кого-то чему-то научить. Тогда надо объяснять развёрнутее. Скажем так — человеку, который поймёт статью — она уже не нужна. В общем конечно лучше чем ничего, но профессия учителя — одна из сложнейших, статью можно серьёзно улучшить.
По теме: а нафига их программировать? Почему не обращаться как к файлу? А то адреса какие-то. Может вспомнить, что всё в юниксе есть файл? 😉
С уважением, Диментий.
Re: Re: работа с lpt на с, perl, pythoon под linux
Поллить, потому что необязательно та сторона общается путем передачи полных байт. А о том что поменялся один статусный битик ты узнаешь только путем постоянного полленья. Причем сам-то полл много не жрет, но while (1) poll(); жрет будь здоров 😉
Re: Re: работа с lpt на с, perl, pythoon под linux
2green:
я думаю, что
while (1)
<
poll();
usleep(100000);
>
для кофеварки будет более, чем достаточно :))) И не так ресурсоемко :о)
Не абсолютный минимум, но, думаю, из-за нескольких микросекунд давиться не стоит :))
Re: Re: работа с кофе под linux
Диментий, эх, да я думаешь знаю, как это все описывать, я вообще по профессии не программист, просто задолбало как-то отвечать на вопросы в разных эхах, стал писать не то чтобы факи, но просто тексты.
PitStop, чего не так — улучшу или исправлю. Вам же пользоваться, мне то оно уже до фени. это вообще все в ноябре сделал.
Re: работа с lpt на с, perl, pythoon под linux
>Диментий, эх, да я думаешь знаю, как это все описывать, я вообще по
>профессии не программист, просто задолбало как-то отвечать на вопросы в
>разных эхах, стал писать не то чтобы факи, но просто тексты.
аналогично.
www.atmsk.ru
Re: работа с lpt на с, perl, pythoon под linux
Re: работа с lpt на с, perl, pythoon под linux
Как работать с com-портом из Python? Я вроде-бы понимаю что это файл, и даже получается. Но задачка критичная — нужно принять ВСЁ что сыплет в ком телефонная станция. Есть прога на перле. Как-бы работает (писал не я), но есть подозрения, что не очень точно — появляется «мусор», т.е. не все строки похожи на правду. Некоторые кажутся урезанными.
Я понимаю, что здесь не то место, где можно получить «техподдержку», ну а вдруг найдется не жадный.
Re: работа с lpt на с, perl, pythoon под linux
Для отпирания магнитного замка и запуска кофеварки есть более прямой метод —
спецдевайс, например K8000 ( http://www.velleman.be/Product.asp?lan=1&id=9383 )
К нему есть библиотека для управления из линукс, есть готовый перловый интерфейс.
To anonymous (*) (2002-06-04 00:04:23.226)
Re: работа с lpt на с, perl, pythoon под linux
А кто-нибудь знает, как срастить монитор и клавиатуру с com-портом?
Хочется иметь подобие текстового терминала. Или это в принципе невозможно?
Re: работа с lpt на с, perl, pythoon под linux
2 vilfred (*) (2002-06-03 19:28:52.674)
Да ничего больше не надо. Просто расскажи об альтернативных методах (тут уже намекали про обращение к файлам) и дай кучу ссылок по теме.
2 anonymous (*) (2002-06-04 00:04:23.226)
А так ли оно нужно это из Python? Может проще будет, если три строки на bash’е будут все в текстовое фало сгонять? А там по cron’у все раскидывай, да радуйся!
2 anonymous (*) (2002-06-04 08:39:25.477)
Почему не возможно? Вполне достаточно собрать что-то типа РК86 с портом и запустить на нем терминального клиента. Сам вот тоже собираюсь снять РК с полки, вот только БП нехватает и ком-порт лень напаивать 🙂
Re: Re: работа с lpt на с, perl, pythoon под linux
>А кто-нибудь знает, как срастить монитор и клавиатуру с com-портом? >Хочется иметь подобие текстового терминала. Или это в принципе >невозможно?
Это тебе нужно не подобие, а полноценный текстовый терминал. Берешь vt220 и подключаешь. Поднимаешь на порту getty и все работает.
Можно из старой XT или Spectrum какого такой девайс сделать, запуская там при загрузке обычную программу эмуляции терминала
Но как ни крути ему нужен будет свой маленький процессор и видеокарта со знакогенератором.
В случае если есть какой-нибудь старый писюк без дисков, можно терминалку на место встроенного бейсика прошить.
А если есть машина с 386 и выше, из нее надо бездисковый X-терминал делать.
Re: работа с lpt на с, perl, pythoon под linux
Ребята, да этож крутая идея-то, взять жидкокристаллический дисплей, и просчитать что оно умеет делать. Индикаторны кассовые древние можно. А вот чтоннить типа ЖК от какого-ннить тетриса, самое оно. До такого я еще не додумался. Только кому все эти игрешки нужны. Из принципа «это прикольно» сделать. Ну, можно конечно. Лано, спасибо за идею, незабуду. Вот.
про АТС
кто про атс спрпвшивал — адрес почтовый оставь! tws5@@mail.ru
Re: работа с lpt на с, perl, pythoon под linux
Кто там про АТС спрашивал?
TD-500 Панас
stty 9600 ( 04.06.02 12:18:49 )
Re: работа с lpt на с, perl, pythoon под linux
Работа с LPT портом может понадобиться например для внешнего адаптера HDD, описанного в журнале Радиохобби несколько лет назад. Он работал в SPP моде порта, был неоптимален по схемотехнике и поэтому работал очень медленно. Я его переделал под ЕPP моду и добился скорости практически предельной для этой моды -чтения около 750 К/с, а записи около 850 К/с. Но драйвер смог переписать под новое железо только досовский на ассемблере. Драйвер для Win что-то не получилось переделать.Я не прогрпмист. Но недорогая дискета на несколько гиг с поддержкой FAT-32 не помешала бы.Мне непример подошел бы драйвер и под Линукс.
Re: работа с lpt на с, perl, pythoon под linux
для питона примерно так:
com = open(«/dev/ttyS0»)
line = com.readline()
.
Re: работа с lpt на с, perl, pythoon под linux
Для того о чем пишут в статье устройство /dev/lp как раз не надо они друг другу будут только мешать а если писать через файл то надо постоянно сбрасывать буфер john
Re: работа с lpt на с, perl, pythoon под linux
2002-06-04 20:16:02.588 Не понял, у меня если в /proc/devices нет lp, то ниче не работает. Они, это я так понял lp и еще что-то. Что? Самому интересно.
Re: работа с lpt на с, perl, pythoon под linux
Ай да green, такую ерунду сморозил. Тоже мне кернел-хакер, блин..
Re: работа с lpt на с, perl, pythoon под linux
У тебя на мамке порт должен быть включен john
Re: работа с lpt на с, perl, pythoon под linux
на мамке это значит джампером включен, т.е. три способа включения lpt, джампером, BIOS, modprobe? Блин, дай ссылку, я йей богу не шарю о чем ты. Что там может конфликтовать и с чем? Я просто на самом деле хотел шнягу сделать для всех видов входов, PS/2, джойстики, аудиокарты, для старого пятиштырькового разьема для клавки, usb еще. просто чтобы законченно было.
Еще, замечательно, девайс это файл, но, как я могу писать в файл сигнал скажем на 22 пин lpt, короче я так понял, что в файл писать, это просто очень грубо писать. единицу так на все, что съемное. Вобщем имхо, в файл писать это круто, все такое, но можно ли туда биты писать, или еще что.
Re: работа с lpt на с, perl, pythoon под linux
lpt порт представляет из себя несколько регистров а которые
ты и пишешь командой outb() 278 порт зто порт данных
если ты пишешь байт 0х5 двоичный 00000101 ты
получаешь единицу на контактах 2 и 4
если ты пишешь через /dev/lp получается аналогично но
придется выставлять внешний сигнал busy
выставить ты должен или джампером или BIOS
в зависимости от мамки
когда ты включаешь порт в мамке у тебя на материская плата
вешает регистры на правильные порта и прерывания
кагда ты делаешь insmod linux цепляет драйвер на твои
устройства и отвечает за обмен по принтерному протоколу
то есть правильно выставлят сигналы strobe init
конфликты у тебя могут быть когда ты начнешь использовать прерывания
john
Re: Re: Re: работа с lpt на с, perl, pythoon под linux
> Это тебе нужно не подобие, а полноценный текстовый терминал. Берешь vt220 и подключаешь.
Фишка в том, что полноценный терминал стОит больше полноценного современного монитора.
Овчинка выделки не стоит. У меня очень мощный комп. Нужно второе рабочее место.
Цветной терминал по цене монитора (
$250) был бы очень в кассу. XT и спектрумы не совсем то.
Во-первых у меня их нет, во-вторых покупать старый хлам не хочется, в третьих обойдется
он не меньше $100, если брать не совсем рухлядь, а что-то рабочее, типа P5. Для меня идеально
было бы купить девайс в пределах $30, в который я втыкаю монитор с клавой, а его в com-порт.
Re: работа с lpt на с, perl, pythoon под linux
А я вот заметил, что когда в порты пишешь, можно один и тот же порт двумя и более программами заюзать одновременно.. Странно это.. А вдруг эти программы совершенно разные параметры выставляют, скажем параметры связи — одна 7E1, другая 8N1. Как это совместно работать-то будет, подскажите, люди добрые.
Re: работа с lpt на с, perl, pythoon под linux
Спасибо, john, щас включу, что ты написал, в текст.
Re: работа с lpt на с, perl, pythoon под linux
Совместео это работать не будет кто последний тот и прав john
Источник