Перейти к содержанию
    

Quectel M12 и FTP

Есть девайс на МК c Quectel M12. Периодически обменивается данными с FTP-сервером, в основном сбрасывает накопленные данные (файл 1-2кБ) До сих пор работал с установленным на ПК "Filezilla server" - всё замечательно. Заменил Filezillу на маршрутизатор TP-Link TR-WR842N, с встроенным ФТП. Так вот теперь Quectel не хочет на него записывать файл!!! Ответ на команду "QFTPPUT " -550, причем довольно быстро ; "CONNECT" - совсем не приходит!

 

+QFTPOPEN:0

AT+QFTPPATH="/"

OK

+QFTPPATH:0

AT+QFTPPUT="xxxxx.txt",165,100

OK

+QFTPPUT:-550

AT+QFTPCLOSE

OK

+QFTPCLOSE:0

 

Чтение - работает.

С другими устройствами - ПК, смартфоны, Тотал командер , например - этот ТП-Линк замечательно работает. Как и сам радиомодуль с другими ФТП. А вот с

TP-Link TR-WR842N - не работает! Что там на уровне команд ФТП мне же не видно. Попробовал обновить фирмварь М12 - не помогло. Сейчас M12BR03A03N32.

Команды "QFTPLIST" и "QFTPNLIST" судя по всему, совсем не понимает, ну это так, к слову.

Что за траблы на ровном месте?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А режимы менять пробовали? Активный/пассивный, двоичный/ASCII, изменяются командой AT+QFTPCFG.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А режимы менять пробовали? Активный/пассивный, двоичный/ASCII, изменяются командой AT+QFTPCFG.

 

Ну, режим то пассивный везде, а двоичный/ASCII - пробовал менять, не помогает. Да и вообще, чтение то работает с параметрами по умолчанию - почему бы не работать записи?

P.S. а нет ли возможности соединиться с ФТП-сервером, не используя встроенный стек М12?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В маршрутизаторе проверьте вторую аунтефикацию на запись. На вебстраничке изделия уберите лишние запреты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В маршрутизаторе проверьте вторую аунтефикацию на запись. На вебстраничке изделия уберите лишние запреты.

Так с других ФТП-клиентов всё пишется - читается без проблем ! Разрешено чтение-запись всем учетным записям.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так с других ФТП-клиентов всё пишется - читается без проблем ! Разрешено чтение-запись всем учетным записям.

Сделайте TCP dump на маршрутизаторе и все там будет понятно почему отлуп.

Другой вариант Syslog посмотреть если перезапустить FTP сервер с параметрами отладки.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал, используя TCP/IP стек Quectel, сделать свой FTP клиент на МК. В общем, что нашёл, сравнивая разные логи:

Все "нормальные" клиенты используют для задания пути к записываемому файлу команду CWD <имя папки>. Потом пишут файл командой STOR <имя файла>

QUECTEL же пытается писать файл, указывая полный путь в виде STOR <имя папки>/<имя файла>. Имя папки(путь), естественно, было предварительно указано командой QFTPPATH. Вот, видимо, такая конструкция и не нравится маршрутизатору. Это подтвердилось проверкой.

Но теперь я застрял на этапе передачи данных:

сервер ждет продолжения передачи (?) и не дает сообщения "226 Transfer complete."

 

Устанавливаем соединение с сервером.

Логинимся.

проверка пароля.

230 Logged on

переключаемся в бинарный режим

посылаем команду PASV

получаем адрес и порт для второго соединения

227 Entering Passive Mode (хх,хх,хх,хх,234,102)

открываем это соединение

получаем CONNECT OK !

команда CWD <имя папки>

ответ: 250 CWD successful

STOR <имя файла>

ответ: 150 Connection accepted

Запихиваем в UART наши данные, заканчивая передачу, например CTRL+Z (0x1A)

для пробы брал 160 байт.

получаем от QUECTEL сообщение SEND OK

Ну и на этом всё... висим. ФТП сервер в маршрутизаторе висит до перезапуска. Но файл при этом пишется! На флешке он есть!

Можно правда, принудительно со стороны QUECTELа прервать передачу командой ABOR или закрыть оба соединения.

Что не так? Что ждёт сервер?

P.S. с "Filezilla FTP server" всё аналогично.

 

 

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю как реализовано FTP у Quectel, но у Simcom сталкивался с такой особенностью.

Если FTP сервер .WIN, то проблем с ним не наблюдается.

А вот если что-то .NIX, то все зависит от того как был скомпилирован и не все корректно работает.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А надо было всего то закрыть соединение командой AT+QICLOSE=1. На что сервер весело отвечает:

226 Transfer OK Прямо нигде не сказано, сам догадайся.

Всё,вопрос решён, FTP работает. Читает, пишет, как часы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...