ttyUSB0 fehlerhaft

  • Hallo an alle!

    Ich habe an einen RPI-2 zwei Jeelinks angeschlossen. Die werden automatisch ttyUSB0 und ttyUSB1 zugeordnet. Das Gerät, das ttyUSB0 zugeordnet wurde, funktioniert nicht. Mit dem serial monitor sehe ich, dass es eindeutig Datenverluste auf der USB0-Schnittstelle gibt. Wenn ich das USB0 Gerät kurz abziehe und wieder aufstecke, wird es als ttyUSB2 neu zugeordnet und funktioniert dann sofort einwandfrei.
    Egal welches Gerät zufällig USB0 ist - es funktioniert als USB0 nicht richtig. Es ist also kein hardware-Problem der Jeelinks.
    Am Linux USB driver kann es auch nicht liegen - es funktioniert ja wenn USB >0.
    Symbolic links helfen da natürlich auch nichts - es wird auf Linux-Ebene sowieso ttyUSB0 für das erste erkannte Gerät verwendet.
    Ich habe auch schon aktive und passive USB hub probiert: immer das selbe Problem.
    Hat jemand eine Idee, wie man das USB0-Problem beheben kann?
    Oder man umgeht das einfach auf die harte Art, indem man ttyUSB0 z.B. als "dummy" setzt und damit blockt. Geht das irgendwie?

  • Hallo demi,

    das ist in der Tat sonderbar ...
    Hast Du mal mit dmesg nachgeschaut, ob es irgendeinen Hinweis auf ein Problem gibt?
    Ich glaube, ehrlich gesagt, nicht, dass das was mit ttyUSB0 zu tun hat.
    Das ist nur ein eindeutiger Name, hinter dem sich dann der Treiber verbirgt. Ausschlaggebend sind die major/minor Nummern anhand deren das LKM (also der Treiber) die Geräte unterscheidet.
    Ob es allerdings möglich ist, durch einen "getürkten" Eintrag unter /dev/ das erste Gerät zu blockieren kann ich leider nicht sagen ... das wirst Du wohl ausprobieren müssen (Stichword mknod).

    cheers,
    -ds-

  • Hallo Dreamshader

    vielen Dank und Entschuldigung für die recht späte Antwort.
    Ich habe in den letzten Tagen alles Mögliche versucht, das Problem zu lösen und dabei wieder mal viel gelernt, was ich eigentlich nie wissen wollte.
    Was das Blocken von ttyUSBx ports betrifft: "mknod" ist sicher hilfreich, die damit erstellten /dev-Einträge werden aber vom System gnadenlos überschrieben. Das ist auch OK, da ja die /dev-Einträge ja wohl nur mehr sozusagen informatorischen Charakter haben.
    Auch unbind/bind hilft nicht, da das den jeweiligen konkreten USB port einfach abschaltet, ohne dass sich das dort vorhandene USB-device wieder neu anmelden kann. Eignet sich also nicht, um das System zu überlisten.
    Ich habe jedenfalls keinen Weg gefunden, wie man beinflussen kann, welche konkrete ttyUSBx-Nummer das System einem konkreten device zuweist. Das arbeitet stur von Null an aufwärts nach first-come-first-serve Prinzip. Ist auch OK so, da man ja jederzeit mit den udev rules virtuelle device names für ein bestimmtes device (e.g. basierend auf serial number) vergeben kann und damit eindeutige Zuordnungen erzeugen kann, wenn man das denn braucht.

    Was meinen Fall betrifft: durch das viele rumprobieren hat sich irgendwann die SDcard des RPI verabschiedet. Ich habe dann auf einer neuen SD das System wieder komplett eingerichtet und siehe - alles OK. Plötzlich funktionieren beide JeeLinks einwandfrei, egal welche ttyUSBx zugeordnet ist.
    Man sollte also immer auf Überraschungen beim RPI vorbereitet sein, und vor allem immer eine Reserve-SD in der Schublade haben, da sterbende SD wohl eine recht häufige Erscheinung beim RPI sind.

    Gruss und nochmals vielen Dank.

  • Ja hallo ...


    ...
    Ich habe in den letzten Tagen alles Mögliche versucht, das Problem zu lösen und dabei wieder mal viel gelernt, was ich eigentlich nie wissen wollte.
    ...


    Nicht wahr ... da macht der Lehr- und Lerncomputer seinem Namen Ehre :)


    ...
    ... und siehe - alles OK. Plötzlich funktionieren beide JeeLinks einwandfrei, egal welche ttyUSBx zugeordnet ist.
    ...


    Na das ist doch was :thumbs1:


    ...
    Man sollte also immer auf Überraschungen beim RPI vorbereitet sein, ...
    ...


    Das ist wohl wahr und macht die Sache so spannend :) ....


    ...
    Gruss und nochmals vielen Dank.


    Keine Ursache ... hast ja den "Fehler" selbst behoben :)
    cu,
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!