usb-dongle ohne serial-id

Begonnen von TecCheck, 03 Juli 2022, 16:02:06

Vorheriges Thema - Nächstes Thema

TecCheck

Hallo an euch Linux - kenner,

Mein Problem:
warum hat einer meiner usb-dongles keine serial-id ?

Vorgeschichte:
Ich habe seit längerem ein ZWave - system mit einem usb-dongle ZMEEUZB1.
Da seit 2 Monaten plötzlich Probleme auftraten, (sendStack overflow usw.) habe ich mir
zunächst Testweise einen 2. ZWave USB-dongle von AOETEC geleistet und auch installiert.
Der AEOTEC-Stick spannt ein separates ZWAVE_Netz mit separater HomeID auf.
Ich habe inzwischen einige meiner Geräte auf den neuen Stick inkludiert und alles funktioniert einwandfrei.

Jetzt mein Problem an die Linux-Spezis:

da ich insgesamt 7 USB-Sticks angeschlossen habe, und ich fürchte das sich bei einem Neustart
oder beim Neuaufsetzen des Systems die Zuordnung der Sticks ändert,
würde ich gerne, (was bei einigen Sticks schon erfolgt ist), die Definition by serial-id durchführen.

Der erste ZWave-dongle ist definiert über /dev/ttyACM0 und wird, bei einer Abfrage 'by-id' auch angezeigt.

~$ ls -l /dev/serial/by-id
insgesamt 0
lrwxrwxrwx 1 root root 13 Jun 21 10:10 usb-0658_0200-if00 -> ../../ttyACM0                                    ## zwavedongle 1
lrwxrwxrwx 1 root root 13 Jun 13 17:26 usb-busware.de_CUL868-if00 -> ../../ttyACM1                          ## CUL
lrwxrwxrwx 1 root root 13 Jun 15 20:58 usb-dresden_elektronikGmbH_ConBee_II_DE2190892-if00 -> ../../ttyACM3   ## ConbeeStick
lrwxrwxrwx 1 root root 13 Jun 13 17:26 usb-FTDI_FT232R_USB_UART_A901RP05-if00-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 root root 13 Jun 13 17:26 usb-RFXCOM_RFXtrx433_A1XECWJ4-if00-port0 -> ../../ttyUSB1
lrwxrwxrwx 1 root root 13 Jun 13 17:26 usb-SHK_NANO_CUL_868-if00-port0 -> ../../ttyUSB2


Der 2. ZWave-dongle, der in Fhem definiert als ttyACM2 auch funktioniert,  wird per Abfrage 'by-id'  nicht angezeigt !?
aber, die Abfrage 'by-path' zeigt :

~$ ls -l /dev/serial/by-path
insgesamt 0
lrwxrwxrwx 1 root root 13 Jun 21 10:10 pci-0000:00:14.0-usb-0:2:1.0 -> ../../ttyACM0                       ## zwavedongle 1
lrwxrwxrwx 1 root root 13 Jun 13 17:26 pci-0000:00:14.0-usb-0:3.2:1.0 -> ../../ttyACM1                    ## CUL
lrwxrwxrwx 1 root root 13 Jun 13 17:26 pci-0000:00:14.0-usb-0:3.4.1:1.0-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 root root 13 Jun 13 17:26 pci-0000:00:14.0-usb-0:3.4.2:1.0-port0 -> ../../ttyUSB1
lrwxrwxrwx 1 root root 13 Jun 13 17:26 pci-0000:00:14.0-usb-0:3.4.4:1.0-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Jun 19 12:24 pci-0000:00:14.0-usb-0:4.1.4:1.0 -> ../../ttyACM2                 ## zwavedongle 2
lrwxrwxrwx 1 root root 13 Jun 15 20:58 pci-0000:00:14.0-usb-0:4.4:1.0 -> ../../ttyACM3                    ## ConbeeStick


hier wird der 2. ZWave-dongle, in Fhem definiert als ttyACM2, angezeigt !

Übrigens fhem läuft bei mir auf einem NUC:
   ~$ lsb_release -d
Description:    Ubuntu 18.04.6 LTS


Wie kann ich diesen Stick auf ttyACM2 mit fixem Namen oder Bezeichnung in Linux und  fhem einbinden?

Liebe Grüße
Wolfgang
Intel NUC mit Ubuntu als FHEM-Server,
CUL  868, RFXTRX 433, Jeelink-PCA,ZWDongle, HMLan
Aktivlautsprecher über LineIn und Display per HDMI am NUC,
diverse FS20 und Intertechno - Komponenten, Oregon Temp-Hum-Sensoren, HomeMatic, PCA301, KS300,Sonos, ZWave, Alexa,Echo's

bartman121

Naja, das ganze kann man über udev-rules lösen. Aber das ist definitiv keine Sache von 2Minuten und erfordert sicher auch einige Linux-Kenntnisse...

Hier sind ein paar Infos, by-id ist halt einfach nur ein symlink auf das decice. Dort steht wie man mittels udev-rules einen symlink anlegt. Den Rest musst du dir zusammensuchen...

https://superuser.com/questions/839667/how-is-by-id-created-on-linux

Grüße

Andreas

.

Otto123

Hi,

ZitatWie kann ich diesen Stick auf ttyACM2 mit fixem Namen oder Bezeichnung in Linux und  fhem einbinden?
Oder Du nimmst einfach by-path damit ist er abhängig vom Steckplatz aber nicht von der Reihenfolge der Inbetriebnahme.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TecCheck

Vielen Dank für eure Antworten,

@bartman121  Hey Andreas, ich hab mir das mal angeschaut, mit der Erstellung von Symlinks,
allerdings bin ich ziemlicher Linux-laie. Ich bin nicht sicher das ich das hinkriege.
Ich frage mich, warum erstellt udev symlinks der anderen Usb-geräte automatisch, und von diesem nicht?

@Otto123 Hallo Otto, dein Vorschlag ist natürlich wesentlich leichter umzusetzen.
Das werde ich mal probieren, das heisst also das die Geräte bei einem Neustart richtig zugeordnet werden.
Aber was z.B. ist bei der Neuaufsetzung des Systems, bleibt die Zuordnung by-path da auch erhalten sofern die Hardware unverändert ist?

Grüße
Wolfgang
Intel NUC mit Ubuntu als FHEM-Server,
CUL  868, RFXTRX 433, Jeelink-PCA,ZWDongle, HMLan
Aktivlautsprecher über LineIn und Display per HDMI am NUC,
diverse FS20 und Intertechno - Komponenten, Oregon Temp-Hum-Sensoren, HomeMatic, PCA301, KS300,Sonos, ZWave, Alexa,Echo's

Otto123

#4
by-path hängt von der physischen Schnittstelle ab. Also in welcher Buchse steckt der Stick. Ob das unterschiedliche Linux Systeme unterschiedlich benennen weiß ich nicht. Aber es wird auch beim Neuaufsetzen gleich bleiben.
Ich hatte mir mal dazu notiert:
ZitatDazu gibt es offenbar eine Lösung "/dev/serial/by-path".
Mit ls /dev/serial/by-path/ kann man sich die gesteckten USB Stick mit kompletten Pfad anzeigen lassen.

platform-3f980000.usb-usb-0:1.2:1.0-port0
platform-3f980000.usb-usb-0:1.5:1.0-port0
Die :1 ist der interne USB Hub des Pi, die folgende Ziffer nach dem Punkt der Port (siehe unten). Steckt an Port 3 (0:1.3) noch ein Hub, kommen dessen Anschlüsse als weitere Punkt dazu (0:1.3.1:). Man kann dann meist die Ports am Hub mechanisch / logisch zuordnen.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TecCheck

Das hilft mir doch schon mal weiter!  :)

Thanks

Wolfgang

Intel NUC mit Ubuntu als FHEM-Server,
CUL  868, RFXTRX 433, Jeelink-PCA,ZWDongle, HMLan
Aktivlautsprecher über LineIn und Display per HDMI am NUC,
diverse FS20 und Intertechno - Komponenten, Oregon Temp-Hum-Sensoren, HomeMatic, PCA301, KS300,Sonos, ZWave, Alexa,Echo's

Wernieman

by-id dürfte bei dem einen Stick nicht funktionieren, da der Hersteller eine Seriennummer (die er bei jedem Stick ändern müßte = teuer) sich gespart hat.

Ist also keiner Linux-Ursache, sondern ein Herstellerproblem. Genau deshalb gibt es den, nicht so Optimalen aber als alternative guten, by-path Pfad .....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

TecCheck

Von der Seite habe ich das noch nicht gesehen,
da lernt man  immer mal was dazu.
Ich bin davon ausgegangen das jeder Stick eine Id hat,
und richtig, by-path ist eine  Alternative, auf die man aber erst mal kommen muss. 8)

Wolfgang
Intel NUC mit Ubuntu als FHEM-Server,
CUL  868, RFXTRX 433, Jeelink-PCA,ZWDongle, HMLan
Aktivlautsprecher über LineIn und Display per HDMI am NUC,
diverse FS20 und Intertechno - Komponenten, Oregon Temp-Hum-Sensoren, HomeMatic, PCA301, KS300,Sonos, ZWave, Alexa,Echo's

Wernieman

Es gibt auch Hersteller, die für die eine ID für alle Sticks nehmen ..
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html