FTDI mit udev auf eigenen Namen in /dev legen

OP #5557544
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
OP #5557954
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
OP #6272634
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren