URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 54005
[ Назад ]

Исходное сообщение
"Модем на ttyS0 не снимает трубку."

Отправлено harlan , 02-Мрт-05 09:31 
Хочу подключить к машине два модема для входящих соединений на ttyS0 и ttyS1. Подключил два одинаковых модема.
# setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, Uart: 16550A, Port: 0x3f8, IRQ: 4
        Baud_base: 115200, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_hi skip_test

# setserial -a /dev/ttyS1
/dev/ttyS1, Line 1, Uart: 16550A, Port: 0x2f8, IRQ: 3
        Baud_base: 115200, close_delay: 50, divisor: 0
        clossing_wait: 3000
        Flags: spd_hi skip_test

# grep mgetty /etc/inittab
S0:2345:respawn:/sbin/mgetty -x9 -s 115200 ttyS0
S1:2345:respqwn:/sbin/mgetty -x9 -s 115200 ttyS1
# ps ax |grep mgetty
12345 ? S 0:00 /sbin/mgetty -x9 -s 115200 ttyS0
12346 ? S 0:00 /sbin/mgetty -x9 -s 115200 ttyS1

При звонке на линию 0 - ничего не происходит.
При звонке на линию 1 - модем снимает трубку.
Меняю модемы местами (и с кабелями, и без) картина та же:
При звонке на линию 0 - ничего не происходит.
При звонке на линию 1 - модем снимает трубку.
По логам ринги на линию 0 поступают.

При коннекте миникомом на модем на линию 0. Команды модем принимает (локальное эхо отключено, а нажатые клавиши отображаются), но до ответа "OK" или какого другого не снисходит.
При коннекте миникомом на модем на линию 1 - всё нормально.
Причём, от модема сиё не зависит.
Другое устройство подключенное на ttyS0 нормально общается с миникомом.

В чём может быть причина такой странной работы ttyS0? И как заставить работать оба модема?


Содержание

Сообщения в этом обсуждении
"Модем на ttyS0 не снимает трубку."
Отправлено ejik , 02-Мрт-05 13:04 
>Хочу подключить к машине два модема для входящих соединений на ttyS0 и
>ttyS1. Подключил два одинаковых модема.
># setserial -a /dev/ttyS0
>/dev/ttyS0, Line 0, Uart: 16550A, Port: 0x3f8, IRQ: 4
>        Baud_base: 115200, close_delay: 50,
>divisor: 0
>        closing_wait: 3000
>        Flags: spd_hi skip_test
>
># setserial -a /dev/ttyS1
>/dev/ttyS1, Line 1, Uart: 16550A, Port: 0x2f8, IRQ: 3
>        Baud_base: 115200, close_delay: 50,
>divisor: 0
>        clossing_wait: 3000
>        Flags: spd_hi skip_test
>
># grep mgetty /etc/inittab
>S0:2345:respawn:/sbin/mgetty -x9 -s 115200 ttyS0
>S1:2345:respqwn:/sbin/mgetty -x9 -s 115200 ttyS1
># ps ax |grep mgetty
>12345 ? S 0:00 /sbin/mgetty -x9 -s 115200 ttyS0
>12346 ? S 0:00 /sbin/mgetty -x9 -s 115200 ttyS1
>
>При звонке на линию 0 - ничего не происходит.
>При звонке на линию 1 - модем снимает трубку.
>Меняю модемы местами (и с кабелями, и без) картина та же:
>При звонке на линию 0 - ничего не происходит.
>При звонке на линию 1 - модем снимает трубку.
>По логам ринги на линию 0 поступают.
>
>При коннекте миникомом на модем на линию 0. Команды модем принимает (локальное
>эхо отключено, а нажатые клавиши отображаются), но до ответа "OK" или
>какого другого не снисходит.
>При коннекте миникомом на модем на линию 1 - всё нормально.
>Причём, от модема сиё не зависит.
>Другое устройство подключенное на ttyS0 нормально общается с миникомом.
>
>В чём может быть причина такой странной работы ttyS0? И как заставить
>работать оба модема?


Чтобы модем поднимал трубу, необходимо чтобы внутренний регистр S0 модема(это не связано с ttyS0 и т.д.! не запутайся) не был равен нулю. Этот регистр отвечает за автоответ. Модем поднимет трубку после "S0" сигналов RING. Прочитай про AT-команды модемов.


"Модем на ttyS0 не снимает трубку."
Отправлено harlan , 02-Мрт-05 13:45 
Спасибо за совет, но про регистр S0 мне известно.
Кроме того, как мне кажется, ты меня не понял:
1. Речь идёт о программе mgetty, которая сама на сигнал модема RING посылает команду ATA (т.е. регистр S0 здесь абсолютно не причём)
2. При подключении к модему (3Com U.S.Robotics 56K) терминалом, работает только эхо ввода. Ответа на команды модем не выдаёт. Просто курсор опять перескакивает в начало строки. Когда же я пересаживаю этот модем на ttyS1 он начинает исправно отвечать на команды. Когда же я сажаю на ttyS0 моторолу премьер, она прекрасно отвечает на команды из терминала, но mgetty, при выдаче строки инициализации (равно как и комманды ATA) регистрирует тайм-аут ответа от модема.

"Модем на ttyS0 не снимает трубку."
Отправлено ejik , 02-Мрт-05 18:47 
>Спасибо за совет, но про регистр S0 мне известно.
>Кроме того, как мне кажется, ты меня не понял:
>1. Речь идёт о программе mgetty, которая сама на сигнал модема RING
>посылает команду ATA (т.е. регистр S0 здесь абсолютно не причём)
>2. При подключении к модему (3Com U.S.Robotics 56K) терминалом, работает только эхо
>ввода. Ответа на команды модем не выдаёт. Просто курсор опять перескакивает
>в начало строки.
Если эхо работает, то на сколько я знаю модем тоже работает. Есть команда
ATQ. Если ввести ATQ0 то модем должен будет отвечать на команды строкой OK. А вообще, поведение странное. Может сам порт отключен в BIOS-е?