The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"/dev/ttyS0 не читаеся ни minicom ни моей прогой с АТС Meridi..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"/dev/ttyS0 не читаеся ни minicom ни моей прогой с АТС Meridi..."
Сообщение от kavel emailИскать по авторуВ закладки on 31-Янв-03, 20:28  (MSK)
Нортеловские АТС Меридиан генерят логи в т.н. cdr формате, которые можно читать rs232 кабелем на сериальный порт.
Настройки порта следующие: 9600 7N1 CRTCTS
Терминал под виндой с этими настройками их замечательно читает.
Под RH 8.0 ни миникомом, ни чем другим - ну ни в какую и все.
В моей собственной проге, которая должна бы эти логи парсить прописано по этому повоу следующее

            fcntl(fd, F_SETFL, 0);

            tcgetattr(fd, &options);

            cfsetispeed(&options, B9600);
            options.c_cflag |= (CLOCAL | CREAD);
            options.c_cflag &= ~PARENB;
            options.c_cflag &= ~CSTOPB;
            options.c_cflag &= ~CSIZE;
            options.c_cflag |= CS7;
            options.c_cflag |= CRTSCTS;
            options.c_lflag |= (ICANON );
            options.c_oflag=0;
            options.c_iflag |= (IGNPAR);

            l=tcsetattr(fd, TCSANOW, &options);
            if(l) perror("opentty: unable to set port options");
            max_fd = (max_fd>fd ? max_fd : fd+1);

при этом с другого терминала, подключенного к этому же порту(/dev/ttyS0) прога данные очень даже читает.

нород, подскажите плиз, где собака порылась и почему под виндой, блин оно пашет, а под nix ни в какую - обидно до слез, ладно бы у меня руки кривые, но minicom то олжен читать.
есть в доке указание на какой-то флаг NEW_CRTSCTS, может в нем дело, но в моей системе он отсутствует напрочь.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: /dev/ttyS0 не читаеся ни minicom ни моей прогой с АТС Me..."
Сообщение от qq Искать по авторуВ закладки on 01-Фев-03, 05:30  (MSK)
а когда твоя прога открыла ttyS0 и установила настройки, что говорит stty -a /dev/ttyS0 ?
то ли, что и ожидалось?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: /dev/ttyS0 не читаеся ни minicom ни моей прогой с АТС Me..."
Сообщение от kavel emailИскать по авторуВ закладки on 01-Фев-03, 12:52  (MSK)
>а когда твоя прога открыла ttyS0 и установила настройки, что говорит stty
>-a /dev/ttyS0 ?
>то ли, что и ожидалось?

да, вроде, вот аутпут

-parenb -parodd cs7 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff -iuclc
-ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig icanon -iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl
echoke

тут я правда некоторые опции поменял, типа crtcts, я уже не знаю, что он хочет.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: /dev/ttyS0 не читаеся ни minicom ни моей прогой с АТС Me..."
Сообщение от zlinuxan emailИскать по авторуВ закладки on 01-Фев-03, 17:31  (MSK)
Похожая у нас с тобой проблема :))
Только я с весами бьюсь%))

Вобщем мне так видится - если там  9600 7N1
то значит парити у тебя None и стоп-бит один.
Сначала man stty :))
Затем вот так
stty -F /dev/ttyS0 -hupcl #Это вроде отменяет проверку парити вообще

А потом при включенном АТС:
cat /dev/ttyS0 > log_razgovorov
потом Сtrl C
а потом
cat log_razgovorov

Должно работать.
Если под виндой работает, то и тут должно

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: /dev/ttyS0 не читаеся "
Сообщение от kavel emailИскать по авторуВ закладки on 01-Фев-03, 17:54  (MSK)
>Похожая у нас с тобой проблема :))
>Только я с весами бьюсь%))
>
>Вобщем мне так видится - если там  9600 7N1
>то значит парити у тебя None и стоп-бит один.
>Сначала man stty :))

уже давно

>Затем вот так
>stty -F /dev/ttyS0 -hupcl #Это вроде отменяет проверку парити вообще

неа
stty -F /dev/ttyS0 -parenb

а то что ты написал - Hangup (drop DTR) on last close

и в проге этот бит замаскирован.

>
>А потом при включенном АТС:
>cat /dev/ttyS0 > log_razgovorov
>потом Сtrl C
>а потом
>cat log_razgovorov
>
>Должно работать.
>Если под виндой работает, то и тут должно

Все, спасибо, проблему решил, этой сволочи, оказывается нужно было строку CONNECT дать и все заработало. Меня на енту мысль кнопки Connect и Disconnect в виндовом терминале навели, потому как когда Connect жмешь оно начинает данные вываливать, а когда Disconnect - перестает, Я думаю оно при этом что-то типа NO CARRIER посылает и АТС затыкается, потому после этого и под линухом не работало.
В общем M$ всему виной, что и требовалось доказать, а настройки порта были правильные.

всем откликнувшимся спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: /dev/ttyS0 не читаеся "
Сообщение от zlinuxan emailИскать по авторуВ закладки on 01-Фев-03, 18:20  (MSK)
Ага! И я заумничался и про hangup зря нашмякал :)
Сечас сам ман сттуай почитал и ужаснулся, как лоханулся :))

>>Похожая у нас с тобой проблема :))
>>Только я с весами бьюсь%))
>>
>>Вобщем мне так видится - если там  9600 7N1
>>то значит парити у тебя None и стоп-бит один.
>>Сначала man stty :))
>
>уже давно
>
>>Затем вот так
>>stty -F /dev/ttyS0 -hupcl #Это вроде отменяет проверку парити вообще
>
>неа
>stty -F /dev/ttyS0 -parenb
>
>а то что ты написал - Hangup (drop DTR) on last close
>
>
>и в проге этот бит замаскирован.
>
>>
>>А потом при включенном АТС:
>>cat /dev/ttyS0 > log_razgovorov
>>потом Сtrl C
>>а потом
>>cat log_razgovorov
>>
>>Должно работать.
>>Если под виндой работает, то и тут должно
>
>Все, спасибо, проблему решил, этой сволочи, оказывается нужно было строку CONNECT дать
>и все заработало. Меня на енту мысль кнопки Connect и Disconnect
>в виндовом терминале навели, потому как когда Connect жмешь оно начинает
>данные вываливать, а когда Disconnect - перестает, Я думаю оно при
>этом что-то типа NO CARRIER посылает и АТС затыкается, потому после
>этого и под линухом не работало.
>В общем M$ всему виной, что и требовалось доказать, а настройки порта
>были правильные.
>
>всем откликнувшимся спасибо.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: /dev/ttyS0 не читаеся ни minicom ни моей прогой с АТС Me..."
Сообщение от qq Искать по авторуВ закладки on 01-Фев-03, 18:21  (MSK)
zlinuxan:
>stty -F /dev/ttyS0 -hupcl #Это вроде отменяет проверку парити вообще
хмм...
   [-]hup        send a hangup signal when the last process closes the tty
   [-]hupcl      same as [-]hup
не похоже ;)

kavel:
-parenb -parodd cs7 hupcl -cstopb cread clocal -crtscts
crtscts не выставлено

попробуй вручную поставить: stty -F /dev/ttyS0 crtscts
ну а baud rate надеюсь верная выставляется?

кстати насколько я помнюво freebsd все настройки через stty нужно делать когда порт уже открыт кем то, иначе все настройки сбрасываются

а в линукс похоже, сохраняются.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: /dev/ttyS0 не читаеся ни minicom ни моей прогой с АТС Me..."
Сообщение от qq Искать по авторуВ закладки on 01-Фев-03, 18:59  (MSK)

>kavel:
>-parenb -parodd cs7 hupcl -cstopb cread clocal -crtscts
>crtscts не выставлено

хехе я невнимательно прочитал :)
crtscts то ты сказал что специально убрал...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: /dev/ttyS0 не читаеся ни minicom ни моей прогой с АТС Me..."
Сообщение от kam emailИскать по авторуВ закладки on 05-Фев-03, 15:22  (MSK)
>Нортеловские АТС Меридиан генерят логи в т.н. cdr формате, которые можно читать
>rs232 кабелем на сериальный порт.
>Настройки порта следующие: 9600 7N1 CRTCTS
>Терминал под виндой с этими настройками их замечательно читает.
>Под RH 8.0 ни миникомом, ни чем другим - ну ни в
>какую и все.
>В моей собственной проге, которая должна бы эти логи парсить прописано по
>этому повоу следующее
>
>            
>fcntl(fd, F_SETFL, 0);
>
Пиши
>            
>tcgetattr(fd, &options);
>
>            
>cfsetispeed(&options, B9600);
>            
>options.c_cflag |= (CLOCAL | CREAD);
>            
>options.c_cflag &= ~PARENB;
>            
>options.c_cflag &= ~CSTOPB;
>            
>options.c_cflag &= ~CSIZE;
>            
>options.c_cflag |= CS7;
>            
>options.c_cflag |= CRTSCTS;
>            
>options.c_lflag |= (ICANON );
>            
>options.c_oflag=0;
>            
>options.c_iflag |= (IGNPAR);
>
>            
>l=tcsetattr(fd, TCSANOW, &options);
>            
>if(l) perror("opentty: unable to set port options");
>            max_fd = (max_fd>fd ? max_fd : fd+1);
>
>при этом с другого терминала, подключенного к этому же порту(/dev/ttyS0) прога данные
>очень даже читает.
>
>нород, подскажите плиз, где собака порылась и почему под виндой, блин оно
>пашет, а под nix ни в какую - обидно до слез,
>ладно бы у меня руки кривые, но minicom то олжен читать.
>
>есть в доке указание на какой-то флаг NEW_CRTSCTS, может в нем дело,
>но в моей системе он отсутствует напрочь.


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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