This change to FreeBSD adds a new CAM xpt type (i.e. something that operates like a SCSI bus adapter driver) that allows access to ATAPI devices through the generic CAM layer. For more information you can peruse the atapicam(4) man page.
As of 2002-11-01, ATAPI/CAM is part of FreeBSD 4-STABLE. It will be included in FreeBSD releases starting with 4.8.
As of 2002-08-09, ATAPI/CAM is part of FreeBSD 5-CURRENT. It is included in FreeBSD releases starting with 5.0.
The only recommended way of using ATAPI/CAM is:
The version of ATAPI/CAM currently in the source tree has been integrated with the NEWBUS framework. It supports dynamic loading and unloading of the ATAPI/CAM code as a kernel linkable module.
To report a problem with the ATAPI/CAM driver, please always include the following information:
Disclaimer: this code is provided as is, with no guarantee whatsoever! Use at your own risks! Fiddling with your kernel is DANGEROUS. This code works for me, but if it blows up your computer, I won't be responsible.
This code is released under the following provisions:
* Copyright (c) 2001, 2002 Thomas Quinot* All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer, * without modification, immediately at the beginning of the file. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Feedback welcome at thomas@cuivre.fr.eu.org.
ATAPICAM consists of two patches. The first one contains the driver code proper; it should work on 4.x-STABLE and 5.0-CURRENT kernels alike.
The second one inserts various hooks in the existing kernel code, and exists in two different versions:
You can retrieve the patch from here. Please always use the latest version. Earlier ones are left here only as historical documentation.
To use ATAPICAM, you have to retrive the first (common) patch, as well as the version of the second that corresponds to your kernel versions. You also need to have the following options present in your kernel configuration:
device ata device atapicd # or atapifd or atapist device atapicam # Versions prior to 20020820 used 'options ATAPICAM' device scbus device pass device cd # or sa or daPatch, rebuild, reboot. Voilą! You should see your brand new devices in the output of camcontrol devlist.
Last update: 2004-10-19