реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> GE863-GPS и соединения с сервером, Глюк при работе с соккетами через витруальный канал (CMUX)
mempfis_
сообщение Nov 11 2009, 08:55
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Добрый день. Столкнулся вот с какой проблемой.
Есть модем GE863-GPS который управляется atmega128 и инициализированный на работу через CMUX сразу по 3м виртуальным каналам.
Все АТ-команды исполняются нормально кроме команд связанных с работой с соккетами (SD, SKTD).
При подаче например команды SD=1,0,80,"www.google.com" модем выдаёт в виртуальный канал CONNECT и на этом не останавливается - бывает выдаёт этот CONNECT постоянно (пока вся плата не перезагрузится из-за переполнения фифо-уарт). Бывает также что следующая команда после подачи SD выдаёт ERROR и этот ERROR валит в порт постоянно, или NO CARRIER.

Для общения с модемом используется уарт atmega128 и линии DTR/RTS/CTS причём DTR/RTS постоянно установлены в 0 а CTS вообще не используется. Для каждого из виртуальных каналов DTR/RTS установлены в состояние готовности (без их установки модем соединялся с сервером но в порт вообще ничего не выдавал т.е. небыло CONNECT/NO CARRIER).

Есть плата на которой подобный модем соединён с ftdi и на которую пробовал подавать аналогичные команды с обычного терминала через TelitSerialPortMux. Так там всё работает правильно - после SD выдаётся один CONNECT (а не множество как у меня) и один NO CARRIER даже если по другим каналам передавать какие-либо команды.

Подскажите что это может быть? Куда копать? Складывается ощущение что модем выдаёт ответ на последнюю команду много раз.
Буду благодарен за любые идеи по этому вопросу.
Go to the top of the page
 
+Quote Post
million68
сообщение Nov 11 2009, 09:22
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 9-03-07
Из: USSR
Пользователь №: 26 007



Подслушайте вторым СОМ-портом обмен с "обычного терминала через TelitSerialPortMux" и обмен с "уарт atmega128". Сравните, может Мега чтой-то не то выдает...
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Nov 11 2009, 09:38
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(million68 @ Nov 11 2009, 13:22) *
Подслушайте вторым СОМ-портом обмен с "обычного терминала через TelitSerialPortMux" и обмен с "уарт atmega128". Сравните, может Мега чтой-то не то выдает...


Я так уже делал - запустил TelitSerialPortMux, запустил 2 терминала, включил SerialPortMonitor и смотрел всё что TelitSelitSerialPortMux шлёт в модем.
Обычные пакеты адресованные различным каналам - подобное делаю и я только через атмегу. Единственное что было не так как у меня - это TelitSerialPortMux перед коннектом с сервером слал команду установки DTR/RTS (я у себя тоже сделал такой пакет - после этого у меня появился коннект с глюками).
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Nov 11 2009, 12:03
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Вопрос снят - проблема оказалась не в самом модеме а в подпрограмме разгребания пакетов по виртуальным каналам.
Теперь всё работает как положено.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01406 секунд с 7
ELECTRONIX ©2004-2016