All TTY are blocked when I try to use npreal2 driver (Moxa)
Posted: Wed Apr 16, 2014 3:38 am
Hello,
Sorry if my english isn't perfect.
When ethernet cable is unplugged and I send data on my serial tty (ttyr00), every tty are blocked for about one minute (thus X11 can't be used anymore during that minute).
I send data with the command:
This problem doesn't appear on kernel 2.6.32-358.el6.i686 (default CentOS 6.4 kernel).
I use CentOs 6.4 Linux with kernel 3.2.54 with grsecurity patch.
RBAC is not activated.
I try to use Moxa NPort 5110 Series 1-port Ethernet to RS-232 Adapter.
Moxa NPort 5110 is a serial-to-Ethernet converter (More information available here).
Source code of the driver is available here.
Moxa provides a driver called (module) npreal2 and a daemon npreal2d.
The daemon:
When I boot the server, rc.local call mxloadsvr script that creates ttyr00, ttyr01, ttyr02, ttyr03 and cur00, cur01, cur02, cur03 and start the npreal2 daemon.
Below is the npreal2d config file:
Below is log file of npreal2d:
I have tried to change tty options like this :
Thanks for your help.
Regards.
Romain
Sorry if my english isn't perfect.
When ethernet cable is unplugged and I send data on my serial tty (ttyr00), every tty are blocked for about one minute (thus X11 can't be used anymore during that minute).
I send data with the command:
- Code: Select all
echo "foobar" > /dev/ttyr00
This problem doesn't appear on kernel 2.6.32-358.el6.i686 (default CentOS 6.4 kernel).
I use CentOs 6.4 Linux with kernel 3.2.54 with grsecurity patch.
- Code: Select all
[root@i_secure ~]# uname -ar
Linux i-Secure 3.2.54-grsec #1 SMP PREEMPT Wed Mar 5 08:32:11 CET 2014 i686 i686 i386 GNU/Linux
RBAC is not activated.
I try to use Moxa NPort 5110 Series 1-port Ethernet to RS-232 Adapter.
Moxa NPort 5110 is a serial-to-Ethernet converter (More information available here).
Source code of the driver is available here.
Moxa provides a driver called (module) npreal2 and a daemon npreal2d.
- Code: Select all
[root@i_secure ~]# lsmod
Module Size Used by
npreal2 182283 1
tg3 122762 0
libphy 16486 1 tg3
xhci_hcd 71392 0
The daemon:
- Code: Select all
[root@i_secure ~]# ps aux|grep -i npreal
root 2834 0.0 0.0 2464 460 ? S Apr15 0:00 /usr/lib/npreal2/driver/npreal2d_redund -t 1
root 2838 0.0 0.0 2348 476 ? S Apr15 0:02 /usr/lib/npreal2/driver/npreal2d -t 1
When I boot the server, rc.local call mxloadsvr script that creates ttyr00, ttyr01, ttyr02, ttyr03 and cur00, cur01, cur02, cur03 and start the npreal2 daemon.
- Code: Select all
[root@i_secure ~]# ls -l /dev/tty*
crw-rw-rw- 1 root tty 5, 0 16 avril 08:57 /dev/tty
crw--w---- 1 root tty 4, 0 16 avril 08:57 /dev/tty0
crw--w---- 1 igc tty 4, 1 16 avril 09:00 /dev/tty1
crw--w---- 1 root tty 4, 10 16 avril 08:57 /dev/tty10
crw--w---- 1 root tty 4, 11 16 avril 08:57 /dev/tty11
crw--w---- 1 root tty 4, 12 16 avril 08:57 /dev/tty12
crw--w---- 1 root tty 4, 13 16 avril 08:57 /dev/tty13
crw--w---- 1 root tty 4, 14 16 avril 08:57 /dev/tty14
crw--w---- 1 root tty 4, 15 16 avril 08:57 /dev/tty15
crw--w---- 1 root tty 4, 16 16 avril 08:57 /dev/tty16
crw--w---- 1 root tty 4, 17 16 avril 08:57 /dev/tty17
crw--w---- 1 root tty 4, 18 16 avril 08:57 /dev/tty18
crw--w---- 1 root tty 4, 19 16 avril 08:57 /dev/tty19
crw------- 1 root root 4, 2 16 avril 08:58 /dev/tty2
crw--w---- 1 root tty 4, 20 16 avril 08:57 /dev/tty20
crw--w---- 1 root tty 4, 21 16 avril 08:57 /dev/tty21
crw--w---- 1 root tty 4, 22 16 avril 08:57 /dev/tty22
crw--w---- 1 root tty 4, 23 16 avril 08:57 /dev/tty23
crw--w---- 1 root tty 4, 24 16 avril 08:57 /dev/tty24
crw--w---- 1 root tty 4, 25 16 avril 08:57 /dev/tty25
crw--w---- 1 root tty 4, 26 16 avril 08:57 /dev/tty26
crw--w---- 1 root tty 4, 27 16 avril 08:57 /dev/tty27
crw--w---- 1 root tty 4, 28 16 avril 08:57 /dev/tty28
crw--w---- 1 root tty 4, 29 16 avril 08:57 /dev/tty29
crw------- 1 root root 4, 3 16 avril 08:58 /dev/tty3
crw--w---- 1 root tty 4, 30 16 avril 08:57 /dev/tty30
crw--w---- 1 root tty 4, 31 16 avril 08:57 /dev/tty31
crw--w---- 1 root tty 4, 32 16 avril 08:57 /dev/tty32
crw--w---- 1 root tty 4, 33 16 avril 08:57 /dev/tty33
crw--w---- 1 root tty 4, 34 16 avril 08:57 /dev/tty34
crw--w---- 1 root tty 4, 35 16 avril 08:57 /dev/tty35
crw--w---- 1 root tty 4, 36 16 avril 08:57 /dev/tty36
crw--w---- 1 root tty 4, 37 16 avril 08:57 /dev/tty37
crw--w---- 1 root tty 4, 38 16 avril 08:57 /dev/tty38
crw--w---- 1 root tty 4, 39 16 avril 08:57 /dev/tty39
crw------- 1 root root 4, 4 16 avril 08:58 /dev/tty4
crw--w---- 1 root tty 4, 40 16 avril 08:57 /dev/tty40
crw--w---- 1 root tty 4, 41 16 avril 08:57 /dev/tty41
crw--w---- 1 root tty 4, 42 16 avril 08:57 /dev/tty42
crw--w---- 1 root tty 4, 43 16 avril 08:57 /dev/tty43
crw--w---- 1 root tty 4, 44 16 avril 08:57 /dev/tty44
crw--w---- 1 root tty 4, 45 16 avril 08:57 /dev/tty45
crw--w---- 1 root tty 4, 46 16 avril 08:57 /dev/tty46
crw--w---- 1 root tty 4, 47 16 avril 08:57 /dev/tty47
crw--w---- 1 root tty 4, 48 16 avril 08:57 /dev/tty48
crw--w---- 1 root tty 4, 49 16 avril 08:57 /dev/tty49
crw------- 1 root root 4, 5 16 avril 08:58 /dev/tty5
crw--w---- 1 root tty 4, 50 16 avril 08:57 /dev/tty50
crw--w---- 1 root tty 4, 51 16 avril 08:57 /dev/tty51
crw--w---- 1 root tty 4, 52 16 avril 08:57 /dev/tty52
crw--w---- 1 root tty 4, 53 16 avril 08:57 /dev/tty53
crw--w---- 1 root tty 4, 54 16 avril 08:57 /dev/tty54
crw--w---- 1 root tty 4, 55 16 avril 08:57 /dev/tty55
crw--w---- 1 root tty 4, 56 16 avril 08:57 /dev/tty56
crw--w---- 1 root tty 4, 57 16 avril 08:57 /dev/tty57
crw--w---- 1 root tty 4, 58 16 avril 08:57 /dev/tty58
crw--w---- 1 root tty 4, 59 16 avril 08:57 /dev/tty59
crw------- 1 root root 4, 6 16 avril 08:58 /dev/tty6
crw--w---- 1 root tty 4, 60 16 avril 08:57 /dev/tty60
crw--w---- 1 root tty 4, 61 16 avril 08:57 /dev/tty61
crw--w---- 1 root tty 4, 62 16 avril 08:57 /dev/tty62
crw--w---- 1 root tty 4, 63 16 avril 08:57 /dev/tty63
crw--w---- 1 root tty 4, 7 16 avril 08:57 /dev/tty7
crw--w---- 1 root tty 4, 8 16 avril 08:57 /dev/tty8
crw--w---- 1 root tty 4, 9 16 avril 08:57 /dev/tty9
crw-rw---- 1 root tty 3, 0 16 avril 08:57 /dev/ttyp0
crw-rw---- 1 root tty 3, 1 16 avril 08:57 /dev/ttyp1
crw-rw---- 1 root tty 3, 2 16 avril 08:57 /dev/ttyp2
crw-rw---- 1 root tty 3, 3 16 avril 08:57 /dev/ttyp3
crw-rw---- 1 root tty 3, 4 16 avril 08:57 /dev/ttyp4
crw-rw---- 1 root tty 3, 5 16 avril 08:57 /dev/ttyp5
crw-rw---- 1 root tty 3, 6 16 avril 08:57 /dev/ttyp6
crw-rw---- 1 root tty 3, 7 16 avril 08:57 /dev/ttyp7
crw-rw---- 1 root tty 3, 8 16 avril 08:57 /dev/ttyp8
crw-rw---- 1 root tty 3, 9 16 avril 08:57 /dev/ttyp9
crw-rw---- 1 root tty 3, 10 16 avril 08:57 /dev/ttypa
crw-rw---- 1 root tty 3, 11 16 avril 08:57 /dev/ttypb
crw-rw---- 1 root tty 3, 12 16 avril 08:57 /dev/ttypc
crw-rw---- 1 root tty 3, 13 16 avril 08:57 /dev/ttypd
crw-rw---- 1 root tty 3, 14 16 avril 08:57 /dev/ttype
crw-rw---- 1 root tty 3, 15 16 avril 08:57 /dev/ttypf
crw-rw---- 1 root tty 3, 16 16 avril 08:57 /dev/ttyq0
crw-rw---- 1 root tty 3, 17 16 avril 08:57 /dev/ttyq1
crw-rw---- 1 root tty 3, 18 16 avril 08:57 /dev/ttyq2
crw-rw---- 1 root tty 3, 19 16 avril 08:57 /dev/ttyq3
crw-rw---- 1 root tty 3, 20 16 avril 08:57 /dev/ttyq4
crw-rw---- 1 root tty 3, 21 16 avril 08:57 /dev/ttyq5
crw-rw---- 1 root tty 3, 22 16 avril 08:57 /dev/ttyq6
crw-rw---- 1 root tty 3, 23 16 avril 08:57 /dev/ttyq7
crw-rw---- 1 root tty 3, 24 16 avril 08:57 /dev/ttyq8
crw-rw---- 1 root tty 3, 25 16 avril 08:57 /dev/ttyq9
crw-rw---- 1 root tty 3, 26 16 avril 08:57 /dev/ttyqa
crw-rw---- 1 root tty 3, 27 16 avril 08:57 /dev/ttyqb
crw-rw---- 1 root tty 3, 28 16 avril 08:57 /dev/ttyqc
crw-rw---- 1 root tty 3, 29 16 avril 08:57 /dev/ttyqd
crw-rw---- 1 root tty 3, 30 16 avril 08:57 /dev/ttyqe
crw-rw---- 1 root tty 3, 31 16 avril 08:57 /dev/ttyqf
crw-rw---- 1 root tty 3, 32 16 avril 08:57 /dev/ttyr0
crw-rw-rw- 1 root root 33, 0 16 avril 08:58 /dev/ttyr00
crw-rw-rw- 1 root root 33, 0 16 avril 08:58 /dev/ttyr01
crw-rw-rw- 1 root root 33, 0 16 avril 08:58 /dev/ttyr02
crw-rw-rw- 1 root root 33, 0 16 avril 08:58 /dev/ttyr03
crw-rw---- 1 root tty 3, 33 16 avril 08:57 /dev/ttyr1
crw-rw---- 1 root tty 3, 34 16 avril 08:57 /dev/ttyr2
crw-rw---- 1 root tty 3, 35 16 avril 08:57 /dev/ttyr3
crw-rw---- 1 root tty 3, 36 16 avril 08:57 /dev/ttyr4
crw-rw---- 1 root tty 3, 37 16 avril 08:57 /dev/ttyr5
crw-rw---- 1 root tty 3, 38 16 avril 08:57 /dev/ttyr6
crw-rw---- 1 root tty 3, 39 16 avril 08:57 /dev/ttyr7
crw-rw---- 1 root tty 3, 40 16 avril 08:57 /dev/ttyr8
crw-rw---- 1 root tty 3, 41 16 avril 08:57 /dev/ttyr9
crw-rw---- 1 root tty 3, 42 16 avril 08:57 /dev/ttyra
crw-rw---- 1 root tty 3, 43 16 avril 08:57 /dev/ttyrb
crw-rw---- 1 root tty 3, 44 16 avril 08:57 /dev/ttyrc
crw-rw---- 1 root tty 3, 45 16 avril 08:57 /dev/ttyrd
crw-rw---- 1 root tty 3, 46 16 avril 08:57 /dev/ttyre
crw-rw---- 1 root tty 3, 47 16 avril 08:57 /dev/ttyrf
crw-rw---- 1 root tty 3, 48 16 avril 08:57 /dev/ttys0
crw-rw---- 1 root tty 3, 49 16 avril 08:57 /dev/ttys1
crw-rw---- 1 root tty 3, 50 16 avril 08:57 /dev/ttys2
crw-rw---- 1 root tty 3, 51 16 avril 08:57 /dev/ttys3
crw-rw---- 1 root tty 3, 52 16 avril 08:57 /dev/ttys4
crw-rw---- 1 root tty 3, 53 16 avril 08:57 /dev/ttys5
crw-rw---- 1 root tty 3, 54 16 avril 08:57 /dev/ttys6
crw-rw---- 1 root tty 3, 55 16 avril 08:57 /dev/ttys7
crw-rw---- 1 root tty 3, 56 16 avril 08:57 /dev/ttys8
crw-rw---- 1 root tty 3, 57 16 avril 08:57 /dev/ttys9
crw-rw---- 1 root tty 3, 58 16 avril 08:57 /dev/ttysa
crw-rw---- 1 root tty 3, 59 16 avril 08:57 /dev/ttysb
crw-rw---- 1 root tty 3, 60 16 avril 08:57 /dev/ttysc
crw-rw---- 1 root tty 3, 61 16 avril 08:57 /dev/ttysd
crw-rw---- 1 root tty 3, 62 16 avril 08:57 /dev/ttyse
crw-rw---- 1 root tty 3, 63 16 avril 08:57 /dev/ttysf
Below is the npreal2d config file:
- Code: Select all
#=========================================================#
# This configuration file is created by Moxa NPort #
# Administrator Program automatically, please do not #
# modify this file by yourself. #
#=========================================================#
ttymajor=33
calloutmajor=38
#[Minor] [ServerIP] [data] [cmd] [FIFO] [SSL] [ttyName] [coutName] [interface][mode][BackIP]
0 200.4.1.1 950 966 1 0 ttyr00 cur00 0 0 (null)
0 200.4.1.2 950 966 1 0 ttyr01 cur01 0 0 (null)
0 200.4.1.3 950 966 1 0 ttyr02 cur02 0 0 (null)
0 200.4.1.3 951 967 1 0 ttyr03 cur03 0 0 (null)
Below is log file of npreal2d:
- Code: Select all
04-15-2014 18:00:42 Master tty open fail (/proc/npreal2/0) !
04-15-2014 18:00:42 Master tty open fail (/proc/npreal2/0) !
04-15-2014 18:00:42 Master tty open fail (/proc/npreal2/0) !
04-15-2014 18:12:43 Can not open the polling_nport_fd socket !
04-15-2014 18:12:43 MOXA Real TTY daemon program starting (Ver1.18 Build 12020919)...
04-15-2014 18:12:43 Master tty open fail (/proc/npreal2/0) !
04-15-2014 18:12:43 Master tty open fail (/proc/npreal2/0) !
04-15-2014 18:12:43 Master tty open fail (/proc/npreal2/0) !
04-15-2014 18:13:04 200.4.1.1 is alive
04-15-2014 18:14:15 Socket connect fail (200.4.1.1,TCP port 950) !
04-15-2014 18:14:15 Socket connect fail (200.4.1.1,TCP port 950) !
04-15-2014 18:48:41 Can not open the polling_nport_fd socket !
04-15-2014 18:48:41 MOXA Real TTY daemon program starting (Ver1.18 Build 12020919)...
04-15-2014 18:48:41 Can not open the polling_nport_fd socket !
04-15-2014 18:48:41 MOXA Real TTY daemon program starting (Ver1.18 Build 12020919)...
04-15-2014 18:48:41 Master tty open fail (/proc/npreal2/0) !
04-15-2014 18:48:41 Master tty open fail (/proc/npreal2/0) !
04-15-2014 18:48:41 Master tty open fail (/proc/npreal2/0) !
04-15-2014 19:01:39 200.4.1.1 is alive
04-15-2014 19:03:20 Socket connect fail (200.4.1.1,TCP port 950) !
04-15-2014 19:03:20 Socket connect fail (200.4.1.1,TCP port 950) !
04-15-2014 19:10:47 Socket connect fail (200.4.1.1,TCP port 950) !
04-15-2014 19:10:47 Socket connect fail (200.4.1.1,TCP port 950) !
04-16-2014 08:47:29 Socket connect fail (200.4.1.1,TCP port 950) !
04-16-2014 08:47:29 Socket connect fail (200.4.1.1,TCP port 950) !
I have tried to change tty options like this :
- Code: Select all
stty-F /dev/ttyr00 -icanon min 0 time 1
Thanks for your help.
Regards.
Romain