wvdial не может получить ответ модема, терминальные программы общаются без проблем
2094
Sdlion
Я пытаюсь установить соединение GPRS с SIM800L и USB-последовательным кабелем PL2303.
Если я экранировать или Миник модем (на 115200 8N1) Я получаю немедленный ответ от модема, и я даже после создания контекста PDP и GPRS можно успешно пинг сервера Google через AT команды. Я также могу инициировать соединение PPP через AT+CGDATA="PPP"или ATDT*99***1#.
Но с wvdial модем не отвечает
--> WvDial: Internet dialer version 1.61 --> Cannot set information for serial port. --> Initializing modem. --> Sending: ATZ --> Sending: ATQ0 --> Re-Sending: ATZ --> Modem not responding.
Если я делаю cat /dev/ttyUSB0и запускаю wvdial одновременно, я получаю это:
ATZ0 OK OK OK
После того , как команда wvdial закончила работу и OKпоявится первая, через секунду OKпоявятся две . Также хотелось бы отметить, что ATZи ATQ0команды стали перекрываться .
Я мог бы перехватить вывод через cat, и это может быть причиной, но поведение wvdial одинаково как с cat, так и без нее .
Modem Type = Analog Modemне имеет никакого значения. Если я добавлю некоторые Init#параметры, они тоже не получат никакого ответа. Перекрытие команд будет происходить и с Init#командами.
Получение слоев абстракции, как отмечалось в модемах 3G и GPRS, с pppd, в результате чего использовался только pppd, также не работало. Ясно, что связь с последовательным портом системным процессом не поддерживается, только через клиентов последовательного порта.
sakis3g успешно связывается с модемом, но не может вызвать интерфейс.
[13751] [11:45:56] Connection command that will be used is: /usr/bin/setsid /usr/sbin/pppd /dev/ttyUSB0 460800 modem crtscts -detach defaultroute dump noipdefault usepeerdns usehostname ktune logfd 2 noauth name sakis3g lock maxfail 3 connect "/usr/sbin/chat -v -f /tmp/pppd.tmp.13751" user "webgprs" password "webgprs2002" [13751] [11:45:56] Verbosing: 28% Initializing modem [13751] [11:45:56] Using default INITIALIZE. [13751] [11:45:56] Command "INITIALIZE" refers to AT commands: ATZ OK 'AT&F' OK 'ATQ0 V1 E1' OK 'AT&D2 &C1' OK AT+FCLASS=0 OK ATS0=0 OK 'AT+CGDCONT=1,"IP","internet.itelcel.com"' OK [13751] [11:45:56] Will send INITIALIZE commands to tty /dev/ttyUSB0: "" '\pAT' OK ATZ OK 'AT&F' OK 'ATQ0 V1 E1' OK 'AT&D2 &C1' OK AT+FCLASS=0 OK ATS0=0 OK 'AT+CGDCONT=1,"IP","internet.itelcel.com"' OK '\pAT' OK [13751] [11:45:57] We are root already. Proceeding. [13751] [11:45:57] Device /dev/ttyUSB0 is not busy. [13751] [11:45:58] Got response from tty: AT OK ATZ OK AT&F OK ATQ0 V1 E1 OK AT&D2 &C1 OK AT+FCLASS=0 ERROR [13751] [11:45:58] Unknown command "STAGE7". [13751] [11:45:58] Unknown command "STAGE8". [13751] [11:45:58] We are root already. Proceeding. /------------------------------------------------------------------------------- [13751] [11:45:58] Will now run command: \'/bin/rm -f "/tmp/sakis3g.3gnet"\' /------------------------------------------------------------------------------- \------------------------------------------------------------------------------- [13751] [11:45:58] Command returned 0. \------------------------------------------------------------------------------- [13751] [11:45:58] We are root already. Proceeding. [13751] [11:45:58] Device /dev/ttyUSB0 is not busy. [13751] [11:45:58] Verbosing: 35% Connecting [13751] [11:45:58] PID 15625 is still running. [13751] [11:45:59] Located "netstat" within PATH (/bin/netstat). [13751] [11:45:59] Waiting for interface to go up (0 seconds passed). [13751] [11:46:00] PID 15625 is still running. [13751] [11:46:00] Waiting for interface to go up (1 seconds passed). [13751] [11:46:01] PID 15625 is still running. [13751] [11:46:01] Waiting for interface to go up (2 seconds passed). ... (truncated) ... [13751] [11:46:56] Waiting for interface to go up (20 seconds passed). [13751] [11:46:57] Giving up waiting for connection to occur. [13751] [11:46:57] PID 16179 is still running. [13751] [11:46:58] PID 16179 is not running any more. [13751] [11:46:58] PID 16179 is not running any more. [13751] [11:46:58] Failed to connect. [13751] [11:46:58] Error: Failed to connect. [13751] [11:46:58] Aborting execution chain due to actor "connect" returning 95.
Результат тот же, даже если я вручную настроил контекст PDP и установил модем в активном контексте GPRS
AT+CIPSTATUS IP STATUS
2 ответа на вопрос
1
Sdlion
Чтение логов и источника sakis3g Я заметил, что использование nocrtsctsопций для ppp с этим последовательным конвертером USB PL2303 является обязательным. Кроме того, SIM800L не поддерживает AT+FCLASSкоманду и вызывает сбой сценария чата, поэтому мне пришлось удалить его.
AT+FCLASSИспользуется для выбора режима факса. Если ваш GSM-модуль даже не поддерживает этот режим (или по умолчанию 0 - режим передачи данных), то, кажется, безопасно оставить эту часть вне сценария чата.
1
aib
Я проследил эту проблему до управления потоком RTS / CTS, который libwvstreams (и, следовательно, wvdial) использует по умолчанию, но мой крошечный последовательный USB-ключ не поддерживает.
Вы можете использовать мой патч на GitHub или исправить его аппаратно. Например, если у вашего ключа есть контакты RTS и CTS (а модема нет), вы можете подключить их друг к другу.