9.4. Administrere enheter

9.4.1. Håndtere dupliserte enheter

Som forklart i Section 9.3, “Oversikt over enhets- og modulhåndtering”, rekkefølgen som hvilke enheter med samme funksjon vises i /dev er i hovedsak tilfeldig. Hvis du for eksempel har et USB-webkamera og en TV-tuner, noen ganger /dev/video0 refererer til kameraet og /dev/video1 refererer til tuneren, og noen ganger etter en omstart endres rekkefølgen. For alle klasser av maskinvare unntatt lydkort og nettverkskort kan dette fikses ved å lage udev-regler for egendefinerte vedvarende symbolkoblinger. Tilfellet med nettverkskort dekkes separat i Section 9.2, “Generell nettverkskonfigurasjon”, og lydkortkonfigurasjon kan finnes i BLFS.

For hver av enhetene dine som sannsynligvis vil ha dette problemet (selv om problemet ikke eksisterer i din nåvørende Linux distribusjon), finn den tilhørende mappen under /sys/class eller /sys/block. For videoenheter kan dette være /sys/class/video4linux/videoX. Finn ut attributtene som identifiserer enheten unikt (vanligvis fungerer, leverandør- og produkt-IDer og/eller serienumre):

udevadm info -a -p /sys/class/video4linux/video0

Skriv så regler som lager symbolkoblingene, f.eks.:

cat > /etc/udev/rules.d/83-duplicate_devs.rules << "EOF"

# Persistent symlinks for webcam and tuner
KERNEL=="video*", ATTRS{idProduct}=="1910", ATTRS{idVendor}=="0d81", SYMLINK+="webcam"
KERNEL=="video*", ATTRS{device}=="0x036f",  ATTRS{vendor}=="0x109e", SYMLINK+="tvtuner"

EOF

Resultatet er at /dev/video0 og /dev/video1 enheter refererer fortsatt tilfeldig til tuneren og webkameraet (og bør derfor aldri brukes direkte), men det finnes symbolkoblinger /dev/tvtuner og /dev/webcam som alltid peker på den rette enheten.