1. В чем суть команды at+cgdcont= и нужно ли ее использовать при работе посредством собственного стека ? Вопрос возник потому, что я обнаружил, что в настройках моего мобильного GPRS для телефона эта команда не была прописана в дополнительных параметрах и я лишь случайно это обнаружил (хотя скопировать в настройки SIM300) - и все работало. Аналогично, при работе с SIM300 тоже работает и без нее, хоть по atd*99, хоть через внутренний стек. Но один раз я ее использовал... Она нужна ? Она нужна, но не всем (в данном случае МТС) ? Она нужна хотя бы один раз для конкретного IMEI и где-то у оператора запоминается на какое-то время ?
2. Аналогично, at+ciicr. Я никак не мог запустить сессию, не понимая в чем причина (вроде все ж ошибка 6). Стал смотреть примеры, дал at+cgdcont - не помогло. at+ciicr - помогло. А потом стало и без нее работать, довольно много раз. А потом как-то опять вылезла ошибка 6. Так вот, что делает at+ciicr, и почему потом работает и без нее ?
3. Открываю сессию udp, посылаю пакеты (на другом конце простенькая заглушка, возвращает эхо), вижу ответы. Посылаю с интервалом в минуту - работает. Две минуты - работает. Где-то три - туда дуй... В смысле, получатель пакеты получает, эхо отправляет, но до модема они не доходят. at+cipclose не помогает, требуется at+cipshut. Это оператор такое делает ? Время зависит от настроек у оператора ? Чтобы жило, дергать чаще ? А когда я делаю at+cipshut, сессия закрывается и тарифицируется до полных 40 кило или сколько там у кого ?)
4. Открываю TCP-сессию, открытие срывается (connection failed), по таймауту. Состояние почему-то остается connecting, и повторное открытие дает ошибку, нужен close или shut. Почему оно само не переходит в IP INITIAL ?