Om Enheter

Selv om de fleste enheter som trengs av pakker i BLFS og utover er satt opp skikkelig av udev ved å bruke standardreglene installert av LFS i /etc/udev/rules.d, det er tilfeller der reglene må endres eller utvides.

Flere Lydkort

Hvis det er flere lydkort i et system, vil "standard" lydkortet blir tilfeldig. Metoden for å etablere lydkortrekkefølge avhenger av om driverne er moduler eller ikke. Hvis lydkortets drivere er kompilert inn i kjernen, kontroll er via kjernekommandolinjens parametere i /boot/grub/grub.cfg. For eksempel, hvis et system har både et FM801-kort og et SoundBlaster PCI-kort, følgende kan legges til kommandolinjen:

snd-fm801.index=0 snd-ens1371.index=1

Hvis lydkortdriverne er bygget som moduler, kan rekkefølgen bli etablert i /etc/modprobe.conf filen med:

options snd-fm801 index=0
options snd-ens1371 index=1

Problemer med USB Enheter

USB enheter har vanligvis to typer enhetsnoder knyttet til seg.

Den første typen er laget av enhetsspesifikke drivere (f.eks. usb_storage/sd_mod eller usblp) i kjernen. For eksempel en USB masselagringsenhet ville være /dev/sdb, og en USB skriver ville være /dev/usb/lp0. Disse enhetsnodene eksisterer bare når den enhetensspesifikke driveren er lastet inn.

Den andre typen enhetsnoder (/dev/bus/usb/BBB/DDD, der BBB er bussnummeret og DDD er enhetsnummeret) opprettes selv om enheten ikke har en kjernedriver. Ved å bruke disse "rå" USB enhetenes noder, kan en applikasjon utveksle vilkårlige USB pakker med enheten, dvs. omgå den muligens eksisterende kjernedriveren.

Tilgang til rå USB enhetsnoder er nødvendig når et brukerromsprogram fungerer som enhetsdriver. Men for at programmet skal lykkes med å åpne enheten, må tillatelsene settes riktig. Som standard, pga av sikkerhetshensyn eies alle rå USB enheter av bruker root og gruppe root, og har 0664-tillatelser (lesetilgangen er nødvendig, f.eks. for at lsusb skal fungere og for at programmer skal få tilgang til USB huber). Pakker (f.eks som SANE og libgphoto2) som også inneholder USB enhetsdrivere for brukerområdet send udev-regler som endrer tillatelsene til den kontrollerte rå USB enheten. Det vil si at regler installert av SANE endrer tillatelser for kjente skannere, men ikke skrivere. Hvis en pakkevedlikeholder glemte å skrive en regel for enheten din, rapporter en feil til både BLFS (hvis pakken er der) og oppstrøms, og du må skrive din egen regel.

Før Linux-2.6.15 ble tilgang til rå USB enheter ikke utført med /dev/bus/usb/BBB/DDD enhetsnoder, men med /proc/bus/usb/BBB/DDD pseudofiles. Noen applikasjoner bruker fortsatt bare denne foreldede teknikken og kan ikke bruke de nye enhetsnodene. De kan ikke fungere med Linux kjerne versjon 3.5 eller nyere. Hvis du trenger å kjøre en slik applikasjon, kontakt utvikleren av den for en løsning.

Udev Enhetsattributter

Finjustering av enhetsattributter som gruppenavn og tillatelser er mulig ved å lage ekstra udev regler, samsvarende på noe slikt. Leverandøren og produktet kan finnes med å søke på /sys/devices mappegoppføringer eller bruk udevadm info etter at enheten er koblet til. Se dokumentasjonen i gjeldende udev mappen til /usr/share/doc for detaljer.

SUBSYSTEM=="usb_device", SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4002", \
  GROUP:="scanner", MODE:="0660"
[Notat]

Notat

Linjen ovenfor brukes kun for beskrivende formål. udev skanner regler settes på plass når SANE-1.2.1 installeres.

Devices for DVD Drives

Hvis den første oppstartsprosessen ikke konfigurerer /dev/dvd enheten riktig, kan den installeres ved å bruke følgende modifikasjon av standard udev regler. Som root bruker, kjør:

sed '1d;/SYMLINK.*cdrom/ a\
KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100"' \
/lib/udev/rules.d/60-cdrom_id.rules > /etc/udev/rules.d/60-cdrom_id.rules