Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. Modbus: Serial Port nicht durch /dev/serial/by-id auswählbar

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    993

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Modbus: Serial Port nicht durch /dev/serial/by-id auswählbar

Geplant Angeheftet Gesperrt Verschoben Ungelöst Error/Bug
modbus devserialby-id
10 Beiträge 3 Kommentatoren 1.6k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    StefanTank
    schrieb am zuletzt editiert von
    #1

    Hallo,
    nach einem Neustart meines Raspi ändert sich der Port, an dem mein Modbus hängt, immer.
    Beispiel: Aktuell kann ich den Port im Modbusadapter mit /dev/ttyUSB0 auswählen.
    Nach einem Neustart stimmt er aber nicht mehr, sondern er liegt jetzt auf /dev/ttyUSB1.
    Das ist nach meinem Wissen so auch normal, denn Linux vergibt die Ports beim starten jedesmal neu.

    Eine Möglichkeit das zu ändern gibt es mit /dev/serial/by-id.

    Bei mir müsste ich also /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 eingeben und alles wäre gut.
    Genau das geht aber nicht.

    Gibt es hierfür eine Lösung?

    Thomas BraunT 2 Antworten Letzte Antwort
    0
    • S StefanTank

      Hallo,
      nach einem Neustart meines Raspi ändert sich der Port, an dem mein Modbus hängt, immer.
      Beispiel: Aktuell kann ich den Port im Modbusadapter mit /dev/ttyUSB0 auswählen.
      Nach einem Neustart stimmt er aber nicht mehr, sondern er liegt jetzt auf /dev/ttyUSB1.
      Das ist nach meinem Wissen so auch normal, denn Linux vergibt die Ports beim starten jedesmal neu.

      Eine Möglichkeit das zu ändern gibt es mit /dev/serial/by-id.

      Bei mir müsste ich also /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 eingeben und alles wäre gut.
      Genau das geht aber nicht.

      Gibt es hierfür eine Lösung?

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      schrieb am zuletzt editiert von
      #2

      @StefanTank sagte in Modbus: Serial Port nicht durch /dev/serial/by-id auswählbar:

      Genau das geht aber nicht.

      Tastatur benutzen...

      Was genau heißt denn 'geht nicht'?

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      S 1 Antwort Letzte Antwort
      0
      • Thomas BraunT Thomas Braun

        @StefanTank sagte in Modbus: Serial Port nicht durch /dev/serial/by-id auswählbar:

        Genau das geht aber nicht.

        Tastatur benutzen...

        Was genau heißt denn 'geht nicht'?

        S Offline
        S Offline
        StefanTank
        schrieb am zuletzt editiert von
        #3

        @Thomas-Braun
        Der Adapter stellt folgendes Fenster zur Verfügung.
        1345d6e6-14ba-4eb7-a15f-a9d75ca22c7c-image.png

        Unter Port kann nur eine Auswahl getroffen werden, es lässt keine Eingabe zu.

        1 Antwort Letzte Antwort
        0
        • S StefanTank

          Hallo,
          nach einem Neustart meines Raspi ändert sich der Port, an dem mein Modbus hängt, immer.
          Beispiel: Aktuell kann ich den Port im Modbusadapter mit /dev/ttyUSB0 auswählen.
          Nach einem Neustart stimmt er aber nicht mehr, sondern er liegt jetzt auf /dev/ttyUSB1.
          Das ist nach meinem Wissen so auch normal, denn Linux vergibt die Ports beim starten jedesmal neu.

          Eine Möglichkeit das zu ändern gibt es mit /dev/serial/by-id.

          Bei mir müsste ich also /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 eingeben und alles wäre gut.
          Genau das geht aber nicht.

          Gibt es hierfür eine Lösung?

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von Thomas Braun
          #4

          @StefanTank sagte in Modbus: Serial Port nicht durch /dev/serial/by-id auswählbar:

          Gibt es hierfür eine Lösung?

          Schau dir an, wie man udev-Regeln anlegt. Damit kann man bestimmten Geräten immer die gleiche Schnittstelle zuweisen. Ist hier erklärt:
          https://wiki.debian.org/udev

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          S 1 Antwort Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @StefanTank sagte in Modbus: Serial Port nicht durch /dev/serial/by-id auswählbar:

            Gibt es hierfür eine Lösung?

            Schau dir an, wie man udev-Regeln anlegt. Damit kann man bestimmten Geräten immer die gleiche Schnittstelle zuweisen. Ist hier erklärt:
            https://wiki.debian.org/udev

            S Offline
            S Offline
            StefanTank
            schrieb am zuletzt editiert von
            #5

            @Thomas-Braun
            Ok, habe nun folgendes versucht.
            Mit dem Befehl "lsusb" habe ich folgende ID für meinen Stick bekommen: 1a86:7523

            Dann Befehl "udevadm info --name=/dev/ttyUSB0 --attribute-walk" ausgeführt.

            Die lange Ausgabe habe ich auf die Daten für meine ID gekürzt:

            looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1':
            KERNELS=="1-1.1"
            SUBSYSTEMS=="usb"
            DRIVERS=="usb"
            ATTRS{bDeviceSubClass}=="00"
            ATTRS{devspec}=="(null)"
            ATTRS{bcdDevice}=="0254"
            ATTRS{speed}=="12"
            ATTRS{product}=="USB2.0-Serial"
            ATTRS{idProduct}=="7523"
            ATTRS{maxchild}=="0"
            ATTRS{urbnum}=="174335"
            ATTRS{version}==" 1.10"
            ATTRS{bDeviceClass}=="ff"
            ATTRS{bMaxPacketSize0}=="8"
            ATTRS{avoid_reset_quirk}=="0"
            ATTRS{idVendor}=="1a86"
            ATTRS{bmAttributes}=="80"
            ATTRS{authorized}=="1"
            ATTRS{bMaxPower}=="96mA"
            ATTRS{bNumInterfaces}==" 1"
            ATTRS{devnum}=="3"
            ATTRS{bDeviceProtocol}=="00"
            ATTRS{bConfigurationValue}=="1"
            ATTRS{bNumConfigurations}=="1"
            ATTRS{ltm_capable}=="no"
            ATTRS{configuration}==""
            ATTRS{devpath}=="1.1"
            ATTRS{busnum}=="1"
            ATTRS{tx_lanes}=="1"
            ATTRS{quirks}=="0x0"
            ATTRS{removable}=="unknown"
            ATTRS{rx_lanes}=="1"

            Jetzt eine Datei erzeugt. "sudo nano /etc/udev/rules.d/90_MyUSB_RS485_Modbus_Stick.rules"
            Inhalt:

            # USB Stick RS485 ModBus mit eindeutigem Namen versehen.
            SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ttyUSB_ModBus"
            

            Danach ein Reboot

            ls -l /dev/serial/by-id
            insgesamt 0
            lrwxrwxrwx 1 root root 13 Sep  4 20:25 usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB1
            lrwxrwxrwx 1 root root 13 Sep  4 20:25 usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0 -> ../../ttyUSB0
            

            Eigentlich habe ich jetzt den Link auf /ttyUSB_ModBus erwartet.
            Auch im ModBus-Adapter hat sich die Auswahlmöglichkeit nicht geändert.

            Welchen Fehler habe ich gemacht?

            Thomas BraunT 1 Antwort Letzte Antwort
            0
            • S StefanTank

              @Thomas-Braun
              Ok, habe nun folgendes versucht.
              Mit dem Befehl "lsusb" habe ich folgende ID für meinen Stick bekommen: 1a86:7523

              Dann Befehl "udevadm info --name=/dev/ttyUSB0 --attribute-walk" ausgeführt.

              Die lange Ausgabe habe ich auf die Daten für meine ID gekürzt:

              looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.1':
              KERNELS=="1-1.1"
              SUBSYSTEMS=="usb"
              DRIVERS=="usb"
              ATTRS{bDeviceSubClass}=="00"
              ATTRS{devspec}=="(null)"
              ATTRS{bcdDevice}=="0254"
              ATTRS{speed}=="12"
              ATTRS{product}=="USB2.0-Serial"
              ATTRS{idProduct}=="7523"
              ATTRS{maxchild}=="0"
              ATTRS{urbnum}=="174335"
              ATTRS{version}==" 1.10"
              ATTRS{bDeviceClass}=="ff"
              ATTRS{bMaxPacketSize0}=="8"
              ATTRS{avoid_reset_quirk}=="0"
              ATTRS{idVendor}=="1a86"
              ATTRS{bmAttributes}=="80"
              ATTRS{authorized}=="1"
              ATTRS{bMaxPower}=="96mA"
              ATTRS{bNumInterfaces}==" 1"
              ATTRS{devnum}=="3"
              ATTRS{bDeviceProtocol}=="00"
              ATTRS{bConfigurationValue}=="1"
              ATTRS{bNumConfigurations}=="1"
              ATTRS{ltm_capable}=="no"
              ATTRS{configuration}==""
              ATTRS{devpath}=="1.1"
              ATTRS{busnum}=="1"
              ATTRS{tx_lanes}=="1"
              ATTRS{quirks}=="0x0"
              ATTRS{removable}=="unknown"
              ATTRS{rx_lanes}=="1"

              Jetzt eine Datei erzeugt. "sudo nano /etc/udev/rules.d/90_MyUSB_RS485_Modbus_Stick.rules"
              Inhalt:

              # USB Stick RS485 ModBus mit eindeutigem Namen versehen.
              SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ttyUSB_ModBus"
              

              Danach ein Reboot

              ls -l /dev/serial/by-id
              insgesamt 0
              lrwxrwxrwx 1 root root 13 Sep  4 20:25 usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB1
              lrwxrwxrwx 1 root root 13 Sep  4 20:25 usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0 -> ../../ttyUSB0
              

              Eigentlich habe ich jetzt den Link auf /ttyUSB_ModBus erwartet.
              Auch im ModBus-Adapter hat sich die Auswahlmöglichkeit nicht geändert.

              Welchen Fehler habe ich gemacht?

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              schrieb am zuletzt editiert von
              #6

              @StefanTank
              Hab nur theoretisches Wissen. Selber habe ich das lange nicht mehr gemacht.

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              S 1 Antwort Letzte Antwort
              0
              • Thomas BraunT Thomas Braun

                @StefanTank
                Hab nur theoretisches Wissen. Selber habe ich das lange nicht mehr gemacht.

                S Offline
                S Offline
                StefanTank
                schrieb am zuletzt editiert von
                #7

                @Thomas-Braun
                Danke schonmal bis hierhin, denke das ist der richtige Weg
                Vielleicht kannst du mir hier noch helfen.

                Mit "ls -l /dev/ttyU*" wird folgendes ausgegeben:

                crw-rw---- 1 root dialout 188, 0 Sep  4 21:38 /dev/ttyUSB0
                crw-rw---- 1 root dialout 188, 1 Sep  4 21:31 /dev/ttyUSB1
                lrwxrwxrwx 1 root root        15 Sep  4 21:24 /dev/ttyUSB_ModBus -> bus/usb/001/003
                

                Bei den funktionierenden Links steht root dialout, bei neu erzeugten nicht.
                Wie kann ich das ändern?

                Thomas BraunT 1 Antwort Letzte Antwort
                0
                • S StefanTank

                  @Thomas-Braun
                  Danke schonmal bis hierhin, denke das ist der richtige Weg
                  Vielleicht kannst du mir hier noch helfen.

                  Mit "ls -l /dev/ttyU*" wird folgendes ausgegeben:

                  crw-rw---- 1 root dialout 188, 0 Sep  4 21:38 /dev/ttyUSB0
                  crw-rw---- 1 root dialout 188, 1 Sep  4 21:31 /dev/ttyUSB1
                  lrwxrwxrwx 1 root root        15 Sep  4 21:24 /dev/ttyUSB_ModBus -> bus/usb/001/003
                  

                  Bei den funktionierenden Links steht root dialout, bei neu erzeugten nicht.
                  Wie kann ich das ändern?

                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @StefanTank

                  sudo chown root:dialout /dev/ttyUSB_ModBus
                  

                  Schau aber auch mal nach dem Linktarget

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  S 1 Antwort Letzte Antwort
                  0
                  • Thomas BraunT Thomas Braun

                    @StefanTank

                    sudo chown root:dialout /dev/ttyUSB_ModBus
                    

                    Schau aber auch mal nach dem Linktarget

                    S Offline
                    S Offline
                    StefanTank
                    schrieb am zuletzt editiert von
                    #9

                    @Thomas-Braun
                    Die Rechteänderung habe ich gemacht, leider hat sich nichts geändert.
                    Auch was den Linktarget angeht, komm ich nicht weiter.
                    Damit bin ich ans Ende meiner Linuxkenntnisse gekommen, vielleicht hat ja noch jemand eine Idee.

                    TbsJahT 1 Antwort Letzte Antwort
                    0
                    • S StefanTank

                      @Thomas-Braun
                      Die Rechteänderung habe ich gemacht, leider hat sich nichts geändert.
                      Auch was den Linktarget angeht, komm ich nicht weiter.
                      Damit bin ich ans Ende meiner Linuxkenntnisse gekommen, vielleicht hat ja noch jemand eine Idee.

                      TbsJahT Offline
                      TbsJahT Offline
                      TbsJah
                      schrieb am zuletzt editiert von
                      #10

                      @StefanTank letztendlich wie du es bereits beschrieben hast

                      ls -la /dev/serial/by-id/
                      

                      Serial von USB Port ausgeben

                      udevadm info -a -n /dev/ttyUSB0 | grep '{serial}' | head -n1
                      

                      UDEV Rule erstellen

                      sudo nano /etc/udev/rules.d/99-ORNO517.rules
                      

                      Werte eintragen

                      SUBSYSTEM=="tty", ATTRS{serial}=="AB0KUH90", SYMLINK+="ORNO517"
                      

                      Neustarten

                      Dann in system.adapter.modbus.X unter Raw --> "comName" den vergebenen UDEV Namen eintragen
                      db688556-4f1b-433c-af7d-7ce846e88b6d-image.png

                      Bei mir funktioniert es so

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      542

                      Online

                      32.6k

                      Benutzer

                      82.3k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe