|
Странный глюк SIM300D, SIM300D "глотает" данные |
|
|
|
Nov 14 2009, 03:17
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 26-01-06
Пользователь №: 13 668

|
Hi, All!
Столкнулся со странным глюком SIM300D. Использую GPRS для получения данных по HTTP. Алгоритм простейший - один GET, запрашивающий файл, и прием этого файла. На файлах, не превышающих несколько кб все хорошо, но когда получаю файл большего размера, то в принятом файле оказываются пропущенные куски по несколько сот байт на каждые несколько принятых килобайт. Пропуски в разных местах, но первый всегда примерно на одном и том же месте, после пятого принятого килобайта.
Чтобы исключить собственные ошибки, продублировал прием внешней терминальной программой - тоже самое, a принятом файле, в сравнении с исходным, есть пропуски. Почему так? Сеанс связи завершается нормально, никаких разрывов связи или ошибок нет.
Возникла версия, что размер буфера в TCP стеке SIM300 слишком мал, и он захлебывается принимаемым файлом. А выбирать данные быстрее я не могу, ибо данные - это прошивка, и во время приема она пишется в память программ (AVR). Поэтому прием данных в МК все время тормозится с помощью RTS, чтобы успевать записывать. Сомнительная версия, но другой у меня нет... Еще версия, что в принимаемых данных (они двоичные) встречается какая-то неудачная комбинация, от которой SIM300 дуреет. Но тогда ошибка была всегда точно в одном и том же месте, а она немного плавает.
В чем может быть дело, кто-нибудь сталкивался с подобным? Есть ли у SIM300D возможность посмотреть состояние TCP стека, или отрегулировать какие-нибудь параметры (размер буфера, и др)?
|
|
|
|
|
 |
Ответов
|
Nov 14 2009, 22:22
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 26-01-06
Пользователь №: 13 668

|
Цитата(Baser @ Nov 14 2009, 19:47)  Версию прошивки вашего модема огласите. AT+GMR Revision:1008B14SIM300D32_SST34HF3284 Оно? Насколько она отстала от жизни? Цитата(Baser @ Nov 14 2009, 19:47)  Может китайцы это уже успели исправить  Дай Бог. Я пока пытаюсь реализовать загрузку файла кусочками, используя Range, но это такой геморрой...
|
|
|
|
|
Nov 15 2009, 22:17
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(sz36 @ Nov 15 2009, 00:22)  Revision:1008B14SIM300D32_SST34HF3284 Оно? Насколько она отстала от жизни? Довольно сильно, это релиз от января 2008. Посмотрите на нашем фтр в папке ГСМ. Там есть все Release notes. Кстати, возникла еще одна идея: у вас на другом конце канала, откуда передается прошивка, hardware flow control включен и работает? А то, если нет, то модем тут не причем. И то, что вы видите, и должно происходить...
|
|
|
|
|
Nov 20 2009, 01:07
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 26-01-06
Пользователь №: 13 668

|
Цитата(Baser @ Nov 16 2009, 01:17)  у вас на другом конце канала, откуда передается прошивка, hardware flow control включен и работает? И причем тут другой конец канала? На другом конце канала стоит Апач, версию не помню, но, в принципе, там может быть любой другой Web сервер. В TCP flow control обеспечивается ACK'ами, и не может быть отключен. А модем не обеспечивает синхронизацию контроля потока между TCP каналом и COM портом, во всяком случае, на прием. Видимо, это фича, в даташите есть упоминание о контроле переполнения только передающего буфера. Я, в принципе, проблему решил - забираю файл кусками, через Content-Range, чтобы каждый кусок не превыщал 2кб. Дольше, конечно, зато работает. Но осадочек остался. Сильно упрощенная реализация TCP-стека у SimCom'а. Цитата(av-master @ Nov 16 2009, 02:42)  +1 на этой жк прошивке стабильно мегабайты проганялись. думаю передатчик виноват. или канал. Откуда гонялись, из Web'а или с FTP одним файлом? И выходной поток притормаживался? Не верю. Проблема не в том, чтобы прогнать мегабайт, а чтобы принять его с необходимой скоростью. Для этого модем ACK серверу не должен слать, пока я не заберу у него данные, а он на это не обращает внимания.
|
|
|
|
Сообщений в этой теме
sz36 Странный глюк SIM300D Nov 14 2009, 03:17 zebrox так а зачем сразу всю прошивку ему слать?
Думаю ну... Nov 14 2009, 10:33 av-master если например у вас отключено аппаратное управлени... Nov 14 2009, 14:17 sz36 Версия подтвердилась: попробовал пропускать дешифр... Nov 14 2009, 14:58 av-master Цитатато модем тут не причем. +1 на этой жк прошив... Nov 15 2009, 23:42 CADiLO >>>> И выходной поток притормаживался?... Nov 20 2009, 07:25 sz36 Цитата(CADiLO @ Nov 20 2009, 10:25) Это в... Nov 20 2009, 20:01 av-master ЦитатаКС - подозреваю КиевСтар. (самый "рульн... Nov 21 2009, 01:02 Harbinger Цитата(av-master @ Nov 21 2009, 03:0... Nov 21 2009, 07:54 sz36 Цитата(Harbinger @ Nov 21 2009, 10:54) Вп... Nov 21 2009, 17:33 CADiLO Объясняю.
Дома подключаю Samsung 900E (телефон же... Nov 23 2009, 08:24 korobov_michael Цитата(CADiLO @ Nov 23 2009, 10:24) КС - ... Nov 24 2009, 10:24  Baser Цитата(korobov_michael @ Nov 24 2009, 12... Nov 24 2009, 10:55   korobov_michael Цитата(Baser @ Nov 24 2009, 12:55) допуск... Nov 24 2009, 13:25    Slonofil Цитата(korobov_michael @ Nov 24 2009, 17... Nov 26 2009, 13:15 CADiLO >>>>Повышает ли надежность передачи до... Nov 24 2009, 12:31 Harbinger SRAM много "лап" контроллера займёт. AT4... Nov 26 2009, 17:30 korobov_michael Цитата(Harbinger @ Nov 26 2009, 19:30) SR... Nov 29 2009, 20:36
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|