lordxearo
Goto Top

Siemens 840d sl Linux LN Netzlaufwerk Problem

Hallo Zusammen,

ich habe vielleicht ein schweres Problem verursacht und wollte mir für die weitere Vorgehensweise hier Rat holen.

Vorher noch eine kurzes Beschreibung, um was es geht.

Es werden Siemens Sinumerik 840d sl Drehmaschinen eingesetzt, diese müssten auf einen ziemlich aktuellen Stand sein. Kenne mich bzgl. der Maschinen leider kaum aus.
In den Maschinen ist ein Netzlaufwerk eingebunden, über das der Maschinenbediener sich die CNC Programme holt. Das einbinden des Netzlaufwerks ist bei unserem Softwarestand leicht über die Bedientafel möglich, da es dafür einen eigenen Menüpiunkt zum einbinden gibt sowie das zuordnen eines Software-Keys dafür. Auf den Maschinen ist Linux eingerichtet (früher wurde Windows genutzt).

Nun ist angedacht, dass bei manchen Programmen automatisiert ein Protokoll erstellt werden soll, welches auf dem Netzlaufwerk gespeichert werden soll. Derjenige der das umsetzt benutzt in den CNC Programmen den write Befehl, hat aber noch keine Möglichkeit gefunden das Netzlaufwerk anzusprechen.

Ich habe Ihm dann mögliche Varianten genannt, mit dem er es probieren kann. z.B. unter /card/mount/net/[IP-Adresse]/[Freigabename] ist das NW eingebunden. Leider hätte wohl alle möglichen Varianten nicht funktioniert (Auch IP/Freigabename, und weitere hätten nicht geklappt)

Daraufhin habe ich geschaut, wo die lokalen Maschinendaten liegen.

Hier kommt jetzt das eigetnliche Problem (mangels eingerosteten Linux-Kenntnissen)

Ich hatte vorgehabt, unter den lokalen Maschinendaten einen Ordner anzulegen, und mit ln -s
card/mount/net/[IP-Adresse]/[Freigabename] /Netzlaufwerk eine Verknüpfung zu dem bereits im system gemounteten NW Verzeichnis anzulegen.

Die Maschinendaten lagen / liegen unter "/nckfs/...."

Jetzt sehe ich diesen Eintrag nicht mehr, sondern nur noch meinen Symbolischen link unter /Freigabe ( Der auch funktioniert)
Wenn ich das root Verzeichnis in der shell aufrufe, sagt das System "ls: ./nckfs: Transport endpoint is not connected"
An der Maschine selbst sieht alles noch so aus, als wäre es beim alten.

Frage, wie kann ich den Ursprungszustand wiederherstellen? Ich habe die Befürchtung, dass nach einem neustart das Verzeichnis nicht mehr in der Maschine bzw. an der Bedientafel eingebunden ist.

Gruß
Xearo

Edit: Auf einem Ubuntu Server bekomm ich das Problem nicht nachgestellt. Mit ln -s bekomm ich immer eine Verknüpung angelegt, ohne das sich etwas an dem Ordner verändert in dem ich momentan hänge.

Content-ID: 349694

Url: https://administrator.de/contentid/349694

Ausgedruckt am: 05.11.2024 um 00:11 Uhr

freeker
Lösung freeker 21.09.2017 um 18:08:47 Uhr
Goto Top
Hallo erstmal,
Wenn ich dich richtig verstanden habe, hast du unter "/nckfs" den Link anlegen wollen, also "/nckfs/Netzlaufwerk"
Der Befehl "ln -s card/mount/net/[IP-Adresse]/[Freigabename] /Netzlaufwerk" hat den Link aber in Root-Verzeichnis angelegt, da das vorangestellte "/" auf den absoluten Pfad verweist. Zu allem Übel ist dir bei der Aktion noch der Ordner "/nckfs" abhanden gekommen.
Soll:
/nckfs/Netzlaufwerk
Ist:
/nckfs (ist jetzt weg)
/Netzlaufwerk


Zitat von @LordXearo:
"ls: ./nckfs: Transport endpoint is not connected"
Wenn man das Googelt, stößt man schnell darauf, dass der Ordern mit FUSE im Usermodus gemountet wurde. Diese Verbindung wurde aber unsauber beendet.

Ob das Verzeichnis /nckfs bei einem Neustart frisch gemountet wird, kann ich dir leider nicht sagen. Normal ja, aber ich weiß nicht, was Siemens da gebastelt hat. Schau am Besten mal in die Syslog ob da etwas steht.
grep nckfs /var/log/syslog   //Oder wie deine Systemlog heißt//
(Oder wie deine Systemlog sonst heißt)

Wenn du die Quelle gefunden hast und dir sicher bist, kannst du mit:
fusermount -u /nckfs
den Mount aushängen.
Teste sicherheitshalber vorher indem du die Quelle an einer anderen Stelle mountest.

Danach würde ich erst einen Neustart wagen. Falls "nckfs" nicht automatisch eingebunden wird, kannst du es dann noch selber machen mit den Informationen.

Ich hoffe das hat erstmal geholfen.
MFG
LordXearo
LordXearo 21.09.2017 aktualisiert um 19:50:16 Uhr
Goto Top
Abend,

danke für deine ausführliche Rückmeldung. Ich habe heute noch gewagt weiter zumachen. So wie du es beschreibst, ist es korrekt. Ich habe erstmal den symlink entfernt "rm Netzlaufwerk" und mich dann weiter im system umgesehen... cat /proc/mount , mount, df und auch einen Ordner gefunden, mit einem start/stop skript für das "nckfsdrv" (Habs jetzt leider nicht vor mir, kann jetzt nur aus der Erinnerung schildern).

Jedenfalls, hab ich dann noch "fusermount -u /nckfs" durchgeführt und habe mit diesem Start/Stop skript dann anscheinend das Laufwerk "wiederhergestellt". Bzw. der Ordner war danach wieder vorhanden, allerdings ohne Unterordner und Dateien face-confused-alt. Der owner vom Ordner ist jetzt "root", vorher war es siemens. Angemeldet war ich als "manufact".
Was mich nur noch stutzig macht ist, dass auf der Bedientafel unter NC noch alles dazu sein scheint. Nur habe ich die Befürchtung, dass nach einem neustart alles weg ist oder schlimmstenfalls die Maschine nicht vollständig booten. Morgen wollte ich es eigentlich wagen...

Wir haben ja noch mehr von den Maschinen, aber das hat mich bisher noch nicht weitergeholfen. Wenn ich mir den Ordner angucken, schaut es für mich so aus als wäre dieser "lokal" gespeichert. Kann aber eigentlich auch nicht sein, da dieser ja irgendwie über den ncfsk driver hergestellt wird...nur womit? Google hat mir in der hinsicht leider nicht weitergeholfen.

Mfg

Edit: Hab mich per VPN angemeldet.
Auszug aus /cat/mount
/dev/loop61 /card/siemens/sinumerik/nckfs cramfs ro,relatime 0 0
Auszug aus dem Skript
# necessary variables
FUSE_ARGS=
UNKNOWN_ARGS=
CMD=
mount_dir=/nckfs
bin_name=nckfsdrv
prog_dir=/siemens/sinumerik/nckfs
PROG_NAME=`basename $0`
USAGE="usage: $PROG_NAME start [-V|--version] [-h|--help] [-d|--debug] \  
       $PROG_NAME stop \
           $PROG_NAME status \
\
-V, --version print version \
-h, --help    print help \
-d, --debug   run in debug mode \
              Attention: process will not go to background"  

case "$1" in  

  # part for 'start' command 
  start)
    # check all other commandline arguments
        for i in $@
        do
                case $i in
                        "-V" | "--version") FUSE_ARGS="$FUSE_ARGS -V";;  
                        "-h" | "--help")    FUSE_ARGS="$FUSE_ARGS -h";;  
                        "-d" | "--debug")   FUSE_ARGS="$FUSE_ARGS -d";;  
                        "start")            ;;  
                        *)                  UNKNOWN_ARGS=1
                                                                echo "unknown argument $i";;  
                esac
        done

    # if mount_dir does not exist, create it
        if [ ! -d $mount_dir ]; then
                mkdir $mount_dir
        fi

        $prog_dir/$bin_name -oallow_other $FUSE_ARGS $mount_dir
        ;;

Das steht im error log
nckfs[30140]: Failed to initialize communication layer. Errorcode -1073741813
freeker
Lösung freeker 21.09.2017 um 20:34:53 Uhr
Goto Top
Das sieht doch gut aus.
Ich denke du kannst die Kiste bedenkenlos neustarten. Wenn das Script von dem User Siemens ausgeführt wird, erklärt das auch weshalb "/nckfs" mit FUSE gemountet werden musste.
Mach dir für weitere Experimente eine Kopie von "/siemens/sinumerik/nckfs"

Mein Vorschlag:
Den Link erstellst du im Ordner "/siemens/sinumerik/nckfs"
sudo -u siemens -c /pfad/zum/skript stop
fusermount -u /nckfs
ln -s /card/mount/net/[IP-Adresse]/[Freigabename]  /siemens/sinumerik/nckfs
sudo -u siemens -c /pfad/zum/skript start
LordXearo
LordXearo 21.09.2017 um 20:42:45 Uhr
Goto Top
Dann hoffe ich mal das du recht behälst ;)

Als User siemens kann ich mich wohl nicht anmelden, da fehlt mir das Passwort.

Wegen der einbindung des Netzlaufwerks, habe ich in einem Forum noch eine mögliche Lösung gefunden, die ich mit dem Kollegen nachgehen werden. ( https://support.industry.siemens.com/tf/ww/en/posts/siemens-840d-save-lo ... )
LordXearo
LordXearo 22.09.2017 um 11:04:30 Uhr
Goto Top
Maschine neugestartet.

Ordner ist wieder mit richtigen rechten und Besitzer angelegt und die Unterverzeichnisse und Dateien sind wieder da.

Danke für deine Hilfe.