Кто будет такой же хней c usb 3G "свистками" маяться, наблюдения: Старые поколения модемов уже редкость, но китайцы предлагают свои поделия. На том же Qualcomm. В принципе работают так же, как всяческие брендовые Хуявеи, за исключением экономии :) Например, в Хуявеях стоИт 5 танталов по 150 uF, а в китайцах 4 * 100 и те мелкие и жиденькие. Посему для стабильности надо добавить емкость в 5В питание.
Медемы надо перевести в режим "только модем" (проще конфигурировать на хосте).
Используем только "модемный" интерфейс. На 2 других забиваем.
Для работы достаточно 2 bulk и control pipe в "модемном" интерфейсе.
Control - для дерганья DTR и RTS, модем не понимает "+++", посему нужен DTR.
Ну и для настройки скорости,четности и пр. Вроде второе по-логике как бы и не надо, но модем без такой настройки работает нестабильно.
В режиме соединения в bulk out надо передавать ppp пакеты целиком (~....~). Побайтные передачи через какое то время вводят модемы в ступор.
Посему на передачу надо иметь буфер для IP пакетов максимального размера + "голова" и "хвост" PPP.
Bulk in просто опрашивается с указанием размера приемного буфера. Стек PPP потом это соберет.
PS: В хосте пользую не "спецзаточенный" драйвер VCP/CDC, а исходник древнего примера MSD HOST для LPC17. Без мегатонн индусокода и всяческих лишних прокладок. Это объясняет вышесказанное...
Для контроля регистрации в сети лучше юзать +COPS?, чтобы не зависеть того, что там наделали модемостроители. +CREG работает только в GPRS режиме.
Входящие звонки и SMS не прерывают установленное соединение.
В итоге все "свистки", которые у меня нашлись под руками работают вполне стабильно с ppp стеком от Keil. Авторизацию вообще оключил в стеке. С Пчелайном работает и так...