AT APICAM (4)
BSD Kernel Interfaces Manual
AT APICAM (4)
atapicam — CAM XPT (transport) module for ATAPI devices
The ATAPI/CAM module allows ATAPI devices (CD-ROM, CD-RW, DVD drives, floppy drives such as
Iomega Zip, tape drives) to be accessed through the SCSI subsystem, cam(4).
ata(4) and scbus(4) must be configured in the kernel as well. The SCSI target drivers (cd(4), da(4), or
st(4)) can then be used to access the devices. The generic passthrough device, pass(4), can also be used to
send SCSI commands directly to the devices through the CAM API.
A separate CAM bus is created for each ATA bus in the system. On each of these buses, target ID 0 is
assigned to the master device, and ID 1 is assigned to the slave (provided they are ATAPI devices).
Some SCSI commands are intercepted by the driver, and undergo special processing in order to work around
limitations of ATAPI devices. Such limitations can be consequences of the ATAPI specification. For exam-
ple, ATAPI devices do not implement the 6-byte versions of MODE_SELECT, MODE_SENSE, READ, or
WRITE. They can also be common bugs, such as hanging when queried for extended INQUIRY informa-
Add the atapicam driver to the kernel.
Print the list of all devices available through CAM.
mount -t cd9660 /dev/cd0 /mnt
Mount a CD-ROM from an ATAPI CD-ROM drive (the command above assumes that the ATAPI drive is the
only CD-ROM unit).
ata(4), cam(4), scsi(4), atacontrol(8), camcontrol(8)
The ATAPI/CAM driver first appeared in FreeBSD 4.8 and FreeBSD 5.0.
The ATAPI/CAM driver was written by Thomas Quinot 〈thomas@FreeBSD.org〉 .
atapicam and ATAPI-specific target drivers (acd(4), ast(4), and afd(4)) can be configured in the same
kernel. Simultaneous access to the same device through the SCSI generic drivers and the ATAPI-specific
drivers may cause problems and is strongly discouraged.