keine Gerätedatei für USB-to-RS232 Adapter

Hinweis: In dem Thema keine Gerätedatei für USB-to-RS232 Adapter gibt es 15 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • dieser Titel ist nicht ganz richtig.
    Es wird aber nur dann eine Gerätedatei /dev/ttyUSBx angelegt, sobald 2 (baugleiche) Adapter an den USB-Ports vorhanden sind.


    Über einen USB->RS232-Adapter steuere ich eine Baugruppe (Eigenbau mit atmega16 ) zum Ein-/Ausschalten von externen Geräten (Drucker, Router, Switch .... )


    Unter openSuSE 13.1 ,.... Leap42.1 ... bis 42.3 traten auch keine Probleme auf. (mit der Leap42.3 funktioniert das auch heute noch)
    Auch unter Leap15 funktioniert das, aber nur wenn ein 2. Adapter (die RS232-Schnittstelle ist unbenutzt und hängt in der Luft) angesteckt ist!!!


    Meine Programme zu Steuerung der Schalter-Baugruppe finden dann über die einzige Gerätedatei die Baugruppe und könne sie auch steuern.


    Sobald ich aber den unbenutzten USB->RS232-Adapter entferne, funktioniert auch die Verbindung zur Baugruppe nicht mehr, die Gerätedatei wird gelöscht.
    Hot-Plug-Out funktioniert, nicht aber Hot-Plu-In !!


    Hat jemand eine bessere Lösung als einen "blinden Adapter" zu benutzen und oder wer kann dieses Problem an das openSuSE-Team weiterleiten?


    ?(:?::?:

    Für den Inhalt des Beitrages 127469 haftet ausdrücklich der jeweilige Autor: xterm

  • wer kann dieses Problem an das openSuSE-Team weiterleiten?

    Das ist ein Hilfeforum für openSUSE. Wir haben keinen Zugriff auf irgendwelche Entwickler und hier sind auch keine Entwickler involviert. Auch lesen hier keine Entwickler mit. Selbst ist der Mann.

    Auch unter Leap15 funktioniert das, aber nur wenn ein 2. Adapter (die RS232-Schnittstelle ist unbenutzt und hängt in der Luft) angesteckt ist!!!

    Wo angesteckt? Zwei RS232 an deinem Computer oder wie?

    Über einen USB->RS232-Adapter steuere ich eine Baugruppe (Eigenbau mit atmega16 )

    Ist dein betroffenes System Eigenbau oder wie muss man sich das vorstellen. Ich habe im Moment keinen Plan was du wo ansteckst.
    Nur mal so eine Überlegung: Wenn das nach Anstecken einer zweiten RS232 funktioniert muss ja irgendeine PIN-Belegung der zweiten RS232 das Signal durchschleifen. Du solltest also mal in der Richtung suchen. Ich kann mir das allerdings absolut nicht vorstellen. Du verlängerst ja mit dem "blinden" RS232 nur die Kontakte, die in’s Nirvana reichen. Das einzige, was eine Verbindung erzeugt wäre evtl. die Masse. Bin mir jetzt aber nicht sicher ob PIN 5, also Signal Ground, irgendwie mit der Außenmasse verbunden ist. Macht aber auch alles keinen Sinn. Was könnte noch sein ... möglicherweise hat die Buchse einen Hieb? Ich weiß es nicht. Dennoch wiederhole ich noch einmal das es nur mit der unbenutzten Buchse und dem Stecker zu tun haben kann. RS232 zu USB besitzt ja intern noch so einige Z- und Schottky Dioden. Guckst du hier:


    Wer da also was schaltet, Fragen über Fragen.

  • Das scheint eher ein Bug im Udev zu sein, weniger eine Aufgabe für die Wesen im Developerhimmel.


    Kannst du im BIOS die Ports ein- und ausschalten?
    Wenn ja, was passiert, wenn du da dran rumfummelst?


    Was babbelt ein ls -al /sys/class/tty | grep -v virtual?

  • das BIOS kennt die hinter einem USB-HUB angesteckten Ports und Baugruppen nicht, dazu bedarf es erst eines Betriebssystems.
    Folglich kann ich da nicht "rmfummeln", ich kann nur den Adapter (auf der einen Seite USB, auf der anderen eine Stiftleiste mit RS232-Sigalen) in einen anderen USB-Port stecken.
    Rumfummeln kann ich in der (meiner) Software. Die findet heraus, welcher Adapter ( /dev/ttyUSB0, /dev/ttyUSB1 .... ) mit dem ATMega16-Mikrocontoller verbunden ist, denn der sendet nach Aufforderung eine Kennung.
    Da ich die Hard- wie auch die Software dafür selbst gebaut bzw. geschrieben habe, liegt natürlich auch ein 2. USB-RS232-Adapter im Tischkasten.


    Beim Versuch, damit "herumzufummeln" war zu erkennen, dass es mit einem Adapter in einem USB-Port kein /dev/ttyUSBx gibt. Folglich kann mein Programm auch kein open /dev/ttyUSBx ausführen. Mit dem Adapter aus der Grabbel-Kiste gab es dann das Gerät /dev/ttyUSB1 ( nicht aber /dev/ttyUSB0 ).
    Der Report von lsusb weist aber beide Geräte aus.


    Als Übergangslösung kann ich den unbeschalteten USB->RS232-Adapter einfach mit einstecken, oder aber wieder mein Leap42.3 benutzen.
    Mit der 42.3 kann ich zwar Vergleiche machen, finde aber für die ID 10c4:ea60 in /lib//udev/rules.d/77-mm-usb-serial-adapters-greylist.rules zwischen beiden (15 und 42.3 ) keine Unterschiede. So tief musste ich aber auch noch nie hier eindrigen.



    Irgendwo findet sich aber doch mal jemand, der mehr weiß als ich und Sokrates.

    Für den Inhalt des Beitrages 127489 haftet ausdrücklich der jeweilige Autor: xterm

  • Da du alles selber gebaut hast frage ich mich, ob die beiden RS232 USB Adapter Unterschiede aufweisen.

  • Es gibt sehr wohl viele Boards, die noch COM Schnittstellen im Chipsatz haben, die nicht via USB angebunden werden. Die können dann sehr wohl im BIOS auftauchen (oder halt nicht).
    Diese Teile haben dann meist eigene Pfostenstecker für die jeweiligen Ports, werden aber nicht verwendet.
    Und es gibt Boards, die bieten die entsprechenden Käfer, haben aber nicht einmal mehr Stecker, um sie zu betreiben.
    Sinn & Zweck wäre gewesen, eventuelle Kappeleien zwischen beiden auszuschliessen, bzw. aufzuzeigen.


    Ist aber jetzt schon egal.
    Du liefest ja nicht mal geforderte Antworten.


    Vielleicht mag es ja helfen, zu erfahren, dass solche USB Teile nicht notwendigerweise ttyUSBx anlegen, sondern auch als ACME in Erscheinung treten können, was der ls Befehl hätte offenbaren können.


    Mit dem Rumgefummel auf der falschen Seite (deinem ATmega16, falls das nicht doch ein ATmega16A ist...) wirst du wohl nichts erreichen.
    Dein Problem liegt im Udev von Linux (und im User).


    Dürfte ziemlich lange dauern, bis du jemanden findest, der mit deinen schwammigen Angaben __wirklich__ etwas weiß.
    Da müsste man sogar noch ein paar Fragen beantworten. Zum Beispiel, was der Unterschied zwischen beiden Adaptern ist.
    "Adapter" und "baugleiche Adapter" sagen nicht wirklich etwas über die tatsächlichen Bausteine aus.
    (Ja, wir haben schon mal im Labor zwei Wochen an einem Board herumgespielt, weil zwei absolut (auch in der Nebenrevisionsnummer gleich) identische Boards verschiedene Reaktionen zeigten. Es stellte sich heraus, dass ohne Änderung in der Bezeichnung ein kleines Bauteil durch ein neueres ersetzt worden war. Schwierig zu finden, wenn man nicht weiß, dass man danach suchen muss.)


    Geben denn beide USB Adapter __wirklich__ aus, dass sie ein CP2102/CP2109 UART Bridge Controller [CP210x family] wären?
    (Eigentlich erwarten wir statt USB ID die tatsächliche Bezeichnung von dir; du solltest dir schon aus Höflichkeit die Mühe machen, das selbst rauszufinden und hier zu posten).


    Dein Gefummel in den Udev Rules solltest du vorerst unterlassen.
    Dass du da noch nie so tief eingestiegen bist, lies schon dein Post #1 erkennen.

  • Alero:

    Zitat von xterm

    Da du alles selber gebaut hast frage ich mich, ob die beiden RS232 USB Adapter Unterschiede aufweisen.

    Was ist denn an " (baugleiche) Adapter an den USB-Ports vorhanden sind." nicht zu verstehen? Die Adapter haben ich nicht selbst gebaut, einen nur eingelötet.


    Hier geht es ja auch überhaupt nicht um meine Hard- und Software. In openSuSE42.3 funktioniert ja auch alles und wie ich geschrieben habe, auch mit Leap15.
    Da muss ich aber zusätzlich einen USB->RS232 Schnittstellenwandler in ein USB-Port schieben, damit der erste (wohl durch udev) eine Gerätedatei bekommt.
    Obwohl lsusb beide als gleiche Hardware ausweist, wird nur eine Gerätedatei ( /dev/ttyUSB1 ) erzeugt. Das ist natürlich sehr ungewöhnlich, dass da mit USB1 und nicht mit USB0 angefangen wird (so war es bisher immer).
    Irgendwer, scheint hier wohl beim Scannen einen Anfangswert falsch zu setzen, was dann aber kein Konfigurationsfehler, sondern ein Codefehler ist.
    Wer das alles besser versteht als ich, der sollte vielleicht mal auf die Seite


    Bug 1093378 – conflicting udev rules completely break USB Serial bridges
    gehen.

    Für den Inhalt des Beitrages 127510 haftet ausdrücklich der jeweilige Autor: xterm

  • Dir ist einfach nicht zu helfen.


    Ich habe dir schon mehrfach geschrieben, dass es sich um reines Udev- Problem handelt.
    Ich wollte dir auch vor Augen führen, dass "baugleiche Teile" oft sehr verschieden sein können.


    Wenn es ein reines Udev- Problem ist UND zwei "baugleiche Teile" VERSCHIEDEN reagieren,
    dann MUSS man ZUERST herausfinden, was das unterschiedliche Verhalten triggert.


    Denn die Udev- Rules werden durch den VendorID:DeviceID getriggert.
    Damit werden durch die scheinbar "baugleichen Teile" mit DERGLEICHEN VendorID:DeviceID Strings IMMER die GLEICHE Udev-Rule triggern.


    Hatte ich schon mal erwähnt, dass ein ls -la der entsprechenden Verzeichnisse Licht in dein Dunkel bringen könnte?


    Es wäre schon, wenn man ein fähiger Forumsuser ein solches Problem posten würde.

  • Zitat von Berichtigung

    Wenn es ein reines Udev- Problem ist UND zwei "baugleiche Teile" VERSCHIEDEN reagieren,

    sie reagieren keineswegs unterschiedlich. Es ist völlig egal, ob der eine oder der andere USB-RS232-Converter am PC ist. Es müssen 2 sein, damit überhaupt eine Gerätedatei erstellt wird. Das ist immer die /dev/ttyUSB1 (188 1 ) .
    Übrigens laufen bei mir virtuelle Maschinen (Manjaro und Mint ). Dort kann ich die USB-RS232-Converter "durchreichen" und auch benutzen.



    Hatte ich schon mal erwähnt, dass ein ls -la der entsprechenden Verzeichnisse Licht in dein Dunkel bringen könnte?

    Was sind denn für dich "entsprechende Verzeichnisse" ?

    Für den Inhalt des Beitrages 127552 haftet ausdrücklich der jeweilige Autor: xterm

  • Das langweilt.


    Für eine Profi hast du noch ziemlich seltsame Flausen im Kopf.


    Dass die beiden offensichtlich nicht unterschiedlich reagieren, erfahren wir immerhin schon jetzt.
    Bislang war jedenfalls nicht klar. Immerhin schon im neunten Post die Angabe, die echte Profis im ersten offenbart hätten.


    Und welche Verzeichnisse das sind sollte ein Profi, wie du eigentlich wissen.
    Er könnte eines davon sogar in diesem Thread finden.


    Ich bin jetzt raus.
    Good luck.