Brennprogramme wie xfburn melden unter FreeBSD gerne, dass kein Laufwerk gefunden wurde oder die Berechtigungen nicht stimmen. Als root funktioniert es, als normaler Benutzer nicht. Das Problem sind nicht die Berechtigungen auf /dev/cd0, sondern auf dem zugehörigen SCSI-Passthrough-Device.

atapicam laden

Brennprogramme greifen über das CAM-Subsystem (Common Access Method) auf den Brenner zu. Dafür muss das Modul atapicam geladen sein. In der /boot/loader.conf:

atapicam_load="YES"
hw.ata.atapi_dma="1"

Die erste Zeile macht den ATA-Brenner als SCSI-Gerät sichtbar, die zweite aktiviert DMA für ATA-Geräte.

Das pass-Device finden

Mit camcontrol sieht man welches pass-Device zum Brenner gehört:

camcontrol devlist
# Ausgabe:
#            at scbus0 target 0 lun 0 (ada0,pass0)
#    at scbus1 target 0 lun 0 (cd0,pass1)

Der Brenner ist cd0 mit dem Passthrough-Device pass1. Ein Blick auf die Berechtigungen zeigt das Problem:

ls -la /dev/cd0
# crw-rw-rw-  1 root  operator  ... /dev/cd0

ls -la /dev/pass1
# crw-------  1 root  operator  ... /dev/pass1

/dev/cd0 ist für alle lesbar und schreibbar, aber /dev/pass1 ist nur für root zugänglich. Die Brennsoftware braucht aber genau dieses Device.

Berechtigungen dauerhaft setzen

Zum Testen reicht ein chmod 0666 /dev/pass1. Damit die Berechtigungen nach einem Neustart erhalten bleiben, den Eintrag in /etc/devfs.conf hinterlegen:

# /etc/devfs.conf
perm    /dev/cd0        0666
perm    /dev/pass1      0666

Die Device-Nummer von pass kann sich ändern, wenn USB-Geräte dazukommen oder die Boot-Reihenfolge wechselt. Im Zweifelsfall vorher mit camcontrol devlist prüfen.

Fragen? Einfach melden.