Forum: PC Hard- und Software FTDI mit udev auf eigenen Namen in /dev legen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Michael J. (jogibaer)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da man durchaus den Durchblick verlieren kann, wollte ich jedem FTDI
Adapter (Chip) in /dev einen eigenen Namen geben,

Also in /etc/udev/rules.d/10-ftdi.rules folgendes eingetragen:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6001", 
GROUP="dialout", MODE="0777", 
ATTRS{serial}=="A1WV5UVG",SYMLINK+="USBISP-A"

Danach /etc/init.d/udev restart

und ...
wird immer noch unter /dev/ttyUSB0 eingebunden.

Ich habe schon einige Seiten zu diesem Thema durch und auch diverse 
Konfigurationen ausprobiert, aber keine funktioniert -> immer ttyUSB0
Die korrekten Daten idVendor usw. sind auch eingetragen.

Hat jemand mal eine Beispielkonfiguration die mit

Debian Buster, Kernel 4.17.0-1-amd64 funktioniert?

PS:
Das seltsame ist, daß es früher (älteres System) mal funktioniert hat.
Dann mal Linux neu aufgespielt und die Regel für FTDI erstmal nicht 
eingerichtet.
Nur jetzt funktioniert die Regel nicht mehr.


Jogibär

: Bearbeitet durch User
von Clemens L. (c_l)


Bewertung
0 lesenswert
nicht lesenswert
Überprüfe mit "udevadm monitor -u -p", ob die Werte richtig sind.

Michael J. schrieb:
> Danach /etc/init.d/udev restart

Adapter neu eingestöpselt?

von g457 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> wird immer noch unter /dev/ttyUSB0 eingebunden

Natürlich. Und wenn die Regel korrekt ist erzeugst Du einen Symlink 
namens 'USBISP-A'.

von Michael J. (jogibaer)


Bewertung
1 lesenswert
nicht lesenswert
Hallo,

der Tipp von Clemens (udevadm monitor -u -p") hat die Ursache geklärt.

Ich war es von früher gewohnt, daß in Syslog beim einstöpseln mit der 
richtigen Regel die Ausgabe /dev/USBISP-A erscheint.
Es erscheint aber jetzt anscheinend immer nur die Angabe /dev/ttyUSB0.
Wenn die Regel stimmt, dann wir zusätzlich der Link /dev/USBISP-A 
angelegt.
Darüber gibt es keine Meldung.

Sonst habe ich immer unter /dev nachgeschaut, ob die Regel funktioniert;
mich nachher auf die Ausgabe im Syslog verlassen.
Daher war ich fälschlicherweise der Meinung, daß die Regel nicht
erkannt wurde.

Danke nochmals an Alle!

Jogibär

: Bearbeitet durch User
von Michael J. (jogibaer)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich muß das Thema noch mal aufmachen.
Ich habe immer sporadisch das Problem, daß mir der Zugriff auf den Link
verweigert wird. Darum habe ich mal gesucht, woran das liegen kann.

udev Regel:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6001", 
GROUP="dialout", MODE="0666", 
ATTRS{serial}=="ADYHAQ83",SYMLINK+="USBISP-B"

Teil wird eingestöpselt:

(/dev)
ls ttyUSB0 ;  ls USBISP-B
crw-rw-rw-+ 1 root plugdev 188, 0 Mai 20 21:27 ttyUSB0
lrwxrwxrwx 1 root root 15 Mai 20 21:27 USBISP-B -> bus/usb/001/028

Link von USBISP-B geht zu bus/usb/001/028

Gerät und Link sind da, Zugriff über ttyUSB0 funktioniert; über den Link
USBISP-B erzeugt z.B. avrdude:

"avrdude: ser_open(): can't set attributes for device "/dev/USBISP-B": 
Inappropriate ioctl for device"

Beim Zugriff über QT serialport das selbe (nur zum testen).

Gerät wieder ausgestöpselt, dann
rmmod ftdi_sio
rmmod usbserial,
Gerät wieder eingestöpselt:

ls ttyUSB0 ;  ls USBISP-B
crw-rw-rw-+ 1 root plugdev 188, 0 Mai 20 21:36 ttyUSB0
lrwxrwxrwx 1 root root 7 Mai 20 21:36 USBISP-B -> ttyUSB0

Jetzt geht der Link von USBISP-B direkt zu ttyUSB0, und der Zugriff 
funktioniert über ttyUSB0 und USBISP-B

Wie bekomme ich dieses Verhalten weg?
Ich will nicht jedesmal die Kernelmodule vor dem anstöpseln händisch 
rauswerfen.
Ich vermute, die werden beim einstecken von dem Gerät neu geladen und 
dann
funktioniert auch der Link; nur wenn diese vor dem einstöpseln schon 
geladen sind, funktioniert der Link nicht (kein Zugriff).

Man kann bestimmt über udev beim anstöpseln ein Script zum rauswerfen
der Kernelmodule ausführen, aber ich möchte erstmal den Grund für dieses 
Verhalten finden.

Hat jemand mal eine Idee?

Danke Euch
Jogibär

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.