moxa:forwarding-physical-com-port-from-moxa-nport-5610-to-virtual-machine-with-linux-debian-8-jessie
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
moxa:forwarding-physical-com-port-from-moxa-nport-5610-to-virtual-machine-with-linux-debian-8-jessie [15.09.2017 11:14] – создано Алексей Максимов | moxa:forwarding-physical-com-port-from-moxa-nport-5610-to-virtual-machine-with-linux-debian-8-jessie [26.01.2019 19:36] (текущий) – [Установка драйвера Moxa Nport на стороне Linux Debian] Алексей Максимов | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Трансляция COM-порта с устройства Moxa Nport 5610 в виртуальную машину с Linux Debian 8 (Jessie) ===== | ===== Трансляция COM-порта с устройства Moxa Nport 5610 в виртуальную машину с Linux Debian 8 (Jessie) ===== | ||
+ | |||
+ | В этой статье описан пример того, как **GSM**-модем, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | К одному из **COM**-портов устройства (в нашем примере это будет порт **2**) подключаем **GSM**-модем. В данном случае в качестве модема используется терминал **Siemens TC35i Terminal**. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | \\ | ||
+ | ==== Настройка COM-порта на устройстве Moxa Nport ==== | ||
+ | |||
+ | Переходим в веб-консоль управления устройства **Moxa NPort** и в разделе **Serial Settings** > **Port 2** настраиваем параметры порта в соответствии со спецификацией поддерживаемых режимов работы подключенного к порту устройства: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Затем переходим в раздел веб-консоли **Operating Settings** > **Port 2** и устанавливаем режим работы порта как **Real COM Mode** | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Далее переходим в раздел веб-консоли **Accessible IP Settings**, включаем опцию **Enable the accessible IP list** и в табличной части указываем IP-адресы хостов, | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | <WRAP center important 100%> | ||
+ | **Внимание**! \\ | ||
+ | Если на устройстве опция **Enable the accessible IP list** ранее не была включена, | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | ==== Поиск и получение драйвера Moxa Nport для Linux ==== | ||
+ | |||
+ | Все драйверы, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | На данный момент нам доступен старый драйвер: | ||
+ | **NPort Real TTY Driver for Linux - Edition 1.18 - Released on Mar 20, 2012** | ||
+ | \\ | ||
+ | В заметках к драйверу, | ||
+ | |по ссылке]] есть информация о том, что данная версия драйвера поддерживает ядро **Linux Kernel** до версии **3.1.0-7**. В нашем же случае используется более новая версия ядра, установленная из официальных репозиториев **Debian Jessie**: | ||
+ | |||
+ | < | ||
+ | |||
+ | Linux ... SMP Debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 GNU/ | ||
+ | |||
+ | Сразу скажу, что драйвер со страницы загрузки у меня даже не установился. Поэтому пришлось воспользоваться более свежей версией драйвера, | ||
+ | Действующая на данный момент ссылка на файл, опубликованная в этой ветке: [[https:// | ||
+ | |||
+ | \\ | ||
+ | ==== Установка драйвера Moxa Nport на стороне Linux Debian ==== | ||
+ | |||
+ | Переходим на наш виртуальный сервер с **Debian Jessie**, и распаковываем в отдельный каталог загруженный по указанной ранее ссылке драйвер: | ||
+ | |||
+ | < | ||
+ | # cd MoxaNPort/ | ||
+ | # tar zxf npreal2_1.18.65_build_17062316.tgz -C ~/ | ||
+ | |||
+ | Ознакомится с документацией, | ||
+ | |||
+ | < | ||
+ | |||
+ | В этом файле перечислены пакеты, | ||
+ | |||
+ | < | ||
+ | # apt-get install linux-headers-`uname -r`</ | ||
+ | |||
+ | Переходим в каталог с распакованным драйвером и запускаем скрипт установки с ключом '' | ||
+ | |||
+ | < | ||
+ | # ./mxinst m64</ | ||
+ | |||
+ | Вывод скрипта установки будет примерно таким: | ||
+ | |||
+ | < | ||
+ | Copyright (C) 2002-2015 | ||
+ | All Rights Reserved. | ||
+ | |||
+ | MOXA NPort Server Real TTY Driver Ver1.18.65 Installation. | ||
+ | System Information: | ||
+ | =============================================================================== | ||
+ | |||
+ | Building driver... | ||
+ | |||
+ | If you want to use secure communication with target, | ||
+ | you might choose [y] to enable the SSL function. | ||
+ | Note: This function support RealCOM with secure mode only. | ||
+ | Do you want to enable secure function? [y/N]. | ||
+ | n | ||
+ | make -C / | ||
+ | make[1]: Entering directory '/ | ||
+ | make[1]: Entering directory `/ | ||
+ | CC [M] / | ||
+ | / | ||
+ | / | ||
+ | ignoring return value of ‘copy_from_user’, | ||
+ | declared with attribute warn_unused_result [-Wunused-result] | ||
+ | copy_from_user(k_buf, | ||
+ | ^ | ||
+ | Building modules, stage 2. | ||
+ | MODPOST 1 modules | ||
+ | CC / | ||
+ | LD [M] / | ||
+ | make[1]: Leaving directory '/ | ||
+ | cp -p npreal2.ko / | ||
+ | depmod -a | ||
+ | cc -c npreal2d.c | ||
+ | cc npreal2d.o -o npreal2d | ||
+ | strip | ||
+ | cc -c redund_main.c | ||
+ | cc -c redund.c | ||
+ | cc redund_main.o redund.o -lpthread -o npreal2d_redund | ||
+ | strip | ||
+ | cc -o mxaddsvr mxaddsvr.c | ||
+ | strip mxaddsvr | ||
+ | cc -o mxdelsvr mxdelsvr.c | ||
+ | strip mxdelsvr | ||
+ | cc -o mxcfmat mxcfmat.c | ||
+ | strip mxcfmat | ||
+ | cc -o mxloadsvr mxloadsvr.c | ||
+ | strip mxloadsvr | ||
+ | cc -o mxsetsec mxsetsec.c | ||
+ | strip mxsetsec | ||
+ | Check Driver... | ||
+ | Copying configurations files ... OK! | ||
+ | Copying driver files ... OK! | ||
+ | Load driver... | ||
+ | OK! | ||
+ | |||
+ | Loading TTY Driver... | ||
+ | Complete. | ||
+ | |||
+ | =============================================================================== | ||
+ | Installation process is completed. | ||
+ | The all driver files are installed on / | ||
+ | Now you can cd / | ||
+ | ===============================================================================</ | ||
+ | |||
+ | После успешного окончания установки все инструменты управления драйвером мы можем найти в каталоге ''/ | ||
+ | |||
+ | * **mxaddsvr** (Add Server, map tty port) | ||
+ | * **mxsetsec** (Set secure communication mode) | ||
+ | * **mxdelsvr** (Delete Server, un-map tty port) | ||
+ | * **mxloadsvr** (Reload Server) | ||
+ | * **mxuninst** (Remove tty port and driver files) | ||
+ | |||
+ | <WRAP center important 100%> Обратите внимание на то, что в в последующем, | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | ==== Подключение портов Moxa Nport на стороне Linux Debian ==== | ||
+ | |||
+ | Итак, давайте подключим **COM**-порт c устройства **Nport** с помощью утилиты **mxaddsvr**, | ||
+ | |||
+ | < | ||
+ | |||
+ | Вывод должен быть примерно таким: | ||
+ | |||
+ | < | ||
+ | |||
+ | ttyr00, cur00 | ||
+ | ttyr01, cur01 | ||
+ | ttyr02, cur02 | ||
+ | ttyr03, cur03 | ||
+ | ttyr04, cur04 | ||
+ | ttyr05, cur05 | ||
+ | ttyr06, cur06 | ||
+ | ttyr07, cur07 | ||
+ | Added RealCom server: ip : 10.1.2.254 | ||
+ | |||
+ | mknod -m 666 ttyr00 c 33 0 | ||
+ | mknod -m 666 cur00 c 38 0 | ||
+ | mknod -m 666 ttyr01 c 33 1 | ||
+ | mknod -m 666 cur01 c 38 1 | ||
+ | mknod -m 666 ttyr02 c 33 2 | ||
+ | mknod -m 666 cur02 c 38 2 | ||
+ | mknod -m 666 ttyr03 c 33 3 | ||
+ | mknod -m 666 cur03 c 38 3 | ||
+ | mknod -m 666 ttyr04 c 33 4 | ||
+ | mknod -m 666 cur04 c 38 4 | ||
+ | mknod -m 666 ttyr05 c 33 5 | ||
+ | mknod -m 666 cur05 c 38 5 | ||
+ | mknod -m 666 ttyr06 c 33 6 | ||
+ | mknod -m 666 cur06 c 38 6 | ||
+ | mknod -m 666 ttyr07 c 33 7 | ||
+ | mknod -m 666 cur07 c 38 7 | ||
+ | Complete.</ | ||
+ | |||
+ | В результате в нашей Linux-системе должно появится устройство ''/ | ||
+ | |||
+ | Теперь нам остаётся убедиться в том, что добавленный в процессе установке драйвера скрипт инициализации ''/ | ||
+ | |||
+ | < | ||
+ | |||
+ | ... MOXA Async/NPort server family Real TTY driver | ||
+ | ttymajor 33 calloutmajor 38 verbose 0 (Ver1.18.65)</ | ||
+ | |||
+ | Если драйвер по какой-то причине на попал в загрузку, | ||
+ | |||
+ | \\ | ||
+ | ==== Проверяем доступность транслированного в Linux устройства ==== | ||
+ | |||
+ | Проверяем доступность подключенного через Nport и транслируемого в нашу систему GSM-модема. Для этого установим утилиту **screen**: | ||
+ | |||
+ | < | ||
+ | |||
+ | Подключаемся к порту: | ||
+ | |||
+ | < | ||
+ | |||
+ | Должен открыться новый пустой экран консольной сессии с модемом. Набираем команду получения информации о модеме | ||
+ | |||
+ | < | ||
+ | |||
+ | В ответ мы должны получить от модема его модель. Например, | ||
+ | |||
+ | < | ||
+ | MC35i | ||
+ | REVISION 02.00 | ||
+ | |||
+ | OK</ | ||
+ | |||
+ | Если ответ получен, | ||
+ | |||
+ | Завершаем screen сессию клавишами " | ||
+ | |||
+ | Внизу экрана появится вопрос | ||
+ | |||
+ | < | ||
+ | |||
+ | Жмём " | ||
+ | |||
+ | \\ | ||
+ | ==== Отключение портов и удаление драйвера Moxa Nport в Linux ==== | ||
+ | |||
+ | Как удалить подключение к устройству Moxa Nport: | ||
+ | |||
+ | < | ||
+ | |||
+ | Как удалить драйвер Moxa NPort: | ||
+ | |||
+ | < | ||
+ | |||
---- | ---- | ||
Проверено на следующих конфигурациях: | Проверено на следующих конфигурациях: | ||
- | ^ Версия ^ Версия ^ | + | ^ Версия |
- | ||| | + | |3.8 Build 17030709|Linux Debian 8.6 (Jessie) Kernel 3.16.0-4-amd64|1.18.65| |
---- | ---- |
moxa/forwarding-physical-com-port-from-moxa-nport-5610-to-virtual-machine-with-linux-debian-8-jessie.txt · Последнее изменение: 26.01.2019 19:36 — Алексей Максимов