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

amaranth

Пользователи
  • Posts

    16
  • Joined

  • Last visited

Posts posted by amaranth

  1. Если интересно, то я делаю следующее:

    1. На сервере под управлением Fedora 30 (на HyperV) ставлю Docker

    2. Создаю на основе образа Fedora 30 образ с помощью Dockerfile и в нем собираю драйвера moxa

    3. Далее в этот образ интегрирую свою приложение на .NET Core, которое опрашивает устройство через ttyr00 и выводит данные через веб-интерфейс (с испоьзованием WebSocket).

    4. Назначаю автозапускаемым мое приложение.

    Образ готов к употреблению. Получилось очень интересно.

  2. 7 минут назад, Незнайка сказал:

    :rolleyes:

    После добавления устройства:

    Adding Server...

    ttyr00, cur00
    Added RealCom server: ip : 10.96.1.89

    mknod -m 666 ttyr00 c 33 0
    mknod -m 666 cur00 c 38 0
    Complete.

    Как посмотреть вывод с порта? На нем данные постоянно поступают от устройства.

    Команда stty -F /dev/ttyr00 9600 ничего не выводит, просто закрывается без ничего.

  3. 7 минут назад, Незнайка сказал:

    Если не сложно, дайте сначала листинг установки исходного драйвера.

    1.9.11 (хотя почему в np_ver.h #define    NPREAL_VERSION    "Ver1.19.9"  ?) вроде получилось:

     

     ./mxinst m64

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

    MOXA NPort Server Real TTY Driver Ver1.19.9 Installation.
    System Information: Kernel 5.2.7-200.fc30.x86_64; Machine x86_64.
    ===============================================================================


    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/5.2.7-200.fc30.x86_64/build M=/tmp/moxa modules
    make[1]: вход в каталог «/usr/src/kernels/5.2.7-200.fc30.x86_64»
      Building modules, stage 2.
      MODPOST 1 modules
    make[1]: выход из каталога «/usr/src/kernels/5.2.7-200.fc30.x86_64»
    cp -p npreal2.ko /lib/modules/5.2.7-200.fc30.x86_64/kernel/drivers/char/
    depmod -a
    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.
    ===============================================================================

  4. 11 минут назад, Незнайка сказал:

    Добрый день. Зачем включаете защищённый обмен? Какой у вас NPort?

    Без включения защищенного обмена тоже самое:

    ./mxinst m64

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

    MOXA NPort Server Real TTY Driver Ver1.19 Installation.
    System Information: Kernel 5.2.7-200.fc30.x86_64; Machine x86_64.
    ===============================================================================

    There is an Real TTY Driver installed in your system.
    Continue to install will overwrite the old driver.
    Do you want to continue installing? [y/N].
    y

    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/5.2.7-200.fc30.x86_64/build SUBDIRS=/tmp/moxa modules
    make[1]: вход в каталог «/usr/src/kernels/5.2.7-200.fc30.x86_64»
    Makefile:213: ================= WARNING ================
    Makefile:214: 'SUBDIRS' will be removed after Linux 5.3
    Makefile:215: Please use 'M=' or 'KBUILD_EXTMOD' instead
    Makefile:216: ==========================================
      Building modules, stage 2.
      MODPOST 1 modules
    make[1]: выход из каталога «/usr/src/kernels/5.2.7-200.fc30.x86_64»
    cp -p npreal2.ko /lib/modules/5.2.7-200.fc30.x86_64/kernel/drivers/char/
    depmod -a
    Check Driver...
    Copying driver files ... OK!
    Load driver...
    OK!

    Loading TTY Driver...
    rm -f /dev/ttyr01
    mknod -m 666 ttyr01 c 33 2
    rm -f /dev/cur01
    mknod -m 666 cur01 c 38 2
    file open error


    ===============================================================================
    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.
    ===============================================================================

  5. Вроде бы собралось:

    ./mxinst m64

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

    MOXA NPort Server Real TTY Driver Ver1.19 Installation.
    System Information: Kernel 5.2.7-200.fc30.x86_64; Machine x86_64.
    ===============================================================================

    There is an Real TTY Driver installed in your system.
    Continue to install will overwrite the old driver.
    Do you want to continue installing? [y/N].
    y

    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].
    y
    make -C /lib/modules/5.2.7-200.fc30.x86_64/build SUBDIRS=/tmp/moxa modules
    make[1]: вход в каталог «/usr/src/kernels/5.2.7-200.fc30.x86_64»
    Makefile:213: ================= WARNING ================
    Makefile:214: 'SUBDIRS' will be removed after Linux 5.3
    Makefile:215: Please use 'M=' or 'KBUILD_EXTMOD' instead
    Makefile:216: ==========================================
      Building modules, stage 2.
      MODPOST 1 modules
    make[1]: выход из каталога «/usr/src/kernels/5.2.7-200.fc30.x86_64»
    cp -p npreal2.ko /lib/modules/5.2.7-200.fc30.x86_64/kernel/drivers/char/
    depmod -a
    cc  -c -m64 -DSSL_ON -DOPENSSL_NO_KRB5 npreal2d.c -I/tmp/moxa/include
    cc      -m64 npreal2d.o -o npreal2d -lssl
    strip   npreal2d
    Check Driver...
    Copying driver files ... OK!
    Load driver...
    OK!

    Loading TTY Driver...
    rm -f /dev/ttyr00
    mknod -m 666 ttyr00 c 33 1
    rm -f /dev/cur00
    mknod -m 666 cur00 c 38 1
    file open error


    ===============================================================================
    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.
    ===============================================================================

    Но что означает после команды mknod -m 666 cur00 c 38 1  ошибка file open error ?

  6. В npreal2.c используется макрос с 3-мя аргументами в виде:

    rtn = access_ok( VERIFY_READ,  (void *)arg, size )?0:-EFAULT;

    А в /usr/src/kernels/5.2.7-200.fc30.x86_64/arch/x86/include/asm/uaccess.h она объявлена так:

    #define access_ok(addr, size)                    \
    ({                                    \
        WARN_ON_IN_IRQ();                        \
        likely(!__range_not_ok(addr, size, user_addr_max()));        \
    })

    Похоже что налицо несоответствие ядра 5.2. Какие будут предложения ?

    Попробую внести изменения как вот здесь.

  7. Всем доброго дня!

    Пытаюсь на Fedora 30 собрать драйвер https://www.moxa.com/Moxa/media/PDIM/S100000199/moxa-real-tty-drivers-for-linux-3.x.x-4.x.x-driver-v1.19.tgz. Все зависимости последней версии.

    После запуска ./moxa/mxinst m64 пишет:

    awk: fatal: cannot open file `np_ver.h' for reading (No such file or directory)

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

    MOXA NPort Server Real TTY Driver  Installation.
    System Information: Kernel 5.2.7-200.fc30.x86_64; Machine x86_64.
    ===============================================================================


    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].
    y
    make: *** Нет правила для сборки цели «ssl64».  Останов.
    Check Driver...
    FAILED !!!

    Install Not Completed !

    Где интересно ошибка? 

    Команда ldconfig -p | grep libssl.so выводит такое:

     libssl.so.1.1 (libc6,x86-64) => /lib64/libssl.so.1.1

     libssl.so (libc6,x86-64) => /lib64/libssl.so

    openssl-devel-1:1.1.1c и openssl-1:1.1.1c установлены.

    С переходом в папку moxa и запуск ./mxinst m64 выдает следующее:

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

    MOXA NPort Server Real TTY Driver Ver1.19 Installation.
    System Information: Kernel 5.2.7-200.fc30.x86_64; Machine x86_64.
    ===============================================================================


    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].
    y
    make -C /lib/modules/5.2.7-200.fc30.x86_64/build SUBDIRS=/tmp/moxa modules
    make[1]: вход в каталог «/usr/src/kernels/5.2.7-200.fc30.x86_64»
    Makefile:213: ================= WARNING ================
    Makefile:214: 'SUBDIRS' will be removed after Linux 5.3
    Makefile:215: Please use 'M=' or 'KBUILD_EXTMOD' instead
    Makefile:216: ==========================================
      CC [M]  /tmp/moxa/npreal2.o
    /tmp/moxa/npreal2.c: В функции «npreal_ioctl»:
    /tmp/moxa/npreal2.c:1323:60: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     1323 |   error = access_ok(VERIFY_WRITE, (void *)arg, sizeof(long))?0:-EFAULT;
          |                                                            ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    /tmp/moxa/npreal2.c:1323:11: ошибка: «access_ok» не описан (первое использование в этой функции)
     1323 |   error = access_ok(VERIFY_WRITE, (void *)arg, sizeof(long))?0:-EFAULT;
          |           ^~~~~~~~~
    /tmp/moxa/npreal2.c:1323:11: замечание: сообщение о каждом неописанном идентификаторе выдается один раз в каждой функции, где он встречается
    /tmp/moxa/npreal2.c:1330:59: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     1330 |   error = access_ok(VERIFY_READ, (void *)arg, sizeof(long))?0:-EFAULT;
          |                                                           ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    /tmp/moxa/npreal2.c:1346:33: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     1346 |     sizeof(struct serial_struct))?0:-EFAULT;
          |                                 ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    /tmp/moxa/npreal2.c:1353:33: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     1353 |     sizeof(struct serial_struct))?0:-EFAULT;
          |                                 ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    /tmp/moxa/npreal2.c:1360:25: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     1360 |     sizeof(unsigned int))?0:-EFAULT;
          |                         ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    /tmp/moxa/npreal2.c:1417:42: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     1417 |     sizeof(struct serial_icounter_struct))?0:-EFAULT;
          |                                          ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    /tmp/moxa/npreal2.c: В функции «npreal_net_ioctl»:
    /tmp/moxa/npreal2.c:3374:50: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     3374 |   rtn = access_ok( VERIFY_WRITE, (void *)arg, len)?0:-EFAULT;
          |                                                  ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    /tmp/moxa/npreal2.c:3374:9: ошибка: «access_ok» не описан (первое использование в этой функции)
     3374 |   rtn = access_ok( VERIFY_WRITE, (void *)arg, len)?0:-EFAULT;
          |         ^~~~~~~~~
    /tmp/moxa/npreal2.c:3398:52: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     3398 |   rtn = access_ok( VERIFY_READ,  (void *)arg, size )?0:-EFAULT;
          |                                                    ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    /tmp/moxa/npreal2.c:3523:52: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     3523 |   rtn = access_ok( VERIFY_READ,  (void *)arg, size )?0:-EFAULT;
          |                                                    ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    /tmp/moxa/npreal2.c:3548:52: ошибка: в макрос «access_ok» передано 3 аргументов, но используется только 2
     3548 |   rtn = access_ok( VERIFY_READ,  (void *)arg, size )?0:-EFAULT;
          |                                                    ^
    In file included from ./include/linux/uaccess.h:11,
                     from ./include/asm-generic/termios.h:6,
                     from ./arch/x86/include/uapi/asm/termios.h:1,
                     from ./include/uapi/linux/termios.h:6,
                     from ./include/linux/tty.h:7,
                     from /tmp/moxa/npreal2.c:50:
    ./arch/x86/include/asm/uaccess.h:91: замечание: macro "access_ok" defined here
       91 | #define access_ok(addr, size)     \
          |
    make[2]: *** [scripts/Makefile.build:285: /tmp/moxa/npreal2.o] Ошибка 1
    make[1]: *** [Makefile:1601: _module_/tmp/moxa] Ошибка 2
    make[1]: выход из каталога «/usr/src/kernels/5.2.7-200.fc30.x86_64»
    make: *** [Makefile:71: module] Ошибка 2
    Check Driver...
    FAILED !!!

    Install Not Completed !

×
×
  • Create New...