Я же говорю, что через пять секунд после "unknown" дивайс даёт эту команду повторно, получает "ОК" и дальше работает нормально. APN задаётся чуть позже - перед выполнением команды "AT+QIACT". Опять-же, точно такой-же дивайс, но с модулем SIM340DZ, аттачится к GPRS-сервису с пол-пинка, работая по точно такому-же алгоритму. Тем не менее, сделал для проверки установку APN заранее. Вот лог результата:
Код
[00:00:00] {MAIN} ADC(0)=715; Vbat=4.19В
[00:00:00] {GSM } Включаем GSM-модуль
[00:00:03] {GSM } ANSW: RDY
[00:00:03] {GSM } COMM: AT+IPR?
[00:00:03] {GSM } ANSW: AT+IPR?
[00:00:03] {GSM } ANSW: +IPR: 38400
[00:00:03] {GSM } ANSW: OK
[00:00:03] {GSM } COMM: AT+IFC?
[00:00:03] {GSM } ANSW: AT+IFC?
[00:00:03] {GSM } ANSW: +IFC: 0,0
[00:00:03] {GSM } ANSW: OK
[00:00:03] {GSM } COMM: ATZ
[00:00:03] {GSM } ANSW: ATZ
[00:00:03] {GSM } ANSW: OK
[00:00:03] {GSM } COMM: ATE0
[00:00:03] {GSM } ANSW: ATE0
[00:00:03] {GSM } ANSW: OK
[00:00:03] {GSM } COMM: ATX4
[00:00:03] {GSM } ANSW: OK
[00:00:03] {GSM } COMM: AT+CMEE=2
[00:00:03] {GSM } ANSW: OK
[00:00:03] {GSM } COMM: AT+CREG=0
[00:00:03] {GSM } ANSW: OK
[00:00:03] {GSM } COMM: AT+QIURC=0
[00:00:03] {GSM } ANSW: OK
[00:00:09] {GSM } Проверяем наличие и залоченность SIM-карты
[00:00:09] {GSM } COMM: AT+CPIN?
[00:00:09] {GSM } ANSW: +CPIN: SIM PIN
[00:00:09] {GSM } ANSW: OK
[00:00:09] {GSM } Включена защита PIN-кодом
[00:00:09] {GSM } Считываем ID SIM-карты
[00:00:09] {GSM } COMM: AT+QCCID
[00:00:09] {GSM } ANSW: 89997776112013633181
[00:00:09] {GSM } ANSW: OK
[00:00:09] {GSM } Считываем количество оставшихся попыток набора PIN-кода
[00:00:09] {GSM } COMM: AT+QTRPIN
[00:00:09] {GSM } ANSW: +QTRPIN: 3,3,10,10
[00:00:09] {GSM } ANSW: OK
[00:00:09] {GSM } Пытаемся разлочить карточку
[00:00:09] {GSM } COMM: AT+CPIN=2586
[00:00:09] {GSM } ANSW: +CPIN: READY
[00:00:09] {GSM } ANSW: OK
[00:00:09] {GSM } Проверяем наличие и залоченность SIM-карты
[00:00:09] {GSM } COMM: AT+CPIN?
[00:00:09] {GSM } ANSW: +CPIN: READY
[00:00:09] {GSM } ANSW: OK
[00:00:09] {GSM } SIM-карточка открыта
[00:00:10] {GSM } Проверяем регистрацию в сети
[00:00:10] {GSM } COMM: AT+CREG?
[00:00:10] {GSM } ANSW: +CREG: 0,2
[00:00:10] {GSM } ANSW: OK
[00:00:10] {GSM } Поиск сети
[00:00:10] {GSM } Измеряем уровень сигнала
[00:00:10] {GSM } COMM: AT+CSQ
[00:00:10] {GSM } ANSW: +CSQ: 99,99
[00:00:10] {GSM } ANSW: OK
[00:00:10] {GSM } Уровень сигнала = -113 dBm
[00:00:10] {MAIN} ADC(0)=714; Vbat=4.18В
[00:00:15] {GSM } Проверяем регистрацию в сети
[00:00:15] {GSM } COMM: AT+CREG?
[00:00:15] {GSM } ANSW: +CREG: 0,1
[00:00:15] {GSM } ANSW: OK
[00:00:15] {GSM } Есть регистрация в сети
[00:00:15] {GSM } Измеряем уровень сигнала
[00:00:15] {GSM } COMM: AT+CSQ
[00:00:15] {GSM } ANSW: +CSQ: 20,0
[00:00:15] {GSM } ANSW: OK
[00:00:15] {GSM } Уровень сигнала = -73 dBm
[00:00:15] {TCP } Проверяем состояние канала
[00:00:15] {GSM } COMM: AT+QISTAT
[00:00:15] {GSM } ANSW: OK
[00:00:15] {GSM } ANSW: STATE: IP INITIAL
[00:00:15] {TCP } Устанавливаем имя точки доступа, логин и пароль
[00:00:15] {GSM } Считываем номер оператора из GSM-модуля
[00:00:15] {GSM } COMM: AT+COPS=0,2
[00:00:15] {GSM } ANSW: OK
[00:00:15] {GSM } COMM: AT+COPS?
[00:00:15] {GSM } ANSW: +COPS: 0,2,"40177"
[00:00:15] {GSM } ANSW: OK
[00:00:15] {GSM } COMM: AT+CGDCONT=1,"IP","internet"
[00:00:15] {GSM } ANSW: OK
[00:00:15] {GSM } COMM: AT+QIREGAPP="internet","",""
[00:00:15] {GSM } ANSW: OK
[00:00:15] {TCP } Подключаем GPRS-сервис
[00:00:15] {GSM } COMM: AT+CGATT=1
[00:00:15] {GSM } ANSW: +CME ERROR: unknown
[00:00:15] {TCP } ERROR: нет ответа 'OK'
Дополнение:
Проблема решилась так: не давать команду "AT+CGATT" совсем. Никогда. Такой "workaround" пока-что работает. Буду наблюдать. Но в любом случае "unknown" - это баг. Негоже модулю выдавать такие сообщения об ошибках на вполне легальные команды.
Сообщение отредактировал jokolemene - Jan 6 2012, 05:58