USB Reader einen festen /dev/ Port zuweisen

feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

USB Reader einen festen /dev/ Port zuweisen

Beitrag von feissmaik »

Manche hier kennen vielleicht das Problem, dass nach einem Reboot mit mehreren USB Cardreadern (Smargo, Easymouse, Apollo etc) die jeweiligen ttyUSB Ports nicht mehr so sind wie vor dem Reboot...
Vorher war die SKY Karte auf ttyUSB0 und HD+ auf ttyUSB1 aber nach Reboot ist es plötzlich genau andersherum :?


Es gibt 2 Möglichkeiten dieses Problem zu beheben


1. Möglichkeit
Zum auslesen/einlesen der Karte(n) OScam in Verbindung mit dem oscam.server Protokoll smartreader verwenden und das wiederum ermöglicht die eindeutige iSerial des Readers als device anzugeben
( auslesen der iSerial über den Befehl: lsusb -v | grep iSerial )

Code: Alles auswählen

protocol = smartreader
device = Serial:Reader 123
Siehe dazu auch > hier <



2. Möglichkeit
udev installieren und anhand der iSerial des Readers einen extra Devicenamen anlegen lassen...

Also zunächst die iSerial herrausfinden über den Befehl: lsusb -v | grep iSerial
Das sollte dann ungefähr so aussehen:

Code: Alles auswählen

root@test ~ > lsusb -v | grep iSerial
  iSerial                 1 0000:00:10.2
  iSerial                 1 0000:00:10.1
  iSerial                 3 Reader 123
  iSerial                 1 0000:00:10.0
  iSerial                 3 A12345
root@test ~ > 
Reader 123 ist ein Smargo
A12345 ist ein Easymouse2
...generel kann man sich merken das da wo eine 3 steht, steckt meistens ein SmartReader dahinter... oder aber über den Befehl lsusb sollten die Reader als ID folgendes haben: 0403:6001

Bei Smargo's kommt es vor das noch eine alte Firmware verwendet wird - eine iSerial wird aber erst mit der Firmware 1.4 (1.04) unterstützt!

Ggf. ist auch FW 1.4 drauf aber trotzdem keine iSerial gesetzt; für den Fall kann man über den IPC Befehl smargo eine iSerial schreiben und zwar mithilfe des Parameters: -n
Also: smargo /dev/ttyUSB0 -n 123


Dann udev installieren:
apt-get install udev

Nun muss man sich entweder ein neues udev rules File anlegen oder ein bereits vorhandenes bearbeiten...
Die udev rule Files liegen in: /etc/udev/rules.d/
Ich hab bei mir dafür ein neues File angelegt: nano /etc/udev/rules.d/91-usb.rules

Dort trägt man nun folgendes ein
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="Reader 123", SYMLINK+="KDcard"
Reader 123 ist in diesem Fall die iSerial des jeweiligen Readers, der dann einen neuen Symlink in /dev/ kriegen soll mit dem Namen: KDcard

Wenn ihr mehrere Reader habt tragt ihr dadrunter einfach eine weitere Zeile ein sodass die Datei dann ungefähr so aussieht:

Code: Alles auswählen

SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="Reader 123", SYMLINK+="KDcard"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{serial}=="A12345", SYMLINK+="SKYcard"
Um das dann zu testen kann man entweder rebooten (Befehl: reboot) oder udev neu starten:
/etc/init.d/udev restart

Wenn alles funktioniert hat müsste es den jeweils gewählten SYMLINK in /dev/ geben also:
ls -la /dev/*card

Code: Alles auswählen

lrwxrwxrwx 1 root root 7 11. Jan 13:48 /dev/KDcard -> ttyUSB0
lrwxrwxrwx 1 root root 7 11. Jan 13:48 /dev/SKYcard -> ttyUSB1
Diesen Device- Port bzw Namen könnt ihr dann künftig über eure Cam ansprechen und nutzen


====================================================================================================

...es existiert auch ein inoffizieles Script für udev von mir allerdings gibt es damit glaub ich noch ein paar Probleme; bisher keine Lust gehabt daran weiter zu basteln: i os _udev.sh

====================================================================================================

Argolis Triple

Der Argolis Triple hat leider nur eine iSerial und vergibt für jeden Reader eine eindeutige InterfaceNumber - Diese InterfaceNumber's sind überall identisch: 0 bis 2 (bzw 00 bis 02) nur die iSerial unterscheidet sich natürlich
Also müsste die udev rule etwas anders aussehen damit wir jedem Reader einzeln ein /dev/ port zuweisen können..

Über den Befehl lsusb -v kriegen wir ua. folgende ausgabe und suchen nach iProduct und/oder iSerial

Code: Alles auswählen

Bus 001 Device 002: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0403 Future Technology Devices International, Ltd
  idProduct          0x6011 FT4232H Quad HS USB-UART/FIFO IC
  bcdDevice            5.00
  iManufacturer           1 Argolis
  iProduct                2 Triple Reader+
  iSerial                 3 00000044
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength        19968
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              150mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 Triple Reader+
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x4000  1x 0 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x4000  1x 0 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 Triple Reader+
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x4000  1x 0 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x4000  1x 0 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 Triple Reader+
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x4000  1x 0 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x4000  1x 0 bytes
        bInterval               0
Device Status:     0x4c00
  (Bus Powered)
Also könnte die 91-usb.rules dann zum Beispiel so aussehen:

Code: Alles auswählen

SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{interface}=="Triple Reader+", ATTRS{bInterfaceNumber}=="00", SYMLINK+="triple1"

SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{interface}=="Triple Reader+", ATTRS{bInterfaceNumber}=="01", SYMLINK+="triple2"

SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{interface}=="Triple Reader+", ATTRS{bInterfaceNumber}=="02", SYMLINK+="triple3"
Man könnte auch für jeden Triple eine einzige Zeile verwenden: (in diesem Fall mit der iSerial)

Code: Alles auswählen

SUBSYSTEMS=="usb" ENV{ID_IFACE}="$attr{bInterfaceNumber}"
KERNEL=="ttyUSB*", ATTRS{serial}=="00000044" SYMLINK+="triplereader$env{ID_IFACE}" 
Dann würde udev automatisch folgende dev-ports erzeugen:

Code: Alles auswählen

/dev/triplereader00
/dev/triplereader01
/dev/triplereader02
2x Argolis Triple

Oder wenn man mehrere Triple Anschliesen möchte kann man die beiden auch über die iSerial unterscheiden:

Code: Alles auswählen

SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{serial}=="00000044", ATTRS{bInterfaceNumber}=="00", SYMLINK+="triple1-1"
SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{serial}=="00000044", ATTRS{bInterfaceNumber}=="01", SYMLINK+="triple1-2"
SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{serial}=="00000044", ATTRS{bInterfaceNumber}=="02", SYMLINK+="triple1-3"

SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{serial}=="00000055", ATTRS{bInterfaceNumber}=="00", SYMLINK+="triple2-1"
SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{serial}=="00000055", ATTRS{bInterfaceNumber}=="01", SYMLINK+="triple2-2"
SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{serial}=="00000055", ATTRS{bInterfaceNumber}=="02", SYMLINK+="triple2-3"
====================================================================================================

Quadmouse

Bei der Quasmouse ist es genauso wie beim Argolis Triple, mit ausnahme das die Quadmouse keine iSerial hat! Deshalb wird es sehr schwer mehrere Quadmouse auseinander zu halten

Also zunächst über den Befehl lsusb -v die benötigten Informationen (iInterface) herraus suchen:

Code: Alles auswählen

Bus 001 Device 005: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC
Device Descriptor:
bLength                18
bDescriptorType         1
bcdUSB               2.00
bDeviceClass            0 (Defined at Interface level)
bDeviceSubClass         0
bDeviceProtocol         0
bMaxPacketSize0        64
idVendor           0x0403 Future Technology Devices International, Ltd
idProduct          0x6011 FT4232H Quad HS USB-UART/FIFO IC
bcdDevice            8.00
iManufacturer           1 FTDI
iProduct                2 Quad RS232-HS
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          101
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 Quad RS232-HS
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 <span style="color:#006400">Quad RS232-HS</span>
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 <span style="color:#006400">Quad RS232-HS</span>
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 <span style="color:#006400">Quad RS232-HS</span>
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x08  EP 8 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)
Und erstellen dann entweder für jedes bInterfaceNumber eine 91-usb.rules Zeile:

Code: Alles auswählen

SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{interface}=="Quad RS232-HS", ATTRS{bInterfaceNumber}=="00", SYMLINK+="quad1"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{interface}=="Quad RS232-HS", ATTRS{bInterfaceNumber}=="01", SYMLINK+="quad2"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{interface}=="Quad RS232-HS", ATTRS{bInterfaceNumber}=="02", SYMLINK+="quad3"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{interface}=="Quad RS232-HS", ATTRS{bInterfaceNumber}=="03", SYMLINK+="quad4"
2x Quadmouse

Da die Quadmouse keine iSerial hat, muss für udev die "usb id" genommen werden.. Das findet man über den Befehl dmesg|grep usb herraus:

Code: Alles auswählen

[   12.727429] ftdi_sio 1-4:1.0: FTDI USB Serial Device converter detected
[   12.728733] usb 1-4: Detected FT4232H
[   12.728749] usb 1-4: Number of endpoints 2
[   12.728758] usb 1-4: Endpoint 1 MaxPacketSize 512
[   12.728767] usb 1-4: Endpoint 2 MaxPacketSize 512
[   12.728775] usb 1-4: Setting MaxPacketSize 512
[   12.753645] usb 1-4: FTDI USB Serial Device converter now attached to ttyUSB0
[   12.772763] ftdi_sio 1-4:1.1: FTDI USB Serial Device converter detected
[   12.774629] usb 1-4: Detected FT4232H
[   12.774645] usb 1-4: Number of endpoints 2
[   12.774654] usb 1-4: Endpoint 1 MaxPacketSize 512
[   12.774790] usb 1-4: Endpoint 2 MaxPacketSize 512
[   12.774798] usb 1-4: Setting MaxPacketSize 512
[   12.790216] usb 1-4: FTDI USB Serial Device converter now attached to ttyUSB1
[   12.798047] ftdi_sio 1-4:1.2: FTDI USB Serial Device converter detected
[   12.799833] usb 1-4: Detected FT4232H
[   12.799847] usb 1-4: Number of endpoints 2
[   12.799857] usb 1-4: Endpoint 1 MaxPacketSize 512
[   12.799864] usb 1-4: Endpoint 2 MaxPacketSize 512
[   12.799872] usb 1-4: Setting MaxPacketSize 512
[   12.808284] usb 1-4: FTDI USB Serial Device converter now attached to ttyUSB2
[   12.831059] ftdi_sio 1-4:1.3: FTDI USB Serial Device converter detected
[   12.831502] usb 1-4: Detected FT4232H
[   12.831513] usb 1-4: Number of endpoints 2
[   12.831522] usb 1-4: Endpoint 1 MaxPacketSize 512
[   12.831530] usb 1-4: Endpoint 2 MaxPacketSize 512
[   12.831537] usb 1-4: Setting MaxPacketSize 512
[   12.837281] usb 1-4: FTDI USB Serial Device converter now attached to ttyUSB3
[   12.837394] usbcore: registered new interface driver ftdi_sio
[   12.837405] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
[   17.844227] usb 1-3: new high speed USB device using ehci_hcd and address 4
[   17.977444] usb 1-3: New USB device found, idVendor=0403, idProduct=6011
[   17.977461] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   17.977472] usb 1-3: Product: Quad RS232-HS
[   17.977480] usb 1-3: Manufacturer: FTDI
[   17.980081] usb 1-3: configuration #1 chosen from 1 choice
[   17.981518] ftdi_sio 1-3:1.0: FTDI USB Serial Device converter detected
[   17.981759] usb 1-3: Detected FT4232H
[   17.981767] usb 1-3: Number of endpoints 2
[   17.981775] usb 1-3: Endpoint 1 MaxPacketSize 512
[   17.981783] usb 1-3: Endpoint 2 MaxPacketSize 512
[   17.981791] usb 1-3: Setting MaxPacketSize 512
[   17.984480] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB4
[   17.985194] ftdi_sio 1-3:1.1: FTDI USB Serial Device converter detected
[   17.985386] usb 1-3: Detected FT4232H
[   17.985396] usb 1-3: Number of endpoints 2
[   17.985404] usb 1-3: Endpoint 1 MaxPacketSize 512
[   17.985411] usb 1-3: Endpoint 2 MaxPacketSize 512
[   17.985418] usb 1-3: Setting MaxPacketSize 512
[   17.988802] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB5
[   17.989414] ftdi_sio 1-3:1.2: FTDI USB Serial Device converter detected
[   17.989602] usb 1-3: Detected FT4232H
[   17.989612] usb 1-3: Number of endpoints 2
[   17.989620] usb 1-3: Endpoint 1 MaxPacketSize 512
[   17.989627] usb 1-3: Endpoint 2 MaxPacketSize 512
[   17.989634] usb 1-3: Setting MaxPacketSize 512
[   17.990083] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB6
[   17.990887] ftdi_sio 1-3:1.3: FTDI USB Serial Device converter detected
[   17.991075] usb 1-3: Detected FT4232H
[   17.991084] usb 1-3: Number of endpoints 2
[   17.991092] usb 1-3: Endpoint 1 MaxPacketSize 512
[   17.991100] usb 1-3: Endpoint 2 MaxPacketSize 512
[   17.991107] usb 1-3: Setting MaxPacketSize 512
[   17.992386] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB7
Also müssten die Einträge in 91-usb.rules dann so aussehen:

Code: Alles auswählen

SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ID=="1-4:1.0",  ATTRS{bInterfaceNumber}=="00", SYMLINK+="quad-1-1"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ID=="1-4:1.1",  ATTRS{bInterfaceNumber}=="01", SYMLINK+="quad-1-2"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ID=="1-4:1.2",  ATTRS{bInterfaceNumber}=="02", SYMLINK+="quad-1-3"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ID=="1-4:1.3",  ATTRS{bInterfaceNumber}=="03", SYMLINK+="quad-1-4"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ID=="1-3:1.0",  ATTRS{bInterfaceNumber}=="00", SYMLINK+="quad-2-1"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ID=="1-3:1.1",  ATTRS{bInterfaceNumber}=="01", SYMLINK+="quad-2-2"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ID=="1-3:1.2",  ATTRS{bInterfaceNumber}=="02", SYMLINK+="quad-2-3"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ID=="1-3:1.3",  ATTRS{bInterfaceNumber}=="03", SYMLINK+="quad-2-4"
Du musst nicht kämpfen um zu siegen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast