Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM800C EAT FTP ошибка 77 при скачивании файла
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Ujin
Привет всем.
Вернулся недавно мучить EAT на SIM800C. Перешел на 4-ю версию прошивки, и перестало работать скачивание файлов через FTP. В ответ на команду
AT+FTPGETTOFS=0,"app" выдает "+FTPGETTOFS: 77". В мануале этот код описан как Operate error. Не понимаю что не так, со второй версией этот кусок работал, файл скачивался.
Вот лог отправляемых команд:
Код
AT+SAPBR=3,1,"Contype","GPRS"
AT+SAPBR=3,1,"APN","www.kyivstar.net"
AT+SAPBR=3,1,"USER",""
AT+SAPBR=3,1,"PWD",""
AT+SAPBR=1,1
AT+FTPCID=1
AT+FTPSERV="1.1.1.1"
AT+FTPUN="username"
AT+FTPPW="password"
AT+FTPGETNAME="app"
AT+FTPGETPATH="/Firmware/Treker/
AT+FTPPORT=21
AT+FTPTIMEOUT=3
AT+FTPGETTOFS=0,"app"

Единственно что настораживает, это вот эта строчка в логе T+FTPGETPATH="/Firmware/Treker/ - т.е. нет завершающих кавычек, хотя отправляется как:
Код
sprintf(tmp_buf, "AT+FTPGETPATH=\"%s\"\r", FTP_path);
eat_modem_write((const unsigned char*)tmp_buf, strlen(tmp_buf));

и вывожу tmp_buf через trace, там кавычки есть.
Подскажите, пожалуйста, что поменялось в 4-й версии?
P.S. Попробовал эти же команды через терминал - файл скачался без ошибок.
Ujin
Кажется понял в чем дело, но не понял почему так происходит и как побороть.
выдает ошибку на команду указания директории откуда скачивать:
From modem:AT+FTPGETPATH="/Firmware/Treker/"ERROR

Хотя если эту же команду точно также давать через терминал, то все нормально, ошибки нет.
Hub
Цитата(Ujin @ Jun 23 2016, 14:43) *
Кажется понял в чем дело, но не понял почему так происходит и как побороть.
выдает ошибку на команду указания директории откуда скачивать:
From modem:AT+FTPGETPATH="/Firmware/Treker/"ERROR

Хотя если эту же команду точно также давать через терминал, то все нормально, ошибки нет.

см. свой листинг из первого сообщения топика

AT+FTPGETPATH="/Firmware/Treker/ - нет закрывающей кавычки
Ujin
Цитата(Hub @ Jun 23 2016, 15:03) *
см. свой листинг из первого сообщения топика

AT+FTPGETPATH="/Firmware/Treker/ - нет закрывающей кавычки


Непонятно как она умудряется пропасть. Вот как отправляю в модем, тут она есть:
Код
                                sprintf(tmp_buf, "AT+FTPGETPATH=\"%s\"\r", FTP_path);
                                eat_modem_write((const unsigned char*)tmp_buf, strlen(tmp_buf));


вывожу для контроля переменную tmp_buf, AT+FTPGETPATH="/" - есть кавычка (это я уже экспериментировал задал просто корневую директорию, результат тот же).

Пробовал пустую строку задавать From modem:AT+FTPGETPATH=""ERROR, результат тотже.

P.S.
Попробовал так, без sprintf-а:
eat_modem_write("AT+FTPGETPATH=\"/\"\r", strlen("AT+FTPGETPATH=\"/\"\r"));
работает.
Hub
Цитата(Ujin @ Jun 23 2016, 15:13) *
Непонятно как она умудряется пропасть. Вот как отправляю в модем, тут она есть:
Код
                                sprintf(tmp_buf, "AT+FTPGETPATH=\"%s\"\r", FTP_path);
                                eat_modem_write((const unsigned char*)tmp_buf, strlen(tmp_buf));


вывожу для контроля переменную tmp_buf, AT+FTPGETPATH="/" - есть кавычка (это я уже экспериментировал задал просто корневую директорию, результат тот же).

Пробовал пустую строку задавать From modem:AT+FTPGETPATH=""ERROR, результат тотже.

P.S.
Попробовал так, без sprintf-а:
eat_modem_write("AT+FTPGETPATH=\"/\"\r", strlen("AT+FTPGETPATH=\"/\"\r"));
работает.

а если поставить не одну, а две кавычки?
Ujin
Цитата(Hub @ Jun 23 2016, 17:48) *
а если поставить не одну, а две кавычки?

если так:
sprintf(tmp_buf, "AT+FTPGETPATH=\"%s\"\"\r", FTP_path);
то точно так-же - в том окне где только команды видны кавычек нету, а в том где команды с ответом то две кавычки но ошибка все равно:
From modem:AT+FTPGETPATH="/Firmware/Treker/""ERROR
Hub
Цитата(Ujin @ Jun 26 2016, 09:57) *
если так:
sprintf(tmp_buf, "AT+FTPGETPATH=\"%s\"\"\r", FTP_path);
то точно так-же - в том окне где только команды видны кавычек нету, а в том где команды с ответом то две кавычки но ошибка все равно:
From modem:AT+FTPGETPATH="/Firmware/Treker/""ERROR

удалось разобраться с проблемой?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.