MOXA Nport 5110A驱动程序安装失败(在Linux Ubuntu 14.04上)

时间:2015-09-01 04:50:15

标签: driver ubuntu-14.04 failed-installation

我正在尝试在我的Linux Ubuntu 14.04中安装MOXA Nport 5110A驱动程序,但失败了。有关安装过程的详细信息太长,我无法理解问题所在(坦率地说,我仍然是Linux世界中的菜鸟)。详情如下。

===============================================================================
Copyright (C) 2002-2012  Moxa Inc.
All Rights Reserved.

MOXA NPort Server Real TTY Driver V1.18 Installation.
System Imformation: Kernel 3.13.0-62-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/3.13.0-62-generic/build SUBDIRS=/tmp/moxa modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-62-generic'
  CC [M]  /tmp/moxa/npreal2.o
/tmp/moxa/npreal2.c: In function ‘npreal_init_tty’:
/tmp/moxa/npreal2.c:661:11: error: dereferencing pointer to incomplete type
         de->data = (void *) net_node;
           ^
/tmp/moxa/npreal2.c:663:11: error: dereferencing pointer to incomplete type
         de->proc_fops = &npreal_net_fops;
           ^
In file included from /tmp/moxa/npreal2.c:92:0:
/tmp/moxa/npreal2.c: In function ‘npreal_init’:
/tmp/moxa/npreal2.h:28:35: error: ‘struct tty_driver’ has no member named ‘termios_locked’
 #define DRV_VAR_P(x) npvar_sdriver->x
                                   ^
/tmp/moxa/npreal2.c:779:5: note: in expansion of macro ‘DRV_VAR_P’
     DRV_VAR_P(termios_locked) = npvar_termios_locked;
     ^
/tmp/moxa/npreal2.c: In function ‘npreal_open’:
/tmp/moxa/npreal2.c:1064:13: error: invalid type argument of unary ‘*’ (have ‘struct ktermios’)
             *tty->termios = info->normal_termios;
             ^
/tmp/moxa/npreal2.c:1066:13: error: invalid type argument of unary ‘*’ (have ‘struct ktermios’)
             *tty->termios = info->callout_termios;
             ^
/tmp/moxa/npreal2.c:1080:8: error: ‘struct tty_struct’ has no member named ‘low_latency’
     tty->low_latency = 1;
        ^
/tmp/moxa/npreal2.c: In function ‘npreal_close’:
/tmp/moxa/npreal2.c:1170:32: error: invalid type argument of unary ‘*’ (have ‘struct ktermios’)
         info->normal_termios = *tty->termios;
                                ^
/tmp/moxa/npreal2.c:1172:33: error: invalid type argument of unary ‘*’ (have ‘struct ktermios’)
         info->callout_termios = *tty->termios;
                                 ^
/tmp/moxa/npreal2.c: In function ‘npreal_ioctl’:
/tmp/moxa/npreal2.c:1612:21: error: invalid type argument of ‘->’ (have ‘struct ktermios’)
         tty->termios->c_cflag = ((tty->termios->c_cflag & ~CLOCAL) |
                     ^
/tmp/moxa/npreal2.c:1612:47: error: invalid type argument of ‘->’ (have ‘struct ktermios’)
         tty->termios->c_cflag = ((tty->termios->c_cflag & ~CLOCAL) |
                                               ^
/tmp/moxa/npreal2.c: In function ‘npreal_block_til_ready’:
/tmp/moxa/npreal2.c:1962:26: error: invalid type argument of ‘->’ (have ‘struct ktermios’)
         if ( tty->termios->c_cflag & CLOCAL )
                          ^
/tmp/moxa/npreal2.c: In function ‘npreal_startup’:
/tmp/moxa/npreal2.c:2155:27: error: invalid type argument of ‘->’ (have ‘struct ktermios’)
     if (info->tty->termios->c_cflag & CBAUD)
                           ^
/tmp/moxa/npreal2.c: In function ‘npreal_shutdown’:
/tmp/moxa/npreal2.c:2278:42: error: invalid type argument of ‘->’ (have ‘struct ktermios’)
     if (!info->tty || (info->tty->termios->c_cflag & HUPCL))
                                          ^
/tmp/moxa/npreal2.c: In function ‘npreal_port_init’:
/tmp/moxa/npreal2.c:2325:18: error: incompatible types when assigning to type ‘struct ktermios *’ from type ‘struct ktermios’
     if (!(termio = info->tty->termios))
                  ^
/tmp/moxa/npreal2.c: In function ‘npreal_port_shutdown’:
/tmp/moxa/npreal2.c:2700:18: error: incompatible types when assigning to type ‘struct ktermios *’ from type ‘struct ktermios’
     if (!(termio = info->tty->termios))
                  ^
/tmp/moxa/npreal2.c: In function ‘tty_buffer_free’:
/tmp/moxa/npreal2.c:3352:9: error: implicit declaration of function ‘kfree’ [-Werror=implicit-function-declaration]
         kfree(b);
         ^
/tmp/moxa/npreal2.c:3355:22: error: ‘struct tty_struct’ has no member named ‘buf’
         b->next = tty->buf.free;
                      ^
/tmp/moxa/npreal2.c:3356:12: error: ‘struct tty_struct’ has no member named ‘buf’
         tty->buf.free = b;
            ^
In file included from include/linux/seqlock.h:35:0,
                 from include/linux/time.h:5,
                 from include/linux/stat.h:18,
                 from include/linux/module.h:10,
                 from /tmp/moxa/npreal2.c:42:
/tmp/moxa/npreal2.c: In function ‘npreal_flush_to_ldisc’:
/tmp/moxa/npreal2.c:3424:31: error: ‘struct tty_struct’ has no member named ‘buf’
         spin_lock_irqsave(&tty->buf.lock, flags);
                               ^
include/linux/spinlock.h:199:34: note: in definition of macro ‘raw_spin_lock_irqsave’
   flags = _raw_spin_lock_irqsave(lock); \
                                  ^
/tmp/moxa/npreal2.c:3424:9: note: in expansion of macro ‘spin_lock_irqsave’
         spin_lock_irqsave(&tty->buf.lock, flags);
         ^
/tmp/moxa/npreal2.c:3425:19: error: ‘struct tty_struct’ has no member named ‘buf’
         head = tty->buf.head;
                   ^
/tmp/moxa/npreal2.c:3428:16: error: ‘struct tty_struct’ has no member named ‘buf’
             tty->buf.head = NULL;
                ^
/tmp/moxa/npreal2.c:3452:26: error: ‘struct tty_buffer’ has no member named ‘char_buf_ptr’
                 cp = head->char_buf_ptr + head->read;
                          ^
/tmp/moxa/npreal2.c:3453:26: error: ‘struct tty_buffer’ has no member named ‘flag_buf_ptr’
                 fp = head->flag_buf_ptr + head->read;
                          ^
/tmp/moxa/npreal2.c:3455:44: error: ‘struct tty_struct’ has no member named ‘buf’
                 spin_unlock_irqrestore(&tty->buf.lock, flags);
                                            ^
In file included from include/linux/seqlock.h:35:0,
                 from include/linux/time.h:5,
                 from include/linux/stat.h:18,
                 from include/linux/module.h:10,
                 from /tmp/moxa/npreal2.c:42:
/tmp/moxa/npreal2.c:3461:39: error: ‘struct tty_struct’ has no member named ‘buf’
                 spin_lock_irqsave(&tty->buf.lock, flags);
                                       ^
include/linux/spinlock.h:199:34: note: in definition of macro ‘raw_spin_lock_irqsave’
   flags = _raw_spin_lock_irqsave(lock); \
                                  ^
/tmp/moxa/npreal2.c:3461:17: note: in expansion of macro ‘spin_lock_irqsave’
                 spin_lock_irqsave(&tty->buf.lock, flags);
                 ^
/tmp/moxa/npreal2.c:3463:16: error: ‘struct tty_struct’ has no member named ‘buf’
             tty->buf.head = head;
                ^
/tmp/moxa/npreal2.c:3465:36: error: ‘struct tty_struct’ has no member named ‘buf’
         spin_unlock_irqrestore(&tty->buf.lock, flags);
                                    ^
/tmp/moxa/npreal2.c: In function ‘npreal_create_proc_entry’:
/tmp/moxa/npreal2.c:3546:5: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
     return( create_proc_entry( name, mode, parent ) );
     ^
/tmp/moxa/npreal2.c:3546:5: warning: return makes pointer from integer without a cast [enabled by default]
/tmp/moxa/npreal2.c: In function ‘npreal_remove_proc_entry’:
/tmp/moxa/npreal2.c:3554:26: error: dereferencing pointer to incomplete type
     remove_proc_entry(pde->name, pde->parent);
                          ^
/tmp/moxa/npreal2.c:3554:37: error: dereferencing pointer to incomplete type
     remove_proc_entry(pde->name, pde->parent);
                                     ^
/tmp/moxa/npreal2.c: In function ‘npreal_net_open’:
/tmp/moxa/npreal2.c:3606:5: error: implicit declaration of function ‘PDE’ [-Werror=implicit-function-declaration]
     de = PDE(inode);
     ^
/tmp/moxa/npreal2.c:3606:8: warning: assignment makes pointer from integer without a cast [enabled by default]
     de = PDE(inode);
        ^
/tmp/moxa/npreal2.c:3615:32: error: dereferencing pointer to incomplete type
     nd = (struct nd_struct *)de->data;
                                ^
/tmp/moxa/npreal2.c: In function ‘npreal_net_write’:
/tmp/moxa/npreal2.c:4255:18: error: ‘struct tty_struct’ has no member named ‘low_latency’
     if(!info->tty->low_latency)
                  ^
/tmp/moxa/npreal2.c:4283:5: warning: passing argument 1 of ‘tty_buffer_request_room’ from incompatible pointer type [enabled by default]
     if ((cnt = tty_buffer_request_room(tty, count)) <= 0)
     ^
In file included from /tmp/moxa/npreal2.c:57:0:
include/linux/tty_flip.h:5:12: note: expected ‘struct tty_port *’ but argument is of type ‘struct tty_struct *’
 extern int tty_buffer_request_room(struct tty_port *port, size_t size);
            ^
/tmp/moxa/npreal2.c:4296:17: error: ‘struct tty_struct’ has no member named ‘icanon’
         if (!tty->icanon || tty->canon_data)
                 ^
/tmp/moxa/npreal2.c:4296:32: error: ‘struct tty_struct’ has no member named ‘canon_data’
         if (!tty->icanon || tty->canon_data)
                                ^
/tmp/moxa/npreal2.c:4311:13: error: ‘struct tty_struct’ has no member named ‘icanon’
     if (!tty->icanon || tty->canon_data)
             ^
/tmp/moxa/npreal2.c:4311:28: error: ‘struct tty_struct’ has no member named ‘canon_data’
     if (!tty->icanon || tty->canon_data)
                            ^
/tmp/moxa/npreal2.c:4313:52: error: ‘struct tty_struct’ has no member named ‘read_cnt’
         if ((cnt = MIN(cnt,(N_TTY_BUF_SIZE-1) - tty->read_cnt )) <= 0)
                                                    ^
/tmp/moxa/npreal2.c:117:26: note: in definition of macro ‘MIN’
 #define MIN(a,b) ((a) < (b) ? (a) : (b))
                          ^
/tmp/moxa/npreal2.c:4313:52: error: ‘struct tty_struct’ has no member named ‘read_cnt’
         if ((cnt = MIN(cnt,(N_TTY_BUF_SIZE-1) - tty->read_cnt )) <= 0)
                                                    ^
/tmp/moxa/npreal2.c:117:38: note: in definition of macro ‘MIN’
 #define MIN(a,b) ((a) < (b) ? (a) : (b))
                                      ^
/tmp/moxa/npreal2.c:4347:5: warning: passing argument 1 of ‘tty_insert_flip_string’ from incompatible pointer type [enabled by default]
     if ((count = tty_insert_flip_string(tty, (unsigned char *)buf, cnt)))
     ^
In file included from /tmp/moxa/npreal2.c:57:0:
include/linux/tty_flip.h:29:19: note: expected ‘struct tty_port *’ but argument is of type ‘struct tty_struct *’
 static inline int tty_insert_flip_string(struct tty_port *port,
                   ^
/tmp/moxa/npreal2.c:4349:9: warning: passing argument 1 of ‘tty_flip_buffer_push’ from incompatible pointer type [enabled by default]
         tty_flip_buffer_push(tty);
         ^
In file included from /tmp/moxa/npreal2.c:57:0:
include/linux/tty_flip.h:14:13: note: expected ‘struct tty_port *’ but argument is of type ‘struct tty_struct *’
 extern void tty_flip_buffer_push(struct tty_port *port);
             ^
/tmp/moxa/npreal2.c: In function ‘npreal_process_notify’:
/tmp/moxa/npreal2.c:4516:16: error: ‘struct tty_struct’ has no member named ‘low_latency’
         if(!tty->low_latency)
                ^
/tmp/moxa/npreal2.c:4522:9: warning: passing argument 1 of ‘tty_insert_flip_char’ from incompatible pointer type [enabled by default]
         tty_insert_flip_char(tty, 0, TTY_BREAK);
         ^
In file included from /tmp/moxa/npreal2.c:57:0:
include/linux/tty_flip.h:17:19: note: expected ‘struct tty_port *’ but argument is of type ‘struct tty_struct *’
 static inline int tty_insert_flip_char(struct tty_port *port,
                   ^
/tmp/moxa/npreal2.c: In function ‘npreal_do_session_recovery’:
/tmp/moxa/npreal2.c:4571:22: error: incompatible types when assigning to type ‘struct ktermios *’ from type ‘struct ktermios’
         if (!(termio = info->tty->termios))
                      ^
cc1: some warnings being treated as errors
make[2]: *** [/tmp/moxa/npreal2.o] Error 1
make[1]: *** [_module_/tmp/moxa] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-62-generic'
make: *** [module] Error 2
Check Driver...
FAILED !!!
 
Install Not Completed !

你能帮我找出问题所在吗?

我附上链接以下载驱动程序文件: NPort Real TTY Driver for Linux

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并与MOXA取得了联系。他们设法将我重定向到了经销商(德国的systerra)。他们(systerra)向我发送了驱动程序版本1.18.51_build_15051816,它运行得很好。我要求MOXA将此版本上传到他们的网站,不知道他们是否管理到目前为止。

答案 1 :(得分:1)

为了帮助其他人解决这个问题,你需要一个以后的驱动程序。截至2015年10月,可从此链接(Linux)moxa support forum link

获取最新驱动程序

请提醒Moxa技术支持,他们销售的产品有一个4岁的驱动程序,而不是在他们的网站上更新,真的很糟糕!