Jump to content
Форум по продукции MOXA

Moxa 5130 vs Linux = Input/output error


Recommended Posts

Добрый день!

Подключаю Moxa 5130 (прошивка 3.6 последняя с сайта) к Linux Cubian (платформа cubieboard процессор armv7l ядро 3.4.79-sun4i) драйвер npreal2_1.18.51_build_15051816.tgz с одной из тем этого форума (с оф сайта не компилируется). Драйвер компилируется без замечаний. Подключается так же. Порты 950, 966 доступны с линукса. Однако, при попытке подключиться к порту получаю сообщение об ошибке:

stty 9600 parenb cs7 < /dev/ttyr01
bash: /dev/ttyr01: Input/output error

Пробовал minicom - тоже самое. Мокса в режиме RealCom. Удаленное устройство именно с такой скоростью порта.

 

Проделал все тоже самое с виртуальной машиной CentoOS7 тоже с ядром 3.Х - результат идентичный.

 

В WIN полет нормальный.

 

Подскажите, как полечить?

Спасибо!

Link to comment

Что интересно пакетов в сторону адаптера даже не отправляется. 

tcpdump -vvv -n host 192.168.7.200
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C

файрвол выключен (ну опять же порты как я писал выше - доступны)

 iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Link to comment

Добрый! Вы мне его отправляли сегодня по почте. Получил, установил. Порт начал открываеться. Будем пытаться обмениваться с устройством. Спасибо еще раз! Очень приятно когда у продукта такая поддержка.

Link to comment

Добрый день, уважаемая поддержка.

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

А именно: удалось добиться ответа от счетчика э-энергии (Энергомера СЕ301). Но результат не стабилен. Ответ был получен один раз. А в последствии порт молчит. Создается ощущение что порт то работает, то нет. В винде все ок.

Скажите, как можно удостовериться что дело не в порту? пытаюсь отправлять minicom\stty\php

 
Link to comment

Похоже разобрался. После запуска драйвера нужно его проинициализировать stty на нужные параметры и в моем случае похоже еще и включить raw mode. Драйвер работет.

Link to comment
  • 1 month later...

Похоже разобрался. После запуска драйвера нужно его проинициализировать stty на нужные параметры и в моем случае похоже еще и включить raw mode. Драйвер работает

 

Здравствуйте,

 

Пожалуйста поясните, что значит "проинициализировать stty на нужные параметры и в моем случае похоже еще и включить raw mode".

 

Я установил такой-же драйвер. Создал порты

 

root@:/home/hit# cd /usr/lib/npreal2/driver

root@:/usr/lib/npreal2/driver# ./mxaddsvr 192.168.1.46 16

 

ttyr00, cur00

ttyr01, cur01

ttyr02, cur02

ttyr03, cur03

ttyr04, cur04

ttyr05, cur05

ttyr06, cur06

ttyr07, cur07

ttyr08, cur08

ttyr09, cur09

ttyr0a, cur0a

ttyr0b, cur0b

ttyr0c, cur0c

ttyr0d, cur0d

ttyr0e, cur0e

ttyr0f, cur0f

 

 

Запустил прикладную программу. Она прекрасно заработала с портом ttyr00. Но, по всем остальным не работает. даже обмен не ведется

 

 

Активные соединения с интернетом (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 localhost:1880 localhost:51592 ESTABLISHED 19341/node-red

tcp 0 0 mint-orange:38548 192.168.1.46:966 ESTABLISHED 3417/npreal2d

tcp 0 196 mint-orange:ssh Home-PC:57494 ESTABLISHED 24072/sshd: hitkliv

tcp 0 0 mint-orange:55646 192.168.1.46:950 ESTABLISHED 3417/npreal2d

tcp 0 0 localhost:1880 localhost:53352 ESTABLISHED 19341/node-red

tcp 0 0 mint-orange:netbios-ssn Home-PC:41898 ESTABLISHED 24156/smbd

tcp 0 0 localhost:51592 localhost:1880 ESTABLISHED 1912/nginx: worker

tcp 0 0 mint-orang:microsoft-ds HitklivBook:49680 ESTABLISHED 25446/smbd

tcp 0 0 mint-orange:https Home-PC:56622 ESTABLISHED 1915/nginx: worker

tcp 0 0 localhost:53352 localhost:1880 ESTABLISHED 1915/nginx: worker

tcp 0 0 mint-orange:https Home-PC:56438 ESTABLISHED 1912/nginx: worker

 

 

Как это исправить?

 

Спасибо.

Link to comment

Здравствуйте,

 

Я установил драйвер версии 1.18.59, (взял по ссылке, расположенной выше).

 

===============================================================================
Copyright © 2002-2015 Moxa Inc.
All Rights Reserved.

MOXA NPort Server Real TTY Driver Ver1.18.59 Installation.
System Information: Kernel 4.8.0-34-generic; Machine x86_64.
===============================================================================


Tar files, please wait ... OK!
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 /lib/modules/4.8.0-34-generic/build SUBDIRS=/tmp/moxa/kernel3.x modules
make[1]: вход в каталог «/usr/src/linux-headers-4.8.0-34-generic»
CC [M] /tmp/moxa/kernel3.x/npreal2.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/moxa/kernel3.x/npreal2.mod.o
LD [M] /tmp/moxa/kernel3.x/npreal2.ko
make[1]: выход из каталога «/usr/src/linux-headers-4.8.0-34-generic»
cp -p npreal2.ko /lib/modules/4.8.0-34-generic/kernel/drivers/char/
depmod -a
cc -c npreal2d.c
cc npreal2d.o -o npreal2d
strip npreal2d
cc -c redund_main.c
cc -c redund.c
cc redund_main.o redund.o -lpthread -o npreal2d_redund
strip npreal2d_redund
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 /usr/lib/npreal2/driver.
Now you can cd /usr/lib/npreal2/driver and run ./mxaddsvr to add tty port.
===============================================================================

 

Создал порты:

 

root@mint:/usr/lib/npreal2/driver# ./mxaddsvr 192.168.1.46 16

ttyr00, cur00
ttyr01, cur01
ttyr02, cur02
ttyr03, cur03
ttyr04, cur04
ttyr05, cur05
ttyr06, cur06
ttyr07, cur07
ttyr08, cur08
ttyr09, cur09
ttyr0a, cur0a
ttyr0b, cur0b
ttyr0c, cur0c
ttyr0d, cur0d
ttyr0e, cur0e
ttyr0f, cur0f

 

Запустил прикладную программу. Она прекрасно заработала с портом ttyr00. Но, по всем остальным не работает. даже обмен не ведется

 

Активные соединения с интернетом (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:1880 localhost:51592 ESTABLISHED 19341/node-red
tcp 0 0 mint-orange:38548 192.168.1.46:966 ESTABLISHED 3417/npreal2d
tcp 0 196 mint-orange:ssh Home-PC:57494 ESTABLISHED 24072/sshd: hitkliv
tcp 0 0 mint-orange:55646 192.168.1.46:950 ESTABLISHED 3417/npreal2d
tcp 0 0 localhost:1880 localhost:53352 ESTABLISHED 19341/node-red
tcp 0 0 mint-orange:netbios-ssn Home-PC:41898 ESTABLISHED 24156/smbd
tcp 0 0 localhost:51592 localhost:1880 ESTABLISHED 1912/nginx: worker
tcp 0 0 mint-orang:microsoft-ds HitklivBook:49680 ESTABLISHED 25446/smbd
tcp 0 0 mint-orange:https Home-PC:56622 ESTABLISHED 1915/nginx: worker
tcp 0 0 localhost:53352 localhost:1880 ESTABLISHED 1915/nginx: worker
tcp 0 0 mint-orange:https Home-PC:56438 ESTABLISHED 1912/nginx: worker

 

 

Один из участников обсуждения писал в этой ветке, что нужно "проинициализировать stty на нужные параметры и в моем случае похоже еще и включить raw mode". Как это делается? И для чего эта процедура? Это типа "привязки" портов типа ttyr00, созданных скриптами их пакета драйвера, к  Stty-портам имеющимся в Linux?

 

Файрвол, у меня пока что все подряд пропускает (отключен)

 

Пожалуйста, помогите разобраться.

 

 

Link to comment
  • 2 weeks later...

Здравствуйте,

 

Я установил драйвер версии 1.18.59, (взял по ссылке, расположенной выше).

 

===============================================================================

Copyright © 2002-2015 Moxa Inc.

All Rights Reserved.

 

MOXA NPort Server Real TTY Driver Ver1.18.59 Installation.

System Information: Kernel 4.8.0-34-generic; Machine x86_64.

===============================================================================

 

 

Tar files, please wait ... OK!

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 /lib/modules/4.8.0-34-generic/build SUBDIRS=/tmp/moxa/kernel3.x modules

make[1]: вход в каталог «/usr/src/linux-headers-4.8.0-34-generic»

CC [M] /tmp/moxa/kernel3.x/npreal2.o

Building modules, stage 2.

MODPOST 1 modules

CC /tmp/moxa/kernel3.x/npreal2.mod.o

LD [M] /tmp/moxa/kernel3.x/npreal2.ko

make[1]: выход из каталога «/usr/src/linux-headers-4.8.0-34-generic»

cp -p npreal2.ko /lib/modules/4.8.0-34-generic/kernel/drivers/char/

depmod -a

cc -c npreal2d.c

cc npreal2d.o -o npreal2d

strip npreal2d

cc -c redund_main.c

cc -c redund.c

cc redund_main.o redund.o -lpthread -o npreal2d_redund

strip npreal2d_redund

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 /usr/lib/npreal2/driver.

Now you can cd /usr/lib/npreal2/driver and run ./mxaddsvr to add tty port.

===============================================================================

 

 

Создал порты:

 

root@mint:/usr/lib/npreal2/driver# ./mxaddsvr 192.168.1.46 16

 

ttyr00, cur00

ttyr01, cur01

ttyr02, cur02

ttyr03, cur03

ttyr04, cur04

ttyr05, cur05

ttyr06, cur06

ttyr07, cur07

ttyr08, cur08

ttyr09, cur09

ttyr0a, cur0a

ttyr0b, cur0b

ttyr0c, cur0c

ttyr0d, cur0d

ttyr0e, cur0e

ttyr0f, cur0f

 

Запустил прикладную программу. Она прекрасно заработала с портом ttyr00. Но, по всем остальным не работает. даже обмен не ведется

 

Активные соединения с интернетом (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 localhost:1880 localhost:51592 ESTABLISHED 19341/node-red

tcp 0 0 mint-orange:38548 192.168.1.46:966 ESTABLISHED 3417/npreal2d

tcp 0 196 mint-orange:ssh Home-PC:57494 ESTABLISHED 24072/sshd: hitkliv

tcp 0 0 mint-orange:55646 192.168.1.46:950 ESTABLISHED 3417/npreal2d

tcp 0 0 localhost:1880 localhost:53352 ESTABLISHED 19341/node-red

tcp 0 0 mint-orange:netbios-ssn Home-PC:41898 ESTABLISHED 24156/smbd

tcp 0 0 localhost:51592 localhost:1880 ESTABLISHED 1912/nginx: worker

tcp 0 0 mint-orang:microsoft-ds HitklivBook:49680 ESTABLISHED 25446/smbd

tcp 0 0 mint-orange:https Home-PC:56622 ESTABLISHED 1915/nginx: worker

tcp 0 0 localhost:53352 localhost:1880 ESTABLISHED 1915/nginx: worker

tcp 0 0 mint-orange:https Home-PC:56438 ESTABLISHED 1912/nginx: worker

 

 

Один из участников обсуждения писал в этой ветке, что нужно "проинициализировать stty на нужные параметры и в моем случае похоже еще и включить raw mode". Как это делается? И для чего эта процедура? Это типа "привязки" портов типа ttyr00, созданных скриптами их пакета драйвера, к  Stty-портам имеющимся в Linux?

 

Файрвол, у меня пока что все подряд пропускает (отключен)

 

Пожалуйста, помогите разобраться.

1. Сравни параметры рабочего и не рабочего COM порта выведя по ним параметры при помощи stty -a -F =/dev/ttyr00 и -a -F =/dev/tty[индекс не рабочего порта]

2. Установи недостающие параметры на порт тем же stty -F /dev/ttyrXX (man stty все достаточно понятно описано. На сколько я понял работа ком порта в линуксе это тонкая материя stty позволяет настроить ахулиард параметров. Какие из них нужно использовать - не понятно. Я вот месяц бьюсь мне устройстно не отдает перевод строки когда нужно, поэтому надо эксперементировать с параметрами, в вашем случае очень хорошо когда есть рабочий образец - понятно куда двигаться.

3. в моем случае мне надо 7 data bits 1 stop even 9600 я инициализирую  stty -F /dev/ttyr00 9600 -cstopb parenb -parodd cs7 raw. Мне помогло именно raw, на сколько я понял он выводит данные даже без признака конца строки, пока не будет получен конец строки от устройства он ничего в терминал не выведет. Мне это частично помогло, но проблема оказалась где то глубже. Сегодня буду пробовать другой адаптер, может дело в дровах.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...