OpenSCADAWiki: Using/VDX-6354
 

Установка OpenSCADA и CDMA модема Airplus MCD-650 в контроллер VDX-6354 на ОС Debian 5.0 lenny

Имя: ПЛК
Основан: сентябрь 2009г
Версия: 0.1.0
Статус: GPL
Участники: Попков Алексей
Описание: Проект посвящён созданию: среды исполнения ПЛК, прошивки ПЛК и аппаратных конфигураций специализированных PLC.
 (16 Kb)


Contents

Краткое описание контроллера VDX-6354 на CPU Vortex86DX

 (23 Kb)

Краткое описание модема Airplus MCD-650

 (8 Kb)

Форм-фактор модема Airplus MCD-650 USB флеш-накопитель. Модем базируется на процессоре Qualcomm MSM6500. Имеет одну встроенную 4-коленную телескопическую антенну с поворотным карданом. Отсутствует разъем для подключения внешней антенны. Красивый и многофункциональный интерфейс пользовательской программы. Тестирование SMS и голосовой связи – отлично. Поддерживает кириллицу. Емкость записной книги определяется емкостью на RUIM-карте(в модеме нет)

Предисловие

Все попытки установить LiveCD, LiveUSB от CentOs 5.3 и Fedora 11 ни к чему не привели. Система при попытки начать установку падает, мигая «Num Lock» «Caps Lock» «Scroll Lock». Попытки установить OpenWRT и Debian оказались куда успешней. OpenWRT — ради пробы (на нем останавливаться не будем, в силу ограниченности функционала). Debian 5.0 lenny— взят за основу.

Подготовка загрузочного носителя

Для этого можно использовать любой USB Drive или переносной HDD подключаемый по USB. Я пробовал и с тем и другим:
default vmlinuz
append initrd=initrd.gz root=/dev/rd/0 devfs=mount,dall rw DEBCONF_PRIORITY=medium


На этом подготовка носителя завершена.

Установка Debian 5.0 lenny

Грузим контроллер с USB Flash Drive.
При запуске контроллера нажимаем F11 и выбираем диск с которого хотим грузиться.
 (12 Kb)

 (11 Kb)

 (7 Kb)

 (8 Kb)

 (4 Kb)

 (3 Kb)

 (7 Kb)

 (4 Kb)

 (4 Kb)

 (9 Kb)
Тут я особо выдумывать не стал.

 (4 Kb)

 (3 Kb)

 (3 Kb)

 (10 Kb)

 (9 Kb)

 (7 Kb)

 (4 Kb)

 (3 Kb)

 (3 Kb)

 (10 Kb)

 (8 Kb)

Если выбрать Standard system с интернета вытянет примерно 100 мб. Если выбрать Desktop environment + Standard system вытянет примерно 700 мб.

 (4 Kb)

 (3 Kb)

 (4 Kb)

 (9 Kb)

 (3 Kb)

 (6 Kb)

А вот тут останавливаемся. Ядро Debian по умолчанию не загрузилось, увидим только Kernel panic. Ядро должно быть немного подпилено патчами от Vortex.

 (12 Kb)

 (8 Kb)

 (4 Kb)

Вот.
Здесь делаем следующее:
cp /hd-media/linux-image-2.6.29.3-vortex86dx.deb /target/root/
chroot /target /bin/bash
dpkg -i /root/linux-image-2.6.29.3-vortex86dx.deb
reboot.


 (11 Kb)

Загрузилось.

Установка OpenSCADA

Для начала, то что мы теперь имеем, еще весьма мало для работы OpenSCADA, поэтому:
apt-get update


 (12 Kb)

 (17 Kb)

Для удобства сразу поставил ssh
apt-get install openssh-server -y


И уже по ssh остальное делам.
apt-get install autoconf libtool gettext gawk lsb-build-base3 libgd2-xpm-dev libmysqlclient15-dev libsqlite3-dev libsensors-dev portaudio19-dev byacc bison libsnmp-dev libfftw3-dev libqt4-dev make -y


 (18 Kb)

В зависимости от ширины Вашего канала придется подождать. Будет тянуть много чего интересного и долго ставить. При этом будут заданы вопросы по переконфигурированию emax и т.д.

 (21 Kb)

Ради проверки выносливости самого контроллера, я рискнул откомпилировать OpenSCADA прямо на нем. Пришлось конечно подождать, но процесс компиляции ничем не отличается от процесса компиляции на любом другом компьютере (поэтому скринов не оставил).

Прикручиваем модем Airplus MCD-650

На столе выглядит это вот так:

 (250 Kb)

IDE Flash у меня нету, пока, поэтому как видим все рабоет с обычного IDE HDD.

За основу взял kernel-2.6.30 так как на момент написания этой статьи самое последнее. Патчи для ядра, тянем вот от сюда (В eBox-3300 используется такая же платформа) http://www.compactpc.com.tw/drivers/eBox-3300/2_6_27_Patch.zip. Патчи запросто одеваются на kernel-2.6.27 и 2.6.29, но вот на 2.6.30 придется вручную. Смотрим в diff файл, ищем в исходниках текст и меняем. Тянем этот конфигурационный файл для ядра http://media.kelvinism.com/static/config-2.6.29.3-vortex86dx.

make menuconfig


 (38 Kb)

Загружаем конфигурационный файл
 (19 Kb)

Сохраняем.
Или можно mv config-2.6.29.3-vortex86dx .config
 (15 Kb)

Это еще не все, нужно еще поддержку USB GPS и CDMA модемов добавить, в меню Device Drivers все это живет. Скины этого процесса грузить не стал, тут их и так достаточно. ))))

После всех наших манипуляций делаем:

make-kpkg --initrd kernel_image kernel_source kernel_headers modules_image


Процесс довольно долгий, на контроллере )))))))))))

 (48 Kb)

Появились файлы:

Делаем:
dpkg -i ~linux-headers-2.6.27.3-vortex86dx_2.6.27.3-vortex86dx-10.00.Custom_i386.deb
dpkg -i ~linux-image-2.6.27.3-vortex86dx_2.6.27.3-vortex86dx-10.00.Custom_i386.deb
dpkg -i ~linux-source-2.6.27.3-vortex86dx_2.6.27.3-vortex86dx-10.00.Custom_all.deb


Для kernel-2.6.30 выглядит точно также, нету на скинах потому как снес перед тем как сфотографировать ))))))

Перегружаемся уже новым ядром.

Исполняем:
modprobe usbserial vendor=0x1011 product=0x3198


vendor и product подскажет lsusb

 (23 Kb)

dmesg.


Наблюдаем успешное поднятие usbserial с нашим модемом на ttyUSB0
 (38 Kb)

Теперь понадобятся пакеты pppd и wvdial

apt-get install wvdial -y


Это скрипт с которого запускается соединение.

cat skylink.sh
debian:/home/aleksey/skylink# cat skylink.sh


#!/bin/sh
mknod /dev/ppp c 108 0
DIALTIMEOUT=20
MODEM=ttyUSB0 SPEED=921600 MODEM_INIT='"AT+CRM=1;&C2" OK'
IH_IP=" ipcp-accept-local ipcp-accept-remote noipdefault debug usepeerdns user mobile mtu 1400 novj nobsdcomp novjccomp nopcomp noaccomp noauth"
LOGSCRIPT="CONNECT"
PHONE="#777"

# Перез запуском удаляем default route по окончанию восстанавливаем (это по желанию)
DR=`route -n | egrep '^0.0.0.0'| grep -v ppp | sed 's/^[^ ]*  *\([^ ]*\) .*/default gw \1/'` ;
if [ -n "$DR" ] ; then
    trap "echo route add $DR ; route add $DR ; exit"  2 3 9 15
route delete $DR

echo route delete $DR
fi
# Если оборвалось pppd перезапускается
while  true ; do
pppd connect 'chat -v ABORT "NO DIALTONE" ABORT "NO CARRIER" ABORT BUSY "" '"$MODEM_INIT"' ATDP'$PHONE' '"$LOGSCRIPT"' ;' \
crtscts defaultroute modem -detach mru 1400 $NASH_IP:$IH_IP /dev/$MODEM $SPEED
cat /etc/ppp/resolv.conf > /etc/resolv.conf
sleep $DIALTIMEOUT
done


debian:/home/aleksey/skylink#


в /etc/ppp/pap-secrets и на всякий случай в /etc/ppp/chap-secrets прописываем логин и пароль
cat /etc/ppp/pap-secrets
mobile * internet *

cat /etc/ppp/cahp-secrets
mobile * internet *


Какой тип авторизации на skylink я не знаю, поэтому предусмотрел оба.

2-ва арианта Init Скриптов для Debian. Делались паралельно основной работе, поэтому полностью не тестировались.




Источники:
http://www.kelvinism.com/howtos/installing-debian-50-vortex86dx/
http://wiki.debian.org/usbserial
http://forum.ubuntu.ru/index.php?PHPSESSID=377a9f48afb757bb7195c17ddc3332ea&topic=59326.0
http://www.compactpc.com.tw/download_drv.htm

Вот вроде и все.