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/video
. Finn ut attributtene som
identifiserer enheten unikt (vanligvis fungerer, leverandør- og
produkt-IDer og/eller serienumre):
X
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.