Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900. Banana Pi. wvdial.
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Semertak
Всем доброго.
Проблема такая: программа wvdial не желает достучаться до моего SIM900.
Выдает ошибкy "modem not responding" хотя в соседнем терминале я без особого труда через cat и echo отправляю в SIM АТ команды и получаю валидные ответы.
Все настройки многократно проверил. Даже Осцилографом проверял уходят ли команды в SIM, команды НЕ уходят. Значит программа их по каким-то причинам не отправляет.
Не могу понять в чем может быть проблема. Уповаю на Вас.
CADiLO
Так сначала настройте модуль из терминала чтобы он отвечал вашей wvdial то что она хочет.
А то ведь она думает что там уже инициализированый модем, а не модуль.

Да и синтаксис у нее как бы не совсем правильный для модуля


Пример нахождения модема.

# wvdialconf

Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- OK
ttyS0<*1>: ATQ0 V1 E1 Z -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyS0<*1>: Modem Identifier: ATI -- 1501
ttyS0<*1>: Speed 4800: AT -- OK
ttyS0<*1>: Speed 9600: AT -- OK
ttyS0<*1>: Speed 19200: AT -- OK
ttyS0<*1>: Speed 38400: AT -- OK
ttyS0<*1>: Speed 57600: AT -- OK
ttyS0<*1>: Speed 115200: AT -- OK
ttyS0<*1>: Max speed is 115200; that should be safe.
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyS1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S2 S3

Semertak
Цитата(CADiLO @ Feb 11 2016, 18:11) *
Так сначала настройте модуль из терминала чтобы он отвечал вашей wvdial то что она хочет.
А то ведь она думает что там уже инициализированый модем, а не модуль.


О каких настройках идет речь? Если не затруднит, дайте максимально развернутый ответ.

При ппопытке автоматического поиска модема, программа находи ничего.
К тому же осцилограф показал что команды до модуля не доходят, а значит программа их не отправляет вообще. Это тоже изза настроек?
CADiLO
А не пробовали начать с ознакомления с документацией на модуль?
Например - SIM900_AT Command Manual_V1.11
Тогда половина вопросов бы сразу отпала.

>>>К тому же осцилограф показал что команды до модуля не доходят, а значит программа их не отправляет вообще. Это тоже изза настроек?

По программе вопросы к ее автору - тут как бы люди сами пишут софт под железо и владеют тем что и как запрашивает программа.
В чужом софте разбираться дело достаточно неблагодарное.
psL
Цитата(Semertak @ Feb 11 2016, 14:21) *
О каких настройках идет речь? Если не затруднит, дайте максимально развернутый ответ.

При ппопытке автоматического поиска модема, программа находи ничего.
К тому же осцилограф показал что команды до модуля не доходят, а значит программа их не отправляет вообще. Это тоже изза настроек?

если вы ждете с осцилографом на последовательном порту данные от программы, а их нет, то при чем здесь модем?

Видимо нужно показать файл /etc/wvdial.conf вашей системы, ну и рассказать на какой порт подключен модем и какие у него по умолчанию настройки обмена с DTE.
Semertak
Цитата(psL @ Feb 11 2016, 18:41) *
Видимо нужно показать файл /etc/wvdial.conf вашей системы, ну и рассказать на какой порт подключен модем и какие у него по умолчанию настройки обмена с DTE.


Временно не могу воспользоваться устройством, но wvdial.conf у меня выглядит следующим образом

Init1 = ATZ
Init2 = AT+CGDCONT=1,"IP","internet"
Modem Type = COM Modem
Baud = 115200
New PPPD = yes
Modem = /dev/ttyS3
Phone = *99#
Password = gdata
Username = gdata
Stupid Mode = yes

Настройки валидные. sim900 исправен. Если работать с ним через терминал, то он корректно реагирует на все команды, включая ATD*99#.
BorisN
Когда будет доступ к прибору, подключитесь на порт терминалом и посмотрите что шлет программа в порт модема, заодно что отвечает модем (если конечно отвечает), думаю ситуация сразу же прояснится, а пока можно скорость порта модема на всякий случай проверить, если не 115200 то как бы и отвечать модем не должен
smalcom
Цитата
/dev/ttyS3

странный номер порта. точно он? какой терминальной программой пользовались для проверки?
mantech
Цитата(smalcom @ Feb 12 2016, 13:11) *
странный номер порта. точно он? какой терминальной программой пользовались для проверки?

что странного?? Обычный линуксовый 3 уарт biggrin.gif
В А20м проце до 8 уартов, если не ошибаюсь...
smalcom
Цитата
что странного?? Обычный линуксовый 3 уарт

предполагаю, что тесты проходят на ПК и наибольшая вероятность того, что это будет порт ttyS0, ttyS1 или ttyUSB0.
Semertak
Цитата(smalcom @ Feb 14 2016, 02:54) *
предполагаю, что тесты проходят на ПК и наибольшая вероятность того, что это будет порт ttyS0, ttyS1 или ttyUSB0.


Тесты проводились на SBC BananaPi. У нее три стандартных UART`a, и SIM900 подключен именно к ttyS3.
Пользовался я стандартным терминалом и команды отправлял и слушал с помощью cat и echo.

Но теперь не об этом. Проблему я нашел. И она ввела меня в ступор. Все настройки верны и ошибок никаких нет. Модем отвечает на попытки wvdial до него достучаться НО... Он это делает ПОСЛЕ того как программа перестает работать.

Объясню по порядку:
1. Вручную настраиваю /wvdial.conf
2. Запускаю wvdial.
3. wvdial в виде лога показывает какие команды он пытается отправить, но снифер отправленных в порт данных ничего не показывает.
4. wvdial повторяет попытку (безуспешно)
5. wvdial выдает ошибку о том что модем не отвечает.
6. В модем летят пачкой все те команды, которые wvdial пытался ему отправить (вижу при помощи снифера)
7. Модем отвечает OK, но программе уже пофигу ибо она выключилась.

Не подскажете как это можно решить? Столкнулся с этой ошибкой как в Ubuntu так и под Windows.

smalcom
Цитата
Banana Pi. wvdial.,

пардон, затупил.
первая проблема для решения - это называть вещи своими именами. причём тут модем? с самого начала вы показываете, что проблема именно со стороны ЭВМ.
я в этих "бананах" не разбирался, но предполагаю, что есть какой-то аппаратный буфер, которому надо дать толчок для выгрузки данных.
проще наверное взять другую программу вместо wvdial для проверки.
mantech
Цитата(Semertak @ Feb 15 2016, 09:07) *
6. В модем летят пачкой все те команды, которые wvdial пытался ему отправить (вижу при помощи снифера)
7. Модем отвечает OK, но программе уже пофигу ибо она выключилась.


Эт вам на форум линуксоидов лучше "стучаться", по поводу модемов - чувствуется, все исправно, вопрос в настройке конфигов программы-диалера...
Semertak
Цитата(mantech @ Feb 16 2016, 02:06) *
Эт вам на форум линуксоидов лучше "стучаться", по поводу модемов - чувствуется, все исправно, вопрос в настройке конфигов программы-диалера...


Все верно. Проблема оказалась не Банане и не в СИМе. Проблема была в аппаратном управлении потоком.

За сим эту тему можно считать исчерпаной. Всем спасибо за желание помочь.
Цырен.
Цитата(Semertak @ Feb 16 2016, 09:22) *
Все верно. Проблема оказалась не Банане и не в СИМе. Проблема была в аппаратном управлении потоком.

За сим эту тему можно считать исчерпаной. Всем спасибо за желание помочь.


Одно замечание. Модули 900й серии с завода идут с автоопределением скорости (IPR=0). Автоопределение работает гарантированно на скоростях до 57600бит/сек. На скорости 115200 некоторые модули могут не "зацепиться". Рекомендаци - снизить скорость до 57600 или снизить скорость до 57600+сменить скорость на 115200(IPR=115200) и переключиться на 115200.
psL
Цитата(Semertak @ Feb 16 2016, 08:22) *
тему можно считать исчерпаной

тема имеет: продолжение
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.