Как найти адресс LPT в Linux?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 06 май 2014, 19:54

В /proc/sys/dev/parport/parport0/base-addr

только

888 1912
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 06 май 2014, 20:00

Попробовал посмотреть устройства PCI:

sun@sun-desktop:~$ lspci
00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 01)
00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 01)
00:1d.0 USB Controller: Intel Corporation N10/ICH7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
04:00.0 Non-VGA unclassified device: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01)
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 06 май 2014, 21:14

Ворон226 писал(а):В /proc/sys/dev/parport/parport0/base-addr

только

888 1912

Получается так:

888 - это адрес LPT в десятичной системе, а в 16ричной будет - 378
1912 = 778

Прописываю адрес в .hal

loadrt hal_parport cfg="0x778 out "

Карточка не работает...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 06 май 2014, 21:26

Какой-то бред!
После очередной проверки адреса 778 при запуске LCNC получил ошибку адреса порта. Перегрузил комп. Выполнил в терминале:
sun@sun-desktop:~$ grep parport /proc/ioports
0378-037a : parport0
0778-077a : parport0
1020-1022 : parport1
1023-1027 : parport1

ПОЯВИЛСЯ порт 1020! Прописал его и карточка заработала!!!
В чем может быть причина такого поведения компа?

Также при проверки /proc/sys/dev/parport появилась папка parport1, а в ней base-addr, в котором появился порт

4128 0
что означает, что есть parport1 по адресу 1020

БРЕД
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 06 май 2014, 23:01

Перегрузил комп - опять нет parport1... Что делать?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение UAVpilot » 06 май 2014, 23:04

В BIOS поставь "Other OS" или как-то там, но не про виндовс.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 20295
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4855
Заслуга: c781c134843e0c1a3de9
Медальки:
Настоящее имя: Сергей

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 06 май 2014, 23:16

Ни разу не нашел в БИОСе упоминания об ОС... И порты включены...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение UAVpilot » 07 май 2014, 02:27

Ну может что-то типа "PnP OS" - надо выключить.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 20295
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4855
Заслуга: c781c134843e0c1a3de9
Медальки:
Настоящее имя: Сергей

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 07 май 2014, 06:53

Прочитал о PnP OS и обо всем, что касается распределения ресурсов - в своем БИОСе не нашел опции по Plug-@-Play устройствам... Беда...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение Сергей Саныч » 07 май 2014, 09:34

Так, к слову - адрес 778h не имеет отношения к parport1. Это дополнительные регистры parport0 (378h + 400h). Используются только в режиме ECP.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 8841
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2766
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 07 май 2014, 14:44

Это я уже додумал...
Завтра буду проверять на другой карточке: в чем причина? в железе или в ПО? Посмотрим...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение Serb01 » 27 май 2014, 13:42

Дано:
Пульт:
http://www.aliexpress.com/snapshot/263999341.html
PCI LPT:
STLabs MCS9815
Ubuntu 10.04 с LinuxCNC.
Самодельная плата опторазвязки.
Задача - скрестить всё с максимальным результатом.
В дополнение приобрёл 2 кабеля LPT ( как я наивно полагал - они впоследствии оказались урезанными шнурками ).
Подключил PCI LPT , подключил шнурок - в нём оказались распаяны только данные - ножки 1-9 и земля - для выяснения этого ушло полдня пока не вскрыл разъёмы.
Сначала подключил всё к намамному LPT порту - убедился что всё работает.
Настройки порта в HAL - loadrt hal_parport cfg="0x378 out ". Проверить можно без опторазвязки, подключив к нужному входу +5В от компьютера через сопротивление 5кОм, через LinuxCNC - Санок - HAL-скоп, выбрав нужный сигнал в настройках сигналов. У меня энкодер, поэтому проще (или сложнее). Кстати по настройкам энкодера здесь http://cnc-club.ru/forum/viewtopic.php?f=41&t=1443&start=360#p26578.
Думал - сейчас переключу шнурок, установлю драйвер, перепишу адрес порта и всё - но игры только начинались...
Попытки установить дрова на Linux - это как заставить русского работать - если дрова не нужны будет куча отговорок типа: WARNING: All config files need .conf: /etc/modprobe.d/emc2, и др.
В попытках установить драйвер прошло ещё полдня...
Смеркалось. Плюнув на всё решил попробовать перебрать порты которые выдаёт команда lspci -v:
Код: Выделить всёРазвернуть
03:00.0 Communication controller: NetMos Technology PCI 9815 Multi-I/O Controller (rev 01)
   Subsystem: LSI Logic / Symbios Logic Device 0020
   Flags: medium devsel, IRQ 5
   I/O ports at df00 [size=8]
   I/O ports at de00 [size=8]
   I/O ports at dd00 [size=8]
   I/O ports at dc00 [size=8]
   I/O ports at db00 [size=8]
   I/O ports at da00 [size=16]
   Kernel modules: parport_pc

И, о боги, первый же адрес I/O ports at df00 [size=8] дал положительный результат.
Потом уже не помню на каком форуме прочитал что нужно намамный порт BIOSe переключить в режим ЕРР
сделать его вторым и настроить на вход а PCI LPT первым и настроить на выход - в итоге HAL выглядит так:
Код: Выделить всёРазвернуть
loadrt hal_parport cfg="0xdf00 out 0x378 in "
. Получаем 12 выходов и 5 входов в parport0 и 13 входов и 4 выхода parport1 - вот как-то так...
Вложения
Как найти адресс LPT в Linux? IMG_20131220_234854.jpg
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
Аватара пользователя
Serb01
Опытный
 
Сообщения: 105
Зарегистрирован: 04 июн 2012, 09:58
Откуда: Новокузнецк
Репутация: 17
Настоящее имя: Сергей Беседин

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 27 май 2014, 18:22

Serb01 писал(а):настроить на вход а PCI LPT первым и настроить на выход - в итоге HAL выглядит так:


loadrt hal_parport cfg="0xdf00 out 0x378 in "

Получаем 12 выходов и 5 входов в parport0 и 13 входов и 4 выхода parport1 - вот как-то так...


Как-то у меня не уложилось именно вот это подключение порта в режиме входов и в режиме выходов... Рахве это делается только прописыванием строчки в HAL, или именно входы и выходы определяем для карточки в БИОСе?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение Serb01 » 27 май 2014, 19:01

В БИОСе, LPT порт, который на материнке, устанавливаешь в режим EPP.
Режим ЕРР (Enhanced Parallel Port) (EPP Mode) - двунаправленный обмен данными. Управляющие сигналы интерфейса генерируются аппаратно во время цикла обращения к порту. Эффективен при работе с устройствами внешней памяти и адаптерами локальных сетей.

http://life-prog.ru/view_shpargalkiCompStroi.php?id=32
Строкой инициализации порта в HAL
Код: Выделить всёРазвернуть
loadrt hal_parport cfg="0xdf00 out 0x378 in "
назначаешь в каком режиме работать пинам, которые могут быть и входами и выходами
Код: Выделить всёРазвернуть
0x378 in
, а дальше настраиваешь входы-выходы типа:
Код: Выделить всёРазвернуть
setp parport.0.pin-01-out-invert 1
net xenable => parport.0.pin-01-out
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
.
Как настроить в таком режиме поры на PCI карте в Linuxe я не знаю, но как говорил мой старый друг ещё во времена ZX Spectrum - программно можно всё.
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
Аватара пользователя
Serb01
Опытный
 
Сообщения: 105
Зарегистрирован: 04 июн 2012, 09:58
Откуда: Новокузнецк
Репутация: 17
Настоящее имя: Сергей Беседин

Re: Как найти адресс LPT в Linux?

Сообщение Ворон226 » 27 май 2014, 22:01

Я правильно понял?

В БИОСе мы только назначаем двунаправленный режим порта, а уже в HAL , если " <адрес> in ", то порт с 13 входами и 4 выходами, а если " <адрес> out ", то порт с 12 выходами и 5 входами...

Так?
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
 
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Репутация: 174
Медальки:

Re: Как найти адресс LPT в Linux?

Сообщение Serb01 » 28 май 2014, 06:43

Так.
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
Аватара пользователя
Serb01
Опытный
 
Сообщения: 105
Зарегистрирован: 04 июн 2012, 09:58
Откуда: Новокузнецк
Репутация: 17
Настоящее имя: Сергей Беседин

Re: Как найти адресс LPT в Linux?

Сообщение Serb01 » 28 май 2014, 08:25

Кстати:
Serb01 писал(а):Как настроить в таком режиме поры на PCI карте в Linuxe я не знаю

Вот и ответ:
http://cnc-club.ru/forum/viewtopic.php?f=15&t=150#p1456
В моём варианте возможно 2 порта на вход и 1 порт на выход :good:
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
Аватара пользователя
Serb01
Опытный
 
Сообщения: 105
Зарегистрирован: 04 июн 2012, 09:58
Откуда: Новокузнецк
Репутация: 17
Настоящее имя: Сергей Беседин

Re: Как найти адресс LPT в Linux?

Сообщение Serb01 » 28 май 2014, 21:10

LPT в режиме OUT:
01 pin - out;
02 pin - out;
03 pin - out;
04 pin - out;
05 pin - out;
06 pin - out;
07 pin - out;
08 pin - out;
09 pin - out;
10 pin - in;
11 pin - in;
12 pin - in;
13 pin - in;
14 pin - out;
15 pin - in;
16 pin - out;
17 pin - out;

LPT в режиме IN:
01 pin - out;
02 pin - in;
03 pin - in;
04 pin - in;
05 pin - in;
06 pin - in;
07 pin - in;
08 pin - in;
09 pin - in;
10 pin - in;
11 pin - in;
12 pin - in;
13 pin - in;
14 pin - out;
15 pin - in;
16 pin - out;
17 pin - out;
Значительно проще быть чуточку внимательней, чем долгое время пускать деньги на ветер
Аватара пользователя
Serb01
Опытный
 
Сообщения: 105
Зарегистрирован: 04 июн 2012, 09:58
Откуда: Новокузнецк
Репутация: 17
Настоящее имя: Сергей Беседин

Re: Как найти адресс LPT в Linux?

Сообщение slk » 02 окт 2014, 05:06

Доброго дня всем!
может есть у кого дрова под такую плату http://ru.aliexpress.com/item/Parallel- ... rue#extend под Линукс?
поделитесь пожалуйста?!
Аватара пользователя
slk
Мастер
 
Сообщения: 280
Зарегистрирован: 03 мар 2014, 09:42
Откуда: РФ, НСО, Бердск
Репутация: 23
Медальки:
Настоящее имя: Вячеслав

Re: Как найти адресс LPT в Linux?

Сообщение Nick » 02 окт 2014, 06:49

А что ты хочешь на нем делать? Он похоже не для всего подойдет, даже китайцы пишут что supports printers only.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22527
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1577
Заслуга: Developer
Медальки:

Пред.След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Сергей Саныч, FREEKER, Gestap, Google [Bot], Kuzma30, Lafayette, niksooon, P_M_Ch, pegas13, r_v, rrshaman, SDAMASK, sima8520, tehnic, tpolimer2000, UAVpilot, X-Ray, xvovanx, Yandex [bot]

Reputation System ©'