The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Как прикрутить несколько параллельных портов к Linux (linux port module kernel port printer)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: linux, port, module, kernel, port, printer,  (найти похожие документы)
Date: Thu, 17 Dec 2001 04:46:05 +0400 From: Виталий Колесник Newsgroups: http://chip.net.ua/61.html Subject: Как прикрутить несколько параллельных портов к Linux Далее будет идти речь только о PCI параллельных портах производства IC Book (г. Киев). О самих контроллерах здесь: http://www.icbook.com.ua Для дальнейшей работы нам важно знать код производителя этих плат (Vendor ID). Он имеет значение b00C (hex). Порядок работы такой: 1. Установите в системный блок требуемое количество контроллеров параллельного интерфейса (IC138). 2. Включите систему. 3. Загрузите систему и зарегистрируйтесь обязательно root'ом. 4. Просмотрите содержимое /proc/pci. Его примерный вид приведен ниже PCI devices found: Bus 0, device 0, function 0: Host bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia] (rev 5). Master Capable. Latency=8. Prefetchable 32 bit memory at 0xd3000000 [0xd37fffff]. Bus 0, device 1, function 0: PCI bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia AGP] (rev 0). Master Capable. No bursts. Min Gnt=12. Bus 0, device 7, function 0: ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 64). Bus 0, device 7, function 1: IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 6). Master Capable. Latency=32. I/O at 0xc000 [0xc00f]. Bus 0, device 7, function 4: Class 0080: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 64). IRQ 11. Bus 0, device 7, function 5: Multimedia audio controller: VIA Technologies, Inc. AC97 Audio Controller (rev 80). IRQ 11. I/O at 0xcc00 [0xccff]. I/O at 0xd000 [0xd003]. I/O at 0xd400 [0xd403]. Bus 0, device 8, function 0: Parallel controller: PCI device b00c:061c (rev 1). IRQ 9. I/O at 0xd800 [0xd83f]. Bus 0, device 9, function 0: Parallel controller: PCI device b00c:061c (rev 1). IRQ 10. I/O at 0xdc00 [0xdc3f]. Bus 0, device 10, function 0: Parallel controller: PCI device b00c:061c (rev 1). IRQ 11. I/O at 0xe000 [0xe03f]. Bus 1, device 0, function 0: VGA compatible controller: Trident Microsystems CyberBlade/i1 (rev 106). Master Capable. Latency=32. Non-prefetchable 32 bit memory at 0xd1800000 [0xd1ffffff]. Non-prefetchable 32 bit memory at 0xd2000000 [0xd201ffff]. Non-prefetchable 32 bit memory at 0xd1000000 [0xd17fffff]. Там обязательно должны быть строки (по числу установленных IC138), похожие на эти: Parallel controller: PCI device b00c:061c (rev 1). IRQ 9. I/O at 0xd800 [0xd83f]. Здесь первая строка ≈ идентификатор контроллера. Она у вас может отличаться от приведенной только номером ревизии (rev 1). Далее приведен (IRQ 9) номер прерывания, которое было выделено данному контроллеру. Запишите этот номер. Запишите также адрес ввода/вывода (0xd800). Он может отличаться от приведенного. Если в файле нет строки (строк) PCI device b00c , расслабьтесь ≈ у вас проблемы с шиной PCI. Скорее всего проблема решится настройкой BIOS. Но без этих строк дальше двигаться нельзя. Итак, добились от системы сообщения о номерах прерываний и адресах памяти. Адреса нам важны и нужны, а без прерываний можно обойтись (как ≈ см. ниже). 5. Дать команду lsmod. В списке загруженных модулей, которые выводит команда, проверить наличие модуля parport_pc (только для PC-совместимых машин). 6. Открыть любым текстовым редактором файл /etc/modules.conf Примерно он выглядит так: pre-install pcmcia_core CARDMGR_OPTS=-f /etc/rc.d/init.d/pcmcia start alias sound-slot-0 via82cxxx_audio alias scsi_hostadapter ppa alias eth0 8139too alias scsi_hostadapter1 ide-scsi alias parport_lowlevel parport_pc !!!!! Вот интересующая нас строка alias scsi_hostadapter2 dpt_i2o 7. Если при проверке по п.5 модуля parport_pc в списке не было, добавьте строку alias parport_lowlevel parport_pc в файл /etc/modules.conf. 8. После этой строки вручную добавьте следующую: options parport_pc io=0x378,0xd800,0x0c00,0xe000 irq=7,9,10,11 В этой строке опции io=... перечисляют адреса ввода/вывода, которые вы взяли из файла /proc/pci (в п.4). Они соответствуют установленным контроллерам IC138. Сколько контроллеров, столько и групп адресов. Первая из них (0x378) относится к бортовому контроллеру, который интегрирован с материнской платой. Остальные к IC138. Группа опций irq=... описывает занятые контроллерами прерывания, также записанные ранее. Вместо цифровых значений (в десятичной системе) можно указать none. Тогда прерывание использоваться не будет. Например: options parport_pc io=0x378,0xс000,0xe000 irq=7,10,none В приведенной строке инициализируется три порта: бортовой и два PCI. 9. В каталоге /dev проверьте наличие файлов /dev/lp0, /dev/lp1, /dev/lp2. /dev/lp0 соответствует бортовому порту (точнее, перечисленному первым в строке адресов и прерываний). Так в приведенном примере io=0x378 соответствует /dev/lp0 (бортовой) io=0xс000 соответствует /dev/lp1 (первый PCI) io=0xe000 соответствует /dev/lp2 (второй PCI). Если вы используете три и более PCI контроллеров, понадобится создать для них файлы устройств lp3, lp4 и т.д. Используйте следующие команды: mknod /dev/lp3 c 6 3 mknod /dev/lp4 c 6 4 И т.д. 10. Перезагрузите машину. В процессе загрузки (если подключенные к портам принтеры включены) вы увидите, что они проинициализировались. Матричный принтер при инициализации обычно позиционирует головку. Его и можно использовать для проверки правильности сделанных изменений. Если принтеры инициализируются задача решена. Пользуйтесь. Имейте в виду, что на порт можно подключать не только принтеры, но и другие параллельные устройства. Например ZIP или сканнер. Проверено. Работает. Примечание: 1. Перегружать систему не обязательно. Можно использовать команду insmod. 2. На практике все проверено на дистрибутиве Mandrake 8.0. Для других дистрибутивов может потребоваться некоторая корректировка путей к файлам или файлы называются несколько иначе. Виталий Колесник, Киев 17.12.2001

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру