Извините, пропустил нить обсуждения в теме.
Цитата
Ну и ещё вопросик до кучи. Между модулем и станцией на канальном уровне ведь тоже протокол PPP ? Если нет, то в чём тогда смысл обмена данными по PPP только между пользовательским софтом и ядром модуля ?
На канальном уровне свои протоколы, они реализуются чипсетом на уровне GSM-стека и, как правило, недоступны следующему уровню софта. Наверное, РРР был выбран из-за наличия готовых клиентов в ОС: изначально телефон подключался к РС в качестве модема через COM-порт, на РС создавалось удаленное соединение и т.о. осуществлялось подключение РС к Интернет.
Цитата
Насколько я знаю ATD*99# это в итоге поднятие GPRS. А как получить что-нибудь из HSPA ?
ATD*99# это виртуальный звонок на виртуальный номер, и знаки после ATD определяют параметры устанавливаемого соединения и передают их в чипсет. Дальше модуля номер не передается, звонка, как такового, тоже не выполняется, модуль устанавливает дата-соединение с сетью, самостоятельно согласуя его параметры. Кроме того, с данного софт. уровня невозможно управлять канальным протоколом (классом GSPRS, EDGE или HSPA). Но, возможно, производитель модуля представляет определенные АТ-команды для этого.
Старый проект, реализующий PPP, доступен на моем сайте
http://torfone.org/download/cambr01xx.zip (также прилепил к посту для удобства), когда-то это использовалось для кардшаринга в декодировании спутникового ТВ и код имел значительную коммерческую ценность, но сейчас - только академическую. Используется PIC18F1320 + ENC28J60, девайс представляет мост между RS232-интерфейсом тюнера и удаленным сервером, подключаясь к последнему по стандартному протоколу на основе TCP с аутентификацией и tDES-шифрованием (согласно спецификации). Соединение возможно через Ethernet и резервируется GPRS через линейку телефонов Siemens. Инициализация РРР жестко завязана на эту модель телефона и работает по паттернам, например, для SIM300 код уже был другой (если интересно, пороюсь в архивах, найду). По уму надо подключить ваш модуль к Win32 PC через COM-порт и отлогировать процедуру поднятия соединения средствами Windows, а затем повторить все самостоятельно с использованием паттернов захваченных пакетов.
Кроме РРР, интерес в коде может вызвать рукописный TCP-стек + DHCP, DNS и библиотека для ENC28J60, но, опять же, все максимально урезано до необходимого под конкретную задачу, ничего лишнего: just work. Почти каждая ассемблерная команда комментирована на русском, надеюсь, будет полезно для обучения. Если будут конкретные вопросы, задавайте на форуме, чуть разбавим коммерческую ветку теорией