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 08:14] – создано Алексей Максимов | moxa:forwarding-physical-com-port-from-moxa-nport-5610-to-virtual-machine-with-linux-debian-8-jessie [26.01.2019 16: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.1505463285.txt.gz · Последнее изменение: — Алексей Максимов