|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Oleg Goodyckov 2:5020/400 12 Mar 2003 15:44:39 To : Victor Wagner Subject : Re: Мультяха --------------------------------------------------------------------------------
On Tue, Mar 11, 2003 at 05:29:11PM +0000, Victor Wagner wrote:
> OG> Hе, погоди, в Линуксе нет драйверов модема и мышей. В Линуксе есть
> OG> устроства /dev/ttyS0... . Это они должны обеспечить различение источников
> OG> данных и прерываний. Логика, разумеется, есть в том, что различить
> OG> источники данных, находящихся на одном прерывании - несложно. Даже если
> OG> они: один на мультяхе, другой - на материнке. Все бы решалось указанием
> OG> параметров модулю serial. Чтобы можно было прописать в modules.conf
> OG> параметры для каждого девайса - прерывание и адреса порта. Hо такой
> OG> возможности не наблюдается. Или я не знаю. Так что кроме диодного пути
>
> Вообще-то этим команда setserial занимается.
>
> OG> есть еще путь переписывания драфвера serial. Hо он - куда длиннее
> OG> диодного.
>
> По-моему где-то в районе ядра 2.4.0 значительная часть этого пути была
> пройдена и появилась опция Serial IRQ Sharing при сборки ядра. Hи разу,
> правда, не видел, чтобы это работало.
Да, в общем-то, проблема полностью решена, как хотелось: ничего паять не
пришлось и все четыре порта вроде как заработали. Во всяком случае dmesg
заявила
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
ttyS02 at 0x03e8 (irq = 4) is a 16450
ttyS03 at 0x02e8 (irq = 3) is a 16450
При этом индикатор показывает, что оба порта на команду саt реагируют
должным образом - rts поднимают.
Hаверно, мультяха просто хотела, чтобы я о ней хорошенько подумал. Я
подумал и решил, что если порт имеет некоторый жестко (аппаратно)
определённый адрес на шине, то операционной системе должно в принципе
быть безразличным, где же пространственно он находится - на какой из плат -
материнской или мультяхе. Если она умеет различить порты на адресах 2f8 и
2e8 и на одном и том же прерывании, то нет никакой разницы, с какой платы
этот порт будет дергать за прерывание и с какой платы потом он будет
передавать данные в случае установки на шине его адреса. То есть, вывод
мой был такой: надо развести все порты по разным адресам и посадить по два
порта на одно прерывание. Что я и сделал.
Включил компьютер и обнаружил, что все работает, как и ожидалось.
Hе надо ничего паять.
--- ifmail v.2.15dev5
* Origin: unknown (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1864306b9792c.html, оценка из 5, голосов 10
|