Думаю это с бОльшей вероятностью проблема модема либо вашей платформы.
В модеме может быть просто некачественный TCP стек.
И это самое вероятное поскольку embedded стеки от природы ущербные.
А платформа может быть виновата в том, что у вас нарушена целостность сигналов: запредельные овершутинги, недостаточная мощность стабилизатора, инерционность стабилизатора, отсутствие обводного защитного контура вокруг модема и много других мелочей.
Скажем сбой PLL у baseband-а может надолго увести его в аут.
Тут конечно надо дергать все что возможно, чтобы вывести модем из неопределенного состояния.
Тайм слоты регулировать в общем случае можно, в некоторых модемах можно менять класс например в Telit.
Причем допускаю, что понижение класса позволяет быстрее приатачится GPRS-у в перегруженных занах и даст более стабильную связь.
Цитата(altlogic @ Jun 6 2008, 02:06)

Здравствуйте!
На схеме стоит wavecom Q2406 и Atmega128. Для обмена между ними используется RTS/CTS протокол, правда пока сделана только обработка CTS. Отправляю данные ~50кБ на удалённый сервер. Скорость нестабильная. Модем часто и подолгу выставяет CTS в единицу (глупо конечно, по колонкам слышно, что связь в этот момент не происходит

Иногда же модем шлёт данные очень быстро, раз в 10 быстрее. Где-то в этом форуме видел, что надо дрыгать ногами толи RTS, толи DTR, чтоб модем "очухался".
Ещё по идее скорость зависит от количества выделенных таймслотов на передачу(приём), вопрос: это число мне можно изменить, или модем выбирает их сам?