RFC: ATA to CAM integration patch

Matthew D. Fuller fullermd at over-yonder.net
Sun Aug 2 08:03:32 UTC 2009

For another datapoint.

On Thu, Jul 30, 2009 at 01:09:09PM -0400 I heard the voice of
Mike Tancsa, and lo! it spake thus:
> Using HEAD from today (July 30) on an AMD64 kernel

HEAD yesterday (Aug 1) on amd64

> ahci0 at pci0:0:17:0:      class=0x010601 card=0x43911002 
> chip=0x43911002 rev=0x00 hdr=0x00
>      vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
>      device     = 'SB700 SATA Controller [AHCI mode]'

Same device, in an Asus M4A79 Deluxe board.

ada0 at ahcich1 bus 0 target 0 lun 0
ada0: <WDC WD3000HLFS-01G6U0 04.04V01> ATA/ATAPI-8 SATA 2.x device
ada0: 300.000MB/s transfers
ada0: 286168MB (586072368 512 byte sectors: 16H 63S/T 16383C)
ada0: Native Command Queueing enabled

ada1 at ahcich2 bus 0 target 0 lun 0
ada1: <WDC WD3000HLFS-01G6U0 04.04V01> ATA/ATAPI-8 SATA 2.x device
ada1: 300.000MB/s transfers
ada1: 286168MB (586072368 512 byte sectors: 16H 63S/T 16383C)
ada1: Native Command Queueing enabled

cd0 at ahcich3 bus 0 target 0 lun 0
cd0: <PIONEER DVD-RW  DVR-217D 1.06> Removable CD-ROM SCSI-0 device 
cd0: 150.000MB/s transfers

I haven't done any benchmarking, but it certainly doesn't feel any
slower.  And as a neat bonus, since my swap is glabel'd and all the
filesystems are ZFS, I didn't have to touch anything for the device
name changes   :)

I've hit two issues:

1) `camcontrol inquiry ada0` (inquiry, not identify) seems to lock the
   box down pretty hard (I haven't tried to reproduce, just did it
   once in single user, and eventually had to hit the BRS).  "Don't Do
   That Then", and having done it once I know not to do it again, but
   a bit of a rough edge.

2) Audio CD stuff on the DVD drive gets cranky.

   - cdrecord doesn't seem to like it anymore.  -scanbus says
       cdrecord: Inappropriate ioctl for device. CAMIOCOMMAND ioctl
       failed.  Cannot open SCSI driver.

   - Using cdda2wav to try and rip an audio track using the cd0 device
     scrolls a lot of
       Sorry, this driver and/or drive does not support cdda reading.
     and such errors.  Guessing the bus/id/lun from the devlist gives
     what I assume is the same ioctl error from above.

   This may well be a known and expected "haven't done that yet" of

Matthew Fuller     (MF4839)   |  fullermd at over-yonder.net
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.

More information about the freebsd-current mailing list