ЗАО «ЗЭО»
Техническая поддержка пользователей => Тион, Тион-Про, Тион-Про v2, Сириус => Тема начата: ParshikovAlexey от 03 Марта, 2010, 11:56:29
-
Здравствуйте.
Возникла такая проблема. У меня есть программа, работающая с gsm-модемом в асинхронном режиме, которая прекрасно работает на Linux-машине. На Тион-ПроV2 установлен Arm Linux, но при этом, после успешного открытия порта программой запись в него не осуществляется (порт /dev/ttyAM1). То есть, создается впечатление, что порт заблокирован и в него записать ничего не можем.
Скажите пожалуйста, есть ли какие-нибудь специфические настройки для этого порта или может быть вы знаете, почему порт блокируется?
С уважением, Алексей.
-
Приложите _часть_ программы, чтобы можно было проверить.
-
Исходники программы
-
ОК, посмотрю
-
Пока ничего хорошего.
-
Это не очень хорошо. Но буду ждать хороших новостей.
-
Еще хотел задать вот такой вопрос. Программирую сейчас прерывания, но в компиляторе на arm не нашел библиотек по работе с прерываниями /linux/interrupt.h. Как можно решить эту проблему?
-
О каких библиотеках речь?
Что вы хотите делать по прерыванию EGPIO?
-
По прерыванию я собираюсь отлавливать сигналы с COM-порта от GSM-модема о том, что на модем пришло сообщение для его немедленной обработки.
-
Прерывания UART контроллера?
-
Пример настройки для pppd
http://zao-zeo.ru/dokuwiki/doku.php/linux#pppd
-
Скажите пожалуйста, возможно ли работать AT-командами с модемом, поlключаемым через USB?
-
Если модем с USB интерфейсом на самом деле является модемом с преобразователем USB-serial, то он будет доступен как обычный последовательный порт /dev/ttyUSBx.
-
Повторю здесь ответ из переписки.
По поводу работы с последовательными портами на Тион-Про2:
1. Используемый вами ttyAM1 имеет только сигналы данных и не имеет
сигналов управления, поэтому включать его в режиме hard-flow (RTS/CTS)
нет смысла. Поэтому в порт данные не отправляются.
2. В режиме аппаратного управления потоком можно включать ttyAM0 (если
он не занят консолью и выводом сообщений ядра, что можно отключить).
На ttyAM0, как мне кажется, была ошибка в полярности сигналов (см.
прилагаемый патч).
-
Помогите решить проблему с pppd.
Собрал КФС и ядро с поддержкой pppd, загрузил все это на тион. Скачал и загрузил файлы из архива pppd на тион. Изменил порт и скорость на ту, которая нужна. При первом вызове /etc/ppp/start mts попросил создать символьное устройство, которое я и создал. При повторном запуске скрипт подвисает на некоторое время после того, как выдает сообщение "+ go go go". Через некоторое время пишет "Connect script failed". При этом, никакой активности на GSM-модеме не наблюдается. До этого пробовал отправлять АТ-команды модему, на них он отвечал. После завершения работы скрипта модем перестает отвечать на АТ-команды. GPRS-настройки выставляю для своего оператора верно (пробовал тестировать подключение pppd на хосте, работает).
В чем может быть проблема?
-
После перезагрузки модема, в порту не появляется активность. Создается впечатление, что pppd подвесил порт.
-
У вас порт не занят другими программами (консолью, сообщениями ядра)?
Как вы решаете, что "в порту не появляется активность".
-
Порт не занимаю другими программами, консоль вывожу в другой порт(ttyAM0).
Активность смотрю не в порту, а на GSM-модеме. Т.е. когда тестирую его своей программой (отправляет два раза АТ и завершает процесс), то наблюдаю "моргание" сигналов RXD, TXD на GSM-модеме. При запуске pppd такой активности не наблюдаю.
-
Вы убрали в файле options строки
modem
crtscts
?
-
Нет не убирал.
Используемы файлы options и gprs-connect приложил к ответу
-
Попробуйте убрать
-
Все заработало без этих опций. Благодарю за помощь.