Geräte am USB-Bus festlegen

Bei Linux werden den USB-Geräten bei jeder benutzung neue USB-Ports zugewiesen. Dies kann auf einfache Weise geändert werden.
Wie dies geschieht beschreibe ich hier.


Zunächst wird festgestellt was sich am Bus befindet. Wir öffnen dafür ein Terminal und geben an der Konsole  lsusb ein.  Einmal ohne neues Gerät, beim nächsten mal mit neuem Gerät.in der zweiten Ausgabe sieht man,das USB-Headset fehlt. So habe ich die Adressen meiner Funkgeräte und der diversen Mikrcontroller herausgefunden. Mit diesen informationen kann anschließend kann im Ordner /etc/rules.d eine  Datei nach dem Schema „Nr_my_geraet.rules“ erzeugt werden. Bei mir heißt sie „95_my_geraet.rules“. Diese Datei werden in der Reihenfolge der Nr vom System abgearbeitet. Meine sieht sor aus:
————————————————

# neu start: sudo service udev reload
# script nach /etc/udev/rules.d/
#rc.local berücksichtigen in /etc
#DL1YAR Stand Oktober 2023
#Terminalzeile
# lsusb
# udevadm monitor –subsystem=sound

#USB-FTDX 3000 TRX
#
SUBSYSTEMS==“usb“, KERNEL==“ttyUSB*“, ATTRS{idVendor}==“10c4″, ATTRS{idProduct}==“ea70″, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“FTDXu“
SUBSYSTEMS==“usb“, KERNEL==“ttyUSB*“, ATTRS{idVendor}==“0403″, ATTRS{idProduct}==“6001″, ATTRS{serial}==“AI05EURT“, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“FTDXs“

#USB-FT818
#
#SUBSYSTEMS==“usb“, KERNEL==“ttyUSB*“, ATTRS{idVendor}==“10c4″, ATTRS{idProduct}==“ea70″, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“FTDXu“
# Bus 001 Device 026: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port / Mobile Action MA-8910P
SUBSYSTEMS==“usb“, KERNEL==“ttyUSB*“, ATTRS{idVendor}==“067b“, ATTRS{idProduct}==“2303″, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“FT818″

#USB-NWT-Analyser
#
SUBSYSTEMS==“usb“, KERNEL==“ttyUSB*“, ATTRS{idVendor}==“0403″, ATTRS{idProduct}==“6001″, ATTRS{serial}==“A8005755″, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“NWT“

# FA-SDR
#SUBSYSTEM==“usb“, ATTRS{idVendor}==“16c0″, ATTRS{idProduct}==“05dc“, GROUP=“uucp“
SUBSYSTEMS==“usb“, ATTRS{idVendor}==“16c0″, ATTRS{idProduct}==“05dc“, GROUP=“dialout“, MODE=“0666″, SYMLINK+=“FA-SDR“

# RTL-SDR
#Bus 001 Device 023: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
SUBSYSTEMS==“usb“, ATTRS{idVendor}==“2838″, ATTRS{idProduct}==“0bda“, GROUP=“dialout“, MODE=“0666″, SYMLINK+=“RTL-SDR“

#Prommer
#
SUBSYSTEM==“usb“, ENV{DEVTYPE}==“usb_device“, ATTRS{idVendor}==“1781″, ATTRS{idProduct}==“0c9f“,GROUP=“dialout“, MODE=“0777″, SYMLINK+=“USBasp“

#Arduino
#
#SUBSYSTEMS==“usb“, KERNEL==“ttyUSB*“, ATTRS{idVendor}==“1a86″, ATTRS{idProduct}==“7523″, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“Ardu“

#Radig Testrechner
# Atmega
SUBSYSTEMS==“usb“, KERNEL==“ttyACM*“, ATTRS{idVendor}==“16c0″, ATTRS{idProduct}==“05e1″, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“Radig“

#GRBL-Ardu
#Bus 001 Device 009: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
SUBSYSTEMS==“usb“, KERNEL==“ttyUSB*“, ATTRS{idVendor}==“1a86″, ATTRS{idProduct}==“7523″, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“GRBL“

#USB-Sub-D 9pol
#Bus 008 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
SUBSYSTEMS==“usb“, KERNEL==“ttyUSB*“, ATTRS{idVendor}==“067b“, ATTRS{idProduct}==“2303″, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“SUB-9pol“

#USB IC-9700
#Bus 001 Device 030: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
#SUBSYSTEMS==“usb“, KERNEL==“ttyUSB*“, ATTRS{idVendor}==“10c4″, ATTRS{idProduct}==“ea60″, GROUP=“dialout“, MODE=“0777″, SYMLINK+=“IC9700″
#IC-9700
# iSerial 3 IC-9700 13004115 B
# iSerial 3 IC-9700 13004115 A

ACTION==“add“, SUBSYSTEMS==“usb“, ATTRS{idVendor}==“10c4″, ATTRS{idProduct}==“ea60″ , ATTRS{product}==“CP2102N USB to UART Bridge Controller“, ATTRS{serial}==“IC-9700 13004115 A“,GROUP=“dialout“, MODE=“0777″, SYMLINK+=“IC9700a“
ACTION==“add“, SUBSYSTEMS==“usb“, ATTRS{idVendor}==“10c4″, ATTRS{idProduct}==“ea60″ , ATTRS{product}==“CP2102N USB to UART Bridge Controller“, ATTRS{serial}==“IC-9700 13004115 B“,GROUP=“dialout“, MODE=“0777″, SYMLINK+=“IC9700b“

#IC9K7 Sound
#UDEV [97975.851558] add /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1.1/1-2.1.1.4/1-2.1.1.4:1.0/sound/card3 (sound)
# IC-9700 Sound Card
SUBSYSTEM!=“sound“, GOTO=“ic9700_alsa_naming_end“
ACTION!=“add“, GOTO=“ic9700_alsa_naming_end“
DEVPATH==“/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1.1/1-2.1.1.4/1-2.1.1.4:1.0/sound/card?“, ATTR{id}=“IC9K7″
LABEL=“ic9700_alsa_naming_end“

#IC9K7 PAVUcontrol
SUBSYSTEM!=“sound“, GOTO=“ic9700_pa_naming_end“
ACTION!=“change“, GOTO=“ic9700_pa_naming_end“
KERNEL!=“card*“, GOTO=“ic9700_pa_naming_end“
DEVPATH==“/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1.1/1-2.1.1.4/1-2.1.1.4:1.0/sound/card?“, ENV{SOUND_DESCRIPTION}=“IC9K7″
LABEL=“ic9700_pa_naming_end“

# Modem Soundcard #######
#UDEV [97975.851558] add /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1.1/1-2.1.1.4/1-2.1.1.4:1.0/sound/card3 (sound)
# Modem Sound Card
SUBSYSTEM!=“sound“, GOTO=“Modem_alsa_naming_end“
ACTION!=“add“, GOTO=“Modem_alsa_naming_end“
DEVPATH==“/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/sound/card?“, ATTR{id}=“Modem_“
LABEL=“Modem_alsa_naming_end“

#Modem PAVUcontrol
SUBSYSTEM!=“sound“, GOTO=“Modem_naming_end“
ACTION!=“change“, GOTO=“Modem_naming_end“
KERNEL!=“card*“, GOTO=“Modem_naming_end“
DEVPATH==“/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/sound/card?“, ENV{SOUND_DESCRIPTION}=“Modem_“
LABEL=“Modem_naming_end“

# FTDX3000 Soundcard #######
#UDEV [142344.376594] add /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.4/1-2.4.2/1-2.4.2:1.0/sound/card5 (sound)
# Modem Sound Card
SUBSYSTEM!=“sound“, GOTO=“FTDX3000__alsa_naming_end“
ACTION!=“add“, GOTO=“FTDX3000__alsa_naming_end“
DEVPATH==“/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.4/1-2.4.2/1-2.4.2:1.0/sound/card?“, ATTR{id}=“FTDX3000_alsa_“
LABEL=“FTDX3000__alsa_naming_end“

#FTDX3000 PAVUcontrol
SUBSYSTEM!=“sound“, GOTO=“FTDX3000__naming_end“
ACTION!=“change“, GOTO=“FTDX3000__naming_end“
KERNEL!=“card*“, GOTO=“FTDX3000__naming_end“
DEVPATH==“/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.4/1-2.4.2/1-2.4.2:1.0/sound/card?“, ENV{SOUND_DESCRIPTION}=“FTDX3000_pulse_“
LABEL=“FTDX3000__naming_end“

———————————————

Das Ergebnis im Ordner /dev sieht dann etwa so aus