Цитата(Леха @ Apr 26 2015, 09:51)

связь модуля с базовой станцией в режимах GPRS, EDGE, WCDMA, HSPA всегда осуществляется по протоколу PPP
По протоколу PPP осуществляется не связь модуля с базой, а связь пользовательского софта с ядром модуля. Если в модуле реализована поддержка PPP, то считайте это "прослойкой" между следующим уровнем софта и ядром. С ядром устанавливается PPP, а далее выдаются/принимаются данные данные с помощью АТ-команд и режима данных.
Если такой поддержки нет (например, мобильные телефоны), и подключение осуществляется с помощью ATD***1#, то, отправив CONNECT, ядро представляет РРР соединение, и клиент должен следовать протоколу.
На самом деле, ничего сложного тут нет, просто народ обычно ленится. Надо отработать фазу LCP (согласовать параметры), PAP/CHAP (логин-пароль) и IPCP (получить IP). Для GSM все стадии шаблонные, и легко реализуются с помощью простых парсеров и отсылки паттернов. Для CDMA сложнее, требуется CHAP и есть другие ньюансы. После инициализации необходимо вручную формировать пакет: данные вкладывать в UDP или TCP, затем в IP, затем в PPP (т.е. дописывать заголовки, считать контрольные суммы, вести счетчики ACK/SEQ, убирать 7D и т.п.).
В принципе, сейчас это имеет лишь образовательную ценность, т.к. практически во всех модулях есть готовые стеки. Но если есть академический интерес, могу скинуть ссылку на свой проект почти 10-летней давности, где на ассемблере PIC в 8K ROM и 256 байт RAM реализовано все описанное для линейки телефонов Siemens с TCP-подключением к удаленному серверу и даже слоем шифрования согласно протоколу верхнего уровня. Но если Вы найдете время и желание реализовать это самостоятельно, то выйдете на качественно новый уровень: разберетесь в тонкостях работы интернет, ТСР-стека (в т.ч. и в общих ОС) и избавитесь от массы заблуждений, характерных для высокоуровневых разработчиков.