User Tools

Site Tools


howtos:npreal2_driver_for_moxa_serial_devices

Differences

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

Link to this comparison view

howtos:npreal2_driver_for_moxa_serial_devices [d/m/Y H:i] (current)
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: d/m/Y H:i (external edit)