USBMapper im SymconMisc

Bin dabei, einfach zu warm im Norden :smiley:
Michael

Läuft jetzt Fehlerfrei.
Vielen dank.

Gesendet von meinem Redmi Note 2 mit Tapatalk

Hallo zusammen,

kann es sein, dass das Modul mit zwei identischen USB to Serial Adaptern probleme hat?

Immer wenn ich den ttyUSB0 auswähle und OK Drücke, springt er auf ttyUSB1, was er aber nicht soll, denn ich will ja den 0er, und nachdem der USBmapper einmal durchgelaufen ist, funktioniert auch die Kommuniketion nicht mehr, (was ja logisch ist, denn der 1er wäre ja der richtige…)

Kann mir hier jemand helfen, oder liegts an meinder Birne???:banghead:

Vielen Dank und Gruß aus Bayern

USB Mapper3.png

Keiner eine Idee?

:confused:

Lg

Sofern die Seriennummer auch gleich ist, dann gibt es tatsächlich ein Problem. Hast du mal irgendwelche Infos von lsusb z.B. in der Details zu sehen sind?

paresy

Hi Paresy,

Danke für den Tip, hier ein Auszug, es sind wohl die gleichen Seriennummern…
dann werde ich keine Chance haben, oder?

Nur eine Idee, hilft ein USB Hub dazwischen was?

Lg

Auszug LSUSB.png

Leider wird dann nicht viel zu machen sein :frowning:

paresy

Hi zusammen,

habe jetzt nochmal etwas gegoogled, und mir auf dem Raspi „udev.rules“ für meine USB Geräte angelegt, denn
auch wenn sie eine gleiche Seriennummer haben, kann man Sie anhand des Pfades unterscheiden.

1.3, 1.4, 1.5 in meinem Fall.
Man darf dann natürlich nicht mehr die USB Ports tauschen, aber das reicht mir völlig aus.
leider wird mein selbst-definierter Name nicht im USBmapper angezeigt. da stehen immer noch die Gerätenamen.

Aber ein findiger Kollege hat auch dies gelöst.

Hier eine kleine Anleitung, und die Foreneinträge/Webseitennach denen ich mich gerichtet habe:

  1. Schritt:
    wie beschrieben die Symlinks anlegen.
  • welche Nummer ihr statt den XX benutzt ist völlig egal. -> Dateiname: „XX_meinUSBgeraet.rules“
  • es können in die neue rules Datei auch mehrere symlinks eingetragen werden.
  • Erkennungsmerkmale wie: ATTRS{idProduct}==„6001“ können einfach durch austauschen der in der geschweiften klammer stehenden werte geändert werden.
    in meinem Fall zu „ATTRS{devpath}“==„x.x“, da ich meine USB Geräte nicht umstecke
    -https://wiki.siduction.de/index.php?title=Symlink_zur_eindeutigen_Erkennung_mittels_udev-Regel
  1. Schritt:

in Symcon ein Skript anlegen, wie es MartijnD erklärt! Danke an dieser Stelle!
https://www.symcon.de/forum/threads/34167-Fix-multiply-serial-USB-ports-%28ttyUSB%29-on-a-RPi-with-a-symlink?highlight=udev
Achtung! ihr müsst danach noch die Sttings übernemen mit:

IPS_ApplyChanges(#eure Objekt ID der I/O Instanz);

dann sollte das alles laufen, ich habe den Raspi vorher einige male neu gestartet, jedesmal alles durcheinander.
nach dieser „USB-Kur“ habe ich wieder einige male neu gestartet, und siehe da, alles COOL!

Ich hoffe ich konnte manchen China-USB-Adapter- geplagten helfen!

LG

Schade, dieses Modul war so vielversprechend - aber leider habe auch ich FTDIs mit gleichen Seriennummern. Ich war so schlau, mir einen Adapter zu gönnen, der gleich 4 serielle RS232 Anschlüsse hat. Fand ich super, da ich damit nur einen USB Port belege.

Leider tauchen die beim USB Mapper aber alle unter dem gleichen Namen auf - ich kann sie aber anhand des Pfades unterscheiden.

Da der Thread doch etwas älter gibt: Gibt es hierzu ggf. doch etwas neues ?

ich hab ein bisschen im Modul rumgepfuscht - vielleicht wäre das eine gute Anregung:

Wenn man in der GetUSBDevices() function noch den relevaten Pfadteil (ich kenn den Fachbegriff nicht) ergänzt, lassen sich ja auch identische serials unterscheiden:


                if (file_exists($path . 'dev')) {
                    $dev =basename(dirname($path,5));
                } else {
                    $dev = 'Unknown';
                }

bei mir bekomme ich dann zumindest schon mal folgenden Rückgabewert:


Array
(
    [0] => Array
        (
            [device] => ttyUSB0
            [manufacturer] => FTDI
            [product] => FT2232H device
            [dev] => 1-1.3:1.0
            [id] => 0403:6010:FT1TU148
        )

    [1] => Array
        (
            [device] => ttyUSB1
            [manufacturer] => FTDI
            [product] => FT2232H device
            [dev] => 1-1.3:1.1
            [id] => 0403:6010:FT1TU148
        )

    [2] => Array
        (
            [device] => ttyUSB2
            [manufacturer] => ChromoFlex
            [product] => ChromoFlex USB
            [dev] => 1-1.4.7:1.0
            [id] => 0403:6001:GPUDXV0B
        )

)

mir ist klar, dass es dann natürlich ein Problem gibt, wenn die USB Anschlüsse umgesteckt werden. Aber ich denke, die meisten werden solche Adapter nicht umstecken und man könnte ja die dev auch nur dranhängen, wenn es identische id gibt

Nur so ne Idee…

Sorry fürs hochziehen des alten Beitrags, aber Google findet diese Themen immer noch :slight_smile:

IP-Symcon 5.6 wird Symlinks auf /dev/ttyUSB* erkennen und ebenfalls unterstützten

paresy