Optiarc DVD-ROM not recognized with ATA_CAM

Alexander Burchell alexander.burchell at gmail.com
Fri Aug 12 20:01:09 UTC 2011

I'm not being able to get my DVD-ROM recognized under 9-current, 
although I used the 8.2-release DVD to install FreeBSD (and then 
subsequently upgraded the system to the "head" version via svn-freebsd).

1) There is no /dev/*cd* ANYTHING at any time.

	NOTE: I'm using a kernel (built with clang) using the ATA_CAM option so 
I presume my DVD would be "/dev/acd0".

2) There is no indication in the boot log that the drive is probed.  The 
drive light does not flash (not sure if they even do that anymore), 
however, after having moved it to another controller (AHCI SATA-3) I 
sometimes get a log such as this:

  ahcich1: Timeout on slot 0 port 0
  ahcich1: is 00000000 cs 00000001 ss 00000000 rs 00000001 tfd 100 serr 
  run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config
  ahcich1: Timeout on slot 0 port 0
  ahcich1: is 00000000 cs 00000001 ss 00000000 rs 00000001 tfd 100 serr 

It is an "Optiarc DVD RW AD-7190S".  I believe it's at microcode 1.01 
and there is 1.03 available at manufacturer site however that leads me to:

3) The drive works flawlessly under Windows 7 on the same machine 

4) Something weird, to me, is that the drive is seen (sometimes) by 
"camcontrol devlist -v":

scbus0 on ahcich0 bus 0:
<C300-CTFDDAC256MAG 0006>          at scbus0 target 0 lun 0 (ada0)
<>                                 at scbus0 target -1 lun -1 ()
scbus1 on ahcich1 bus 0:
<Optiarc DVD RW AD-7190S>          at scbus0 target 0 lun 0 ()		

## NOTE ## I made the above line up right now, however that's exactly 
how I see it when there's not a DVD time-out in the dmesg.  The point is 
is that camcontrol sees it but there's no associated device ... ?

## ... etc ...

<>                                 at scbus1 target -1 lun -1 ()
scbus2 on ata2 bus 0:
<>                                 at scbus2 target -1 lun -1 ()
scbus3 on ata3 bus 0:
<Hitachi HDS721010CLA332 JP4OA39C>  at scbus3 target 0 lun 0 (ada1)
<ST3320613AS SD11>                 at scbus3 target 1 lun 0 (ada2)
<>                                 at scbus3 target -1 lun -1 ()
scbus4 on ata4 bus 0:
<>                                 at scbus4 target -1 lun -1 ()
scbus5 on ata5 bus 0:
<>                                 at scbus5 target -1 lun -1 ()
scbus-1 on xpt0 bus 0:
<>                                 at scbus-1 target -1 lun -1 (xpt0)

I did try enabling CAMDEBUG in the kernel config, however I could never 
get the sysctl to show up in the "sysctl kern.cam", and "camcontrol 
debug" would tell me that I needed that line in the config, even though 
I had just compiled and installed a kernel (and eventually a whole 
world) that had it ...

Thanks to anyone knowledgeable who can help.

Best wishes, oh by the way, I am running now:

FreeBSD blackbox.home 9.0-BETA1 FreeBSD 9.0-BETA1 #1 r224468: Sat Jul 30 
07:44:55 PDT 2011     root at blackbox.home:/usr/obj/usr/src/sys/BLACKBOX amd64

Motherboard is G1.Guerrilla (currently using Marvell controller in AHCI 
mode).   AMI BIOS.

Alexander Burchell
alexander.burchell at gmail.com

More information about the freebsd-current mailing list