Sie sind auf Seite 1von 16

VIMS-P MPDS 5 TREIBER

DOKUMENTATION

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 1/16
REVISIONSGESCHICHTE
# DATUM AUTOR PRÜFER STATUS
1.0 2013-07-17 Walter Pindhofer - 4 review
Erstfassung

1.1 2013-08-28 Walter Pindhofer - final


Aktualisierung der Version der Doku Treiberkomilierung und des Prüfergebnis

1.2 2013-10-01 Walter Pindhofer - final


Hilscher unter Linux Anleitung in das Dokument integriert

1.3 2014-02-13 Walter Pindhofer - final


Tasks beim Upgrade des Kernel hinzugefügt

Prüfergebnis: final/reviewed

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 2/16
INHALTSVERZEICHNIS
1 Einleitung ........................................................................................................................................ 4
1.1 Allgemeine Informationen zum mPDS 5 ................................................................................. 4
1.2 Referenzen .............................................................................................................................. 4
2 Installation ....................................................................................................................................... 5
2.1 Hardware ................................................................................................................................. 5
2.2 Software ................................................................................................................................... 5
2.2.1 Hilscher PCI-Express Linux Treiber ................................................................................ 5
3 Konfiguration ................................................................................................................................... 6
3.1 Konfiguration der Hilscher PCI-Express Karte ........................................................................ 6
3.2 Konfiguration im VIMS-P mPDS 5 Treiber: ............................................................................. 7
3.2.1 Verbindungsprüfung ........................................................................................................ 7
4 Telegramm Details .......................................................................................................................... 8
4.1 Verwendete API Befehle ......................................................................................................... 8
5 Hilscher Treiberkompilierung unter Linux ....................................................................................... 9
5.1 Änderungsverzeichnis ............................................................................................................. 9
5.2 Was wird benötigt .................................................................................................................... 9
5.3 Anleitung – Schritt für Schritt ................................................................................................... 9

ABBILDUNGSVERZEICHNIS
Screenshot von SYCON.net .................................................................................................................... 6

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 3/16
1 EINLEITUNG
1.1 ALLGEMEINE INFORMATIONEN ZUM MPDS 5
Das Paar Dichtemess-System »mPDS 5« erfasst die Dichtewerte der Produkte sowie die
dazugehörigen Temperaturen und stellt diese über die Hilscher-Karte VIMS-P zur Verfügung.
Das Paar Dichtemess-System ist über EtherNet/IP an die Hilscher-Karte angebunden. In dieser
Kommunikation stellt die Hilscher-Karte den Master (Scanner) und die mPDS-5 Geräte den Slave
(Adapter) dar. Der mPDS 5 Treiber greift über die C-API auf die Daten der Dichtemessung zu. Es darf
immer nur ein Master gleichzeitig laufen. Deshalb ist der mPDS 5 Treiber ein Teil der VIMSP Common
Treiber.

1.2 REFERENZEN
Dokumenttitel Dateiname Revision

Beschreibung der Installtion des CIFX Treibers Hilscher Doku Treiberkompilierung Linux.txt 1.1
unter Linux

Programming Reference Guide CIFX API cifX API PR 02 EN.pdf Rev. 2

Aktuelles Konfigurationsfile des mPDS-5 05.2.02 DPRn PTE3 Petroleum-Fuels 2Lines EtherNetIP 1
(79233).xml

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 4/16
2 INSTALLATION
2.1 HARDWARE
Die Hilscher PCI-Express Karte (CIFX 70E-RE) muss in beiden Hauptrechnern eingebaut und per
Ethernet mit dem Netzwerk verbunden sein.

2.2 SOFTWARE

2.2.1 Hilscher PCI-Express Linux Treiber


Die folgenden Schritte sind notwendig, um den Hilscher PCI-Express Linux Treiber zu kompilieren und
zu aktivieren
Benötigt wird hierfür:
 Die Linux Treiber CD
 Eine eingebaute Hilscher PCI-Express Karte CIFX 70E-RE
 Das Linux Treiber Manual
 RHEL 6.3 System mit gcc und anderen Entwickler Tooles (autoconf, pkg-config, etc.)
 Die Anleitung „Hilscher Doku Treiberkompilierung Linux.txt“
Die einzelnen Schritte, um den Hilscher Treiber zu kompilieren und zu installieren sind in der Anleitung
zur Treiberkompilierung zu finden.

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 5/16
3 KONFIGURATION
3.1 KONFIGURATION DER HILSCHER PCI-EXPRESS KARTE
Die Hilscher-Karte wird über die Applikation SYCON.net konfiguriert. SYCON.net wird mit der PCI
Karte geliefert bzw. ist auch Online auf der Hilscher Homepage verfügbar und funktioniert nur auf
einem Windows PC. Mit SYCON.net wird die Kommunikation der Hilscher-Karte mit den mPDS-5
Dichtemessgeräten konfiguriert. Die mit SYCON.net erstellte Konfiguration kann dann exportiert
werden und auf die Hauptrechner kopiert werden. Eine Fernparametrierung der mPDS 5 Geräte ist
nicht möglich.

Screenshot von SYCON.net

Die folgenden Einstellungen werden über SYCON.net durchgeführt:


 Das EDS File für die EtherNet/IP Kommunikation wird eingespielt
 Die mPDS 5 Geräte werden definiert
 Die IP-Adressen werden konfiguriert (die Kommunikations-Ports sind durch EtherNet/IP
vorgegeben)
 Die Kommunikation kann getestet werden
Alle Einstellungen sind in einem Projekt gespeichert worden. Das Projekt und die für die Hauptrechner
exportierten Konfigurationen sind im GIT unter
vims_drivers.git/com.thfour.vims.drivers/cfg/mpds5-sycon/lob

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 6/16
gespeichert.
Um eine geänderte Konfiguration auf einen Hauptrechner auszuliefern, müssen die beiden NXD
Dateien (config.nxd, nwid.nxd) in folgendes Verzeichnis kopiert werden:
/opt/cifx/deviceconfig/FW/channel0

Achtung: Die Namen der Dateien müssen unbedingt config.nxd und nwid.nxd sein. Die Änderung
wird nach einem Neustart des VIMSP Treibers erkannt.

3.2 KONFIGURATION IM VIMS-P MPDS 5 TREIBER:


Im Folgenden werden die Einstellungen besprochen, die im exporter.main.xml unter
/data/configuration/th4/usr/local/configuration durchgeführt werden können:
Für jedes konfigurierte Device (= die Hilscher Karte auf dem Server) gibt es folgende Einstellungen
<dataByteSize>
Ausprägung 0 oder 1 Mal
Standardwert 512

Größe der gesendeten und empfangenen Nutzdaten. Pro konfiguriertem mPDS 5 128 Byte. D.h.
im Falle der Lobau ist die Einstellung 512 (Bytes)
<pollingIntervall>
Ausprägung 0 oder 1 Mal
Standardwert 2000

Gibt in Millisekunden die Häufigkeit an, inder der MPDS 5 Treiber die Daten der Hilscher Karte
abfragt.
<retryCount>
Ausprägung 0 oder 1 Mal
Standardwert 5

Gibt an, wie oft ein Retry im Fehlerfall durchgeführt wird, bevor ein Reconnect initiert wird.
<register>
Ausprägung 0 bis * Mal
Attribute
registerNr Nummer des Registers, dass hier abgefragt werden soll
byteSize Größe des Registers in Byte

Hier werden die Register definiert, die abgefragt werden sollen. Der Treiber liefert dann die Werte
der Register an OpenScada.
<product>
Ausprägung 0 bis * Mal
Attribute
registerNr Nummer des Registers, dass hier abgefragt werden soll
productNr ProduktNr, die gesetzt werden soll.

Hier werden die Register definiert, über die initial beim Starten des Treibers die definierten
Produkte gesetzt werden.
Die Aktivierung der Änderungen erfolgt durch Neustart des Treibers.

3.2.1 Verbindungsprüfung
Die Verbindung zur Hilscher-Karte wird kontinuierlich überprüft. Die Hilscher-Karte wiederum hat wie
bei EtherNet/IP üblich eine Verbindungsüberprüfung und Reconnect-Mechanismen zu den mPDS 5
Geräten implementiert.

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 7/16
4 TELEGRAMM DETAILS
Die Telegramme werden laut EtherNet/IP Standard ausgetauscht. Der VIMSP Treiber kommuniziert
lediglich über ein C-API mit der Hilscher-Karte. Die vom API verwendeten Befehle werden in diesem
Kapitel beschrieben.
Der Datenaustausch über Ein/Ausgangsdatenblöcke und damit auch die konkret mitgeschickten Werte
sind im Dokument „05.2.02 DPRn PTE3 Petroleum-Fuels 2Lines EtherNetIP (79233).xml“
beschrieben.
Der Zugriff und die Steuerung über das C-API sind im Dokument „cifX API PR 02 EN.pdf“
beschrieben.

4.1 VERWENDETE API BEFEHLE


int cifXDriverInit ( LinuxInitInformation pvLinuxInitInformation );
Initialisiert den Treiber unter Linux.
void cifXDriverDeinit ();
De-initialisiert den Treiber unter Linux.
int xDriverRestartDevice ( Pointer hDriver, String szBoardName, Pointer
pvData );
Unter Linux wird damit der Kartentreiber neu gestartet und eine Initialisierung des Treibers
durchgeführt.
int xDriverOpen ( PointerByReference phDriver );
Öffnet den Treiber.
int xDriverClose ( Pointer hDriver );
Schließt den Treiber.
int xChannelOpen ( Pointer hDriver, String szBoard, int ulChannel,
PointerByReference hChannel );
Öffnet den definierten Channel (in unserem Fall immer Channel 0).
int xChannelClose ( Pointer hChannel );
Schließt den Channel.
int xChannelHostState ( Pointer hChannel, int ulCmd, IntByReference
ulState, int timeout );
Setzt den Host-State auf CIFX_HOST_STATE_READY (=1) oder CIFX_HOST_STATE_NOT_READY (=0).
int xChannelBusState ( Pointer hChannel, int ulCmd, IntByReference ulState,
int timeout );
Setzt den Bus-State auf CIFX_BUS_STATE_ON (=1) oder CIFX_BUS_STATE_OFF (=0). Achtung: Der
Bus-State muss unbedingt gesetzt werden. Durch den Bus-State wird die Verbindung zu den
Dichtemessgeräten hergestellt oder geschlossen.
int xChannelIORead ( Pointer hChannel, int ulAreaNumber, int ulOffset, int
ulDataLen, UnsignedByte[] pvData, int ulTimeout );
Daten über die Karte von den Dichtemessgeräten empfangen.
int xChannelIOWrite ( Pointer hChannel, int ulAreaNumber, int ulOffset, int
ulDataLen, UnsignedByte[] pvData, int ulTimeout );
Daten über die Karte zu den Dichtemessgeräten schicken.

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 8/16
5 HILSCHER TREIBERKOMPILIERUNG
UNTER LINUX
Inhalt: Kompilierung, Installation und Konfiguration des Hilscher Linux Treibers für EtherNet/IP

5.1 ÄNDERUNGSVERZEICHNIS
2013-06-21 / JWR (created)
2013-08-26 / JWR (latest update)
2013-09-30 / PW (Running JAR on startup to init hilscher driver)

5.2 WAS WIRD BENÖTIGT


1) Die Linux Treier CD (Hilscher)
2) Hilscher CIFX50E-RE or CIFX70E-RE
3) Die Linux Treiber Anleitung "cifX Device Driver - Linux DRV 06 EN.pdf"
4) Ein RHEL 6.3 System mit gcc und anderen Entwickler-Tools (autoconf, pkg-config etc.)

5.3 ANLEITUNG – SCHRITT FÜR SCHRITT


0) Copy driver files to /usr/src/hilscher/driver

1) Install libpciaccess:
rpm -i libpciaccess-0.13.1-2.el6.x86_64.rpm
rpm -i libpciaccess-devel-0.13.1-2.el6.x86_64.rpm
HTTP Download Link:
http://pkgs.org/centos-6-rhel-6/centos-rhel-x86_64/libpciaccess-devel-0.13.1-
2.el6.x86_64.rpm.html

Info: On LOB HRN-11 libpciaccess has already been installed!


[root@vs-lob-rr1-hrn-11 rpms]# rpm -i libpciaccess-0.13.1-2.el6.x86_64.rpm
warning: libpciaccess-0.13.1-2.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de:
NOKEY
package libpciaccess-0.13.1-2.el6.x86_64 is already installed
file /usr/lib64/libpciaccess.so.0.11.1 from install of libpciaccess-0.13.1-2.el6.x86_64
conflicts with file from package libpciaccess-0.13.1-2.el6.x86_64

You can check this using the command:


rpm -qR libpciaccess

2) Follow the manual:


How to install the kernel module uio_netx:
(For further information see the Linux cifX Driver documentation.)
- Plug in the hardware and start the system (0)
- Build and install the kernel modules (1)
- Install the bootloader (2)

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 9/16
- Build and install the user space library libcifx (3)
- Build example application (4)

Open the console and change in the directory containing this document.
1) Build and install the kernel modules
1.1) Enter folder script (e.g. cd ./scripts)
1.2) To build the modules run "./install_uio_netx build" (root required)
Enable DMA -> answer "no" (DMA not needed!)
1.3) To install the modules run "./install_uio_netx install" (root required)
ls -l /lib/modules/2.6.32-358.11.1.el6.x86_64/kernel/drivers/uio/
chmod u+x /lib/modules/2.6.32-358.11.1.el6.x86_64/kernel/drivers/uio/uio_netx.ko

1.3.1) run "./install_uio_netx update"


1.4) To load the modules run "./install_uio_netx load" (root required)
Output: Loading kernel module uio_netx.ko.

2) Install the bootloader


2.1) Enter folder script (e.g. cd ./scripts)
2.2) run the script "./install_firmware install" (root required)

3) Build and install the user space library libcifx


3.1) Enter folder libcifx (e.g. cd ./libcifx)

3.2)
[JWR-encountered step] Add "rt "library (with symbol clock_gettime) to Library Path
!!!!!!!!!!!!!!!!!!!!!!!!!
!!! export LDFLAGS="-lrt"
!!!!!!!!!!!!!!!!!!!!!!!!!

4) Follow the manual again:


4.1) Prepare to run "./configure" - parameters see below:
[JWR] decide on the following parameters:
FOR TEST:
./configure --enable-debug --enable-verbose --enable-single-directory --enable-time-setup

FOR PRODUCTION:
./configure --enable-single-directory --enable-time-setup

--enable-debug ... Enables debug symbols for the generated library


--enable-verbose ... Enable verbose outputs to console (outputs debug information
before the log file is created)

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 10/16
--enable-single-directory ... Use subdirectory 'deviceconfig/FW/channelx' beneath base
directory for firmware/configuration file storage.
Note: This will force all handled devices to use the same
firmware/configuration
--enable-time-setup ... Enables toolkit function, setting the device time during device start-
up.
4.2) Run "make"
4.3) Run "make install" (root required)

Make Linux to find the library:


Run "vi /etc/ld.so.conf"
Add line "/usr/local/lib"
Save file
Run "ldconfig"

4.4) Build example application


Enter folder examples/cifXTestConsole (e.g. cd ../examples/cifXTestConsole)

5)
[JWR-encountered step] Make pkg_config find newly installed library
a)
[root@vs-tst-rr2-hrn-21 cifXTestConsole]# pkg-config --exists --print-errors libcifx

Package libcifx was not found in the pkg-config search path.


Perhaps you should add the directory containing `libcifx.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libcifx' found
b)
[root@vs-tst-rr2-hrn-21 cifXTestConsole]#
find /usr/src -name *.pc –print /usr/src/driver/libcifx/src/cifx.pc
[root@vs-tst-rr2-hrn-21 cifXTestConsole]#
export PKG_CONFIG_PATH=/usr/src/hilscher/driver/libcifx/src

[root@vs-tst-rr2-hrn-21 cifXTestConsole]# pkg-config --exists --print-errors cifx

6) Follow the manual again:

6.1) Run "./configure"


6.2) Run "make"

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 11/16
6.3) Start application ./cifXTestConsole (root required)

7) Add all config files under /opt/cifx [JWR-encountered step]

Add "nwid.nxd", "config.nxd", "device.conf" and "cifxeim.nxf" files to /opt/cifx/<subpath> path (the
names are VERY important and also the location - see below!)

Create any directory that does not exist and place the files correctly!

[root@vs-tst-rr2-hrn-21 cifx]# pwd


/opt/cifx

[root@vs-tst-rr2-hrn-21 cifx]# ls -l
total 260
-rw-r--r-- 1 root root 5769 Jun 21 11:52 cifX0.log
drwxr-xr-x 3 root root 4096 Jun 20 11:55 deviceconfig
-rw-r--r-- 1 root root 59236 Jun 20 15:29 NETX100-BSL.bin
-rw-r--r-- 1 root root 54620 Dec 21 2012 NETX10-BSL.bin
-rw-r--r-- 1 root root 60748 Dec 21 2012 NETX50-BSL.bin
-rw-r--r-- 1 root root 57204 Dec 21 2012 NETX51-BSL.bin

[root@vs-tst-rr2-hrn-21 cifx]# cd deviceconfig/


[root@vs-tst-rr2-hrn-21 deviceconfig]# ls -l
total 4
drwxr-xr-x 4 root root 4096 Jun 20 21:52 FW
[root@vs-tst-rr2-hrn-21 deviceconfig]# cd FW

[root@vs-tst-rr2-hrn-21 FW]# ls -l
total 12
drwxr-xr-x 2 root root 4096 Jun 21 10:31 channel0
drwxr-xr-x 2 root root 4096 Jun 21 08:08 channel1
-rw-r--r-- 1 root root 87 Jun 18 14:15 device.conf

[root@vs-tst-rr2-hrn-21 FW]# cd channel0


[root@vs-tst-rr2-hrn-21 channel0]# ls -l
total 564
-rw-r--r-- 1 root root 558948 Feb 23 2012 cifxeim.nxf
-rw-r--r-- 1 root root 5908 Jun 18 14:07 config.nxd
-rw-r--r-- 1 root root 964 Jun 18 14:07 nwid.nxd

8) Load kernel module

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 12/16
Load via: modprobe uio_netx

ACHTUNG: In den Autostart Prozess einbinden via rc.local (siehe unten)!

Kernel module is under:

[root@vs-tst-rr2-hrn-21 ~]# find / -name uio_netx\* -print


/lib/modules/2.6.32-279.14.1.el6.x86_64/kernel/drivers/uio/uio_netx.ko
/usr/src/driver/patches/uio_netx_dma_support.patch
/usr/src/driver/uio_netx
/usr/src/driver/uio_netx/uio_netx.mod.o
/usr/src/driver/uio_netx/uio_netx.ko
/usr/src/driver/uio_netx/uio_netx.ko.unsigned
/usr/src/driver/uio_netx/uio_netx.c
/usr/src/driver/uio_netx/.tmp_versions/uio_netx.mod
/usr/src/driver/uio_netx/uio_netx.o
/usr/src/driver/uio_netx/uio_netx.mod.c

9) Neue JAR Files einspielen in:

/data/software/th4/usr/local/jar

jna-3.5.2.jar
platform-3.5.2.jar

10) Treiber starten:

Login as root:

1) modprobe uio_netx
2) cd /data/software/th4/usr/local/bin
3) . th4Functions
4) th4Service com.thfour.vims.drivers.ExporterDaemon driverExporter-main
"$TH4_CONFIG_HOME/configuration/exporter.main.xml" `user` "$@" -debug -attach -user root

11) Testprogramm ausführen unter:


/home/th4/hilscher/cifxDemoJava.jar

Ausführen als User root:


java -Djava.io.tmpdir=tmp -jar cifxDemoJava.jar

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 13/16
12) Demo Programm starten als User "th4":

[root@vs-tst-rr2-hrn-21 bin]# ls -l /sys/class/uio/uio0/device/config


-rw-r--r-- 1 root root 256 Jul 2 14:11 /sys/class/uio/uio0/device/config
[root@vs-tst-rr2-hrn-21 bin]# chmod 777 /sys/class/uio/uio0/device/config
[root@vs-tst-rr2-hrn-21 bin]# ls -l /sys/class/uio/uio0/device/config
-rwxrwxrwx 1 root root 256 Jul 2 14:11 /sys/class/uio/uio0/device/config

[root@vs-tst-rr2-hrn-21 bin]# ls -l /dev/uio0


crw-rw---- 1 root root 246, 0 Jul 2 14:11 /dev/uio0
[root@vs-tst-rr2-hrn-21 bin]# chmod o+rw /dev/uio0
[root@vs-tst-rr2-hrn-21 bin]# ls -l /dev/uio0
crw-rw-rw- 1 root root 246, 0 Jul 2 14:11 /dev/uio0

[root@vs-tst-rr2-hrn-21 bin]# ls -l /dev/mem


crw-r----- 1 root kmem 1, 1 Jul 2 2013 /dev/mem
[root@vs-tst-rr2-hrn-21 bin]# chmod o+rw /dev/mem
[root@vs-tst-rr2-hrn-21 bin]# ls -l /dev/mem
crw-r--rw- 1 root kmem 1, 1 Jul 2 2013 /dev/mem

chmod 777 /opt/cifx/cifX0.log

java -Djava.io.tmpdir=tmp -jar cifxDemoJava.jar

"-Djava.io.tmpdir=tmp" = Lösung für das Problem mit "noexec" gemountetem /tmp: Siehe
https://github.com/cappuccino/cappuccino/issues/1512

13) Treiber automatisch laden via rc.local

KURZFORM START EXCLUSIVE TREIBER: nach Laden mit modprobe uio_netx ausführen:

0) modprobe uio_netx
1) chmod 777 /sys/class/uio/uio0/device/config
2) chmod o+rw /dev/uio0
3) chmod o+rw /dev/mem
4) chmod 777 /opt/cifx/cifX0.log
5) /etc/init.d/th4Exclusive start

Kommando 0) bis 4) ins /etc/rc.local schreiben! Wird dann bei jedem Boot ausgeführt!

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 14/16
vi /etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

# JWR 2013-07-03 Load EtherNet/IP Kernel module and fix permissions so that user 'th4' is
allowed to load the driver and use the module
modprobe uio_netx
chmod 777 /sys/class/uio/uio0/device/config
chmod o+rw /dev/uio0
chmod o+rw /dev/mem
chmod 777 /opt/cifx/cifX0.log

Unter Umständen: /data/configuration/th4/usr/local/configuration/driverExporter-main.jvm --> Ändern:


-XX:ThreadStackSize=192

#PW 2013-09-30 - Treiber wird beim Reboot aktiviert, damit die Hilscherkarte eine IP Adresse
bekommt
1) Falls noch nicht vorhanden, cifxInitDriver.jar nach /data/software/th4/hilscher kopieren
2) Folgende Zeile in der rc.local ergänzen:
java -Djava.io.tmpdir=/data/software/th4/hilscher/jna/tmp -jar
/data/software/th4/hilscher/cifxInitDriver.jar

5.4 ANLEITUNG – TASKS FÜR KERNEL UPDATE

Anleitung “Hilscher kernel module update nach Kernel update”:


Den EXEC Treiber stoppen.
[root@vs-lob-rr2-hrn-21 scripts]# cd /usr/src/hilscher/driver/scripts/

[root@vs-lob-rr2-hrn-21 scripts]# ls -l
total 12
-rwxr-xr-x 1 th4 th4 27 Feb 13 2013 device.conf
-rwxr-xr-x 1 th4 th4 3397 Jan 25 2013 install_firmware
-rwxr-xr-x 1 th4 th4 1912 Jan 30 2013 install_uio_netx

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 15/16
[root@vs-lob-rr2-hrn-21 scripts]# ./install_uio_netx
Unknown parameter!
Valid options:
-> build : Builds kernel module uio_netx.ko.
-> install: Copies the kernel modules into the target directory.
-> update : Updates the kernel module dependencies.
-> load : Loads the kernel module.
-> unload : Unloads the kernel module.

[root@vs-lob-rr2-hrn-21 scripts]# ./install_uio_netx install


Copying kernel module uio_netx.ko to '/lib/modules/2.6.32-358.18.1.el6.x86_64/kernel/drivers/uio/'

[root@vs-lob-rr2-hrn-21 scripts]# ./install_uio_netx update


Updating kernel module dependencies.

[root@vs-lob-rr2-hrn-21 scripts]# modprobe uio_netx

 Keine Ausgabe -> Modul wurde erfolgreich geladen!

Die Kernelversion auf der Linux-Maschine hat sich (abermals) geändert und damit muss dasselbe
Prozedere ausgeführt werden, das ich am 26.09.2013 per Email übermittelt habe – siehe unten.

Den EXEC Treiber stoppen.

Danach bitte die Befehle aus der /etc/rc.local ausführen:

chmod 777 /sys/class/uio/uio0/device/config


chmod o+rw /dev/uio0
chmod o+rw /dev/mem
chmod 777 /opt/cifx/cifX0.logo

Danach den EXEC Treiber wieder starten.

Projektname: Dichtemessung-Ersatz TWG-Lobau


Dokument-Bezeichnung: VIMS-P MPDS 5 Treiber Dokumentation
Dateiname: VIMS-P MPDS 5 Treiber Dokumentation V1.3.docx 16/16

Das könnte Ihnen auch gefallen