Ключевые слова:linux, serial, tty, device, (найти похожие документы)
- RU.LINUX (2:5077/15.22) ------------------------------------------ RU.LINUX -
From : Andrew Scherbacov 2:5002/74.1 28 Nov 00 11:20:18
Subj : [linux] Добавление портов ttyS? для мультикарты
-------------------------------------------------------------------------------
Привет, Bogdan!
Однажды 27 ноября 2000 в 11:25, некто Bogdan Zembitskiy писал All:
BZ> Проблема в том что эта плата начинает юзать прерывание 4 и 3 порты
BZ> соотв 3e8 2e8. Порты которые встроены в мою материнку используют
BZ> прерывание 4 и 3 порты 3f8 2f8. При загрузке линукса обнаруживаются
BZ> все четыре порта... Hо когда я начинаю использовать порты (запускаю
BZ> на них ррр) с общим прерыванием (например ttyS0 и ttyS2 или ttyS1 и
BZ> ttyS3 ) то к своему огорчению узнаю, что порты не работают.
BZ> Пробовал менять прерывания с помощью setserial - результатов не дало
BZ> #setserial /dev/ttyS0 irq [4] port 0x3f8 uart 16550a [^auto_irq
BZ> ^skip_test]
BZ> #setserial /dev/ttyS1 irq [3] port 0x2f8 uart 16550a [^auto_irq
BZ> ^skip_test]
BZ> #setserial /dev/ttyS2 irq [7] port 0x3e8 uart 16450 [^auto_irq
BZ> ^skip_test]
BZ> #setserial /dev/ttyS3 irq [10] port 0x2e8 uart 16450 [^auto_irq
BZ> ^skip_test]
BZ> Пробовал поменять местами порты ввода вывода (чтобы те что на плате
BZ> стали ttyS2-3 а те что на добавленной мио ttyS0-1) -тоже результатов
BZ> не дало((
я делал так:
- взял мультикарту и внимательно посмотрел на перемычки и подписи к ним.
желательно найти еще и описание этой карты на листочке
- запустить машину под досом и, скажем в старом добром CHECK`ITe посмотреть
и записать текущие значения портов и прерываний
- установил перемычки так, что бы
а. отключить контроллеры флопов, винтов, гейм-порта, принтера и прочее
ненужное
б. включить ком А и ком Б, как сом-3 и сом-4
в. установить прерывания на сом-3, сом-4 из имеющихся свободных
если таковых нет, то увы - ищи мультиплексор, типа DigiBoard, на
4 или 8 портов, ему хватит 1-го прерывания, зато у тебя сразу появится 4
или 8 свободных сом-ов !
- вставить карту в машину и загрузиться в ДОСе, запустить Checkit и
посмотреть, что изменилось, появились ли дополнительные комы, не конфликтуют
ли у них прерывания и т.д.
- если все пучком, то надо записать значения адреса и прерывания для каждого
порта и после этого загрузить уже линух
- отредактировать, к примеру /etc/rc.d/rc.sysinit, и вставить где-нить поближе
к началу этого файла
-----------------------------------------------------------------------------
# Initialize the serial ports.
if [ -f /etc/rc.d/rc.serial ]; then
. /etc/rc.d/rc.serial
fi
-----------------------------------------------------------------------------
а уже в самом /etc/rc.d/rc.serial написать
-----------------------------------------------------------------------------
#!/bin/sh
#меняем прерывания у сом-портов
echo -en "\t\t\tChange "
[ "$BOOTUP" != "serial" ] && echo -en "\\033[1;31m"
echo -en "Serial ports"
[ "$BOOTUP" != "serial" ] && echo -en "\\033[0;39m"
echo " interrupts"
setserial /dev/ttyS0 irq 5
setserial /dev/ttyS1 irq 4
setserial /dev/ttyS3 irq 3
echo -en "\t\t Done..."
echo
----------------------------------------------------------------------------
значения прерываний и адреса портов, естественно, свои :-)
после этого пускай на выполнение этот скрипт rc.serial и смотри,
как у тебя работают комы. то есть, если добьешься их работы в ДОСе,
то и в линухе потом их заставить работать - не проблема...
С уважением
Андрей Щербаков
E-mail: avs_andrew@mail.ru
andrew@komstat.alt.ru ICQ: 54034993
--- ifmail v.2.15.lk6.b5 * Origin: Связь - пpоцесс двустоpонний и обоюдоинтеpесный! (2:5002/74.1)