Forum: PC-Programmierung Serielle Port bei Raspi mit usb und usbv2?


von Hardy F. (hflor)


Lesenswert?

Hallo,

hat jemand Infos warum die Seriellen USB-Geräte beim Raspi5 mit 2 
Einträgen unter /dev/serial/by-path/ zu finden sind?

platform-xhci-hcd.0-usb-0:1:1.0-port0 -> ../../ttyUSB0
platform-xhci-hcd.0-usbv2-0:1:1.0-port0 -> ../../ttyUSB0

Hardy
Beitrag #8061415 wurde vom Autor gelöscht.
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Hardy F. schrieb:

> hat jemand Infos warum die Seriellen USB-Geräte beim Raspi5 mit 2
> Einträgen unter /dev/serial/by-path/ zu finden sind?
>
> platform-xhci-hcd.0-usb-0:1:1.0-port0 -> ../../ttyUSB0
> platform-xhci-hcd.0-usbv2-0:1:1.0-port0 -> ../../ttyUSB0

Der Grund läßt sich doch ganz einfach allein aus dem Unterschied in der 
Bezeichnung ablesen. Der angeschlossene Adapter ist offensichtlich ein 
USB2.0-Gerät.

In den frühen Phasen der Geräteenumeration ist der Adapter aber 
USB1.1-kompatibel. Das muss so sein, denn erst bei der Geräteenumeration 
kann der Host ermitteln, ab das angeschlossene Gerät überhaupt USB2.0 
beherrscht.

Während der Enumeration wird also die erste Device-Node verwendet, 
danach die zweite. Ob das so gehandhabt wird, hängt allerdings vom 
Treiber des USB-Host-Adapters ab. Es kann also durchaus passieren, dass 
dasselbe USB-Gerät auf einer anderen Linuxkiste nur einen Eintrag in 
*/by-path/ bekommt. Dann läuft dort halt ein anderer Treiber für den 
Hostadapter. Möglicherweise allein deshalb, weil es wirklich eine andere 
USB-Host-Hardware ist, es ist aber genauso möglich, dass es nur eine 
andere Linux-Version ist, wo der Treiber das halt intern anders 
behandelt.

Das ist der springende Punkt: das sind Treiber-Interna. die gehen eine 
Anwendung normalerweise nix an.
von Hardy F. (hflor)


Lesenswert?

Und warum ist es dann auf einem Raspi4 nur so:

platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1.2:1.0-port0

? Da gibt es kein usbv2, obwohl es der gleiche USB-Wandler ist.


> Das ist der springende Punkt: das sind Treiber-Interna. die gehen
> eine Anwendung normalerweise nix an.

wenn ich, wie in diesem Fall ca. 5 USB-RS485-Wandler anschließe möchte 
ich nicht nach jedem Neustart erst mal die Geräte zusammensuchen. Da 
nehme ich den Eintrag aus by-path und damit ist die Funktion eines 
jeden Adapters definiert.

Hardy
: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Hardy F. schrieb:
> Und warum ist es dann auf einem Raspi4 nur so:
>
> platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1.2:1.0-port0
>
> ? Da gibt es kein usbv2, obwohl es der gleiche USB-Wandler ist.

Aber ganz offensichtlich ein anderer USB-Hostcontroller. Wie schon 
geschrieben: wie diese Sache genau abgehandelt wird, ist allein Sache 
des Treibers für den USB-Hostcontroller.
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Hardy F. schrieb:

> wenn ich, wie in diesem Fall ca. 5 USB-RS485-Wandler anschließe möchte
> ich nicht nach jedem Neustart erst mal die Geräte zusammensuchen. Da
> nehme ich den Eintrag aus by-path und damit ist die Funktion eines
> jeden Adapters definiert.

Das kannst du ja weiterhin machen. Musst halt nur ein wenig mehr 
Hirnschmalz in die sinnvolle Auswertung der gefundenen Einträge 
investieren.

Der Teil des Eintrags, der den physische Portverweis beschreibt, ist ja 
konsistent. Und wird es auch bleiben, selbst bei EHCI/USB3.0 und einem 
USB3.0-Gerät, was u.U. zu sogar drei Einträgen für ein einzelnes Gerät 
führen könnte...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.