24.09.2013 23:54
nixsystem
 
Доброго времени суток, коллеги.

Была поставлена задача "завести" ТСД CipherLab 8200 и Ethernet кредл, так, чтобы все взаимодействие с ними заключалось в обновлении файлов на хостовой машине (сервере). В виду сложной структуры организации (удаленные подразделения, работа в терминале, отсутствие Windows машин в подразделениях) возможности подключения каждого ТСД через USB-Com кабель нет.

После длительного и вдумчивого чтения всех имеющихся мануалов настроил кредл, так, что ТСД установленный в него автоматически отправляет все собранные данные на хост по сети (если нужно рассказать как, расскажу, может кому понадобится).

Есть так же в утилите, которая запускается на хосте (MobileLink.exe), и при помощи которой по сети данные передаются с ТСД на хост, возможность отправки на ТСД lookup файлов (до трех штук). Вот здесь и возникли сложности - сделал необходимые настройки в этой утилите (указал что при подключении ТСД нужно синхронизировать время на нем с хостом, а так же отправлять файл) - но при подключении выгрузка происходит, а загрузка - нет.

Т.к. все взаимодействие происходит по сети решил посмотреть при помощи Wireshark какие пакеты ходят между кредлом и хостом. Оказывается что утилита эта, несмотря на явное указание расположения файла, отправляет "данные" NO FILE при запросе с кредла первого lookup файла.
Перечитал мануал, нашел, что если файл не обновляется на хосте, то ТСД его загружать не будет - исправил (обновил время создания файла) - ситуация не изменилась. Несколько раз получал сообщение о некорректном формате DBF1 файла (хотя на ТСД отправляю все в текстовом виде).

Формат отправляемого файла соответствует настройкам загруженного приложения - 13 знаков кода(цифры), и до 160 знаков описания, всего два поля. Разделитель - точка с запятой.

Сделал тестовый файл на 10 строк, загрузил его по USB-Com кабелю, чтобы убедиться, что формат верен, и ТСД его воспринимает - все прошло нормально, файл загрузился. При проверке работы приложения на ТСД - тоже все было верно, при сканировании штрих-кода на экране появлялось корректное описание, соответствующее загруженному lookup файлу.

А вот этот же файл загружать на ТСД через кредл - не получается, не смотря ни на какие ухищрения.

После продолжительных мытарств и всевозможных вариантов настройки приложения ТСД и утилиты - у меня несколько раз получилось передать этот файл по сети на ТСД, о чем есть записи в логах, т.е. это действительно можно сделать. Но после того, как я вместо тестового файла попытался залить на ТСД рабочий - ничего не получилось, хотя ни название ни расположение файла не поменялось.

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

Если требуются какие-либо дополнительные сведения - я готов их предоставить.
Буду благодарен любой помощи или высказанной мысли о причинах происходящего.
25.09.2013 20:19
OlegON
 
А кредл и хост друг от друга далеко разнесены? Может, подсети, а им бродкаст какой-нибудь требуется?
25.09.2013 23:23
nixsystem
 
Нет, сейчас, на этапе настройки/отладки все находится в одном помещении физически и в одном сегменте сети логически.

Цитата:
Оказывается что утилита эта, несмотря на явное указание расположения файла, отправляет "данные" NO FILE при запросе с кредла первого lookup файла.
Сегодня снова мониторил пакеты Wirashark'ом - и понял свою ошибку, это не хост терминалу говорит "NO FILE", а терминал хосту. Есть в настройках приложения на ТСД возможность выгрузки этих самых файлов, а т.к. файлов нет - то и выгружать нечего.

Сегодня же бился в основном с ошибкой "Transfer [DBF] file failed". По логам Wireshark взаимодействие абсолютно прозрачное, и в этих логах видно, что сначала ТСД выгружает всю имеющуюся на нем информацию (в соответствии с настройками приложения), а потом пытается загрузить (кстати, загрузить пытается только если файл новее, чем тот, что ТСД загружал или пытался загрузить в прошлый раз) файл lookup. Файлы эти представляют собой обычный csv, и передаются построчно и вот после передачи первой же строчки - на экране терминала появляется ошибка, а в логах Wireshark - команда DONE.

В настройках приложения задано, в каком формате должны быть эти lookup файлы, количество полей, максимальная длинна поля и разделитель - все параметры соответствуют имеющимся файлам, но загружать ТСД эти файлы упорно не хочет, вне зависимости от того, одна строчка в файле, десять строчек или 20к.

Так же есть в этом ТСД возможность использования MicroSD карты памяти и, соответственно, есть возможность выбора, куда загружать эти файлы, или в SRAM или на карту памяти. Для эксперимента поставил карту, изменил настройки - и все загрузилось с первого раза, без каких либо вопросов. Но, как водится, не все так хорошо как хотелось бы - файл на карту памяти нужно загружать не в CSV формате, а в том самом DBF формате, который формируется специальной утилитой ручками на хосте.
09.10.2013 12:26
pitnn
 
Добрый день. Очень интересует информация по настройке крэдла на 8200 через сеть. Подскажите, как у вас получилось?
Часовой пояс GMT +3, время: 12:58.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.