User Tools

Site Tools


howtos:npreal2_driver_for_moxa_serial_devices
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


howtos:npreal2_driver_for_moxa_serial_devices [02/12/2018 21:34] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +===== npreal2.spec =====
 +
 +<file>
 +# This is a  spec file for the MOXA Linux Real TTY Driver
 +
 +%define kernel 2.6.18-194.8.1.el5
 +%define _topdir /root/moxa-rpm
 +%define name npreal2 
 +%define release 2.6.18_194.8.1.el5
 +%define version 1.16
 +%define buildroot %{_topdir}/%{name}-%{version}-root
 +%define NPPATH /usr/lib/npreal2
 +%define driverPath %{NPPATH}/driver
 +%define Moxa_config %{driverPath}/npreal2d.cf
 +%define MXLOADSVR %{driverPath}/mxloadsvr
 +
 +BuildRoot: %{buildroot}
 +Summary: MOXA Linux Real TTY Driver
 +License: Unknown
 +Packager: Thomas Ubuntu Dahlmann <tdd at dubex dot dk>
 +Name: %{name}
 +Version: %{version}
 +Release: %{release}
 +Source: %{name}-%{version}.tar.gz
 +Prefix: /usr
 +Group: System/Utilities
 +
 +%description
 +The purpose of this driver is to map NPort serial port to host tty port. Using this driver, you can use NPort serial port as local tty port.
 +
 +%prep
 +%setup -q
 +rm -rf %{buildroot}
 +mkdir -p %{buildroot}
 +
 +
 +%build
 +NPPATH="/usr/lib/npreal2"
 +driverPath="/usr/lib/npreal2/driver"
 +make SP1 PATH1=$(pwd)
 +
 +%install
 +
 +NowPath=$(pwd)
 +mkdir -p %{buildroot}/%{driverPath}
 +mkdir -p %{buildroot}/%{NPPATH}
 +mkdir -p %{buildroot}/lib/modules/%{kernel}/kernel/drivers/char/
 +mkdir -p %{buildroot}/lib/modules/%{kernel}/misc
 +mkdir -p %{buildroot}/etc
 +
 +cp -f $NowPath/killp %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2d   %{buildroot}/%{driverPath}
 +cp -f $NowPath/Makefile    %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2d.c  %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2.h  %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2d.cf %{buildroot}/%{driverPath}/config
 +cp -f $NowPath/npreal2d.cf %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2.c   %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxaddsvr    %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxdelsvr    %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxcfmat     %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxloadsvr   %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxmknod     %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxrmnod     %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxuninst    %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxsetsec    %{buildroot}/%{driverPath}
 +cp -f $NowPath/README.TXT  %{buildroot}/%{NPPATH}
 +cp -f $NowPath/VERSION.TXT %{buildroot}/%{NPPATH}
 +cp -f $NowPath/kernel2.6.txt %{buildroot}/%{NPPATH}
 +cp -f $NowPath/npreal2.ko %{buildroot}/lib/modules/%{kernel}/kernel/drivers/char
 +cp -f $NowPath/npreal2.ko %{buildroot}/lib/modules/%{kernel}/misc
 +# Refresh modules
 +depmod -a
 +
 +%post
 +
 +if [ -f /usr/lib/npreal2/driver/npreal2d.cf ]
 +then
 +    echo "Backup old config file.."
 +    cp %{Moxa_config} /root/npreal2d.cf-$(date +%d%m%y-%H%M)
 +    echo "OK!"
 +fi
 +
 +%preun
 +cd %{driverPath}
 +for moxabox in $(cat %{driverPath}/npreal2d.cf | grep -v \# | egrep '^([0-9])'| awk '{print $2}'); do
 +    ./mxdelsvr $moxabox
 +done 
 +%postun
 +cat /etc/rc.d/rc.local |grep -v "modprobe npreal2" > /tmp/rc.local
 +cat /tmp/rc.local > /etc/rc.d/rc.local
 +rm /tmp/rc.local
 +
 +%files
 +%defattr(-,root,root)
 +
 +/lib/modules/%{kernel}/kernel/drivers/char/npreal2.ko
 +/lib/modules/%{kernel}/misc/npreal2.ko
 +%{driverPath}/killp       
 +%{driverPath}/npreal2d    
 +%{driverPath}/Makefile    
 +%{driverPath}/npreal2d.c  
 +%{driverPath}/npreal2.h  
 +%{driverPath}/npreal2d.cf
 +%{driverPath}/config
 +%{driverPath}/npreal2.c   
 +%{driverPath}/mxaddsvr    
 +%{driverPath}/mxdelsvr    
 +%{driverPath}/mxcfmat     
 +%{driverPath}/mxloadsvr   
 +%{driverPath}/mxmknod     
 +%{driverPath}/mxrmnod     
 +%{driverPath}/mxuninst    
 +%{driverPath}/mxsetsec    
 +%{NPPATH}/README.TXT  
 +%{NPPATH}/VERSION.TXT 
 +%{NPPATH}/kernel2.6.txt 
 +</file>
 +
 +
 +
 +
 +
 +
 +
 +===== OLD npreal2.spec =====
 +
 +<file>
 +# This is a  spec file for the MOXA Linux Real TTY Driver
 +%define kernel 2.6.18-164.11.1.el5
 +%define _topdir /root/moxa-rpm
 +%define name npreal2 
 +%define release 1
 +%define version 1.16
 +%define buildroot %{_topdir}/%{name}-%{version}-root
 +%define NPPATH /usr/lib/npreal2
 +%define driverPath /usr/lib/npreal2/driver
 +
 +BuildRoot: %{buildroot}
 +Summary: MOXA Linux Real TTY Driver
 +License: Unknown
 +Packager: Thomas Ubuntu Dahlmann <tdd at dubex dot dk>
 +Name: %{name}
 +Version: %{version}
 +Release: %{release}
 +Source: %{name}-%{version}.tar.gz
 +Prefix: /usr
 +Group: System/Utilities
 +
 +%description
 +The purpose of this driver is to map NPort serial port to host tty port. Using this driver, you can use NPort serial port as local tty port.
 +
 +%prep
 +%setup -q
 +rm -rf %{buildroot}
 +mkdir %{buildroot}
 +
 +
 +%build
 +NPPATH="/usr/lib/npreal2"
 +driverPath="/usr/lib/npreal2/driver"
 +make SP1 PATH1=$(pwd)
 +
 +%install
 +
 +NowPath=$(pwd)
 +mkdir -p %{buildroot}/%{driverPath}
 +mkdir -p %{buildroot}/%{NPPATH}
 +mkdir -p %{buildroot}/lib/modules/%{kernel}/kernel/drivers/char/
 +mkdir -p %{buildroot}/lib/modules/%{kernel}/misc
 +mkdir -p %{buildroot}/etc
 +
 +cp -f $NowPath/killp %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2d   %{buildroot}/%{driverPath}
 +cp -f $NowPath/Makefile    %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2d.c  %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2.h  %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2d.cf %{buildroot}/%{driverPath}/config
 +cp -f $NowPath/npreal2d.cf %{buildroot}/%{driverPath}
 +cp -f $NowPath/npreal2.c   %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxaddsvr    %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxdelsvr    %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxcfmat     %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxloadsvr   %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxmknod     %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxrmnod     %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxuninst    %{buildroot}/%{driverPath}
 +cp -f $NowPath/mxsetsec    %{buildroot}/%{driverPath}
 +cp -f $NowPath/README.TXT  %{buildroot}/%{NPPATH}
 +cp -f $NowPath/VERSION.TXT %{buildroot}/%{NPPATH}
 +cp -f $NowPath/kernel2.6.txt %{buildroot}/%{NPPATH}
 +cp -f $NowPath/npreal2.ko %{buildroot}/lib/modules/%{kernel}/kernel/drivers/char
 +cp -f $NowPath/npreal2.ko %{buildroot}/lib/modules/%{kernel}/misc
 +
 +%post
 +function error_occured {
 +    echo "                                                                                  
 +    ERROR OCCURRED!!                                                                    
 +    The driver could not be loaded.                                                     
 +    Your kernel version is:    `uname -r`                                               
 +    This package is build for: %{kernel}                                      
 +    Last 10 lines from kernel output:                                                    
 +    -------------------------------------                                               
 +    " 
 +    dmesg|tail -n 10
 +    exit
 +}
 +
 +if [ -f /usr/lib/npreal2/driver/npreal2d.cf ]
 +then
 +    kill -9 `ps aux|grep npreal2d|awk '{print $2}' > /dev/null 2>&1
 +    lsmod | grep npreal2 | awk '$0 != "" {system("modprobe -r npreal2")}'
 +    if [ $? -eq 0 ]
 +    then
 +        modprobe npreal2
 +        depmod -a
 +    else
 + error_occured
 +    fi
 +    if [ $? -eq 0 ]
 +    then
 +        echo "Driver loaded OK!"
 + exit 0
 +     else
 +        error_occured
 +     fi
 +      
 +else
 +    echo "
 +    ===============================================================================
 +    Installation process is completed.
 +    The driver files are installed in /usr/lib/npreal2/driver.
 +    Now you can "cd /usr/lib/npreal2/driver" and run "./mxaddsvr" to add tty port.
 +    ===============================================================================
 +    "
 +fi
 +
 +%preun
 +cd %{driverPath}
 +for moxabox in $(cat %{driverPath}/npreal2d.cf | grep -v \# | egrep '^([0-9])'| awk '{print $2}'); do
 +    ./mxdelsvr $moxabox
 +done 
 +%postun
 +cat /etc/rc.d/rc.local |grep -v "modprobe npreal2" > /tmp/rc.local
 +cat /tmp/rc.local > /etc/rc.d/rc.local
 +rm /tmp/rc.local
 +
 +%files
 +%defattr(-,root,root)
 +
 +/lib/modules/%{kernel}/kernel/drivers/char/npreal2.ko
 +/lib/modules/%{kernel}/misc/npreal2.ko
 +%{driverPath}/killp       
 +%{driverPath}/npreal2d    
 +%{driverPath}/Makefile    
 +%{driverPath}/npreal2d.c  
 +%{driverPath}/npreal2.h  
 +%{driverPath}/npreal2d.cf
 +%{driverPath}/config
 +%{driverPath}/npreal2.c   
 +%{driverPath}/mxaddsvr    
 +%{driverPath}/mxdelsvr    
 +%{driverPath}/mxcfmat     
 +%{driverPath}/mxloadsvr   
 +%{driverPath}/mxmknod     
 +%{driverPath}/mxrmnod     
 +%{driverPath}/mxuninst    
 +%{driverPath}/mxsetsec    
 +%{NPPATH}/README.TXT  
 +%{NPPATH}/VERSION.TXT 
 +%{NPPATH}/kernel2.6.txt 
 +</file>
  
howtos/npreal2_driver_for_moxa_serial_devices.txt · Last modified: 02/12/2018 21:34 by 127.0.0.1