USB Schnittstelle blockiert jeweils nach siebenter Datenabfrage

  • bei -v passiert keine Ausgabe

    Das heißt, daß kein Prozess mehr das device offen hat. Hm, auf Anhieb fällt mir jetzt nichts mehr ein. Merkwürdig. Ich schau morgen noch mal drüber.

    Was passiert denn, wenn Du bei hängendem Prozess in einer neuen ssh-Session den Befehl noch mal aufrufst. Kannst Du den hängenden Prozess identifizieren und abschießen? Macht das einen Unterschied bei einem Neuversuch?

  • ok wenn er hängt sehe ich im zweiten ssh Fenster

    Code
    pi@pizero1:~ $ sudo fuser -v /dev/bus/usb/001/002
                         BEN.        PID ZUGR.  BEFEHL
    /dev/bus/usb/001/002:
                         pi         4551 F.... te923con

    ich hab im "killen" ^^nicht so die Erfahrung. Ist das richtig?

    Code
    pi@pizero1:~ $ sudo -k te923con
    Error while setting configuration (-16).

    nein aber so

    Code
    pi@pizero1:~ $ sudo fuser -k /dev/bus/usb/001/002
    /dev/bus/usb/001/002:  4551

    Im ersten Fenster erscheint Getötet :bravo2:

  • Das klingt fast, als wenn da ein Prozess, wenn du ihn killst, nachgestartet wird.

    Was sagt "journalctl -xe"?

    In einem Fenster starten und in einem andern Fenster diesen Prozess killen.

    Selber denken,
    wie kann man nur?

  • Ich habe langsam ein bißchen den Überblick verloren, daher noch mal systematisch:


    Wir haben drei Sorten Aufrufe des Befehls:


    A - läuft durch, nächster Aufruf läuft auch durch

    B - läuft durch, nächster Aufruf hängt sich auf

    C - hängt sich auf


    Kannst Du von allen drei Sorten mal ein strace posten? Ich dachte eigentlich, das in #13 wäre von C, aber da scheint der Prozess sich am Ende ja zu beenden. Benutz beim strace bitte noch die Option "-f". Sieht zwar nicht aus, als würde der Befehl weitere Prozesse oder Threads starten, aber sicher ist sicher.


    Außerdem bitte vor und nach jedem strace die Ausgabe von fuser. Dann noch den hängenden Prozess killen (kill <PID, die Du aus dem fuser ouput ablesen kannst> und prüfen, ob der Prozess beendet wurde. Falls nicht, noch mal kill -9 <PID> und dito.


    Wenn wir dann immer noch nichts sehen, weiß ich allmählich auch nicht mehr weiter.

  • Ich hab mich unklar ausgedrückt: nach killen des Prozesses in ssh 2 erscheint "Getötet" in ssh1 und ich hab den Promt wieder. Nach erneutem Aufruf ssh1 te923con ist der Prompt wieder weg und die PID zum killen in ssh2 ändert sich jedesmal.

  • sorry bei #13 hatte ich noch kein 2.ssh


    jetzt Fall A frisch rebootet und einmal ausgeführt-Werte erhalten


    fuser -v liefert nichts

    sudo fuser -v /dev/bus/usb/001/002 liefert nichts

  • Fall B

    hängt beim siebenten Aufruf

    pi@pizero1:~ $ sudo fuser -v /dev/bus/usb/001/002

    BEN. PID ZUGR. BEFEHL

    /dev/bus/usb/001/002:

    pi 919 F.... te923con


    pi@pizero1:~ $ sudo fuser -v /dev/bus/usb/001/002

    BEN. PID ZUGR. BEFEHL

    /dev/bus/usb/001/002:

    pi 919 F.... te923con

  • Fall C

    sudo kill 919 ( das ist ein anderer kill nicht der von fuser -k --- ok? ) - Im ersten Fenster erscheint "Beendet"

    sudo fuser -v /dev/bus/usb/001/002 ergibt danach keine Ausgabe mehr



    strace läuft ohne Ende mit Timeouts im Fenster



    Aufruf te923con in ssh1 gibt keine Ausgabe Prompt wieder weg. Neue PID


    pi@pizero1:~ $ sudo fuser -v /dev/bus/usb/001/002

    BEN. PID ZUGR. BEFEHL

    /dev/bus/usb/001/002:

    pi 1077 F.... te923con

  • jetzt Fall A frisch rebootet und einmal ausgeführt-Werte erhalten


    fuser -v liefert nichts


    sudo fuser -v /dev/bus/usb/001/002 liefert nichts

    Das ist, wie es sein soll. Schon mal gut.

    Fall B

    hängt beim siebenten Aufruf

    Das wäre nach meiner Nomenklatur oben Fall C, oder reden wir aneinander vorbei?

    pi@pizero1:~ $ sudo fuser -v /dev/bus/usb/001/002

    BEN. PID ZUGR. BEFEHL

    /dev/bus/usb/001/002:

    pi 919 F.... te923con

    Ist das jetzt direkt vor dem Aufruf, der dann hängt?

    Im ersten Fenster erscheint "Beendet"


    sudo fuser -v /dev/bus/usb/001/002 ergibt danach keine Ausgabe mehr

    strace läuft ohne Ende mit Timeouts im Fenster

    Das verstehe ich nicht: Im ersten Fenster sollte doch genau das strace laufen. Wird das nun beendet oder nicht?

  • Edited once, last by satsatt ().

  • Irgendwie scheine ich Schwierigkeiten zu haben, mich verständlich auszudrücken. Ich versuch's nochmal. Was ich gerne sehen würde ist:


    5x Befehl ausführen, Output wegwerfen.


    sudo fuser -v dev/bus/usb/001/002


    strace -f te923con # Das ist jetzt der 6. Durchlauf, der noch nicht hängt. Der strace sollte also zum Ende kommen.


    sudo fuser -v dev/bus/usb/001/002


    strace -f te923con # Das ist jetzt der 7. Durchlauf, der hängt. Wie sieht das Fenster jetzt aus? Steht es oder läuft der strace weiter?


    Bis hierhin wurde alles in einem Fenster ausgeführt. Da dieses jetzt nach meinem Verständnis keinen prompt mehr hat, ist der Moment gekommen, ein zweites zu öffnen. In diesem:


    sudo fuser -v dev/bus/usb/001/002


    kill <PID>


    Was ist jetzt im ersten Fenster zu sehen?