Difficulty playing DVDs under AHCI/CAM?

Garrett Wollman wollman at freebsd.org
Sat Aug 28 17:30:11 UTC 2010


After a recent upgrade, I switched to AHCI/CAM for my SATA devices,
including a new DVD drive.  Now I find that nothing can play DVDs any
more.  For example, here's what mplayer does:

  8469 initial thread CALL  open(0x806c25450,O_RDONLY,<unused>0)
  8469 initial thread NAMI  "/dev/cd0"
  8469 initial thread RET   open 3
  8469 initial thread CALL  fstat(0x3,0x7fffffffb410)
  8469 initial thread STRU  struct stat {dev=50396928, ino=89, mode=crw-r----- , nlink=1, uid=0, gid=5, rdev=89, atime=1282953341.461532000, stime=1282953341.461532000, ctime=1282953341.461532000, birthtime=-1, size=0, blksize=4096, blocks=0, flags=0x0 }
  8469 initial thread RET   fstat 0
  8469 initial thread CALL  ioctl(0x3,DVDIOCREADSTRUCTURE,0x7fffffffac30)
  8469 initial thread RET   ioctl 0
  8469 initial thread CALL  ioctl(0x3,DVDIOCREPORTKEY,0x7fffffffb430)
  8469 initial thread RET   ioctl 0

...so two DVD-specific ioctl calls succeed...

  8469 initial thread CALL  open(0x7fffffffbcd0,O_RDWR|O_CREAT,S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
  8469 initial thread NAMI  "/home/wollman/.dvdcss/CACHEDIR.TAG"
  8469 initial thread RET   open 4

...write to this file omitted for clarity...

  8469 initial thread CALL  close(0x4)
  8469 initial thread RET   close 0
  8469 initial thread CALL  read(0x3,0x7fffffffb4d0,0x800)
  8469 initial thread RET   read -1 errno 6 Device not configured

...say what?  Why is the cd driver suddenly returning ENXIO?

  8469 initial thread CALL  lseek(0x3,0,SEEK_SET)
  8469 initial thread RET   lseek 0
  8469 initial thread CALL  lseek(0x3,0x80000,SEEK_SET)
  8469 initial thread RET   lseek 524288/0x80000
  8469 initial thread CALL  read(0x3,0x7fffffff6000,0x800)
  8469 initial thread RET   read -1 errno 6 Device not configured
  8469 initial thread CALL  write(0x2,0x7fffffffb2b0,0x43)
  8469 initial thread GIO   fd 2 wrote 67 bytes
       "libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
       "

Same results (but without error messages) in vlc.  My drive is
identified as:

<TSSTcorp CDDVDW SH-S223L SB02>    at scbus0 target 0 lun 0 (pass0,cd0)

-GAWollman



More information about the freebsd-current mailing list